Skip to content

Commit a28c82d

Browse files
committedJul 27, 2024·
DEBUG: try adding cp313 wheels
1 parent 6dbf33d commit a28c82d

File tree

1 file changed

+4
-217
lines changed

1 file changed

+4
-217
lines changed
 

‎.github/workflows/wheel_tests_and_release.yml

+4-217
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,7 @@ on:
88
# Runs on every merge to main to upload .dev0 wheels to anaconda.org
99
- main
1010
- v1.**
11+
- py313-wheels
1112
# Make it possible to upload wheels manually if needed (for anaconda.org only, not PyPI)
1213
workflow_dispatch:
1314
inputs:
@@ -34,7 +35,7 @@ jobs:
3435
fail-fast: false
3536
matrix:
3637
os: [ubuntu-latest]
37-
cibw_python: ["cp310", "cp311", "cp312"]
38+
cibw_python: ["cp310", "cp313"]
3839
cibw_arch: ["x86_64"]
3940
steps:
4041
- uses: actions/checkout@9bb56186c3b09b4f86b1c65136769dd318469633 # v4.1.2
@@ -49,6 +50,8 @@ jobs:
4950
with:
5051
output-dir: dist
5152
env:
53+
CIBW_PRERELEASE_PYTHONS: True
54+
#CIBW_FREE_THREADED_SUPPORT: True
5255
CIBW_BUILD: ${{ matrix.cibw_python }}-*
5356
CIBW_ARCHS_LINUX: ${{ matrix.cibw_arch }}
5457
CIBW_MANYLINUX_X86_64_IMAGE: manylinux2014
@@ -59,219 +62,3 @@ jobs:
5962
path: ./dist/*.whl
6063
if-no-files-found: error
6164

62-
build_linux_aarch64_wheels:
63-
name: Build ${{ matrix.cibw_python }} ${{ matrix.cibw_arch }} ${{ matrix.os }}
64-
runs-on: ${{ matrix.os }}
65-
strategy:
66-
fail-fast: false
67-
matrix:
68-
os: [ubuntu-latest]
69-
cibw_python: ["cp310", "cp311", "cp312"]
70-
cibw_arch: ["aarch64"]
71-
steps:
72-
- uses: actions/checkout@9bb56186c3b09b4f86b1c65136769dd318469633 # v4.1.2
73-
with:
74-
fetch-depth: 0
75-
- uses: actions/setup-python@v5
76-
name: Install Python
77-
with:
78-
python-version: "3.10"
79-
- name: Set up QEMU
80-
uses: docker/setup-qemu-action@v3
81-
with:
82-
platforms: arm64
83-
- name: Build the wheel
84-
uses: pypa/cibuildwheel@ba8be0d98853f5744f24e7f902c8adef7ae2e7f3 # 2.18.1
85-
with:
86-
output-dir: dist
87-
env:
88-
CIBW_BUILD: ${{ matrix.cibw_python }}-*
89-
CIBW_ARCHS_LINUX: ${{ matrix.cibw_arch }}
90-
CIBW_MANYLINUX_AARCH64_IMAGE: manylinux2014
91-
CIBW_MUSLLINUX_AARCH64_IMAGE: musllinux_1_2
92-
- uses: actions/upload-artifact@65462800fd760344b1a7b4382951275a0abb4808 # v4.3.3
93-
with:
94-
name: wheels_linux_${{ matrix.cibw_arch }}_${{ matrix.cibw_python }}
95-
path: ./dist/*.whl
96-
97-
build_macos_wheels:
98-
name: Build ${{ matrix.cibw_python }} ${{ matrix.cibw_arch }} ${{ matrix.os }}
99-
runs-on: ${{ matrix.os }}
100-
strategy:
101-
fail-fast: false
102-
matrix:
103-
# macos-13 is the last runner that supports Intel (x86_64) architecture
104-
os: [macos-13, macos-14]
105-
cibw_python: ["cp310", "cp311", "cp312"]
106-
cibw_arch: ["x86_64", "arm64"]
107-
exclude:
108-
- os: macos-14
109-
cibw_arch: "x86_64"
110-
- os: macos-13
111-
cibw_arch: "arm64"
112-
steps:
113-
- uses: actions/checkout@9bb56186c3b09b4f86b1c65136769dd318469633 # v4.1.2
114-
with:
115-
fetch-depth: 0
116-
117-
- uses: actions/setup-python@v5
118-
name: Install Python
119-
with:
120-
python-version: "3.12"
121-
122-
- name: Build wheels for CPython (macOS) (x86_64)
123-
if: matrix.cibw_arch == 'x86_64'
124-
uses: pypa/cibuildwheel@ba8be0d98853f5744f24e7f902c8adef7ae2e7f3 # 2.18.1
125-
with:
126-
output-dir: dist
127-
env:
128-
CIBW_BUILD: ${{ matrix.cibw_python }}-*
129-
CIBW_ARCHS_MACOS: ${{ matrix.cibw_arch }}
130-
131-
- name: Build wheels for CPython (macOS) (arm64)
132-
if: matrix.cibw_arch == 'arm64'
133-
uses: pypa/cibuildwheel@ba8be0d98853f5744f24e7f902c8adef7ae2e7f3 # 2.18.1
134-
with:
135-
output-dir: dist
136-
env:
137-
CIBW_BUILD: ${{ matrix.cibw_python }}-*
138-
CIBW_ARCHS_MACOS: ${{ matrix.cibw_arch }}
139-
140-
- uses: actions/upload-artifact@65462800fd760344b1a7b4382951275a0abb4808 # v4.3.3
141-
with:
142-
name: wheels_macos_${{ matrix.cibw_arch }}_${{ matrix.cibw_python }}
143-
path: ./dist/*.whl
144-
if-no-files-found: error
145-
146-
build_windows_wheels:
147-
name: Build ${{ matrix.cibw_python }} ${{ matrix.cibw_arch }} ${{ matrix.os }}
148-
runs-on: ${{ matrix.os }}
149-
strategy:
150-
fail-fast: false
151-
matrix:
152-
os: [windows-latest]
153-
cibw_arch: ["AMD64", "x86"]
154-
cibw_python: ["cp310", "cp311", "cp312"]
155-
steps:
156-
- uses: actions/checkout@9bb56186c3b09b4f86b1c65136769dd318469633 # v4.1.2
157-
with:
158-
fetch-depth: 0
159-
160-
- uses: actions/setup-python@v5
161-
name: Install Python
162-
with:
163-
python-version: "3.10"
164-
165-
- name: Setup MSVC (32-bit)
166-
if: matrix.cibw_arch == 'x86'
167-
uses: bus1/cabuild/action/msdevshell@e22aba57d6e74891d059d66501b6b5aed8123c4d # v1
168-
with:
169-
architecture: x86
170-
171-
- name: Setup MSVC (64-bit)
172-
if: matrix.cibw_arch == 'AMD64'
173-
uses: bus1/cabuild/action/msdevshell@e22aba57d6e74891d059d66501b6b5aed8123c4d # v1
174-
with:
175-
architecture: x64
176-
177-
- name: Build Windows wheels for CPython
178-
uses: pypa/cibuildwheel@ba8be0d98853f5744f24e7f902c8adef7ae2e7f3 # 2.18.1
179-
with:
180-
output-dir: dist
181-
env:
182-
CIBW_BUILD: ${{ matrix.cibw_python }}-*
183-
CIBW_ARCHS_WINDOWS: ${{ matrix.cibw_arch }}
184-
185-
- uses: actions/upload-artifact@65462800fd760344b1a7b4382951275a0abb4808 # v4.3.3
186-
with:
187-
name: wheels_windows_${{ matrix.cibw_arch }}_${{ matrix.cibw_python }}
188-
path: ./dist/*.whl
189-
if-no-files-found: error
190-
191-
deploy_pypi:
192-
name: Release (PyPI)
193-
needs:
194-
[
195-
build_linux_x86_64_wheels,
196-
build_linux_aarch64_wheels,
197-
build_macos_wheels,
198-
build_windows_wheels,
199-
]
200-
# Run only on tags pushed to the repository
201-
if: github.repository == 'PyWavelets/pywt' && startsWith(github.ref, 'refs/tags/v')
202-
runs-on: ubuntu-latest
203-
steps:
204-
- uses: actions/checkout@9bb56186c3b09b4f86b1c65136769dd318469633 # v4.1.2
205-
with:
206-
fetch-depth: 0
207-
208-
- uses: actions/setup-python@v5
209-
name: Install Python
210-
with:
211-
python-version: "3.10"
212-
213-
- name: Install Twine
214-
run: |
215-
python -m pip install --upgrade pip
216-
pip install twine
217-
pip install cython numpy build
218-
219-
- uses: actions/download-artifact@65a9edc5881444af0b9093a5e628f2fe47ea3b2e # v4.1.7
220-
id: download
221-
with:
222-
pattern: "wheels_*"
223-
path: ./dist
224-
merge-multiple: true
225-
226-
- name: Publish the source distribution on PyPI
227-
run: |
228-
PYWT_VERSION=$(git describe --tags)
229-
python -m build --sdist
230-
ls -la ${{ github.workspace }}/dist
231-
# We prefer to release wheels before source because otherwise there is a
232-
# small window during which users who pip install pywt will require compilation.
233-
twine upload ${{ github.workspace }}/dist/*.whl
234-
twine upload ${{ github.workspace }}/dist/pywavelets-${PYWT_VERSION:1}.tar.gz
235-
env:
236-
TWINE_USERNAME: __token__
237-
TWINE_PASSWORD: ${{ secrets.TWINE_TOKEN }}
238-
239-
- name: Github release
240-
uses: softprops/action-gh-release@a74c6b72af54cfa997e81df42d94703d6313a2d0 # v2.0.6
241-
env:
242-
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
243-
GITHUB_REPOSITORY: ${{ github.repository }}
244-
245-
deploy_anaconda:
246-
name: Release (Anaconda)
247-
needs:
248-
[
249-
build_linux_x86_64_wheels,
250-
build_linux_aarch64_wheels,
251-
build_macos_wheels,
252-
build_windows_wheels,
253-
]
254-
# Run only on pushes to the main branch, on schedule, or when triggered manually
255-
if: >-
256-
github.repository == 'PyWavelets/pywt' &&
257-
(github.event_name == 'push' && github.ref == 'refs/heads/main') ||
258-
(github.event_name == 'workflow_dispatch' && github.event.inputs.push_wheels == 'true') ||
259-
(github.event_name == 'schedule')
260-
runs-on: ubuntu-latest
261-
steps:
262-
- uses: actions/checkout@9bb56186c3b09b4f86b1c65136769dd318469633 # v4.1.2
263-
with:
264-
fetch-depth: 0
265-
266-
- uses: actions/download-artifact@65a9edc5881444af0b9093a5e628f2fe47ea3b2e # v4.1.7
267-
id: download
268-
with:
269-
pattern: "wheels_*"
270-
path: dist/
271-
merge-multiple: true
272-
273-
- name: Push to Anaconda PyPI index
274-
uses: scientific-python/upload-nightly-action@b67d7fcc0396e1128a474d1ab2b48aa94680f9fc # v0.5.0
275-
with:
276-
artifacts_path: dist/
277-
anaconda_nightly_upload_token: ${{ secrets.ANACONDA_ORG_UPLOAD_TOKEN }}

0 commit comments

Comments
 (0)
Please sign in to comment.