@@ -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
2629 key : ${{ runner.os }}-go-${{ hashFiles('**/go.sum') }}
2730 restore-keys : |
2831 ${{ runner.os }}-go-
32+ - uses : docker/setup-qemu-action@v1
33+ - uses : docker/setup-buildx-action@v1
2934 - uses : sigstore/cosign-installer@main
3035 - uses : anchore/sbom-action/download-syft@v0
31- - uses : goreleaser/goreleaser-action@v2
36+ - name : Docker login ghcr.io
37+ uses : docker/login-action@v1
38+ with :
39+ registry : ghcr.io
40+ username : fluxcdbot
41+ password : ${{ secrets.GHCR_TOKEN }}
42+ - name : Docker login docker.io
43+ uses : docker/login-action@v1
44+ with :
45+ username : fluxcdbot
46+ password : ${{ secrets.DOCKER_FLUXCD_PASSWORD }}
47+ - name : Docker meta
48+ id : meta
49+ uses : docker/metadata-action@v3
50+ with :
51+ images : |
52+ fluxcd/${{ env.CONTROLLER }}
53+ ghcr.io/fluxcd/${{ env.CONTROLLER }}
54+ tags : |
55+ type=raw,value={{tag}}
56+ - name : Docker push
57+ uses : docker/build-push-action@v2
58+ with :
59+ push : true
60+ builder : ${{ steps.buildx.outputs.name }}
61+ context : .
62+ file : ./Dockerfile
63+ platforms : linux/amd64,linux/arm/v7,linux/arm64
64+ tags : ${{ steps.meta.outputs.tags }}
65+ labels : ${{ steps.meta.outputs.labels }}
66+ - name : Cosign sign ghcr.io
67+ env :
68+ COSIGN_EXPERIMENTAL : 1
69+ run : |
70+ cosign sign --recursive ghcr.io/fluxcd/${{ env.CONTROLLER }}:${GITHUB_REF/refs\/tags\//}
71+ - name : GoReleaser publish signed SBOM
72+ uses : goreleaser/goreleaser-action@v2
3273 with :
3374 version : latest
3475 args : release --rm-dist
0 commit comments