Skip to content

chore: standing CI validation PR (do not merge) #22

chore: standing CI validation PR (do not merge)

chore: standing CI validation PR (do not merge) #22

name: Build Controller Manager
on:
push:
branches: [ main ]
tags: [ 'ci-*' ]
paths-ignore:
- '*.md'
- 'docs/**'
- 'LICENSE'
- 'NOTICE'
- 'PROJECT'
- 'SECURITY_CONTACTS'
pull_request:
types: [opened, synchronize, reopened, ready_for_review]
paths-ignore:
- '*.md'
- 'docs/**'
- 'LICENSE'
- 'NOTICE'
- 'PROJECT'
- 'SECURITY_CONTACTS'
jobs:
build-controller-manager:
if: ${{ !github.event.pull_request.draft }}
runs-on: ubuntu-22.04
steps:
- name: Checkout code
uses: actions/checkout@v3
with:
fetch-depth: 0
- name: Set up Go
uses: actions/setup-go@v7
with:
go-version: 1.26.2
cache: true
- name: Print tag
run: make tag
- name: Build controller manager image
env:
USE_SYSTEM_GO: "1"
run: bash .ci/build-controller-manager.sh
- name: Save controller manager image artifact
run: |
TAG=$(make tag)
docker save "quay.io/platform9/cluster-api-provider-bringyourownhost/controller-manager:${TAG}" -o controller-manager-image.tar
- name: Upload controller manager image artifact
uses: actions/upload-artifact@v4
with:
name: controller-manager-image
path: controller-manager-image.tar
retention-days: 1
- name: Log in to Quay
if: ${{ github.ref == 'refs/heads/main' || startsWith(github.ref, 'refs/tags/ci-') }}
uses: docker/login-action@v3
with:
registry: quay.io
username: ${{ secrets.QUAY_USERNAME }}
password: ${{ secrets.QUAY_TOKEN }}
- name: Push controller manager image
if: ${{ github.ref == 'refs/heads/main' || startsWith(github.ref, 'refs/tags/ci-') }}
run: |
TAG=$(make --no-print-directory tag)
make docker-push IMG="quay.io/platform9/cluster-api-provider-bringyourownhost/controller-manager:${TAG}"