|
8 | 8 | # Runs on every merge to main to upload .dev0 wheels to anaconda.org
|
9 | 9 | - main
|
10 | 10 | - v1.**
|
| 11 | + - windows-wheels-nogil |
11 | 12 | # Make it possible to upload wheels manually if needed (for anaconda.org only, not PyPI)
|
12 | 13 | workflow_dispatch:
|
13 | 14 | inputs:
|
|
27 | 28 | CIBW_ENVIRONMENT: PIP_PREFER_BINARY=1
|
28 | 29 |
|
29 | 30 | jobs:
|
30 |
| - build_linux_x86_64_wheels: |
31 |
| - name: Build ${{ matrix.cibw_python }} ${{ matrix.cibw_arch }} ${{ matrix.os }} |
32 |
| - runs-on: ${{ matrix.os }} |
33 |
| - strategy: |
34 |
| - fail-fast: false |
35 |
| - matrix: |
36 |
| - os: [ubuntu-latest] |
37 |
| - cibw_python: ["cp310", "cp311", "cp312", "cp313", "cp313t"] |
38 |
| - cibw_arch: ["x86_64"] |
39 |
| - steps: |
40 |
| - - uses: actions/checkout@9bb56186c3b09b4f86b1c65136769dd318469633 # v4.1.2 |
41 |
| - with: |
42 |
| - fetch-depth: 0 |
43 |
| - - uses: actions/setup-python@v5 |
44 |
| - name: Install Python |
45 |
| - with: |
46 |
| - python-version: "3.10" |
47 |
| - |
48 |
| - - name: Install build deps; set CIBW environment variables |
49 |
| - if: ${{ matrix.cibw_python }} == "cp313t" |
50 |
| - run: | |
51 |
| - PYPI_URL="https://pypi.anaconda.org/scientific-python-nightly-wheels/simple" |
52 |
| - CIBW_DEPS="pip install --upgrade pip build &&\ |
53 |
| - pip install --pre -i $PYPI_URL cython numpy scipy &&\ |
54 |
| - pip install pytest meson-python ninja" |
55 |
| - NO_BUILD_ISOLATION="pip; args: --no-build-isolation" |
56 |
| - echo "CIBW_BEFORE_BUILD=$CIBW_DEPS" >> "$GITHUB_ENV" |
57 |
| - echo "CIBW_BEFORE_TEST=$CIBW_DEPS" >> "$GITHUB_ENV" |
58 |
| - echo "CIBW_BUILD_FRONTEND=$NO_BUILD_ISOLATION" >> "$GITHUB_ENV" |
59 |
| -
|
60 |
| - - name: Build the wheel |
61 |
| - uses: pypa/cibuildwheel@d4a2945fcc8d13f20a1b99d461b8e844d5fc6e23 # v2.21.1 |
62 |
| - with: |
63 |
| - output-dir: dist |
64 |
| - env: |
65 |
| - CIBW_BUILD: ${{ matrix.cibw_python }}-* |
66 |
| - CIBW_ARCHS_LINUX: ${{ matrix.cibw_arch }} |
67 |
| - CIBW_MANYLINUX_X86_64_IMAGE: manylinux2014 |
68 |
| - CIBW_MUSLLINUX_X86_64_IMAGE: musllinux_1_2 |
69 |
| - CIBW_FREE_THREADED_SUPPORT: True |
70 |
| - - uses: actions/upload-artifact@50769540e7f4bd5e21e526ee35c689e35e0d6874 # v4.4.0 |
71 |
| - with: |
72 |
| - name: wheels_linux_${{ matrix.cibw_arch }}_${{ matrix.cibw_python }} |
73 |
| - path: ./dist/*.whl |
74 |
| - if-no-files-found: error |
75 |
| - |
76 |
| - build_linux_aarch64_wheels: |
77 |
| - name: Build ${{ matrix.cibw_python }} ${{ matrix.cibw_arch }} ${{ matrix.os }} |
78 |
| - runs-on: ${{ matrix.os }} |
79 |
| - strategy: |
80 |
| - fail-fast: false |
81 |
| - matrix: |
82 |
| - os: [ubuntu-latest] |
83 |
| - cibw_python: ["cp310", "cp311", "cp312", "cp313"] |
84 |
| - cibw_arch: ["aarch64"] |
85 |
| - steps: |
86 |
| - - uses: actions/checkout@9bb56186c3b09b4f86b1c65136769dd318469633 # v4.1.2 |
87 |
| - with: |
88 |
| - fetch-depth: 0 |
89 |
| - - uses: actions/setup-python@v5 |
90 |
| - name: Install Python |
91 |
| - with: |
92 |
| - python-version: "3.10" |
93 |
| - - name: Set up QEMU |
94 |
| - uses: docker/setup-qemu-action@v3 |
95 |
| - with: |
96 |
| - platforms: arm64 |
97 |
| - |
98 |
| - - name: Install test dep; set CIBW environment variables |
99 |
| - # Can be removed once numpy 2.1.0 is released |
100 |
| - if: ${{ matrix.cibw_python }} == "cp313" |
101 |
| - run: | |
102 |
| - PYPI_URL="https://pypi.anaconda.org/scientific-python-nightly-wheels/simple" |
103 |
| - CIBW_DEPS="pip install --pre -i $PYPI_URL numpy" |
104 |
| - echo "CIBW_BEFORE_TEST=$CIBW_DEPS" >> "$GITHUB_ENV" |
105 |
| -
|
106 |
| - - name: Build the wheel |
107 |
| - uses: pypa/cibuildwheel@d4a2945fcc8d13f20a1b99d461b8e844d5fc6e23 # v2.21.1 |
108 |
| - with: |
109 |
| - output-dir: dist |
110 |
| - env: |
111 |
| - CIBW_BUILD: ${{ matrix.cibw_python }}-* |
112 |
| - CIBW_ARCHS_LINUX: ${{ matrix.cibw_arch }} |
113 |
| - CIBW_MANYLINUX_AARCH64_IMAGE: manylinux2014 |
114 |
| - CIBW_MUSLLINUX_AARCH64_IMAGE: musllinux_1_2 |
115 |
| - - uses: actions/upload-artifact@50769540e7f4bd5e21e526ee35c689e35e0d6874 # v4.4.0 |
116 |
| - with: |
117 |
| - name: wheels_linux_${{ matrix.cibw_arch }}_${{ matrix.cibw_python }} |
118 |
| - path: ./dist/*.whl |
119 |
| - |
120 |
| - build_macos_wheels: |
121 |
| - name: Build ${{ matrix.cibw_python }} ${{ matrix.cibw_arch }} ${{ matrix.os }} |
122 |
| - runs-on: ${{ matrix.os }} |
123 |
| - strategy: |
124 |
| - fail-fast: false |
125 |
| - matrix: |
126 |
| - # macos-13 is the last runner that supports Intel (x86_64) architecture |
127 |
| - os: [macos-13, macos-14] |
128 |
| - cibw_python: ["cp310", "cp311", "cp312", "cp313", "cp313t"] |
129 |
| - cibw_arch: ["x86_64", "arm64"] |
130 |
| - exclude: |
131 |
| - - os: macos-14 |
132 |
| - cibw_arch: "x86_64" |
133 |
| - - os: macos-13 |
134 |
| - cibw_arch: "arm64" |
135 |
| - - os: macos-13 |
136 |
| - cibw_arch: "x86_64" |
137 |
| - cibw_python: "cp313t" |
138 |
| - steps: |
139 |
| - - uses: actions/checkout@9bb56186c3b09b4f86b1c65136769dd318469633 # v4.1.2 |
140 |
| - with: |
141 |
| - fetch-depth: 0 |
142 |
| - |
143 |
| - - uses: actions/setup-python@v5 |
144 |
| - name: Install Python |
145 |
| - with: |
146 |
| - python-version: "3.12" |
147 |
| - |
148 |
| - - name: Install build deps; set CIBW environment variables |
149 |
| - if: ${{ matrix.cibw_python }} == "cp313t" |
150 |
| - run: | |
151 |
| - PYPI_URL="https://pypi.anaconda.org/scientific-python-nightly-wheels/simple" |
152 |
| - CIBW_DEPS="pip install --upgrade pip build &&\ |
153 |
| - pip install --pre -i $PYPI_URL cython numpy scipy &&\ |
154 |
| - pip install pytest meson-python ninja" |
155 |
| - NO_BUILD_ISOLATION="pip; args: --no-build-isolation" |
156 |
| - echo "CIBW_BEFORE_BUILD=$CIBW_DEPS" >> "$GITHUB_ENV" |
157 |
| - echo "CIBW_BEFORE_TEST=$CIBW_DEPS" >> "$GITHUB_ENV" |
158 |
| - echo "CIBW_BUILD_FRONTEND=$NO_BUILD_ISOLATION" >> "$GITHUB_ENV" |
159 |
| -
|
160 |
| - - name: Build wheels for CPython (macOS) (x86_64) |
161 |
| - if: matrix.cibw_arch == 'x86_64' |
162 |
| - uses: pypa/cibuildwheel@d4a2945fcc8d13f20a1b99d461b8e844d5fc6e23 # v2.21.1 |
163 |
| - with: |
164 |
| - output-dir: dist |
165 |
| - env: |
166 |
| - CIBW_BUILD: ${{ matrix.cibw_python }}-* |
167 |
| - CIBW_ARCHS_MACOS: ${{ matrix.cibw_arch }} |
168 |
| - |
169 |
| - - name: Build wheels for CPython (macOS) (arm64) |
170 |
| - if: matrix.cibw_arch == 'arm64' |
171 |
| - uses: pypa/cibuildwheel@d4a2945fcc8d13f20a1b99d461b8e844d5fc6e23 # v2.21.1 |
172 |
| - with: |
173 |
| - output-dir: dist |
174 |
| - env: |
175 |
| - CIBW_BUILD: ${{ matrix.cibw_python }}-* |
176 |
| - CIBW_ARCHS_MACOS: ${{ matrix.cibw_arch }} |
177 |
| - CIBW_FREE_THREADED_SUPPORT: True |
178 |
| - |
179 |
| - - uses: actions/upload-artifact@50769540e7f4bd5e21e526ee35c689e35e0d6874 # v4.4.0 |
180 |
| - with: |
181 |
| - name: wheels_macos_${{ matrix.cibw_arch }}_${{ matrix.cibw_python }} |
182 |
| - path: ./dist/*.whl |
183 |
| - if-no-files-found: error |
184 |
| - |
185 | 31 | build_windows_wheels:
|
186 | 32 | name: Build ${{ matrix.cibw_python }} ${{ matrix.cibw_arch }} ${{ matrix.os }}
|
187 | 33 | runs-on: ${{ matrix.os }}
|
|
190 | 36 | matrix:
|
191 | 37 | os: [windows-latest]
|
192 | 38 | cibw_arch: ["AMD64", "x86"]
|
193 |
| - cibw_python: ["cp310", "cp311", "cp312", "cp313", "cp313t"] |
| 39 | + cibw_python: ["cp313", "cp313t"] |
194 | 40 | steps:
|
195 | 41 | - uses: actions/checkout@9bb56186c3b09b4f86b1c65136769dd318469633 # v4.1.2
|
196 | 42 | with:
|
|
244 | 90 | name: Release (PyPI)
|
245 | 91 | needs:
|
246 | 92 | [
|
247 |
| - build_linux_x86_64_wheels, |
248 |
| - build_linux_aarch64_wheels, |
249 |
| - build_macos_wheels, |
250 | 93 | build_windows_wheels,
|
251 | 94 | ]
|
252 | 95 | # Run only on tags pushed to the repository
|
@@ -298,9 +141,6 @@ jobs:
|
298 | 141 | name: Release (Anaconda)
|
299 | 142 | needs:
|
300 | 143 | [
|
301 |
| - build_linux_x86_64_wheels, |
302 |
| - build_linux_aarch64_wheels, |
303 |
| - build_macos_wheels, |
304 | 144 | build_windows_wheels,
|
305 | 145 | ]
|
306 | 146 | # Run only on pushes to the main branch, on schedule, or when triggered manually
|
|
0 commit comments