Merge pull request #500 from Ygnas/health-check-interval #155
Workflow file for this run
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 }} | |