fix: enable multi arch oci images from github actions. #43
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: crc-builder-builder | |
on: | |
push: | |
tags: [ 'crc-builder-v*' ] | |
pull_request: | |
branches: [ main ] | |
paths: ['crc-builder/**', '.github\/workflows\/crc-builder*' ] | |
jobs: | |
build-on-pull: | |
name: build-on-pull | |
if: ${{ github.event_name == 'pull_request' }} | |
permissions: | |
contents: read | |
packages: write | |
runs-on: ubuntu-24.04 | |
steps: | |
- name: Checkout code | |
uses: actions/checkout@v4 | |
# Allow emulation for building multi arch images | |
- name: Prepare runner | |
shell: bash | |
run: | | |
sudo apt-get install -y qemu-user-static | |
- name: Build image | |
env: | |
CRC_BUILDER: ghcr.io/crc-org/ci-crc-builder | |
CRC_BUILDER_V: pr-${{ github.event.number }} | |
run: | | |
make crc-builder-oci-build | |
- name: Log in to ghcr.io | |
uses: redhat-actions/podman-login@v1 | |
with: | |
registry: ghcr.io | |
# username: ${{ github.actor }} | |
username: crc-org | |
password: ${{ secrets.GITHUB_TOKEN }} | |
- name: Push image crc-builder | |
env: | |
CRC_BUILDER: ghcr.io/crc-org/ci-crc-builder | |
CRC_BUILDER_V: pr-${{ github.event.number }} | |
run: | | |
make crc-builder-oci-push | |
build-on-push: | |
name: build-on-push | |
if: ${{ github.event_name == 'push' }} | |
runs-on: ubuntu-24.04 | |
steps: | |
- name: Checkout code | |
uses: actions/checkout@v4 | |
# Allow emulation for building multi arch images | |
- name: Prepare runner | |
shell: bash | |
run: | | |
sudo apt-get install -y qemu-user-static | |
- name: Build image for Release | |
run: | | |
make crc-builder-oci-build | |
- name: Log in quay.io | |
if: ${{ env.source_event == 'push' }} | |
uses: redhat-actions/podman-login@v1 | |
with: | |
registry: quay.io | |
username: ${{ secrets.QUAY_IO_USERNAME }} | |
password: ${{ secrets.QUAY_IO_PASSWORD }} | |
- name: Push crc-builder | |
run: | | |
make crc-builder-oci-push | |
tkn-check: | |
runs-on: ubuntu-24.04 | |
steps: | |
- name: Checkout code | |
uses: actions/checkout@v4 | |
- name: Template tkn for PR | |
if: ${{ github.event_name == 'pull_request' }} | |
env: | |
CRC_BUILDER: ghcr.io/crc-org/ci-crc-builder | |
CRC_BUILDER_V: pr-${{ github.event.number }} | |
run: | | |
make crc-builder-tkn-create | |
echo "image=${CRC_BUILDER}:${CRC_BUILDER_V}" >> "$GITHUB_ENV" | |
- name: Create image metadata | |
run: | | |
echo ${{ env.image }} > crc-builder-image | |
echo ${{ github.event_name }} > crc-builder-build-event | |
- name: Check tkn specs | |
run: | | |
if [[ ! -f crc-builder/tkn/crc-builder-installer.yaml ]]; then | |
exit 1 | |
fi | |
if [[ ! -f crc-builder/tkn/crc-builder.yaml ]]; then | |
exit 1 | |
fi | |
# Check if version is in sync | |
- name: Create k8s Kind Cluster | |
uses: helm/kind-action@v1 | |
# https://docs.openshift.com/pipelines/1.15/about/op-release-notes.html | |
- name: Deploy min supported tekton version | |
run: kubectl apply -f https://storage.googleapis.com/tekton-releases/pipeline/previous/v0.44.5/release.yaml | |
- name: Deploy tasks | |
run: | | |
kubectl apply -f crc-builder/tkn/crc-builder-installer.yaml | |
kubectl apply -f crc-builder/tkn/crc-builder.yaml | |
- name: Upload crc-builder-tkn | |
uses: actions/upload-artifact@v4 | |
with: | |
name: crc-builder-tkn | |
path: crc-builder/tkn/crc-builder* | |
- name: Upload crc-builder | |
uses: actions/upload-artifact@v4 | |
with: | |
name: crc-builder | |
path: crc-builder* |