File tree Expand file tree Collapse file tree 3 files changed +21
-9
lines changed
Expand file tree Collapse file tree 3 files changed +21
-9
lines changed Original file line number Diff line number Diff line change 1515 required: true
1616 type: string
1717 description: 'A json array of releases. Required fields: publish: tagName, publishTag. publish check: pkgName, version'
18+ secrets:
19+ PUBLISH_TOKEN:
20+ required: true
1821
1922jobs:
2023 publish:
21- name: Check Publish
24+ name: Publish
2225 runs-on: ubuntu-latest
2326 defaults:
2427 run:
2528 shell: bash
29+ permissions:
30+ id-token: write
2631 steps:
2732 - name: Checkout
2833 uses: actions/checkout@v4
34+ with:
35+ ref: ${{ fromJSON(inputs.releases)[0].tagName }}
2936 - name: Setup Git User
3037 run: |
3138 git config --global user.email "npm-cli+bot@github.com"
@@ -42,21 +49,21 @@ jobs:
4249 node: ${{ steps.node.outputs.node-version }}
4350 - name: Install Dependencies
4451 run: npm i --ignore-scripts --no-audit --no-fund
45- - name: Check If Published
52+ - name: Set npm authToken
53+ run: npm config set '//registry.npmjs.org/:_authToken'=\${PUBLISH_TOKEN}
54+ - name: Publish
4655 env:
56+ PUBLISH_TOKEN: ${{ secrets.PUBLISH_TOKEN }}
4757 RELEASES: ${{ inputs.releases }}
4858 run: |
4959 EXIT_CODE=0
5060
5161 for release in $(echo $RELEASES | jq -r '.[] | @base64'); do
52- SPEC=" $(echo "$release" | base64 --decode | jq -r .pkgName)@$(echo "$release" | base64 --decode | jq -r .version)"
53- npm view "$SPEC" --json
62+ PUBLISH_TAG= $(echo "$release" | base64 --decode | jq -r .publishTag)
63+ npm publish --provenance --tag="$PUBLISH_TAG"
5464 STATUS=$?
5565 if [[ "$STATUS" -eq 1 ]]; then
5666 EXIT_CODE=$STATUS
57- echo "$SPEC ERROR"
58- else
59- echo "$SPEC OK"
6067 fi
6168 done
6269
Original file line number Diff line number Diff line change @@ -131,7 +131,7 @@ jobs:
131131 id: comment-text
132132 env:
133133 GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
134- run: npm exec --offline -- template-oss-release-manager --pr="${{ needs.release.outputs.pr-number }}" --backport="" --defaultTag="latest"
134+ run: npm exec --offline -- template-oss-release-manager --pr="${{ needs.release.outputs.pr-number }}" --backport="" --defaultTag="latest" --publish
135135 - name: Append Release Manager Comment
136136 uses: peter-evans/create-or-update-comment@v3
137137 with:
@@ -243,6 +243,10 @@ jobs:
243243 name: Release Integration
244244 if: needs.release.outputs.releases
245245 uses: ./.github/workflows/release-integration.yml
246+ permissions:
247+ id-token: write
248+ secrets:
249+ PUBLISH_TOKEN: ${{ secrets.PUBLISH_TOKEN }}
246250 with:
247251 releases: ${{ needs.release.outputs.releases }}
248252
Original file line number Diff line number Diff line change 4242 },
4343 "templateOSS": {
4444 "//@npmcli/template-oss": "This file is partially managed by @npmcli/template-oss. Edits may be overwritten.",
45- "version": "4.23.3"
45+ "version": "4.23.3",
46+ "publish": true
4647 },
4748 "tap": {
4849 "nyc-arg": [
You can’t perform that action at this time.
0 commit comments