Skip to content

Commit ddbcd62

Browse files
committed
CI: add Stable ABI jobs, build under py312, test under py314
1 parent e2545b8 commit ddbcd62

File tree

1 file changed

+57
-0
lines changed

1 file changed

+57
-0
lines changed

.github/workflows/tests.yml

Lines changed: 57 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -243,3 +243,60 @@ jobs:
243243
pytest --pyargs pywt
244244
fi
245245
popd
246+
247+
build_stable_abi_wheel:
248+
name: build-abi3-${{ matrix.platform }}
249+
runs-on: ${{ matrix.platform }}
250+
strategy:
251+
fail-fast: false
252+
matrix:
253+
platform: [ubuntu-latest, windows-latest, macos-latest]
254+
steps:
255+
- uses: actions/checkout@ff7abcd0c3c05ccf6adc123a8cd1fd4fb30fb493 # v4.1.2
256+
- uses: actions/setup-python@2e3e4b15a884dc73a63f962bff250a855150a234 # v5.5.0
257+
with:
258+
python-version: "3.12"
259+
260+
- name: Build package
261+
run: |
262+
pip install build
263+
python -m build --wheel -Csetup-args="--vsenv" -Csetup-args="-Dpython.allow_limited_api=true"
264+
265+
- uses: actions/upload-artifact@ea165f8d65b6e75b540449e92b4886f43607fa02 # v4.6.2
266+
with:
267+
path: ./dist/*.whl
268+
name: ${{ matrix.platform }}-abi3-wheel
269+
270+
test_stable_abi_wheel:
271+
needs: build_stable_abi_wheel
272+
name: test-abi3-${{ matrix.platform }}
273+
runs-on: ${{ matrix.platform }}
274+
strategy:
275+
fail-fast: false
276+
matrix:
277+
platform: [ubuntu-latest, windows-latest, macos-latest]
278+
steps:
279+
- uses: actions/setup-python@2e3e4b15a884dc73a63f962bff250a855150a234 # v5.5.0
280+
with:
281+
python-version: "3.14"
282+
283+
- uses: actions/download-artifact@634f93cb2916e3fdff6788551b99b062d0335ce0 # v5.0.0
284+
with:
285+
name: ${{ matrix.platform }}-abi3-wheel
286+
287+
- name: Check downloaded artifact
288+
run: |
289+
ls
290+
291+
- name: Install downloaded wheel
292+
shell: bash
293+
run: |
294+
pip install pywavelets-*-abi3-*.whl
295+
296+
- name: Install test dependencies
297+
run: |
298+
pip install pytest numpy matplotlib
299+
300+
- name: Run tests
301+
run: |
302+
pytest --pyargs pywt

0 commit comments

Comments
 (0)