@@ -31,13 +31,35 @@ jobs:
3131 packages : write
3232 contents : read
3333
34+ build-downloader :
35+ name : Build downloader image, sign it, and generate SBOMs
36+ uses : ./.github/workflows/downloader-build.yml
37+ permissions :
38+ id-token : write
39+ packages : write
40+ contents : read
41+
42+ publish-chart :
43+ name : Publish the helm chart to the configured OCI registry
44+ uses : ./.github/workflows/helm-chart-release.yml
45+ permissions :
46+ packages : write
47+ contents : read
48+ needs :
49+ - ci
50+ - build-manager
51+ - build-installer
52+ - build-downloader
53+
3454 release :
3555 name : Create release
3656
3757 needs :
3858 - ci
3959 - build-manager
4060 - build-installer
61+ - build-downloader
62+ - publish-chart
4163
4264 permissions :
4365 contents : write
5072 run : |
5173 echo TAG_NAME=$(echo ${{ github.ref_name }}) >> $GITHUB_ENV
5274
53- - name : Get latest release tag
54- id : get_last_release_tag
55- uses : actions/github-script@60a0d83039c74a4aee543508d2ffcb1c3799cdea # v7.0.1
56- with :
57- script : |
58- let release = await github.rest.repos.getLatestRelease({
59- owner: context.repo.owner,
60- repo: context.repo.repo,
61- });
62-
63- if (release.status === 200 ) {
64- core.setOutput('old_release_tag', release.data.tag_name)
65- return
66- }
67- core.setFailed("Cannot find latest release")
68-
6975 - name : Get release ID from the release created by release drafter
7076 uses : actions/github-script@60a0d83039c74a4aee543508d2ffcb1c3799cdea # v7.0.1
7177 with :
@@ -84,12 +90,18 @@ jobs:
8490 core.setFailed(`Draft release not found`)
8591
8692 - name : Download SBOM artifact
87- uses : actions/download-artifact@fa0a91b85d4f404e444e00e005971372dc801d16 # v4.1.8
93+ uses : actions/download-artifact@cc203385981b70ca67e1cc392babf9cc229d5806 # v4.1.9
8894 with :
8995 pattern : " *-sbom-*"
9096 path : ./
9197 merge-multiple : true
9298
99+ - name : Download helm chart artifact
100+ uses : actions/download-artifact@cc203385981b70ca67e1cc392babf9cc229d5806 # v4.1.9
101+ with :
102+ name : runtime-class-manager
103+ path : ./
104+
93105 - name : Display structure of downloaded files
94106 run : ls -R
95107
@@ -101,6 +113,9 @@ jobs:
101113 let fs = require('fs');
102114 let path = require('path');
103115
116+ // The chart version omits the leading 'v' to adhere to Helm's versioning requirements
117+ let chartVersion = "${{ env.TAG_NAME }}".replace("v", "");
118+
104119 let files = [
105120 'runtime-class-manager-sbom-amd64.spdx',
106121 'runtime-class-manager-sbom-amd64.spdx.cert',
@@ -114,6 +129,13 @@ jobs:
114129 'node-installer-sbom-arm64.spdx',
115130 'node-installer-sbom-arm64.spdx.cert',
116131 'node-installer-sbom-arm64.spdx.sig',
132+ 'shim-downloader-sbom-amd64.spdx',
133+ 'shim-downloader-sbom-amd64.spdx.cert',
134+ 'shim-downloader-sbom-amd64.spdx.sig',
135+ 'shim-downloader-sbom-arm64.spdx',
136+ 'shim-downloader-sbom-arm64.spdx.cert',
137+ 'shim-downloader-sbom-arm64.spdx.sig',
138+ `runtime-class-manager-${chartVersion}.tgz`,
117139 ]
118140 const {RELEASE_ID} = process.env
119141
0 commit comments