[minor] multiarch #63
Workflow file for this run
This file contains hidden or 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: Release CLI Base | |
on: | |
push: | |
branches-ignore: | |
- '**' | |
tags: | |
- '**' | |
jobs: | |
build-cli-base-amd64: | |
runs-on: ubuntu-latest | |
steps: | |
# 1. Setup | |
# ------------------------------------------------------------------------------------------- | |
- name: Checkout | |
uses: actions/checkout@v4 | |
- name: Initialise the build system | |
run: | | |
chmod u+x $GITHUB_WORKSPACE/build/bin/*.sh | |
$GITHUB_WORKSPACE/build/bin/initbuild.sh | |
source $GITHUB_WORKSPACE/build/bin/.functions.sh | |
# 2. Build and Publish CLI base container image | |
# ------------------------------------------------------------------------------------------- | |
- name: Build the docker image | |
run: | | |
python3 -m pip install docker-squash | |
$GITHUB_WORKSPACE/build/bin/docker-build.sh -n ibmmas -i cli-base --target-platform amd64 | |
docker-squash --load-image --tag quay.io/ibmmas/cli-base:${{ env.DOCKER_TAG }}-amd64 ibmmas/cli-base:${{ env.DOCKER_TAG }}-amd64 | |
docker tag ibmmas/cli-base:${{ env.DOCKER_TAG }}-amd64 quay.io/ibmmas/cli-base:latest-amd64 | |
- name: Push the docker image | |
id: push_to_quay | |
run: | | |
docker images | |
docker login --username "${{ secrets.QUAYIO_USERNAME }}" --password "${{ secrets.QUAYIO_PASSWORD }}" quay.io | |
docker push quay.io/ibmmas/cli-base:${{ env.DOCKER_TAG }}-amd64 | |
docker push quay.io/ibmmas/cli-base:latest-amd64 | |
build-cli-base-s390x: | |
runs-on: ubuntu-latest | |
steps: | |
# 1. Setup | |
# ------------------------------------------------------------------------------------------- | |
- name: Checkout | |
uses: actions/checkout@v4 | |
- name: Initialise the build system | |
run: | | |
chmod u+x $GITHUB_WORKSPACE/build/bin/*.sh | |
$GITHUB_WORKSPACE/build/bin/initbuild.sh | |
source $GITHUB_WORKSPACE/build/bin/.functions.sh | |
# 2. Build and Publish CLI base container image | |
# ------------------------------------------------------------------------------------------- | |
- name: Build the docker image | |
run: | | |
python3 -m pip install docker-squash | |
$GITHUB_WORKSPACE/build/bin/docker-build.sh -n ibmmas -i cli-base --target-platform s390x | |
docker-squash --load-image --tag quay.io/ibmmas/cli-base:${{ env.DOCKER_TAG }}-s390x ibmmas/cli-base:${{ env.DOCKER_TAG }}-s390x | |
docker tag ibmmas/cli-base:${{ env.DOCKER_TAG }}-s390x quay.io/ibmmas/cli-base:latest-s390x | |
- name: Push the docker image | |
id: push_to_quay | |
run: | | |
docker images | |
docker login --username "${{ secrets.QUAYIO_USERNAME }}" --password "${{ secrets.QUAYIO_PASSWORD }}" quay.io | |
docker push quay.io/ibmmas/cli-base:${{ env.DOCKER_TAG }}-s390x | |
docker push quay.io/ibmmas/cli-base:latest-s390x | |
# 3. Manifest and publish release base container image | |
# ------------------------------------------------------------------------------------------- | |
build-cli-manifest: | |
runs-on: ubuntu-latest | |
needs: [ build-cli-base-amd64, build-cli-base-s390x ] | |
steps: | |
# 1. Setup | |
# ------------------------------------------------------------------------------------------- | |
- name: Checkout | |
uses: actions/checkout@v4 | |
# Without this option, we don't get the tag information | |
with: | |
fetch-depth: 0 | |
- name: Initialise the build system | |
run: | | |
chmod u+x $GITHUB_WORKSPACE/build/bin/*.sh | |
$GITHUB_WORKSPACE/build/bin/initbuild.sh | |
source $GITHUB_WORKSPACE/build/bin/.functions.sh | |
- name: Publish release | |
run: | | |
docker login --username "${{ secrets.QUAYIO_USERNAME }}" --password "${{ secrets.QUAYIO_PASSWORD }}" quay.io | |
$GITHUB_WORKSPACE/build/bin/docker-manifest.sh -n ibmmas -i cli-base --target-platforms amd64,s390x |