Add testing against NumPy nightlies #194
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: CI | |
on: | |
pull_request: | |
branches: | |
- master | |
push: | |
branches: | |
- master | |
workflow_dispatch: | |
schedule: | |
- cron: "0 4 * * *" | |
env: | |
PIP_DISABLE_PIP_VERSION_CHECK: "1" | |
FORCE_COLOR: "3" | |
concurrency: | |
group: ${{ github.workflow }}-${{ github.head_ref || github.run_id }} | |
cancel-in-progress: true | |
jobs: | |
test: | |
name: Regular tests / ${{ matrix.platform }} / Python ${{ matrix.python-version }} | |
runs-on: ${{ matrix.platform }} | |
strategy: | |
fail-fast: false | |
matrix: | |
platform: [ubuntu-latest, macos-13, macos-latest, windows-latest] | |
python-version: | |
["3.9", "3.10", "3.11", "3.12", "3.13", "pypy-3.9", "pypy-3.10"] | |
# TODO: disable nightly NumPy tests for now, re-enable later | |
# nightly: [[True, "nightly-"], [False, ""]] | |
steps: | |
- uses: actions/[email protected] | |
- uses: actions/[email protected] | |
with: | |
python-version: ${{ matrix.python-version }} | |
allow-prereleases: true | |
- uses: yezz123/setup-uv@v4 | |
# On PyPy, we skip SciPy because we don't have wheels | |
# available, see noxfile.py for more details. | |
- name: Run tests | |
run: uvx nox -s tests | |
# In this job, we test against the NumPy nightly wheels hosted on | |
# https://anaconda.org/scientific-python-nightly-wheels/numpy | |
# on the latest Python version available across platforms, instead of | |
# testing all Python versions and implementations on all platforms. | |
# We do not test on PyPy. | |
# | |
# However, "nox -s nightly-tests" can be used locally anywhere, on | |
# any Python version and implementation on any platform and we leave | |
# it to the user to decide what Python version to test against, which | |
# might or might not have a corresponding NumPy nightly wheel present. | |
nightlies: | |
name: Nightly tests / ${{ matrix.platform }} / Python ${{ matrix.python-version }} | |
runs-on: ${{ matrix.platform }} | |
strategy: | |
fail-fast: false | |
matrix: | |
platform: [ubuntu-latest, macos-13, macos-latest, windows-latest] | |
python-version: ["3.x"] | |
steps: | |
- uses: actions/[email protected] | |
- uses: actions/[email protected] | |
with: | |
python-version: ${{ matrix.python-version }} | |
allow-prereleases: true | |
- uses: yezz123/setup-uv@v4 | |
- name: Run tests against nightly wheels for NumPy and SciPy | |
run: uvx nox -s nightly-tests |