@@ -23,45 +23,36 @@ jobs:
23
23
- uses : actions/checkout@v3
24
24
# ############################ LINUX WHEELS #############################
25
25
# In case of Linux we need to install compiler and build tools before building the wheels
26
- # We only build the manylinux wheels, but not the musllinux wheels (due to some compile problems)
27
26
# We set-up QEMU to enable aarch64 builds in the GitHub Runner (which is x86_64 based)
27
+ # We build wheels for manylinux and musllinux for aarch64 and x86_64
28
28
- name : Set up QEMU
29
29
uses : docker/setup-qemu-action@v3
30
30
with :
31
31
platforms : all
32
32
if : matrix.os == 'ubuntu-latest'
33
33
- name : Build wheels (Linux)
34
- uses : pypa/cibuildwheel@v2.17 .0
34
+ uses : pypa/cibuildwheel@v2.20 .0
35
35
env :
36
- CIBW_BEFORE_BUILD : yum makecache && yum install -y gcc-c++ cmake && pip install ninja
37
- CIBW_BUILD : " *manylinux* "
36
+ CIBW_BEFORE_BUILD : pipx install ninja cmake
37
+ CIBW_FREE_THREADED_SUPPORT : 1
38
38
CIBW_ARCHS_LINUX : " x86_64 aarch64"
39
39
CIBW_TEST_COMMAND : ' python -c "import polyhedral_gravity"'
40
40
with :
41
41
package-dir : .
42
42
output-dir : dist
43
43
if : matrix.os == 'ubuntu-latest'
44
44
# ############################ MACOS WHEELS #############################
45
- # We use Apple Clang, the macOS GitHub Runner is nowadays arm64 based
46
- # The GCC compiler installable via brew does not support cross-compiling for x86_64. Hence, also Apple Claang
45
+ # We use Apple Clang as it is the only compiler offering cross-compiling for x86_64
46
+ # The macOS GitHub Runner is nowadays arm64 based
47
47
# For the x86_64, we set the MACOSX_DEPLOYMENT_TARGET='10.13' (released 2017) in order to have support for C++17
48
- # We don't need this for the arm64 stuff since it works (and macOS on arm64 cam after C++17)
49
- - name : Build wheels (macOS ARM )
50
- uses : pypa/cibuildwheel@v2.17 .0
48
+ # We don't need this for arm64 since macOS arm64 initially supported C++17/ came years later than macOS 10.13
49
+ - name : Build wheels (macOS)
50
+ uses : pypa/cibuildwheel@v2.20 .0
51
51
env :
52
- CIBW_BEFORE_BUILD : brew install ninja
53
- CIBW_ARCHS_MACOS : " arm64"
54
- CIBW_TEST_COMMAND : ' python -c "import polyhedral_gravity"'
55
- with :
56
- package-dir : .
57
- output-dir : dist
58
- if : matrix.os == 'macos-latest'
59
- - name : Build wheels (macOS x86_64)
60
-
61
- env :
62
- CIBW_BEFORE_BUILD : brew install ninja
52
+ CIBW_BEFORE_BUILD : pipx install ninja cmake
53
+ CIBW_FREE_THREADED_SUPPORT : 1
63
54
CIBW_ENVIRONMENT : ' MACOSX_DEPLOYMENT_TARGET="10.13"'
64
- CIBW_ARCHS_MACOS : " x86_64"
55
+ CIBW_ARCHS_MACOS : " x86_64 arm64 "
65
56
CIBW_TEST_COMMAND : ' python -c "import polyhedral_gravity"'
66
57
with :
67
58
package-dir : .
@@ -70,12 +61,13 @@ jobs:
70
61
# ############################ WINDOWS WHEELS #############################
71
62
# Set up the Visual Studio environment on Windows (required, so that CMake finds the compiler)
72
63
# We use the Microsoft Visual Studio Compiler to compile the wheel
64
+ # As of 09.09.2024, it is not yet possible to build free-threaded wheel on Windows
73
65
- uses : ilammy/msvc-dev-cmd@v1
74
66
if : matrix.os == 'windows-latest'
75
67
- name : Build wheels (Windows)
76
- uses : pypa/cibuildwheel@v2.17 .0
68
+ uses : pypa/cibuildwheel@v2.20 .0
77
69
env :
78
- CIBW_BEFORE_BUILD : choco install -y ninja cmake
70
+ CIBW_BEFORE_BUILD : pipx install ninja cmake
79
71
CIBW_ARCHS_WINDOWS : " auto64"
80
72
CIBW_TEST_COMMAND : ' python -c "import polyhedral_gravity"'
81
73
with :
0 commit comments