55 tags-ignore : [ "**" ]
66 release :
77 types : [ published ]
8+ env :
9+ ARTIFACTORY_TOKEN : ${{ secrets.ARTIFACTORY_TOKEN }}
10+ QUAYIO_USERNAME : ${{ secrets.QUAYIO_USERNAME }}
11+ QUAYIO_PASSWORD : ${{ secrets.QUAYIO_PASSWORD }}
12+ W3_USERNAME : ${{ secrets.W3_USERNAME }}
813
914jobs :
1015 build-amd64 :
2732 - name : Build the docker image (amd64)
2833 run : |
2934 echo "GITHUB_REF=$GITHUB_REF"
30- echo "GITHUB_EVENT_NAME=$GITHUB_EVENT_NAME"
31-
32- # Login to quay.io
33- docker login --username "${{ secrets.QUAYIO_USERNAME }}" --password "${{ secrets.QUAYIO_PASSWORD }}" quay.io
34-
35- # Build the image
36- $GITHUB_WORKSPACE/build/bin/docker-build.sh -r quay.io/ibmmas/cli-base --target-platform amd64 -b image/cli-base
37-
38- # Squash the image layers
39- python3 -m pip install docker-squash
40- docker-squash --load-image --tag quay.io/ibmmas/cli-base:${{ env.DOCKER_TAG }}-amd64 quay.io/ibmmas/cli-base:${{ env.DOCKER_TAG }}-amd64
41-
42- # List available images
43- docker images
44-
45- # Push the images
46- docker push quay.io/ibmmas/cli-base:${{ env.DOCKER_TAG }}-amd64
35+ source $GITHUB_WORKSPACE/build/bin/build.sh amd64
4736
4837 build-s390x :
4938 name : Build Image (s390x)
@@ -63,31 +52,31 @@ jobs:
6352 source $GITHUB_WORKSPACE/build/bin/.functions.sh
6453
6554 - name : Build the docker image (s390x)
66- env :
67- ARTIFACTORY_TOKEN : ${{ secrets.ARTIFACTORY_TOKEN }}
6855 run : |
6956 echo "GITHUB_REF=$GITHUB_REF"
70- echo "GITHUB_EVENT_NAME=$GITHUB_EVENT_NAME"
57+ source $GITHUB_WORKSPACE/build/bin/build.sh s390x
7158
72- # Login to quay.io
73- docker login --username "${{ secrets.QUAYIO_USERNAME }}" --password "${{ secrets.QUAYIO_PASSWORD }}" quay.io
74-
75- # Before we build the s390x image we need to download some pre-build dependencies from Artifactory
76- 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
77- 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
78-
79- # Build the images
80- $GITHUB_WORKSPACE/build/bin/docker-build.sh -r quay.io/ibmmas/cli-base --target-platform s390x -b image/cli-base
81-
82- # Squash the image layers
83- python3 -m pip install docker-squash
84- docker-squash --load-image --tag quay.io/ibmmas/cli-base:${{ env.DOCKER_TAG }}-s390x quay.io/ibmmas/cli-base:${{ env.DOCKER_TAG }}-s390x
59+ build-ppc64le :
60+ name : Build Image (ppc64le)
61+ runs-on : ubuntu-latest
62+ if : ${{ !contains(github.event.head_commit.message, '[doc]') }}
63+ steps :
64+ - name : Checkout
65+ uses : actions/checkout@v4
66+ # Without this option, we don't get the tag information
67+ with :
68+ fetch-depth : 0
8569
86- # List available images
87- docker images
70+ - name : Initialise the build system
71+ run : |
72+ chmod u+x $GITHUB_WORKSPACE/build/bin/*.sh
73+ $GITHUB_WORKSPACE/build/bin/initbuild.sh
74+ source $GITHUB_WORKSPACE/build/bin/.functions.sh
8875
89- # Push the images
90- docker push quay.io/ibmmas/cli-base:${{ env.DOCKER_TAG }}-s390x
76+ - name : Build the docker image (ppc64le)
77+ run : |
78+ echo "GITHUB_REF=$GITHUB_REF"
79+ source $GITHUB_WORKSPACE/build/bin/build.sh ppc64le
9180
9281 build-arm64 :
9382 name : Build Image (arm64)
@@ -108,24 +97,7 @@ jobs:
10897
10998 - name : Build the docker image (arm64)
11099 run : |
111- echo "GITHUB_REF=$GITHUB_REF"
112- echo "GITHUB_EVENT_NAME=$GITHUB_EVENT_NAME"
113-
114- # Login to quay.io
115- docker login --username "${{ secrets.QUAYIO_USERNAME }}" --password "${{ secrets.QUAYIO_PASSWORD }}" quay.io
116-
117- # Build the image
118- $GITHUB_WORKSPACE/build/bin/docker-build.sh -r quay.io/ibmmas/cli-base --target-platform arm64 -b image/cli-base
119-
120- # # Squash the image layers
121- python3 -m pip install docker-squash
122- docker-squash --load-image --tag quay.io/ibmmas/cli-base:${{ env.DOCKER_TAG }}-arm64 quay.io/ibmmas/cli-base:${{ env.DOCKER_TAG }}-arm64
123-
124- # List available images
125- docker images
126-
127- # Push the images
128- docker push quay.io/ibmmas/cli-base:${{ env.DOCKER_TAG }}-arm64
100+ source $GITHUB_WORKSPACE/build/bin/build.sh arm64
129101
130102 build-manifest :
131103 name : Build Manifest
@@ -134,6 +106,7 @@ jobs:
134106 - build-amd64
135107 - build-s390x
136108 - build-arm64
109+ - build-ppc64le
137110 if : ${{ !contains(github.event.head_commit.message, '[doc]') }}
138111 steps :
139112 - name : Checkout
@@ -157,7 +130,7 @@ jobs:
157130 docker login --username "${{ secrets.QUAYIO_USERNAME }}" --password "${{ secrets.QUAYIO_PASSWORD }}" quay.io
158131
159132 # Publish the manifest
160- $GITHUB_WORKSPACE/build/bin/docker-manifest.sh -r quay.io/ibmmas/cli-base --target-platforms amd64,s390x,arm64
133+ $GITHUB_WORKSPACE/build/bin/docker-manifest.sh -r quay.io/ibmmas/cli-base --target-platforms amd64,s390x,arm64,ppc64le
161134
162135 # Re-issue the manifest under an alias where needed
163136 # https://github.com/docker/buildx/issues/1744#issuecomment-1896645786
0 commit comments