Skip to content

[minor] multiarch

[minor] multiarch #63

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