1
1
name : Build wheels
2
2
3
- on : [push, pull_request]
4
-
5
- # Cannot use cibuildwheels because the current images used by cibuildwheels do not support C++17.
3
+ on : [push, pull_request]
6
4
7
5
jobs :
8
6
build_wheels_windows :
11
9
env :
12
10
TEMP : C:\Temp
13
11
TMP : C:\Temp
14
-
12
+
15
13
strategy :
16
14
matrix :
17
15
os : [windows-2022]
18
16
arch : [x86, x64]
19
17
python-version : ["3.9", "3.10", "3.11", "3.12", "3.13"]
20
18
21
- steps :
19
+ steps :
22
20
- name : Support longpaths
23
21
run : git config --system core.longpaths true
24
-
25
- - name : Check LongPathsEnabled
26
- run : |
27
- (Get-ItemProperty "HKLM:System\CurrentControlSet\Control\FileSystem").LongPathsEnabled
28
-
22
+
29
23
- name : Checkout repository
30
24
uses : actions/checkout@v4
31
25
@@ -45,19 +39,16 @@ jobs:
45
39
- name : upload wheels
46
40
uses : actions/upload-artifact@v4
47
41
with :
48
- name : wheels-windows-${{ matrix.python-version }}-${{ matrix.arch }}
42
+ name : wheels-windows-${{ matrix.python-version }}-${{ matrix.arch }}-${{ github.run_id }}
49
43
path : ./dist/*.whl
50
-
44
+
51
45
build_wheels_mac :
52
46
name : ${{ matrix.os }} ${{ matrix.python-version }} wheels
53
47
runs-on : ${{ matrix.os }}
54
48
strategy :
55
49
matrix :
56
- # Trying to use cibuildwheels to build mac wheels fails because the version of XCode is not high enough.
57
- # There is documentation here https://github.com/pypa/cibuildwheel/blob/main/docs/cpp_standards.md on how to
58
- # set it but I could not get it to work while using the standard images provided by github actions does work.
59
50
os : [macos-latest, macos-13]
60
- python-version : [3.9, "3.10", "3.11", "3.12", "3.13"]
51
+ python-version : [" 3.9" , "3.10", "3.11", "3.12", "3.13"]
61
52
env :
62
53
SYSTEM_VERSION_COMPAT : 0
63
54
@@ -80,16 +71,16 @@ jobs:
80
71
- name : upload wheels
81
72
uses : actions/upload-artifact@v4
82
73
with :
83
- name : wheels-macos-${{ matrix.python-version }}
74
+ name : wheels-macos-${{ matrix.python-version }}-${{ github.run_id }}
84
75
path : ./dist/*.whl
85
-
76
+
86
77
build_wheels_manylinux_x86_64 :
87
- name : Build manylinux wheels
78
+ name : Build manylinux wheels (x86_64)
88
79
runs-on : ubuntu-24.04
89
80
steps :
90
81
- name : Checkout repository
91
82
uses : actions/checkout@v4
92
-
83
+
93
84
- name : Install cibuildwheel
94
85
run : |
95
86
python -m pip install --upgrade pip
@@ -100,17 +91,18 @@ jobs:
100
91
CIBW_PLATFORM : " linux"
101
92
CIBW_SKIP : " cp36-* cp37-* cp38-*"
102
93
CIBW_ARCHS_LINUX : " x86_64"
94
+ CIBW_MANYLINUX_X86_64_IMAGE : " quay.io/pypa/manylinux_2_28_x86_64"
103
95
run : |
104
- cibuildwheel --output-dir wheelhouse
105
-
96
+ cibuildwheel --output-dir wheelhouse --verbose
97
+
106
98
- name : upload wheels
107
99
uses : actions/upload-artifact@v4
108
100
with :
109
- name : wheels-linux-x86_64
101
+ name : wheels-linux-x86_64-${{ github.run_id }}
110
102
path : wheelhouse/*.whl
111
-
103
+
112
104
build_wheels_manylinux_arm64 :
113
- name : Build manylinux wheels ${{ matrix.python-version }} (arm64 )
105
+ name : Build manylinux wheels (ARM64 )
114
106
runs-on : ubuntu-24.04
115
107
strategy :
116
108
matrix :
@@ -135,11 +127,14 @@ jobs:
135
127
CIBW_PLATFORM : " linux"
136
128
CIBW_BUILD : ${{ matrix.python-version }}
137
129
CIBW_ARCHS_LINUX : " aarch64"
130
+ CIBW_MANYLINUX_AARCH64_IMAGE : " quay.io/pypa/manylinux_2_28_aarch64"
131
+ CIBW_ENVIRONMENT : " CXXFLAGS='-g -O2 -fno-omit-frame-pointer'"
132
+ CIBW_BEFORE_BUILD : " echo 'Running Debug Mode' && pip install debugpy"
138
133
run : |
139
- cibuildwheel --output-dir wheelhouse
140
-
134
+ cibuildwheel --output-dir wheelhouse --verbose
135
+
141
136
- name : upload wheels
142
137
uses : actions/upload-artifact@v4
143
138
with :
144
- name : wheels-linux-arm64-${{ matrix.python-version }}
139
+ name : wheels-linux-arm64-${{ matrix.python-version }}-${{ github.run_id }}
145
140
path : wheelhouse/*.whl
0 commit comments