@@ -23,22 +23,35 @@ jobs:
2323 publish :
2424 needs : [build]
2525 runs-on : ubuntu-latest
26+
27+ permissions :
28+ id-token : write
29+ contents : read
30+
2631 steps :
27- - name : Set up Node registry authentication
28- uses : actions/setup-node@a0853c24544627f65ddf259abe73b1d18a591444 # v5.0.0
32+ - uses : actions/setup-node@a0853c24544627f65ddf259abe73b1d18a591444 # v5.0.0
2933 with :
30- node-version : 22.20.0
31- registry-url : ' https://registry.npmjs.org'
34+ node-version : ' *'
35+
36+ - run : npm install -g npm@latest
3237
33- - name : publish
34- id : publish
35- uses : slsa-framework/slsa-github-generator/actions/nodejs/publish@f7dd8c54c2067bafc12ca7a55595d5ee9b75204a # v2.1.0
38+ - name : Download tarball
39+ uses :
slsa-framework/slsa-github-generator/actions/nodejs/[email protected] 3640 with :
37- access : public
38- node-auth-token : ${{ secrets.NPM_TOKEN }}
39- package-name : ${{ needs.build.outputs.package-name }}
40- package-download-name : ${{ needs.build.outputs.package-download-name }}
41- package-download-sha256 : ${{ needs.build.outputs.package-download-sha256 }}
42- provenance-name : ${{ needs.build.outputs.provenance-name }}
43- provenance-download-name : ${{ needs.build.outputs.provenance-download-name }}
44- provenance-download-sha256 : ${{ needs.build.outputs.provenance-download-sha256 }}
41+ name : ${{ needs.build.outputs.package-download-name }}
42+ path : ${{ needs.build.outputs.package-name }}
43+ sha256 : ${{ needs.build.outputs.package-download-sha256 }}
44+
45+ - name : Download provenance
46+ uses :
slsa-framework/slsa-github-generator/actions/nodejs/[email protected] 47+ with :
48+ name : ${{ needs.build.outputs.provenance-download-name }}
49+ path : ' attestations'
50+ sha256 : ${{ needs.build.outputs.provenance-download-sha256 }}
51+
52+ - name : Publish the package
53+ env :
54+ TARBALL_PATH : ' ${{ needs.build.outputs.package-name }}'
55+ PROVENANCE_PATH : ' ./attestations/${{ needs.build.outputs.provenance-name }}'
56+ run : |
57+ npm publish "${TARBALL_PATH}" --access=public --provenance-file="${PROVENANCE_PATH}"
0 commit comments