Skip to content

Commit f780534

Browse files
chore: fix checksum generation (#2481)
* chore: fix checksum generation and sign sbom Signed-off-by: Justin Marquis <[email protected]> * cosign public key for public record Signed-off-by: Justin Marquis <[email protected]> * remove pub key for cosign Signed-off-by: zachaller <[email protected]> Signed-off-by: Justin Marquis <[email protected]> Signed-off-by: zachaller <[email protected]> Co-authored-by: zachaller <[email protected]>
1 parent dcd20ad commit f780534

File tree

2 files changed

+54
-0
lines changed

2 files changed

+54
-0
lines changed

.github/workflows/release.yaml

+50
Original file line numberDiff line numberDiff line change
@@ -111,6 +111,7 @@ jobs:
111111
- name: Generate release artifacts
112112
run: |
113113
make release-plugins
114+
make checksums
114115
make manifests IMAGE_TAG=${{ github.event.inputs.tag }}
115116
116117
- name: Generate SBOM (spdx)
@@ -144,6 +145,54 @@ jobs:
144145
145146
cd /tmp && tar -zcf sbom.tar.gz *.spdx
146147
148+
- name: Login to Quay.io
149+
if: github.event_name != 'pull_request'
150+
uses: docker/login-action@v2
151+
with:
152+
registry: quay.io
153+
username: ${{ secrets.QUAY_USERNAME }}
154+
password: ${{ secrets.QUAY_ROBOT_TOKEN }}
155+
156+
- name: Install cosign
157+
uses: sigstore/cosign-installer@main
158+
with:
159+
cosign-release: 'v1.13.1'
160+
161+
- name: Install crane to get digest of image
162+
uses: imjasonh/[email protected]
163+
164+
- name: Get digest of controller-image
165+
run: |
166+
echo "CONTROLLER_DIGEST=$(crane digest quay.io/argoproj/argo-rollouts:${{ github.event.inputs.tag }})" >> $GITHUB_ENV
167+
168+
- name: Get digest of plugin-image
169+
run: |
170+
echo "PLUGIN_DIGEST=$(crane digest quay.io/argoproj/kubectl-argo-rollouts:${{ github.event.inputs.tag }})" >> $GITHUB_ENV
171+
172+
- name: Sign Argo Rollouts Images
173+
run: |
174+
cosign sign --key env://COSIGN_PRIVATE_KEY quay.io/argoproj/argo-rollouts@${{ env.CONTROLLER_DIGEST }}
175+
cosign sign --key env://COSIGN_PRIVATE_KEY quay.io/argoproj/kubectl-argo-rollouts@${{ env.PLUGIN_DIGEST }}
176+
env:
177+
COSIGN_PRIVATE_KEY: ${{secrets.COSIGN_PRIVATE_KEY}}
178+
COSIGN_PASSWORD: ${{secrets.COSIGN_PASSWORD}}
179+
180+
- name: Sign checksums and create public key for release assets
181+
run: |
182+
cosign sign-blob --key env://COSIGN_PRIVATE_KEY ./dist/argo-rollouts-checksums.txt > ./dist/argo-rollouts-checksums.sig
183+
cosign public-key --key env://COSIGN_PRIVATE_KEY > ./dist/argo-rollouts-cosign.pub
184+
cosign sign-blob --key env://COSIGN_PRIVATE_KEY /tmp/sbom.tar.gz > /tmp/sbom.tar.gz.sig
185+
# Displays the public key to share.
186+
cosign public-key --key env://COSIGN_PRIVATE_KEY
187+
env:
188+
COSIGN_PRIVATE_KEY: ${{secrets.COSIGN_PRIVATE_KEY}}
189+
COSIGN_PASSWORD: ${{secrets.COSIGN_PASSWORD}}
190+
191+
- name: update stable tag for docs
192+
run: |
193+
git tag -f stable ${{ github.event.inputs.tag }}
194+
git push -f origin stable
195+
147196
- name: Draft release
148197
uses: softprops/action-gh-release@v1
149198
with:
@@ -160,5 +209,6 @@ jobs:
160209
manifests/notifications-install.yaml
161210
docs/features/kustomize/rollout_cr_schema.json
162211
/tmp/sbom.tar.gz
212+
/tmp/sbom.tar.gz.sig
163213
env:
164214
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}

Makefile

+4
Original file line numberDiff line numberDiff line change
@@ -271,3 +271,7 @@ release: release-precheck precheckin image plugin-image release-plugins
271271
trivy:
272272
@trivy fs --clear-cache
273273
@trivy fs .
274+
275+
.PHONY: checksums
276+
checksums:
277+
shasum -a 256 ./dist/kubectl-argo-rollouts-* | awk -F './dist/' '{print $$1 $$2}' > ./dist/argo-rollouts-checksums.txt

0 commit comments

Comments
 (0)