changeset 52736:2642ef8e7ac1

pyproject: migrate macOS `cibuildwheel` settings to pyproject.toml Same as for the Windows migration in the prior commit, but we need to override the architectures supported in CI, because the current CI system is too old to support building arm64 binaries. The shell script did (and still does) build universal2 wheels, because it's run on a different system that's isolated from the CI system. Already, it's obvious that these platform scripts were slightly diverging (e.g. this macOS one didn't specify the set of python targets). Also, the CI target for macOS is doing something strange- it's looping over its own list of targets and building them, but not in a parallel matrix. Linux is doing something similar, but in a standalone shell script. I suspect we can call `cibuildwheel --print-build-identifiers` to let it figure out what should be built based on the config file settings, and then feed each identifier to `cibuildwheel --only $ID`. But let's save that for now for simplicity.
author Matt Harbison <matt_harbison@yahoo.com>
date Thu, 19 Dec 2024 18:06:31 -0500
parents 505f6c5bf7c5
children 2c46b75bb56b
files contrib/heptapod-ci.yml contrib/packaging/build-macos-wheels.sh pyproject.toml
diffstat 3 files changed, 9 insertions(+), 2 deletions(-) [+]
line wrap: on
line diff
--- a/contrib/heptapod-ci.yml	Thu Dec 19 18:00:50 2024 -0500
+++ b/contrib/heptapod-ci.yml	Thu Dec 19 18:06:31 2024 -0500
@@ -564,6 +564,9 @@
       when: manual  # avoid overloading the CI by default
       allow_failure: true
     stage: build
+    variables:
+        # TODO: drop this when CI system is updated to support arm64 builds
+        CIBW_ARCHS: "x86_64"
     tags:
       - macos
     script:
--- a/contrib/packaging/build-macos-wheels.sh	Thu Dec 19 18:00:50 2024 -0500
+++ b/contrib/packaging/build-macos-wheels.sh	Thu Dec 19 18:06:31 2024 -0500
@@ -22,8 +22,6 @@
     exit 1
 fi
 
-export CIBW_ARCHS=universal2
-
 # TODO: purge the repo?
 
 cibuildwheel --output-dir dist/wheels
--- a/pyproject.toml	Thu Dec 19 18:00:50 2024 -0500
+++ b/pyproject.toml	Thu Dec 19 18:06:31 2024 -0500
@@ -87,6 +87,12 @@
 test-skip = "*"
 
 
+[tool.cibuildwheel.macos]
+# NOTE: this is overridden in heptapod-ci.yml because the current CI system
+# doesn't support arm64 builds.
+archs = ["universal2"]
+
+
 [tool.cibuildwheel.windows]
 archs = ["x86", "AMD64", "ARM64"]