Merge pull request #172 from maze88/main #9
Workflow file for this run
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| name: "Image push release" | |
| on: | |
| push: | |
| tags: | |
| - v* | |
| env: | |
| REGISTRY: "ghcr.io" | |
| OPERATOR_IMAGE_NAME: "maintenance-operator" | |
| jobs: | |
| image-build-push: | |
| name: Image build and push | |
| runs-on: ubuntu-24.04 | |
| steps: | |
| - name: Set repository owner as lower-case output variable | |
| id: repo_owner | |
| run: echo REPO_OWNER=$(echo ${{ github.repository_owner }} | tr '[:upper:]' '[:lower:]') >> $GITHUB_ENV | |
| - name: Check out code into the Go module directory | |
| uses: actions/checkout@v6 | |
| with: | |
| fetch-depth: 0 | |
| - name: Set up QEMU | |
| uses: docker/setup-qemu-action@v3 | |
| - name: Set up Docker Buildx | |
| uses: docker/setup-buildx-action@v3 | |
| - name: Login to GitHub Container Registry | |
| uses: docker/login-action@v3 | |
| with: | |
| registry: ghcr.io | |
| username: ${{ github.repository_owner }} | |
| password: ${{ secrets.GITHUB_TOKEN }} | |
| - name: Docker meta | |
| id: docker_meta | |
| uses: docker/metadata-action@v5 | |
| with: | |
| images: ${{ env.REGISTRY }}/${{ env.REPO_OWNER }}/${{ env.OPERATOR_IMAGE_NAME }} | |
| tags: | | |
| type=ref,event=tag | |
| flavor: | | |
| latest=false | |
| - name: Build and push container image | |
| uses: docker/build-push-action@v6 | |
| with: | |
| context: . | |
| platforms: linux/amd64,linux/arm64 | |
| push: true | |
| tags: | | |
| ${{ steps.docker_meta.outputs.tags }} | |
| labels: ${{ steps.docker_meta.outputs.labels }} | |
| file: ./Dockerfile | |
| - name: Determine version, tag, and base branch | |
| run: | | |
| git_tag=${{ github.ref_name }} | |
| echo VERSION_WITH_PREFIX=$git_tag >> $GITHUB_ENV | |
| echo VERSION_WITHOUT_PREFIX=${git_tag:1} >> $GITHUB_ENV # without the 'v' prefix | |
| - name: Lookup image digest | |
| run: | | |
| operator_digest=$(skopeo inspect docker://$REGISTRY/$REPO_OWNER/$OPERATOR_IMAGE_NAME:$VERSION_WITH_PREFIX | jq -r .Digest) | |
| echo $operator_digest | wc -w | grep 1 # verifies value not empty | |
| echo OPERATOR_DIGEST=$operator_digest >> $GITHUB_ENV | |
| - name: Make bundle | |
| env: | |
| IMG: ${{ env.REGISTRY }}/${{ env.REPO_OWNER }}/${{ env.OPERATOR_IMAGE_NAME }}@${{ env.OPERATOR_DIGEST }} | |
| BUNDLE_IMG: ${{ env.REGISTRY }}/${{ env.REPO_OWNER }}/${{ env.OPERATOR_IMAGE_NAME }}-bundle:${{ env.VERSION_WITH_PREFIX }} | |
| VERSION: ${{ env.VERSION_WITHOUT_PREFIX }} | |
| run: | | |
| version_major_minor=$(echo $VERSION_WITH_PREFIX | grep -Eo 'v[0-9]+\.[0-9]+') | |
| export CHANNELS=stable,$version_major_minor | |
| export DEFAULT_CHANNEL=$version_major_minor | |
| make bundle bundle-build bundle-push |