diff --git a/.github/workflows/build-images.yaml b/.github/workflows/build-images.yaml index 4ac6b60..8d33587 100644 --- a/.github/workflows/build-images.yaml +++ b/.github/workflows/build-images.yaml @@ -26,69 +26,9 @@ env: LATEST_AUTHORINO_GITREF: ${{ vars.AUTHORINO_SHA != '' && vars.AUTHORINO_SHA || 'latest' }} jobs: - build: - name: Build and push image - runs-on: ubuntu-20.04 - steps: - - name: Check out code - uses: actions/checkout@v3 - - name: Add latest tag - if: ${{ github.ref_name == env.MAIN_BRANCH_NAME }} - id: add-latest-tag - run: | - echo "IMG_TAGS=latest ${{ env.IMG_TAGS }}" >> $GITHUB_ENV - - name: Add branch tag - if: ${{ github.ref_name != env.MAIN_BRANCH_NAME }} - id: add-branch-tag - run: | - echo "IMG_TAGS=${GITHUB_REF_NAME/\//-} ${{ env.IMG_TAGS }}" >> $GITHUB_ENV - - name: Set Operator version - id: operator-version - run: | - if [[ ${GITHUB_REF_NAME/\//-} =~ ^v[0-9]+\.[0-9]+\.[0-9]+(-.+)?$ ]]; then - echo "VERSION=${GITHUB_REF_NAME/\//-}" >> $GITHUB_ENV - else - echo "VERSION=${{ github.sha }}" >> $GITHUB_ENV - fi - - name: Set up QEMU - uses: docker/setup-qemu-action@v3 - - name: Install yq dependency - run: make yq - - name: Set default authorino image - run: | - echo "DEFAULT_AUTHORINO_IMAGE=$(./bin/yq e -e '.config.authorinoImage' ${{ env.BUILD_CONFIG_FILE }} || echo ${{ env.IMG_REGISTRY_HOST }}/${{ env.IMG_REGISTRY_ORG }}/authorino:${{ env.LATEST_AUTHORINO_GITREF }})" >> $GITHUB_ENV - - name: Build Image - id: build-image - uses: redhat-actions/buildah-build@v2 - with: - image: ${{ env.OPERATOR_NAME }} - tags: ${{ env.IMG_TAGS }} - platforms: linux/amd64,linux/arm64,linux/s390x,linux/ppc64le - build-args: | - OPERATOR_VERSION=${{ env.VERSION }} - GIT_SHA=${{ github.sha }} - DIRTY=false - DEFAULT_AUTHORINO_IMAGE=${{ env.DEFAULT_AUTHORINO_IMAGE }} - containerfiles: | - ./Dockerfile - - name: Push Image - if: ${{ !env.ACT }} - id: push-to-quay - uses: redhat-actions/push-to-registry@v2 - with: - image: ${{ steps.build-image.outputs.image }} - tags: ${{ steps.build-image.outputs.tags }} - registry: ${{ env.IMG_REGISTRY_HOST }}/${{ env.IMG_REGISTRY_ORG }} - username: ${{ secrets.IMG_REGISTRY_USERNAME }} - password: ${{ secrets.IMG_REGISTRY_TOKEN }} - - name: Print Image URL - run: echo "Image pushed to ${{ steps.push-to-quay.outputs.registry-paths }}" - build-bundle: - needs: build name: Build and push bundle image runs-on: ubuntu-20.04 - if: github.ref_name == 'main' || startsWith(github.ref, 'refs/tags/v') # We cannot use `env.MAIN_BRANCH_NAME` because `env` context is not available to `job.if`. See https://docs.github.com/en/actions/learn-github-actions/contexts#context-availability steps: - name: Set up Go 1.21.x uses: actions/setup-go@v4 @@ -128,12 +68,6 @@ jobs: run: make bundle REGISTRY=${{ env.IMG_REGISTRY_HOST }} ORG=${{ env.IMG_REGISTRY_ORG }} VERSION=${{env.VERSION}} AUTHORINO_VERSION=${{ github.event.inputs.authorinoVersion }} CHANNELS=${{ github.event.inputs.channels }} DEFAULT_CHANNEL=stable - name: Git diff run: git diff - - name: Verify manifests and bundle (main) - if: github.ref_name == env.MAIN_BRANCH_NAME - run: make verify-manifests verify-bundle REGISTRY=${{ env.IMG_REGISTRY_HOST }} ORG=${{ env.IMG_REGISTRY_ORG }} IMAGE_TAG=${{ github.sha }} AUTHORINO_VERSION=${{ env.LATEST_AUTHORINO_GITREF }} - - name: Verify manifests and bundle (release) - if: ${{ github.ref_name != env.MAIN_BRANCH_NAME }} - run: make verify-manifests verify-bundle REGISTRY=${{ env.IMG_REGISTRY_HOST }} ORG=${{ env.IMG_REGISTRY_ORG }} VERSION=${{env.VERSION}} AUTHORINO_VERSION=${{ github.event.inputs.authorinoVersion }} CHANNELS=${{ github.event.inputs.channels }} DEFAULT_CHANNEL=stable - name: Build Image id: build-image uses: redhat-actions/buildah-build@v2 @@ -160,12 +94,11 @@ jobs: build-catalog: name: Build and push catalog image for arch ${{ matrix.arch }} - needs: [build, build-bundle] + needs: [build-bundle] runs-on: ubuntu-20.04 strategy: matrix: arch: [ amd64, arm64, ppc64le, s390x ] - if: github.ref_name == 'main' || startsWith(github.ref, 'refs/tags/v') # We cannot use `env.MAIN_BRANCH_NAME` because `env` context is not available to `job.if`. See https://docs.github.com/en/actions/learn-github-actions/contexts#context-availability steps: - name: Set up Go 1.21.x uses: actions/setup-go@v4