@@ -10,6 +10,9 @@ permissions:
1010 id-token : write # needed for keyless signing
1111 packages : write # needed for ghcr access
1212
13+ env :
14+ CONTROLLER : ${{ github.event.repository.name }}
15+
1316jobs :
1417 release :
1518 runs-on : ubuntu-latest
2831 ${{ runner.os }}-go-
2932 - uses : sigstore/cosign-installer@main
3033 - uses : anchore/sbom-action/download-syft@v0
34+ - uses : docker/login-action@v1
35+ with :
36+ registry : ghcr.io
37+ username : fluxcdbot
38+ password : ${{ secrets.GHCR_TOKEN }}
39+ - name : Prepare
40+ id : prep
41+ run : |
42+ VERSION="${{ github.event.inputs.tag }}-${GITHUB_SHA::8}"
43+ if [[ $GITHUB_REF == refs/tags/* ]]; then
44+ VERSION=${GITHUB_REF/refs\/tags\//}
45+ fi
46+ echo ::set-output name=BUILD_DATE::$(date -u +'%Y-%m-%dT%H:%M:%SZ')
47+ echo ::set-output name=VERSION::${VERSION}
48+ - name : Publish multi-arch container image
49+ uses : docker/build-push-action@v2
50+ with :
51+ push : true
52+ builder : ${{ steps.buildx.outputs.name }}
53+ context : .
54+ file : ./Dockerfile
55+ platforms : linux/amd64,linux/arm/v7,linux/arm64
56+ tags : |
57+ ghcr.io/fluxcd/${{ env.CONTROLLER }}:${{ steps.prep.outputs.VERSION }}
58+ labels : |
59+ org.opencontainers.image.title=${{ github.event.repository.name }}
60+ org.opencontainers.image.description=${{ github.event.repository.description }}
61+ org.opencontainers.image.url=${{ github.event.repository.html_url }}
62+ org.opencontainers.image.source=${{ github.event.repository.html_url }}
63+ org.opencontainers.image.revision=${{ github.sha }}
64+ org.opencontainers.image.version=${{ steps.prep.outputs.VERSION }}
65+ org.opencontainers.image.created=${{ steps.prep.outputs.BUILD_DATE }}
66+ - name : Sign multi-arch container image
67+ env :
68+ COSIGN_EXPERIMENTAL : 1
69+ run : |
70+ cosign sign ghcr.io/fluxcd/${{ env.CONTROLLER }}:${{ steps.prep.outputs.VERSION }}
3171 - uses : goreleaser/goreleaser-action@v2
3272 with :
3373 version : latest
0 commit comments