Skip to content

Commit 0a29d13

Browse files
committed
Build cp313 wheel on fork
1 parent 6dbf33d commit 0a29d13

File tree

1 file changed

+2
-98
lines changed

1 file changed

+2
-98
lines changed

.github/workflows/freethreaded_wheels.yml

+2-98
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-wheel
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: ["cp313t"]
38+
cibw_python: ["cp313", "cp313t"]
3839
cibw_arch: ["x86_64"]
3940
steps:
4041
- uses: actions/checkout@9bb56186c3b09b4f86b1c65136769dd318469633 # v4.1.2
@@ -72,100 +73,3 @@ jobs:
7273
name: wheels_linux_${{ matrix.cibw_arch }}_${{ matrix.cibw_python }}
7374
path: ./dist/*.whl
7475
if-no-files-found: error
75-
76-
build_macos_free_threaded_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-
# macos-13 is the last runner that supports Intel (x86_64) architecture
83-
os: [macos-13, macos-14]
84-
cibw_python: ["cp313t"]
85-
cibw_arch: ["x86_64", "arm64"]
86-
exclude:
87-
- os: macos-14
88-
cibw_arch: "x86_64"
89-
- os: macos-13
90-
cibw_arch: "arm64"
91-
steps:
92-
- uses: actions/checkout@9bb56186c3b09b4f86b1c65136769dd318469633 # v4.1.2
93-
with:
94-
fetch-depth: 0
95-
96-
- uses: actions/setup-python@v5
97-
name: Install Python
98-
with:
99-
python-version: "3.12"
100-
101-
- name: Install build deps; set CIBW environment variables
102-
run: |
103-
PYPI_URL="https://pypi.anaconda.org/scientific-python-nightly-wheels/simple"
104-
CIBW_DEPS="pip install --upgrade pip build &&\
105-
pip install --pre -i $PYPI_URL cython numpy scipy &&\
106-
pip install pytest meson-python ninja"
107-
echo "CIBW_BEFORE_BUILD=$CIBW_DEPS" >> "$GITHUB_ENV"
108-
echo "CIBW_BEFORE_TEST=$CIBW_DEPS" >> "$GITHUB_ENV"
109-
echo "CIBW_TEST_COMMAND=PYTHON_GIL=0 $CIBW_TEST_COMMAND" >> "$GITHUB_ENV"
110-
111-
- name: Build wheels for CPython (macOS) (x86_64)
112-
if: matrix.cibw_arch == 'x86_64'
113-
uses: pypa/cibuildwheel@a8d190a111314a07eb5116036c4b3fb26a4e3162 # v2.19.0
114-
with:
115-
output-dir: dist
116-
env:
117-
CIBW_BUILD: ${{ matrix.cibw_python }}-*
118-
CIBW_ARCHS_MACOS: ${{ matrix.cibw_arch }}
119-
CIBW_PRERELEASE_PYTHONS: True
120-
CIBW_FREE_THREADED_SUPPORT: True
121-
CIBW_BUILD_FRONTEND: "pip; args: --no-build-isolation"
122-
123-
- name: Build wheels for CPython (macOS) (arm64)
124-
if: matrix.cibw_arch == 'arm64'
125-
uses: pypa/cibuildwheel@a8d190a111314a07eb5116036c4b3fb26a4e3162 # v2.19.0
126-
with:
127-
output-dir: dist
128-
env:
129-
CIBW_BUILD: ${{ matrix.cibw_python }}-*
130-
CIBW_ARCHS_MACOS: ${{ matrix.cibw_arch }}
131-
CIBW_PRERELEASE_PYTHONS: True
132-
CIBW_FREE_THREADED_SUPPORT: True
133-
CIBW_BUILD_FRONTEND: "pip; args: --no-build-isolation"
134-
135-
- uses: actions/upload-artifact@65462800fd760344b1a7b4382951275a0abb4808 # v4.3.3
136-
with:
137-
name: wheels_macos_${{ matrix.cibw_arch }}_${{ matrix.cibw_python }}
138-
path: ./dist/*.whl
139-
if-no-files-found: error
140-
141-
deploy_anaconda:
142-
name: Release (Anaconda)
143-
needs:
144-
[
145-
build_linux_x86_64_free_threaded_wheels,
146-
build_macos_free_threaded_wheels,
147-
]
148-
# Run only on pushes to the main branch, on schedule, or when triggered manually
149-
if: >-
150-
github.repository == 'PyWavelets/pywt' &&
151-
(github.event_name == 'push' && github.ref == 'refs/heads/main') ||
152-
(github.event_name == 'workflow_dispatch' && github.event.inputs.push_wheels == 'true') ||
153-
(github.event_name == 'schedule')
154-
runs-on: ubuntu-latest
155-
steps:
156-
- uses: actions/checkout@9bb56186c3b09b4f86b1c65136769dd318469633 # v4.1.2
157-
with:
158-
fetch-depth: 0
159-
160-
- uses: actions/download-artifact@65a9edc5881444af0b9093a5e628f2fe47ea3b2e # v4.1.7
161-
id: download
162-
with:
163-
pattern: "wheels_*"
164-
path: dist/
165-
merge-multiple: true
166-
167-
- name: Push to Anaconda PyPI index
168-
uses: scientific-python/upload-nightly-action@b67d7fcc0396e1128a474d1ab2b48aa94680f9fc # v0.5.0
169-
with:
170-
artifacts_path: dist/
171-
anaconda_nightly_upload_token: ${{ secrets.ANACONDA_ORG_UPLOAD_TOKEN }}

0 commit comments

Comments
 (0)