11name : Release
2- on :
2+ on : # yamllint disable-line rule:truthy
33 push :
44 tags :
5- - " v*" # Push events to matching v*, i.e. v1.0, v20.15.10
5+ - v[0-9]+.[0-9]+.[0-9]+
6+ - v[0-9]+.[0-9]+.[0-9]+-alpha.[0-9]+
7+ - v[0-9]+.[0-9]+.[0-9]+-beta.[0-9]+
8+ - v[0-9]+.[0-9]+.[0-9]+-rc[0-9]+
9+
610env :
711 IMAGE_NAME : hetzner-cloud-controller-manager
812 REGISTRY : ghcr.io/syself
@@ -13,6 +17,7 @@ permissions:
1317 packages : write
1418 # Required to generate OIDC tokens for `sigstore/cosign-installer` authentication
1519 id-token : write
20+ # yamllint disable rule:line-length
1621jobs :
1722 manager-image :
1823 name : Build and push manager image
@@ -44,10 +49,11 @@ jobs:
4449
4550 - name : Install Cosign
4651 uses : sigstore/cosign-installer@dc72c7d5c4d10cd6bcb8cf6e3fd625a9e5e537da # v3.7.0
52+
4753 - name : Install Bom
4854 shell : bash
4955 run : |
50- curl -L https://github.com/kubernetes-sigs/bom/releases/download/v0.6.0/bom-linux- amd64 -o bom
56+ curl -L https://github.com/kubernetes-sigs/bom/releases/download/v0.6.0/bom-amd64-linux -o bom
5157 sudo mv ./bom /usr/local/bin/bom
5258 sudo chmod +x /usr/local/bin/bom
5359
@@ -75,22 +81,19 @@ jobs:
7581 cache-to : type=gha, mode=max, scope=${{ github.workflow }}
7682
7783 - name : Sign Container Images
78- env :
79- COSIGN_EXPERIMENTAL : " true"
8084 run : |
8185 cosign sign --yes ghcr.io/syself/hetzner-cloud-controller-manager@${{ steps.docker_build_release.outputs.digest }}
8286
8387 - name : Generate SBOM
8488 shell : bash
8589 # To-Do: generate SBOM from source after https://github.com/kubernetes-sigs/bom/issues/202 is fixed
86- # To-Do: format SBOM output to json after cosign v2.0 is released with https://github.com/sigstore/cosign/pull/2479
8790 run : |
88- bom generate -o sbom_ci_main_hetzner-cloud-controller-manager_${{ steps.meta.outputs.version }}. spdx \
91+ bom generate --format=json - o sbom_ci_main_hetzner-cloud-controller-manager_${{ steps.meta.outputs.version }}- spdx.json \
8992 --image=ghcr.io/syself/hetzner-cloud-controller-manager:${{ steps.meta.outputs.version }}
9093
9194 - name : Attach SBOM to Container Images
9295 run : |
93- cosign attach sbom --sbom sbom_ci_main_hetzner-cloud-controller-manager_${{ steps.meta.outputs.version }}. spdx ghcr.io/syself/hetzner-cloud-controller-manager@${{ steps.docker_build_release.outputs.digest }}
96+ cosign attest --yes --type=spdxjson --predicate sbom_ci_main_hetzner-cloud-controller-manager_${{ steps.meta.outputs.version }}- spdx.json ghcr.io/syself/hetzner-cloud-controller-manager@${{ steps.docker_build_release.outputs.digest }}
9497
9598 - name : Sign SBOM Images
9699 env :
@@ -139,3 +142,7 @@ jobs:
139142 go-version-file : " go.mod"
140143 cache : true
141144 cache-dependency-path : go.sum
145+ - name : Release
146+ uses : softprops/action-gh-release@e7a8f85e1c67a31e6ed99a94b41bd0b71bbee6b8 # v2
147+ with :
148+ draft : true
0 commit comments