|
name: Test |
|
|
|
on: [push, pull_request] |
|
|
|
env: |
|
FORCE_COLOR: 1 |
|
|
|
jobs: |
|
test: |
|
runs-on: ${{ matrix.os }} |
|
strategy: |
|
fail-fast: false |
|
matrix: |
|
os: [ ubuntu-latest ] |
|
python-version: [ "3.10", "3.11", "3.12", "3.13", "3.14" ] |
|
numpy-version: [ "1.24", "1.25", "1.26", "2.0", "2.1", "2.2", "2.3", "2.4" ] |
|
exclude: |
|
- python-version: "3.10" |
|
numpy-version: "2.3" |
|
os: ubuntu-latest |
|
- python-version: "3.10" |
|
numpy-version: "2.4" |
|
os: ubuntu-latest |
|
- python-version: "3.11" |
|
numpy-version: "2.4" |
|
os: ubuntu-latest |
|
- python-version: "3.12" |
|
numpy-version: "1.24" |
|
os: ubuntu-latest |
|
- python-version: "3.12" |
|
numpy-version: "1.25" |
|
os: ubuntu-latest |
|
- python-version: "3.13" |
|
numpy-version: "1.24" |
|
os: ubuntu-latest |
|
- python-version: "3.13" |
|
numpy-version: "1.25" |
|
os: ubuntu-latest |
|
- python-version: "3.13" |
|
numpy-version: "1.26" |
|
os: ubuntu-latest |
|
- python-version: "3.14" |
|
numpy-version: "1.24" |
|
os: ubuntu-latest |
|
- python-version: "3.14" |
|
numpy-version: "1.25" |
|
os: ubuntu-latest |
|
- python-version: "3.14" |
|
numpy-version: "1.26" |
|
os: ubuntu-latest |
|
steps: |
|
- uses: actions/checkout@v4 |
|
|
|
- name: Set up Python ${{ matrix.python-version }} |
|
uses: actions/setup-python@v5 |
|
with: |
|
python-version: ${{ matrix.python-version }} |
|
|
|
- name: Get pip cache dir |
|
id: pip-cache |
|
run: | |
|
echo "dir=$(pip cache dir)" >> $GITHUB_OUTPUT |
|
|
|
- name: Cache |
|
uses: actions/cache@v4 |
|
with: |
|
path: ${{ steps.pip-cache.outputs.dir }} |
|
key: |
|
${{ matrix.os }}-${{ matrix.python-version }}-${{ matrix.numpy-version }}-v1-${{ hashFiles('**/setup.py') }} |
|
restore-keys: | |
|
${{ matrix.os }}-${{ matrix.python-version }}-${{ matrix.numpy-version }}-v1- |
|
|
|
- name: Install dependencies |
|
run: | |
|
python -m pip install -U pip |
|
python -m pip install -U setuptools |
|
python -m pip install -U wheel |
|
python -m pip install -U pytest |
|
python -m pip install "numpy==${{ matrix.numpy-version }}" |
|
|
|
- name: Install |
|
run: | |
|
pip install . |
|
|
|
- name: Test |
|
run: | |
|
PY_IGNORE_IMPORTMISMATCH=1 pytest |
|
python -m doctest README.rst |
|
|
|
type-check: |
|
runs-on: ${{ matrix.os }} |
|
strategy: |
|
fail-fast: false |
|
matrix: |
|
os: [ ubuntu-latest ] |
|
python-version: [ "3.10", "3.11", "3.12", "3.13", "3.14" ] |
|
numpy-version: [ "1.24", "1.25", "1.26", "2.0", "2.1", "2.2", "2.3", "2.4" ] |
|
exclude: |
|
- python-version: "3.10" |
|
numpy-version: "2.3" |
|
os: ubuntu-latest |
|
- python-version: "3.10" |
|
numpy-version: "2.4" |
|
os: ubuntu-latest |
|
- python-version: "3.11" |
|
numpy-version: "2.4" |
|
os: ubuntu-latest |
|
- python-version: "3.12" |
|
numpy-version: "1.24" |
|
os: ubuntu-latest |
|
- python-version: "3.12" |
|
numpy-version: "1.25" |
|
os: ubuntu-latest |
|
- python-version: "3.13" |
|
numpy-version: "1.24" |
|
os: ubuntu-latest |
|
- python-version: "3.13" |
|
numpy-version: "1.25" |
|
os: ubuntu-latest |
|
- python-version: "3.13" |
|
numpy-version: "1.26" |
|
os: ubuntu-latest |
|
- python-version: "3.14" |
|
numpy-version: "1.24" |
|
os: ubuntu-latest |
|
- python-version: "3.14" |
|
numpy-version: "1.25" |
|
os: ubuntu-latest |
|
- python-version: "3.14" |
|
numpy-version: "1.26" |
|
os: ubuntu-latest |
|
steps: |
|
- uses: actions/checkout@v4 |
|
|
|
- name: Set up Python ${{ matrix.python-version }} |
|
uses: actions/setup-python@v5 |
|
with: |
|
python-version: ${{ matrix.python-version }} |
|
|
|
- name: Get pip cache dir |
|
id: pip-cache |
|
run: | |
|
echo "dir=$(pip cache dir)" >> $GITHUB_OUTPUT |
|
|
|
- name: Cache |
|
uses: actions/cache@v4 |
|
with: |
|
path: ${{ steps.pip-cache.outputs.dir }} |
|
key: |
|
${{ matrix.os }}-${{ matrix.python-version }}-${{ matrix.numpy-version }}-v1-${{ hashFiles('**/setup.py') }} |
|
restore-keys: | |
|
${{ matrix.os }}-${{ matrix.python-version }}-${{ matrix.numpy-version }}-v1- |
|
|
|
- name: Install dependencies |
|
run: | |
|
python -m pip install -U pip |
|
python -m pip install -U setuptools |
|
python -m pip install -U wheel |
|
python -m pip install "numpy==${{ matrix.numpy-version }}" |
|
python -m pip install -U pytest |
|
python -m pip install -U mypy |
|
|
|
- name: Install |
|
run: | |
|
pip install . |
|
|
|
- name: Check type information |
|
run: | |
|
mypy quantities |