This repository has been archived by the owner on Dec 16, 2024. It is now read-only.
Merge pull request #504 from jasonmadigan/fixing-links #156
This file contains 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: Build and Publish Controller Image | |
on: | |
push: | |
branches: | |
- main | |
- "release-*" | |
tags: | |
- "v[0-9]+.[0-9]+.[0-9]+" | |
env: | |
IMG_REGISTRY_HOST: quay.io | |
IMG_REGISTRY_ORG: kuadrant | |
IMG_REGISTRY_REPO: multicluster-gateway-controller | |
IMG_REGISTRY_REPO_BUNDLE: multicluster-gateway-controller-bundle | |
IMG_REGISTRY_REPO_CATALOG: multicluster-gateway-controller-catalog | |
MAIN_BRANCH_NAME: main | |
jobs: | |
controller: | |
if: github.repository_owner == 'kuadrant' | |
name: Build controller image | |
runs-on: ubuntu-22.04 | |
outputs: | |
sha_short: ${{ steps.vars.outputs.sha_short }} | |
controller_image: ${{ steps.vars.outputs.base_image }}:${{ steps.vars.outputs.sha_short }} | |
steps: | |
- uses: actions/checkout@v3 | |
- name: Calculate vars | |
id: vars | |
run: | | |
echo "sha_short=$(echo ${{ github.sha }} | cut -b -7)" >> $GITHUB_OUTPUT | |
echo "base_image=${{ env.IMG_REGISTRY_HOST }}/${{ env.IMG_REGISTRY_ORG }}/${{ env.IMG_REGISTRY_REPO }}" >> $GITHUB_OUTPUT | |
- name: Add image tags | |
id: add-tags | |
run: echo "IMG_TAGS=${{ steps.vars.outputs.base_image }}:${{ steps.vars.outputs.sha_short }},${{ steps.vars.outputs.base_image }}:${{ github.ref_name }}" >> $GITHUB_ENV | |
- name: Add latest tag | |
if: ${{ github.ref_name == env.MAIN_BRANCH_NAME }} | |
id: add-latest-tag | |
run: echo "IMG_TAGS=${{ steps.vars.outputs.base_image }}:latest,${{ env.IMG_TAGS }}" >> $GITHUB_ENV | |
- name: Login to Quay.io | |
uses: docker/login-action@v2 | |
id: registry-login | |
with: | |
registry: ${{ env.IMG_REGISTRY_HOST }} | |
username: ${{ secrets.IMG_REGISTRY_USERNAME }} | |
password: ${{ secrets.IMG_REGISTRY_TOKEN }} | |
- name: Build and push Controller Image | |
id: build-and-push | |
uses: docker/build-push-action@v4 | |
with: | |
push: true | |
tags: ${{ env.IMG_TAGS }} | |
target: controller | |
- name: Print Image URL | |
run: | | |
echo "Image pushed to ${{ env.IMG_TAGS }}" | |
echo "Image digest: ${{ steps.build-and-push.outputs.digest }}" | |
bundle: | |
if: github.repository_owner == 'kuadrant' | |
name: Build bundle image | |
runs-on: ubuntu-22.04 | |
steps: | |
- name: Check out code | |
uses: actions/checkout@v3 | |
- name: Calculate vars | |
id: vars | |
run: | | |
echo "sha_short=$(echo ${{ github.sha }} | cut -b -7)" >> $GITHUB_OUTPUT | |
echo "base_image=${{ env.IMG_REGISTRY_HOST }}/${{ env.IMG_REGISTRY_ORG }}/${{ env.IMG_REGISTRY_REPO_CATALOG }}" >> $GITHUB_OUTPUT | |
- name: Add image tags | |
id: add-tags | |
run: echo "IMG_TAGS=${{ steps.vars.outputs.base_image }}:${{ steps.vars.outputs.sha_short }},${{ steps.vars.outputs.base_image }}:${{ github.ref_name }}" >> $GITHUB_ENV | |
- name: Run make bundle | |
id: make-bundle | |
run: make bundle REGISTRY=${{ env.IMG_REGISTRY_HOST }} ORG=${{ env.IMG_REGISTRY_ORG }} IMAGE_TAG=${{ github.ref_name }} | |
- name: Build bundle | |
id: build-bundle | |
run: make bundle-build REGISTRY=${{ env.IMG_REGISTRY_HOST }} ORG=${{ env.IMG_REGISTRY_ORG }} IMAGE_TAG=${{ github.ref_name }} | |
- name: Login to Quay.io | |
uses: docker/login-action@v2 | |
id: registry-login | |
with: | |
registry: ${{ env.IMG_REGISTRY_HOST }} | |
username: ${{ secrets.IMG_REGISTRY_USERNAME }} | |
password: ${{ secrets.IMG_REGISTRY_TOKEN }} | |
- name: Push bundle Image | |
run: make bundle-push REGISTRY=${{ env.IMG_REGISTRY_HOST }} ORG=${{ env.IMG_REGISTRY_ORG }} IMAGE_TAG=${{ github.ref_name }} | |
catalog: | |
if: github.repository_owner == 'kuadrant' | |
needs: bundle | |
name: Build catalog image | |
runs-on: ubuntu-22.04 | |
steps: | |
- name: Check out code | |
uses: actions/checkout@v3 | |
- name: Calculate vars | |
id: vars | |
run: | | |
echo "sha_short=$(echo ${{ github.sha }} | cut -b -7)" >> $GITHUB_OUTPUT | |
echo "base_image=${{ env.IMG_REGISTRY_HOST }}/${{ env.IMG_REGISTRY_ORG }}/${{ env.IMG_REGISTRY_REPO_BUNDLE }}" >> $GITHUB_OUTPUT | |
- name: Add image tags | |
id: add-tags | |
run: echo "IMG_TAGS=${{ steps.vars.outputs.base_image }}:${{ steps.vars.outputs.sha_short }},${{ steps.vars.outputs.base_image }}:${{ github.ref_name }}" >> $GITHUB_ENV | |
- name: Run make catalog | |
id: make-catalog-build | |
run: make catalog-build REGISTRY=${{ env.IMG_REGISTRY_HOST }} ORG=${{ env.IMG_REGISTRY_ORG }} IMAGE_TAG=${{ github.ref_name }} | |
- name: Login to Quay.io | |
uses: docker/login-action@v2 | |
id: registry-login | |
with: | |
registry: ${{ env.IMG_REGISTRY_HOST }} | |
username: ${{ secrets.IMG_REGISTRY_USERNAME }} | |
password: ${{ secrets.IMG_REGISTRY_TOKEN }} | |
- name: Make catalog push | |
id: make-catalog-push | |
run: make catalog-push REGISTRY=${{ env.IMG_REGISTRY_HOST }} ORG=${{ env.IMG_REGISTRY_ORG }} IMAGE_TAG=${{ github.ref_name }} | |