Skip to content

Commit 32dfa47

Browse files
authored
Merge pull request #1660 from mayeut/gha-qemu
feat: use GHA to build s390x/ppc64le images
2 parents c36dbab + 6b65780 commit 32dfa47

File tree

3 files changed

+30
-20
lines changed

3 files changed

+30
-20
lines changed

.github/workflows/build.yml

+8-4
Original file line numberDiff line numberDiff line change
@@ -36,11 +36,15 @@ jobs:
3636
strategy:
3737
fail-fast: false
3838
matrix:
39-
policy: ["manylinux2014", "musllinux_1_1", "musllinux_1_2"]
40-
platform: ["i686", "x86_64"]
39+
policy: ["manylinux2014", "manylinux_2_28", "musllinux_1_1", "musllinux_1_2"]
40+
platform: ["x86_64", "s390x", "ppc64le"]
4141
include:
42-
- policy: "manylinux_2_28"
43-
platform: "x86_64"
42+
- policy: "manylinux2014"
43+
platform: "i686"
44+
- policy: "musllinux_1_1"
45+
platform: "i686"
46+
- policy: "musllinux_1_2"
47+
platform: "i686"
4448

4549
env:
4650
POLICY: ${{ matrix.policy }}

.travis.yml

+16-16
Original file line numberDiff line numberDiff line change
@@ -26,34 +26,34 @@ jobs:
2626
virt: vm
2727
group: edge
2828
env: POLICY="manylinux2014" PLATFORM="aarch64"
29-
- arch: s390x
30-
env: POLICY="manylinux2014" PLATFORM="s390x"
31-
- arch: ppc64le
32-
env: POLICY="manylinux2014" PLATFORM="ppc64le"
29+
#- arch: s390x
30+
# env: POLICY="manylinux2014" PLATFORM="s390x"
31+
#- arch: ppc64le
32+
# env: POLICY="manylinux2014" PLATFORM="ppc64le"
3333
- arch: arm64-graviton2
3434
virt: vm
3535
group: edge
3636
env: POLICY="manylinux_2_28" PLATFORM="aarch64"
37-
- arch: s390x
38-
env: POLICY="manylinux_2_28" PLATFORM="s390x"
39-
- arch: ppc64le
40-
env: POLICY="manylinux_2_28" PLATFORM="ppc64le"
37+
#- arch: s390x
38+
# env: POLICY="manylinux_2_28" PLATFORM="s390x"
39+
#- arch: ppc64le
40+
# env: POLICY="manylinux_2_28" PLATFORM="ppc64le"
4141
- arch: arm64-graviton2
4242
virt: vm
4343
group: edge
4444
env: POLICY="musllinux_1_1" PLATFORM="aarch64"
45-
- arch: s390x
46-
env: POLICY="musllinux_1_1" PLATFORM="s390x"
47-
- arch: ppc64le
48-
env: POLICY="musllinux_1_1" PLATFORM="ppc64le"
45+
#- arch: s390x
46+
# env: POLICY="musllinux_1_1" PLATFORM="s390x"
47+
#- arch: ppc64le
48+
# env: POLICY="musllinux_1_1" PLATFORM="ppc64le"
4949
- arch: arm64-graviton2
5050
virt: vm
5151
group: edge
5252
env: POLICY="musllinux_1_2" PLATFORM="aarch64"
53-
- arch: s390x
54-
env: POLICY="musllinux_1_2" PLATFORM="s390x"
55-
- arch: ppc64le
56-
env: POLICY="musllinux_1_2" PLATFORM="ppc64le"
53+
#- arch: s390x
54+
# env: POLICY="musllinux_1_2" PLATFORM="s390x"
55+
#- arch: ppc64le
56+
# env: POLICY="musllinux_1_2" PLATFORM="ppc64le"
5757

5858
before_install:
5959
- if [ -d "${HOME}/buildx-cache/.buildx-cache-${POLICY}_${PLATFORM}" ]; then cp -rlf ${HOME}/buildx-cache/.buildx-cache-${POLICY}_${PLATFORM} ./; fi

build.sh

+6
Original file line numberDiff line numberDiff line change
@@ -13,14 +13,19 @@ export PLATFORM
1313

1414
# get docker default multiarch image prefix for PLATFORM
1515
if [ "${PLATFORM}" == "x86_64" ]; then
16+
GOARCH="amd64"
1617
MULTIARCH_PREFIX="amd64/"
1718
elif [ "${PLATFORM}" == "i686" ]; then
19+
GOARCH="386"
1820
MULTIARCH_PREFIX="i386/"
1921
elif [ "${PLATFORM}" == "aarch64" ]; then
22+
GOARCH="arm64"
2023
MULTIARCH_PREFIX="arm64v8/"
2124
elif [ "${PLATFORM}" == "ppc64le" ]; then
25+
GOARCH="ppc64le"
2226
MULTIARCH_PREFIX="ppc64le/"
2327
elif [ "${PLATFORM}" == "s390x" ]; then
28+
GOARCH="s390x"
2429
MULTIARCH_PREFIX="s390x/"
2530
else
2631
echo "Unsupported platform: '${PLATFORM}'"
@@ -66,6 +71,7 @@ export PREPEND_PATH
6671
export LD_LIBRARY_PATH_ARG
6772

6873
BUILD_ARGS_COMMON="
74+
--platform=linux/${GOARCH}
6975
--build-arg POLICY --build-arg PLATFORM --build-arg BASEIMAGE
7076
--build-arg DEVTOOLSET_ROOTPATH --build-arg PREPEND_PATH --build-arg LD_LIBRARY_PATH_ARG
7177
--rm -t quay.io/pypa/${POLICY}_${PLATFORM}:${COMMIT_SHA}

0 commit comments

Comments
 (0)