Skip to content

Commit 5227eff

Browse files
committed
Updated publish config to not use access tokens anymore
1 parent 45b5b72 commit 5227eff

1 file changed

Lines changed: 26 additions & 16 deletions

File tree

.github/workflows/publish.yml

Lines changed: 26 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,9 @@ on: [workflow_dispatch]
44
defaults:
55
run:
66
working-directory: src
7+
permissions:
8+
contents: read
9+
id-token: write
710

811
jobs:
912
build:
@@ -18,6 +21,9 @@ jobs:
1821
registry-url: "https://registry.npmjs.org"
1922
node-version-file: ./src/.nvmrc
2023

24+
- name: Ensure specific npm version
25+
run: npm install -g npm@11.9.0
26+
2127
- name: Install dependencies
2228
run: npm ci
2329

@@ -50,20 +56,24 @@ jobs:
5056
NODE_AUTH_TOKEN: ${{ secrets.NPM_TOKEN }}
5157
NODE_ENV: production
5258

53-
- name: Publish Pongo package on NPM 📦
59+
- name: Publish packages on NPM 📦
5460
run: |
55-
VERSION=$(node -p "require('./package.json').version")
56-
if [[ $VERSION == *"beta"* ]]; then
57-
TAG="beta"
58-
elif [[ $VERSION == *"alpha"* ]]; then
59-
TAG="alpha"
60-
elif [[ $VERSION == *"rc"* ]]; then
61-
TAG="rc"
62-
else
63-
TAG="latest"
64-
fi
65-
npm publish --w @event-driven-io/pongo --tag $TAG
66-
continue-on-error: true
67-
env:
68-
NODE_AUTH_TOKEN: ${{ secrets.NPM_TOKEN }}
69-
NODE_ENV: production
61+
for pkg_dir in packages/*/; do
62+
[ -f "${pkg_dir}package.json" ] || { echo "⏭ ${pkg_dir} has no package.json — skipping"; continue; }
63+
64+
read -r pkg_name pkg_version pkg_private < <(node -p "
65+
const p = require('./${pkg_dir}package.json');
66+
[p.name, p.version, p.private ?? false].join(' ')
67+
")
68+
69+
[ "$pkg_private" = "true" ] && { echo "⏭ ${pkg_name}@${pkg_version} is private — skipping"; continue; }
70+
71+
tag=$(echo "$pkg_version" | sed -E 's/.*-(beta|alpha|rc)\..*/\1/; t; s/.*/latest/')
72+
73+
if npm view "${pkg_name}@${pkg_version}" version >/dev/null 2>&1; then
74+
echo "⏭ ${pkg_name}@${pkg_version} already published — skipping"
75+
else
76+
echo "📦 Publishing ${pkg_name}@${pkg_version}"
77+
npm publish -w "${pkg_dir}" --tag "$tag" --access public --provenance
78+
fi
79+
done

0 commit comments

Comments
 (0)