From 774d2bf3c1673279b6b1607793a0cfb2afa6e3ba Mon Sep 17 00:00:00 2001 From: Ioannis Tziakos Date: Fri, 17 Oct 2025 11:56:42 +0100 Subject: [PATCH 1/7] Skip Python 3.6, 3,7 and 3.8 --- pyproject.toml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pyproject.toml b/pyproject.toml index 46901ad2a..e8fb0c805 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -3,7 +3,7 @@ requires = ["cython", "numpy>=2", "setuptools", "wheel"] build-backend = "setuptools.build_meta" [tool.cibuildwheel] -skip = "pp* *-manylinux_i686 *_ppc64le *_s390x *-musllinux*" +skip = "pp* *-manylinux_i686 *_ppc64le *_s390x *-musllinux* cp36-* cp37-* cp38-*" [tool.cibuildwheel.macos] archs = "x86_64 universal2" From 6f7cd729e0688f4990846e1cabefd07eaa60c861 Mon Sep 17 00:00:00 2001 From: Ioannis Tziakos Date: Fri, 17 Oct 2025 11:58:04 +0100 Subject: [PATCH 2/7] Add native arm64 to the macos archs --- pyproject.toml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pyproject.toml b/pyproject.toml index e8fb0c805..8918fe1be 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -6,7 +6,7 @@ build-backend = "setuptools.build_meta" skip = "pp* *-manylinux_i686 *_ppc64le *_s390x *-musllinux* cp36-* cp37-* cp38-*" [tool.cibuildwheel.macos] -archs = "x86_64 universal2" +archs = "x86_64 universal2 arm64" [tool.cibuildwheel.linux] archs = 'x86_64 aarch64' From 100255154a1b77d41e2f5280f12735e3a5d9abcc Mon Sep 17 00:00:00 2001 From: Ioannis Tziakos Date: Fri, 17 Oct 2025 11:58:37 +0100 Subject: [PATCH 3/7] Python requirements should be 3.10 and above --- setup.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/setup.py b/setup.py index f3b1fcafa..ab3f2aeb5 100644 --- a/setup.py +++ b/setup.py @@ -367,5 +367,5 @@ def resolve_version(): packages=find_packages(), platforms=["Windows", "Linux", "Mac OS-X", "Unix", "Solaris"], zip_safe=False, - python_requires=">=3.9", + python_requires=">=3.10", ) From 0f74fc9a562ef1f8c09751b17ab3b2ac72ad2d85 Mon Sep 17 00:00:00 2001 From: Ioannis Tziakos Date: Fri, 17 Oct 2025 11:59:13 +0100 Subject: [PATCH 4/7] Skip Python 3.9 --- pyproject.toml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pyproject.toml b/pyproject.toml index 8918fe1be..2df963475 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -3,7 +3,7 @@ requires = ["cython", "numpy>=2", "setuptools", "wheel"] build-backend = "setuptools.build_meta" [tool.cibuildwheel] -skip = "pp* *-manylinux_i686 *_ppc64le *_s390x *-musllinux* cp36-* cp37-* cp38-*" +skip = "pp* *-manylinux_i686 *_ppc64le *_s390x *-musllinux* cp36-* cp37-* cp38-* cp39-*" [tool.cibuildwheel.macos] archs = "x86_64 universal2 arm64" From d029612528df3afeba6e4f5d87d21e36808e2714 Mon Sep 17 00:00:00 2001 From: Ioannis Tziakos Date: Fri, 17 Oct 2025 12:02:46 +0100 Subject: [PATCH 5/7] Update cibuildwheel action version --- .github/workflows/release-to-pypi.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/release-to-pypi.yml b/.github/workflows/release-to-pypi.yml index 60a6db449..d6f84d9be 100644 --- a/.github/workflows/release-to-pypi.yml +++ b/.github/workflows/release-to-pypi.yml @@ -33,7 +33,7 @@ jobs: run: python -m pip install twine - name: Build wheels - uses: pypa/cibuildwheel@v2.11.2 + uses: pypa/cibuildwheel@v3.2.1 - name: Check and upload wheels env: @@ -68,4 +68,4 @@ jobs: TWINE_PASSWORD: ${{ secrets.PYPI_PASSWORD }} run: | python -m twine check --strict dist/* - python -m twine upload dist/* \ No newline at end of file + python -m twine upload dist/* From f03bec6251712fb8169c025aee66fdb4638663b7 Mon Sep 17 00:00:00 2001 From: Ioannis Tziakos Date: Fri, 17 Oct 2025 12:03:48 +0100 Subject: [PATCH 6/7] Update setup-qemu-action version --- .github/workflows/release-to-pypi.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/release-to-pypi.yml b/.github/workflows/release-to-pypi.yml index d6f84d9be..a03b4c7fe 100644 --- a/.github/workflows/release-to-pypi.yml +++ b/.github/workflows/release-to-pypi.yml @@ -19,7 +19,7 @@ jobs: uses: actions/checkout@v3 - name: Set up QEMU - uses: docker/setup-qemu-action@v2 + uses: docker/setup-qemu-action@v3.6.0 with: platforms: arm64 if: runner.os == 'Linux' From 5581e340588795e9ade7d3699d6a28115f967cbe Mon Sep 17 00:00:00 2001 From: Ioannis Tziakos Date: Fri, 17 Oct 2025 12:23:09 +0100 Subject: [PATCH 7/7] Only try to upload wheel on release events This will allow us to test the workflow manually to fix build issues without actually making a release --- .github/workflows/release-to-pypi.yml | 2 ++ 1 file changed, 2 insertions(+) diff --git a/.github/workflows/release-to-pypi.yml b/.github/workflows/release-to-pypi.yml index a03b4c7fe..450d93c6a 100644 --- a/.github/workflows/release-to-pypi.yml +++ b/.github/workflows/release-to-pypi.yml @@ -36,6 +36,7 @@ jobs: uses: pypa/cibuildwheel@v3.2.1 - name: Check and upload wheels + if: ${{ github.event_name == 'release' }} env: TWINE_USERNAME: ${{ secrets.PYPI_USERNAME }} TWINE_PASSWORD: ${{ secrets.PYPI_PASSWORD }} @@ -63,6 +64,7 @@ jobs: run: python -m build --sdist - name: Publish sdist to PyPI + if: ${{ github.event_name == 'release' }} env: TWINE_USERNAME: ${{ secrets.PYPI_USERNAME }} TWINE_PASSWORD: ${{ secrets.PYPI_PASSWORD }}