use stable oc mirror #283
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 ] | |
env: | |
ARTIFACTORY_TOKEN: ${{ secrets.ARTIFACTORY_TOKEN }} | |
QUAYIO_USERNAME: ${{ secrets.QUAYIO_USERNAME }} | |
QUAYIO_PASSWORD: ${{ secrets.QUAYIO_PASSWORD }} | |
W3_USERNAME: ${{ secrets.W3_USERNAME }} | |
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" | |
source $GITHUB_WORKSPACE/build/bin/build.sh 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) | |
run: | | |
echo "GITHUB_REF=$GITHUB_REF" | |
source $GITHUB_WORKSPACE/build/bin/build.sh s390x | |
build-ppc64le: | |
name: Build Image (ppc64le) | |
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 (ppc64le) | |
run: | | |
echo "GITHUB_REF=$GITHUB_REF" | |
source $GITHUB_WORKSPACE/build/bin/build.sh ppc64le | |
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: | | |
source $GITHUB_WORKSPACE/build/bin/build.sh arm64 | |
build-manifest: | |
name: Build Manifest | |
runs-on: ubuntu-latest | |
needs: | |
- build-amd64 | |
- build-s390x | |
- build-arm64 | |
- build-ppc64le | |
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,ppc64le | |
# 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 |