Skip to content

gh-439: infrastructure for testing array API compatibility #1158

gh-439: infrastructure for testing array API compatibility

gh-439: infrastructure for testing array API compatibility #1158

Workflow file for this run

---
name: Test
on:
push:
branches:
- main
pull_request:
types:
- opened
- ready_for_review
- reopened
- synchronize
concurrency:
cancel-in-progress: true
group: >-
${{ github.workflow }}-${{ github.event.pull_request.number || github.ref }}
jobs:
tests:
if: github.event.pull_request.draft == false
name: Tests
runs-on: ubuntu-latest
strategy:
matrix:
python-version:
- "3.10"
- "3.11"
- "3.12"
- "3.13"
steps:
- name: Checkout source
uses: actions/checkout@v4
with:
fetch-depth: 0
- name: Cache nox
uses: actions/cache@v4
with:
key: test-${{ hashFiles('pyproject.toml') }}
path: .nox
- name: Set up Python
uses: actions/setup-python@v5
with:
cache-dependency-path: pyproject.toml
cache: pip
python-version: ${{ matrix.python-version }}
- name: Install nox and coverage.py
run: python -m pip install coverage[toml] nox
- name: Run doctests
run: nox -s doctests-${{ matrix.python-version }} --verbose
env:
FORCE_COLOR: 1
- name: Run tests wih every array backend and generate coverage report
run: nox -s coverage-${{ matrix.python-version }} --verbose
env:
FORCE_COLOR: 1
GLASS_ARRAY_BACKEND: all
- name: Coveralls requires XML report
run: coverage xml
- name: Run Coveralls in parallel
uses: coverallsapp/github-action@v2
with:
flag-name: run-${{ matrix.python-version }}
parallel: true
aggregate-tests:
needs: tests
if: always()
runs-on: ubuntu-latest
steps:
- name: Coveralls finished
uses: coverallsapp/github-action@v2
with:
carryforward: run-3.10,run-3.11,run-3.12,run-3.13
parallel-finished: true
build:
if: github.event.pull_request.draft == false
name: Build
runs-on: ubuntu-latest
steps:
- name: Checkout source
uses: actions/checkout@v4
with:
fetch-depth: 0
- name: Set up Python
uses: actions/setup-python@v5
with:
cache-dependency-path: pyproject.toml
cache: pip
python-version: 3.x
- name: Install nox
run: python -m pip install nox
- name: Build SDist and wheel
run: nox -s build --verbose
env:
FORCE_COLOR: 1
docs:
if: github.event.pull_request.draft == false
name: Docs
runs-on: ubuntu-latest
steps:
- name: Checkout source
uses: actions/checkout@v4
with:
fetch-depth: 0
- uses: actions/setup-python@v5
with:
cache-dependency-path: pyproject.toml
cache: pip
python-version: 3.x
- name: Install dependencies
run: |-
sudo apt-get update
sudo apt-get install -y pandoc
python -m pip install nox
- name: Build docs
run: nox -s docs --verbose
env:
FORCE_COLOR: 1