4040 - all
4141 - npm
4242 - extension
43-
43+ permissions :
44+ # Provenance generation in GitHub Actions requires "write" access to the "id-token"
45+ id-token : write
46+ contents : read
4447env :
4548 GO_VERSION : ' 1.24.1'
4649
@@ -49,11 +52,12 @@ jobs:
4952 if : ${{ inputs.to_release == 'all' || inputs.to_release == 'npm' }}
5053 name : ${{ inputs.dry_run == true && 'Dry Run - NPM Packages' || 'Publish NPM Packages' }}
5154 needs : [build]
52- runs-on : rspack-ubuntu-22.04-large
55+ runs-on : ubuntu-22.04
56+ environment : npm
5357 steps :
5458 - name : Show dry-run status
5559 run : |
56- if [ "${{ github.event. inputs.dry_run }}" = "true" ]; then
60+ if [ "${{ inputs.dry_run }}" = "true" ]; then
5761 echo "πββοΈ RUNNING IN DRY-RUN MODE - No packages will be published to npm registry"
5862 echo "=================================================="
5963 else
7276 uses : actions/setup-node@v4
7377 with :
7478 node-version : ' 24'
79+ # Update npm to the latest version to enable OIDC
80+ - name : Update npm
81+ run : |
82+ npm install -g npm@latest
83+ npm --version
7584
7685 - name : Install pnpm
7786 run : corepack enable
@@ -88,11 +97,10 @@ jobs:
8897 uses : ./.github/actions/move-artifacts
8998
9099 - name : Publish npm packages
91- if : ${{ github.event. inputs.dry_run == false }}
100+ if : ${{ inputs.dry_run == false }}
92101 env :
93102 NPM_TOKEN : ${{ secrets.RSLINT_NPM_TOKEN }}
94103 run : |
95- npm config set "//registry.npmjs.org/:_authToken" "${NPM_TOKEN}"
96104 pnpm -r publish --no-git-checks --tag ${{ github.event.inputs.npm_tag }} --publish-branch ${{ github.event.inputs.branch }}
97105
98106 publish-extesion :
@@ -128,15 +136,15 @@ jobs:
128136 env :
129137 VSCE_PAT : ${{ secrets.RSLINT_VSCE_PAT }}
130138 run : |
131- if [ "${{ github.event. inputs.dry_run }}" = "true" ]; then
139+ if [ "${{ inputs.dry_run }}" = "true" ]; then
132140 echo "π DRY RUN: Building and packaging VS Code extension without publishing..."
133- if [ "${{ github.event. inputs.extension_type }}" = "pre-release" ]; then
141+ if [ "${{ inputs.extension_type }}" = "pre-release" ]; then
134142 pnpm publish:vsce --prerelease --dry-run
135143 else
136144 pnpm publish:vsce --dry-run
137145 fi
138146 else
139- if [ "${{ github.event. inputs.extension_type }}" = "pre-release" ]; then
147+ if [ "${{ inputs.extension_type }}" = "pre-release" ]; then
140148 pnpm publish:vsce --prerelease
141149 else
142150 pnpm publish:vsce
@@ -152,15 +160,15 @@ jobs:
152160 env :
153161 OVSX_PAT : ${{ secrets.RSLINT_OVSX_PAT }}
154162 run : |
155- if [ "${{ github.event. inputs.dry_run }}" = "true" ]; then
163+ if [ "${{ inputs.dry_run }}" = "true" ]; then
156164 echo "π DRY RUN: Building and packaging for Open VSX Registry without publishing..."
157- if [ "${{ github.event. inputs.extension_type }}" = "pre-release" ]; then
165+ if [ "${{ inputs.extension_type }}" = "pre-release" ]; then
158166 pnpm publish:ovsx --prerelease --dry-run
159167 else
160168 pnpm publish:ovsx --dry-run
161169 fi
162170 else
163- if [ "${{ github.event. inputs.extension_type }}" = "pre-release" ]; then
171+ if [ "${{ inputs.extension_type }}" = "pre-release" ]; then
164172 pnpm publish:ovsx --prerelease
165173 else
166174 pnpm publish:ovsx
@@ -169,7 +177,7 @@ jobs:
169177
170178 check :
171179 name : Test
172- if : ${{ github.event. inputs.dry_run == false }}
180+ if : ${{ inputs.dry_run == false }}
173181 needs : build
174182 strategy :
175183 fail-fast : true
0 commit comments