mirror of https://github.com/fluxcd/flux2.git
				
				
				
			Merge pull request #3088 from fluxcd/flux-manifests
Publish the install manifests to GHCR and DockerHub as OCI artifactspull/3087/head
						commit
						467969de0f
					
				| @ -0,0 +1,73 @@ | |||||||
|  | name: release-manifests | ||||||
|  | on: | ||||||
|  |   release: | ||||||
|  |     types: [published] | ||||||
|  |   workflow_dispatch: | ||||||
|  | 
 | ||||||
|  | permissions: | ||||||
|  |   id-token: write # needed for keyless signing | ||||||
|  |   packages: write # needed for ghcr access | ||||||
|  | 
 | ||||||
|  | jobs: | ||||||
|  |   build-push: | ||||||
|  |     runs-on: ubuntu-latest | ||||||
|  |     steps: | ||||||
|  |       - uses: actions/checkout@v3 | ||||||
|  |       - name: Setup Kustomize | ||||||
|  |         uses: fluxcd/pkg/actions/kustomize@main | ||||||
|  |       - name: Setup Flux CLI | ||||||
|  |         uses: ./action/ | ||||||
|  |       - name: Prepare | ||||||
|  |         id: prep | ||||||
|  |         run: | | ||||||
|  |           VERSION=$(flux version --client | awk '{ print $NF }') | ||||||
|  |           echo ::set-output name=VERSION::${VERSION} | ||||||
|  |       - name: Login to GHCR | ||||||
|  |         uses: docker/login-action@v2 | ||||||
|  |         with: | ||||||
|  |           registry: ghcr.io | ||||||
|  |           username: fluxcdbot | ||||||
|  |           password: ${{ secrets.GHCR_TOKEN }} | ||||||
|  |       - name: Login to DockerHub | ||||||
|  |         uses: docker/login-action@v2 | ||||||
|  |         with: | ||||||
|  |           username: fluxcdbot | ||||||
|  |           password: ${{ secrets.DOCKER_FLUXCD_PASSWORD }} | ||||||
|  |       - name: Push manifests to GHCR | ||||||
|  |         run: | | ||||||
|  |           mkdir -p ./ghcr.io/flux-system | ||||||
|  |           flux install --registry=ghcr.io/fluxcd \ | ||||||
|  |           --components-extra=image-reflector-controller,image-automation-controller \ | ||||||
|  |           --export > ./ghcr.io/flux-system/gotk-components.yaml | ||||||
|  |            | ||||||
|  |           cd ./ghcr.io && flux push artifact \ | ||||||
|  |           oci://ghcr.io/fluxcd/flux-manifests:${{ steps.prep.outputs.VERSION }} \ | ||||||
|  |           --path="./flux-system" \ | ||||||
|  |           --source=${{ github.repositoryUrl }} \ | ||||||
|  |           --revision="${{ github.ref_name }}/${{ github.sha }}" | ||||||
|  |       - name: Push manifests to DockerHub | ||||||
|  |         run: | | ||||||
|  |           mkdir -p ./docker.io/flux-system | ||||||
|  |           flux install --registry=docker.io/fluxcd \ | ||||||
|  |           --components-extra=image-reflector-controller,image-automation-controller \ | ||||||
|  |           --export > ./docker.io/flux-system/gotk-components.yaml | ||||||
|  |            | ||||||
|  |           cd ./docker.io && flux push artifact \ | ||||||
|  |           oci://docker.io/fluxcd/flux-manifests:${{ steps.prep.outputs.VERSION }} \ | ||||||
|  |           --path="./flux-system" \ | ||||||
|  |           --source=${{ github.repositoryUrl }} \ | ||||||
|  |           --revision="${{ github.ref_name }}/${{ github.sha }}" | ||||||
|  |       - uses: sigstore/cosign-installer@main | ||||||
|  |       - name: Sign manifests | ||||||
|  |         env: | ||||||
|  |           COSIGN_EXPERIMENTAL: 1 | ||||||
|  |         run: | | ||||||
|  |           cosign sign ghcr.io/fluxcd/flux-manifests:${{ steps.prep.outputs.VERSION }} | ||||||
|  |           cosign sign docker.io/fluxcd/flux-manifests:${{ steps.prep.outputs.VERSION }} | ||||||
|  |       - name: Tag manifests | ||||||
|  |         run: | | ||||||
|  |           flux tag artifact oci://ghcr.io/fluxcd/flux-manifests:${{ steps.prep.outputs.VERSION }} \ | ||||||
|  |           --tag latest | ||||||
|  | 
 | ||||||
|  |           flux tag artifact oci://docker.io/fluxcd/flux-manifests:${{ steps.prep.outputs.VERSION }} \ | ||||||
|  |           --tag latest | ||||||
					Loading…
					
					
				
		Reference in New Issue