[patch] add comment to check again on april patch #267
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: Build CLI Base | |
on: | |
push: | |
branches: [ "**" ] | |
tags-ignore: [ "**" ] | |
release: | |
types: [ published ] | |
jobs: | |
build-amd64: | |
name: Build Image (amd64) | |
runs-on: ubuntu-latest | |
if: ${{ !contains(github.event.head_commit.message, '[doc]') }} | |
steps: | |
- 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: Build the docker image (amd64) | |
run: | | |
echo "GITHUB_REF=$GITHUB_REF" | |
echo "GITHUB_EVENT_NAME=$GITHUB_EVENT_NAME" | |
# Login to quay.io | |
docker login --username "${{ secrets.QUAYIO_USERNAME }}" --password "${{ secrets.QUAYIO_PASSWORD }}" quay.io | |
# Build the image | |
$GITHUB_WORKSPACE/build/bin/docker-build.sh -r quay.io/ibmmas/cli-base --target-platform amd64 -b image/cli-base | |
# Squash the image layers | |
python3 -m pip install docker-squash | |
docker-squash --load-image --tag quay.io/ibmmas/cli-base:${{ env.DOCKER_TAG }}-amd64 quay.io/ibmmas/cli-base:${{ env.DOCKER_TAG }}-amd64 | |
# List available images | |
docker images | |
# Push the images | |
docker push quay.io/ibmmas/cli-base:${{ env.DOCKER_TAG }}-amd64 | |
build-s390x: | |
name: Build Image (s390x) | |
runs-on: ubuntu-latest | |
if: ${{ !contains(github.event.head_commit.message, '[doc]') }} | |
steps: | |
- 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: Build the docker image (s390x) | |
env: | |
ARTIFACTORY_TOKEN: ${{ secrets.ARTIFACTORY_TOKEN }} | |
run: | | |
echo "GITHUB_REF=$GITHUB_REF" | |
echo "GITHUB_EVENT_NAME=$GITHUB_EVENT_NAME" | |
# Login to quay.io | |
docker login --username "${{ secrets.QUAYIO_USERNAME }}" --password "${{ secrets.QUAYIO_PASSWORD }}" quay.io | |
# Before we build the s390x image we need to download some pre-build dependencies from Artifactory | |
wget --header="Authorization:Bearer $ARTIFACTORY_TOKEN" https://na.artifactory.swg-devops.com/artifactory/wiotp-generic-local/dependencies/rclone/rclone.tar.gz -O $GITHUB_WORKSPACE/image/cli-base/install/rclone.tar.gz | |
python3 $GITHUB_WORKSPACE/build/bin/python-collect-prebuilt-wheels.py --req-file $GITHUB_WORKSPACE/image/cli-base/install/requirements.txt --dest $GITHUB_WORKSPACE/image/cli-base/install/ --add-dependency cryptography | |
# Build the images | |
$GITHUB_WORKSPACE/build/bin/docker-build.sh -r quay.io/ibmmas/cli-base --target-platform s390x -b image/cli-base | |
# Squash the image layers | |
python3 -m pip install docker-squash | |
docker-squash --load-image --tag quay.io/ibmmas/cli-base:${{ env.DOCKER_TAG }}-s390x quay.io/ibmmas/cli-base:${{ env.DOCKER_TAG }}-s390x | |
# List available images | |
docker images | |
# Push the images | |
docker push quay.io/ibmmas/cli-base:${{ env.DOCKER_TAG }}-s390x | |
build-arm64: | |
name: Build Image (arm64) | |
runs-on: ubuntu-latest | |
if: ${{ !contains(github.event.head_commit.message, '[doc]') }} | |
steps: | |
- 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: Build the docker image (arm64) | |
run: | | |
echo "GITHUB_REF=$GITHUB_REF" | |
echo "GITHUB_EVENT_NAME=$GITHUB_EVENT_NAME" | |
# Login to quay.io | |
docker login --username "${{ secrets.QUAYIO_USERNAME }}" --password "${{ secrets.QUAYIO_PASSWORD }}" quay.io | |
# Build the image | |
$GITHUB_WORKSPACE/build/bin/docker-build.sh -r quay.io/ibmmas/cli-base --target-platform arm64 -b image/cli-base | |
# # Squash the image layers | |
python3 -m pip install docker-squash | |
docker-squash --load-image --tag quay.io/ibmmas/cli-base:${{ env.DOCKER_TAG }}-arm64 quay.io/ibmmas/cli-base:${{ env.DOCKER_TAG }}-arm64 | |
# List available images | |
docker images | |
# Push the images | |
docker push quay.io/ibmmas/cli-base:${{ env.DOCKER_TAG }}-arm64 | |
build-manifest: | |
name: Build Manifest | |
runs-on: ubuntu-latest | |
needs: | |
- build-amd64 | |
- build-s390x | |
- build-arm64 | |
if: ${{ !contains(github.event.head_commit.message, '[doc]') }} | |
steps: | |
- 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 the manifest | |
run: | | |
echo "GITHUB_REF=$GITHUB_REF" | |
echo "GITHUB_EVENT_NAME=$GITHUB_EVENT_NAME" | |
# Login to quay.io | |
docker login --username "${{ secrets.QUAYIO_USERNAME }}" --password "${{ secrets.QUAYIO_PASSWORD }}" quay.io | |
# Publish the manifest | |
$GITHUB_WORKSPACE/build/bin/docker-manifest.sh -r quay.io/ibmmas/cli-base --target-platforms amd64,s390x,arm64 | |
# Re-issue the manifest under an alias where needed | |
# https://github.com/docker/buildx/issues/1744#issuecomment-1896645786 | |
if [[ "$GITHUB_REF" == "refs/heads/stable" ]]; then | |
docker buildx imagetools create -t quay.io/ibmmas/cli-base:stable quay.io/ibmmas/cli-base:${{ env.DOCKER_TAG }} | |
elif [[ "$GITHUB_EVENT_NAME" == "release" ]]; then | |
docker buildx imagetools create -t quay.io/ibmmas/cli-base:latest quay.io/ibmmas/cli-base:${{ env.DOCKER_TAG }} | |
fi |