Skip to content

Commit b9d4819

Browse files
authored
ci(release): sign build images before e2e gates (#448)
Signed-off-by: Roel de Cort <roel.decort@adfinis.com>
1 parent 8f42818 commit b9d4819

2 files changed

Lines changed: 20 additions & 0 deletions

File tree

.github/workflows/release.yml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -115,6 +115,7 @@ jobs:
115115
ref: ${{ github.ref }}
116116
source_date_epoch: ${{ needs.prepare.outputs.source_date_epoch }}
117117
cache-scope: ${{ needs.prepare.outputs.build_tag }}
118+
sign_images: true
118119
secrets: inherit
119120

120121
rebuild:

.github/workflows/reusable-build.yml

Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -21,6 +21,11 @@ on:
2121
required: false
2222
default: trusted
2323
type: string
24+
sign_images:
25+
description: "Sign pushed image digests with keyless cosign before returning build outputs"
26+
required: false
27+
default: false
28+
type: boolean
2429
outputs:
2530
manager_digest:
2631
description: "Digest of the manager image"
@@ -134,6 +139,20 @@ jobs:
134139
subject-digest: ${{ steps.build.outputs.digest }}
135140
push-to-registry: true
136141

142+
- name: Install cosign
143+
if: ${{ inputs.sign_images }}
144+
uses: sigstore/cosign-installer@cad07c2e89fa2edd6e2d7bab4c1aa38e53f76003 # v4.1.1
145+
with:
146+
cosign-release: v3.0.4
147+
148+
- name: Sign image (keyless)
149+
if: ${{ inputs.sign_images }}
150+
env:
151+
IMAGE_REF: ghcr.io/${{ github.repository_owner }}/${{ matrix.image }}@${{ steps.build.outputs.digest }}
152+
run: |
153+
set -euo pipefail
154+
cosign sign --yes --new-bundle-format=true "${IMAGE_REF}"
155+
137156
collect-digests:
138157
name: Collect Image Digests
139158
runs-on: *runner

0 commit comments

Comments
 (0)