operator: build multi-arch images for peerpod-ctl #19
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
# Copyright Confidential Containers Contributors | |
# SPDX-License-Identifier: Apache-2.0 | |
# | |
# Push peerpod-ctrl image | |
--- | |
name: peerpod-ctrl image push | |
on: | |
push: | |
branches: | |
- main | |
- huoqifeng/peerpod-ctl-img | |
jobs: | |
peerpod_push: | |
name: Push peerpod-ctrl image | |
runs-on: ubuntu-latest | |
defaults: | |
run: | |
working-directory: peerpod-ctrl | |
steps: | |
- name: Checkout Code | |
uses: actions/checkout@v3 | |
- name: Read properties from versions.yaml | |
run: | | |
go_version="$(yq '.tools.golang' ../versions.yaml)" | |
[ -n "$go_version" ] | |
echo "GO_VERSION=${go_version}" >> "$GITHUB_ENV" | |
- name: Setup Golang version ${{ env.GO_VERSION }} | |
uses: actions/setup-go@v4 | |
with: | |
go-version: ${{ env.GO_VERSION }} | |
- name: Set up Docker Buildx | |
uses: docker/setup-buildx-action@v2 | |
- name: Install build dependencies | |
run: | | |
sudo apt-get update -y | |
sudo apt-get install -y libvirt-dev | |
- name: Login to Quay container Registry | |
uses: docker/login-action@v2 | |
with: | |
registry: quay.io | |
username: ${{ secrets.QUAY_USERNAME }} | |
password: ${{ secrets.QUAY_PASSWORD }} | |
- name: Validate build args contains the essentials | |
run: | | |
make list-build-args | grep -e 'CGO_ENABLED=[0|1]' && \ | |
make list-build-args | grep 'GOFLAGS=' | grep -E '\-tags=[a-z,]*' | |
- name: Build and push | |
uses: docker/build-push-action@v3 | |
with: | |
tags: | | |
quay.io/confidential-containers/peerpod-ctrl:latest | |
quay.io/confidential-containers/peerpod-ctrl:${{ github.sha }} | |
context: peerpod-ctrl | |
platforms: linux/s390x | |