From 04c344e3a7876bf10576bdcfd14b9fc693305369 Mon Sep 17 00:00:00 2001 From: Steven Silvester Date: Thu, 23 Jan 2025 18:09:09 -0600 Subject: [PATCH 1/6] try with podman and native linux arm64 runner --- .github/workflows/dist.yml | 9 ++------- 1 file changed, 2 insertions(+), 7 deletions(-) diff --git a/.github/workflows/dist.yml b/.github/workflows/dist.yml index a4c5a8279b..e121d1ea0d 100644 --- a/.github/workflows/dist.yml +++ b/.github/workflows/dist.yml @@ -35,7 +35,7 @@ jobs: # https://github.com/github/feedback/discussions/7835#discussioncomment-1769026 buildplat: - [ubuntu-20.04, "manylinux_x86_64", "cp3*-manylinux_x86_64"] - - [ubuntu-20.04, "manylinux_aarch64", "cp3*-manylinux_aarch64"] + - [ubuntu-24.04-arm, "manylinux_aarch64", "cp3*-manylinux_aarch64"] - [ubuntu-20.04, "manylinux_ppc64le", "cp3*-manylinux_ppc64le"] - [ubuntu-20.04, "manylinux_s390x", "cp3*-manylinux_s390x"] - [ubuntu-20.04, "manylinux_i686", "cp3*-manylinux_i686"] @@ -58,12 +58,6 @@ jobs: cache-dependency-path: 'pyproject.toml' allow-prereleases: true - - name: Set up QEMU - if: runner.os == 'Linux' - uses: docker/setup-qemu-action@v3 - with: - platforms: all - - name: Install cibuildwheel # Note: the default manylinux is manylinux2014 run: | @@ -73,6 +67,7 @@ jobs: - name: Build wheels env: CIBW_BUILD: ${{ matrix.buildplat[2] }} + CIBW_CONTAINER_ENGINE: podman run: python -m cibuildwheel --output-dir wheelhouse - name: Build manylinux1 wheels From 041fc86d27e75294093683e3b39bf522c582a776 Mon Sep 17 00:00:00 2001 From: Steven Silvester Date: Thu, 23 Jan 2025 18:13:32 -0600 Subject: [PATCH 2/6] setup qemu on podman --- .github/workflows/dist.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/.github/workflows/dist.yml b/.github/workflows/dist.yml index e121d1ea0d..b1229f7c3d 100644 --- a/.github/workflows/dist.yml +++ b/.github/workflows/dist.yml @@ -63,6 +63,7 @@ jobs: run: | python -m pip install -U pip python -m pip install "cibuildwheel>=2.20,<3" + podman run --rm --privileged multiarch/qemu-user-static --reset -p yes - name: Build wheels env: From ae4a8219264743dc93735a0730c4511802af449a Mon Sep 17 00:00:00 2001 From: Steven Silvester Date: Thu, 23 Jan 2025 18:16:22 -0600 Subject: [PATCH 3/6] try again --- .github/workflows/dist.yml | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/.github/workflows/dist.yml b/.github/workflows/dist.yml index b1229f7c3d..ef294d0e83 100644 --- a/.github/workflows/dist.yml +++ b/.github/workflows/dist.yml @@ -63,12 +63,15 @@ jobs: run: | python -m pip install -U pip python -m pip install "cibuildwheel>=2.20,<3" - podman run --rm --privileged multiarch/qemu-user-static --reset -p yes + + - name: Set up qemu + if: ${{ matrix.buildplat[0] == 'ubuntu-20.04' }} + run: sudo podman run --rm --privileged multiarch/qemu-user-static --reset -p yes - name: Build wheels env: CIBW_BUILD: ${{ matrix.buildplat[2] }} - CIBW_CONTAINER_ENGINE: podman + CIBW_CONTAINER_ENGINE: ${{ matrix.buildplat[0] == 'ubuntu-20.04' && 'podman' || 'docker' }} run: python -m cibuildwheel --output-dir wheelhouse - name: Build manylinux1 wheels From df1d64a0712e9702b9c0f7fa5aa3aca56309e157 Mon Sep 17 00:00:00 2001 From: Steven Silvester Date: Thu, 23 Jan 2025 18:17:58 -0600 Subject: [PATCH 4/6] try a newer ubuntu instead --- .github/workflows/dist.yml | 9 ++------- 1 file changed, 2 insertions(+), 7 deletions(-) diff --git a/.github/workflows/dist.yml b/.github/workflows/dist.yml index ef294d0e83..66cb9cfbad 100644 --- a/.github/workflows/dist.yml +++ b/.github/workflows/dist.yml @@ -36,8 +36,8 @@ jobs: buildplat: - [ubuntu-20.04, "manylinux_x86_64", "cp3*-manylinux_x86_64"] - [ubuntu-24.04-arm, "manylinux_aarch64", "cp3*-manylinux_aarch64"] - - [ubuntu-20.04, "manylinux_ppc64le", "cp3*-manylinux_ppc64le"] - - [ubuntu-20.04, "manylinux_s390x", "cp3*-manylinux_s390x"] + - [ubuntu-24.04, "manylinux_ppc64le", "cp3*-manylinux_ppc64le"] + - [ubuntu-24.04, "manylinux_s390x", "cp3*-manylinux_s390x"] - [ubuntu-20.04, "manylinux_i686", "cp3*-manylinux_i686"] - [windows-2019, "win_amd6", "cp3*-win_amd64"] - [windows-2019, "win32", "cp3*-win32"] @@ -64,14 +64,9 @@ jobs: python -m pip install -U pip python -m pip install "cibuildwheel>=2.20,<3" - - name: Set up qemu - if: ${{ matrix.buildplat[0] == 'ubuntu-20.04' }} - run: sudo podman run --rm --privileged multiarch/qemu-user-static --reset -p yes - - name: Build wheels env: CIBW_BUILD: ${{ matrix.buildplat[2] }} - CIBW_CONTAINER_ENGINE: ${{ matrix.buildplat[0] == 'ubuntu-20.04' && 'podman' || 'docker' }} run: python -m cibuildwheel --output-dir wheelhouse - name: Build manylinux1 wheels From a5cb67c13a2e239edb6a776cfa00b4e4a532d0c4 Mon Sep 17 00:00:00 2001 From: Steven Silvester Date: Thu, 23 Jan 2025 18:20:10 -0600 Subject: [PATCH 5/6] restore setup qemu --- .github/workflows/dist.yml | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/.github/workflows/dist.yml b/.github/workflows/dist.yml index 66cb9cfbad..75f1253d17 100644 --- a/.github/workflows/dist.yml +++ b/.github/workflows/dist.yml @@ -58,6 +58,12 @@ jobs: cache-dependency-path: 'pyproject.toml' allow-prereleases: true + - name: Set up QEMU + if: runner.os == 'Linux' + uses: docker/setup-qemu-action@v3 + with: + platforms: all + - name: Install cibuildwheel # Note: the default manylinux is manylinux2014 run: | From 1089b5b8ab2200a15761c4f1da5e45367966d6c6 Mon Sep 17 00:00:00 2001 From: Steven Silvester Date: Thu, 23 Jan 2025 20:54:47 -0600 Subject: [PATCH 6/6] remove ppc64le and s390x wheels --- .github/workflows/dist.yml | 5 +++-- doc/changelog.rst | 2 ++ 2 files changed, 5 insertions(+), 2 deletions(-) diff --git a/.github/workflows/dist.yml b/.github/workflows/dist.yml index 75f1253d17..5100c70d43 100644 --- a/.github/workflows/dist.yml +++ b/.github/workflows/dist.yml @@ -36,8 +36,9 @@ jobs: buildplat: - [ubuntu-20.04, "manylinux_x86_64", "cp3*-manylinux_x86_64"] - [ubuntu-24.04-arm, "manylinux_aarch64", "cp3*-manylinux_aarch64"] - - [ubuntu-24.04, "manylinux_ppc64le", "cp3*-manylinux_ppc64le"] - - [ubuntu-24.04, "manylinux_s390x", "cp3*-manylinux_s390x"] + # Disabled pending PYTHON-5058 + # - [ubuntu-24.04, "manylinux_ppc64le", "cp3*-manylinux_ppc64le"] + # - [ubuntu-24.04, "manylinux_s390x", "cp3*-manylinux_s390x"] - [ubuntu-20.04, "manylinux_i686", "cp3*-manylinux_i686"] - [windows-2019, "win_amd6", "cp3*-win_amd64"] - [windows-2019, "win32", "cp3*-win32"] diff --git a/doc/changelog.rst b/doc/changelog.rst index 4942d85de8..1f3efb8ad0 100644 --- a/doc/changelog.rst +++ b/doc/changelog.rst @@ -11,6 +11,7 @@ Changes in Version 4.11.0 (YYYY/MM/DD) A future minor release of PyMongo will raise the minimum supported MongoDB Server version from 4.0 to 4.2. This is in accordance with [MongoDB Software Lifecycle Schedules](https://www.mongodb.com/legal/support-policy/lifecycles). **Support for MongoDB Server 4.0 will be dropped in a future release!** +.. warning:: This version does not include wheels for ``ppc64le`` or ``s390x`` architectures, see `PYTHON-5058`_ for more information. PyMongo 4.11 brings a number of changes including: @@ -49,6 +50,7 @@ in this release. .. _PyMongo 4.11 release notes in JIRA: https://jira.mongodb.org/secure/ReleaseNote.jspa?projectId=10004&version=40784 .. _PYTHON-5027: https://jira.mongodb.org/browse/PYTHON-5027 .. _PYTHON-5024: https://jira.mongodb.org/browse/PYTHON-5024 +.. _PYTHON-5058: https://jira.mongodb.org/browse/PYTHON-5058 Changes in Version 4.10.1 (2024/10/01) --------------------------------------