From a99d5f6bd4691565f4abbd30b2517ddaecd4733f Mon Sep 17 00:00:00 2001 From: Arcadiy Ivanov Date: Mon, 9 Sep 2024 20:52:31 -0400 Subject: [PATCH 1/6] Try multiarch builds --- .github/workflows/build.yml | 6 +++++- build.yml.patch | 27 ++++++++++++++++++++------- patch_build_yml.sh | 4 ++++ 3 files changed, 29 insertions(+), 8 deletions(-) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 0ab1ce1..e9ea8d5 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -12,6 +12,7 @@ on: branches: [master] pull_request: branches: [master] + concurrency: group: ${{ github.workflow }}-${{ github.event.pull_request.number || github.sha }} cancel-in-progress: true @@ -20,6 +21,7 @@ jobs: build_manylinux: name: ${{ matrix.policy }}_${{ matrix.platform }} runs-on: ubuntu-22.04 + timeout-minutes: 1380 permissions: actions: write # this permission is needed to delete cache packages: write @@ -29,10 +31,12 @@ jobs: fail-fast: false matrix: policy: ["manylinux2014", "musllinux_1_1", "musllinux_1_2"] - platform: ["i686", "x86_64"] + platform: ["i686", "x86_64", "aarch64", "ppc64le", "s390x"] include: - policy: "manylinux_2_28" platform: "x86_64" + - policy: "manylinux_2_28" + platform: "aarch64" env: POLICY: ${{ matrix.policy }} diff --git a/build.yml.patch b/build.yml.patch index 4235613..4a16294 100644 --- a/build.yml.patch +++ b/build.yml.patch @@ -1,8 +1,8 @@ diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml -index 7364c19..0ab1ce1 100644 +index 7364c19..e9ea8d5 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml -@@ -9,20 +9,9 @@ on: +@@ -9,19 +9,9 @@ on: required: false default: true push: @@ -20,13 +20,15 @@ index 7364c19..0ab1ce1 100644 - - "docker/**" - - "tests/**" - - "*.sh" -- + branches: [master] + concurrency: group: ${{ github.workflow }}-${{ github.event.pull_request.number || github.sha }} - cancel-in-progress: true -@@ -33,6 +22,9 @@ jobs: +@@ -31,16 +21,22 @@ jobs: + build_manylinux: + name: ${{ matrix.policy }}_${{ matrix.platform }} runs-on: ubuntu-22.04 ++ timeout-minutes: 1380 permissions: actions: write # this permission is needed to delete cache + packages: write @@ -35,7 +37,18 @@ index 7364c19..0ab1ce1 100644 strategy: fail-fast: false matrix: -@@ -52,6 +44,12 @@ jobs: + policy: ["manylinux2014", "musllinux_1_1", "musllinux_1_2"] +- platform: ["i686", "x86_64"] ++ platform: ["i686", "x86_64", "aarch64", "ppc64le", "s390x"] + include: + - policy: "manylinux_2_28" + platform: "x86_64" ++ - policy: "manylinux_2_28" ++ platform: "aarch64" + + env: + POLICY: ${{ matrix.policy }} +@@ -52,6 +48,12 @@ jobs: uses: actions/checkout@v4 with: fetch-depth: 50 @@ -48,7 +61,7 @@ index 7364c19..0ab1ce1 100644 - name: Set up emulation if: matrix.platform != 'i686' && matrix.platform != 'x86_64' -@@ -66,33 +64,38 @@ jobs: +@@ -66,33 +68,38 @@ jobs: if: github.event_name != 'workflow_dispatch' || fromJSON(github.event.inputs.useCache) uses: actions/cache/restore@v4 with: diff --git a/patch_build_yml.sh b/patch_build_yml.sh index dd43001..3fdc4b0 100755 --- a/patch_build_yml.sh +++ b/patch_build_yml.sh @@ -1,5 +1,9 @@ #!/bin/bash -eEu +pushd manylinux +git restore .github/workflows/build.yml +popd + cp manylinux/.github/workflows/build.yml .github/workflows/build.yml patch -p1 < build.yml.patch From d5d406869e99b1d41d46dfdaf77576050abcb5fa Mon Sep 17 00:00:00 2001 From: Arcadiy Ivanov Date: Tue, 10 Sep 2024 12:46:33 -0400 Subject: [PATCH 2/6] Move to self-hosted --- .github/workflows/build.yml | 2 +- build.yml.patch | 8 +++++--- 2 files changed, 6 insertions(+), 4 deletions(-) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index e9ea8d5..6995e7d 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -20,7 +20,7 @@ concurrency: jobs: build_manylinux: name: ${{ matrix.policy }}_${{ matrix.platform }} - runs-on: ubuntu-22.04 + runs-on: self-hosted timeout-minutes: 1380 permissions: actions: write # this permission is needed to delete cache diff --git a/build.yml.patch b/build.yml.patch index 4a16294..ee4fc3e 100644 --- a/build.yml.patch +++ b/build.yml.patch @@ -1,5 +1,5 @@ diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml -index 7364c19..e9ea8d5 100644 +index 7364c19..6995e7d 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -9,19 +9,9 @@ on: @@ -24,10 +24,12 @@ index 7364c19..e9ea8d5 100644 concurrency: group: ${{ github.workflow }}-${{ github.event.pull_request.number || github.sha }} -@@ -31,16 +21,22 @@ jobs: +@@ -30,17 +20,23 @@ concurrency: + jobs: build_manylinux: name: ${{ matrix.policy }}_${{ matrix.platform }} - runs-on: ubuntu-22.04 +- runs-on: ubuntu-22.04 ++ runs-on: self-hosted + timeout-minutes: 1380 permissions: actions: write # this permission is needed to delete cache From b0e0d4552433f1a21d25c71994d9069e00cfd10d Mon Sep 17 00:00:00 2001 From: Arcadiy Ivanov Date: Fri, 13 Sep 2024 02:56:23 -0400 Subject: [PATCH 3/6] Bump docker QEMU emulation --- .github/workflows/build.yml | 1 + build.yml.patch | 13 ++++++++++--- 2 files changed, 11 insertions(+), 3 deletions(-) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 6995e7d..c05e850 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -60,6 +60,7 @@ jobs: uses: docker/setup-qemu-action@v3 with: platforms: ${{ matrix.platform }} + image: tonistiigi/binfmt:qemu-v8.1.5 - name: Set up Docker Buildx uses: docker/setup-buildx-action@v3 diff --git a/build.yml.patch b/build.yml.patch index ee4fc3e..00dd77f 100644 --- a/build.yml.patch +++ b/build.yml.patch @@ -1,5 +1,5 @@ diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml -index 7364c19..6995e7d 100644 +index 7364c19..c05e850 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -9,19 +9,9 @@ on: @@ -50,7 +50,7 @@ index 7364c19..6995e7d 100644 env: POLICY: ${{ matrix.policy }} -@@ -52,6 +48,12 @@ jobs: +@@ -52,12 +48,19 @@ jobs: uses: actions/checkout@v4 with: fetch-depth: 50 @@ -63,7 +63,14 @@ index 7364c19..6995e7d 100644 - name: Set up emulation if: matrix.platform != 'i686' && matrix.platform != 'x86_64' -@@ -66,33 +68,38 @@ jobs: + uses: docker/setup-qemu-action@v3 + with: + platforms: ${{ matrix.platform }} ++ image: tonistiigi/binfmt:qemu-v8.1.5 + + - name: Set up Docker Buildx + uses: docker/setup-buildx-action@v3 +@@ -66,33 +69,38 @@ jobs: if: github.event_name != 'workflow_dispatch' || fromJSON(github.event.inputs.useCache) uses: actions/cache/restore@v4 with: From e870ca727693bd27ae050861131673b8513d65b3 Mon Sep 17 00:00:00 2001 From: Arcadiy Ivanov Date: Tue, 17 Sep 2024 23:28:41 -0400 Subject: [PATCH 4/6] Switch to QEMU emulator 9.0.2 --- .github/workflows/build.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index c05e850..1ad1f95 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -60,7 +60,7 @@ jobs: uses: docker/setup-qemu-action@v3 with: platforms: ${{ matrix.platform }} - image: tonistiigi/binfmt:qemu-v8.1.5 + image: ghcr.io/karellen/binfmt:qemu-v9.0.2 - name: Set up Docker Buildx uses: docker/setup-buildx-action@v3 From 42a32fb9677b0f06771fc83417f22fc680a03887 Mon Sep 17 00:00:00 2001 From: Arcadiy Ivanov Date: Wed, 18 Sep 2024 00:36:19 -0400 Subject: [PATCH 5/6] Switch to ubuntu-latest --- .github/workflows/build.yml | 2 +- build.yml.patch | 2 +- manylinux | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 1ad1f95..3a519cb 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -20,7 +20,7 @@ concurrency: jobs: build_manylinux: name: ${{ matrix.policy }}_${{ matrix.platform }} - runs-on: self-hosted + runs-on: ubuntu-latest timeout-minutes: 1380 permissions: actions: write # this permission is needed to delete cache diff --git a/build.yml.patch b/build.yml.patch index 00dd77f..4f4b03d 100644 --- a/build.yml.patch +++ b/build.yml.patch @@ -29,7 +29,7 @@ index 7364c19..c05e850 100644 build_manylinux: name: ${{ matrix.policy }}_${{ matrix.platform }} - runs-on: ubuntu-22.04 -+ runs-on: self-hosted ++ runs-on: ubuntu-latest + timeout-minutes: 1380 permissions: actions: write # this permission is needed to delete cache diff --git a/manylinux b/manylinux index f386546..56b70b5 160000 --- a/manylinux +++ b/manylinux @@ -1 +1 @@ -Subproject commit f3865460a8c86807d7ab3c181f6cb85b898723f3 +Subproject commit 56b70b591916fc228449abeb82680146171a1744 From f3f25476e841535b2f492a25b85cdf511a276339 Mon Sep 17 00:00:00 2001 From: Arcadiy Ivanov Date: Wed, 18 Sep 2024 00:40:31 -0400 Subject: [PATCH 6/6] Sync submodule --- manylinux | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/manylinux b/manylinux index 56b70b5..ab73a4b 160000 --- a/manylinux +++ b/manylinux @@ -1 +1 @@ -Subproject commit 56b70b591916fc228449abeb82680146171a1744 +Subproject commit ab73a4b2e52327538296b04e0f274bf1d811194d