Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
31 changes: 31 additions & 0 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,31 @@
name: CI

on:
push:
branches: [main]
pull_request:
branches: [main]
workflow_dispatch:

jobs:
test:
runs-on: ubuntu-latest
strategy:
fail-fast: false
matrix:
python-version: ["3.10", "3.11", "3.12", "3.13", "3.14"]

steps:
- uses: actions/checkout@v7

- uses: actions/setup-python@v7
with:
python-version: ${{ matrix.python-version }}

- name: Install package
run: pip install -e ".[dev]"

- name: Run fast tests
env:
MPLBACKEND: Agg
run: pytest
39 changes: 39 additions & 0 deletions .github/workflows/weekly-notebooks.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,39 @@
name: Weekly notebook/example suite

# Runs the slow suite (every chapter notebook + RVC3/examples script) on a
# schedule rather than on every push/PR -- real matplotlib rendering across
# 16+ notebooks is too slow to gate normal development on. Timed to finish
# well before the Saturday-morning (Brisbane) ecosystem scan routines, which
# run at 22:45 and 23:00 UTC Friday -- see the tracking issue those post to.
on:
schedule:
- cron: '13 19 * * 5' # 19:13 UTC Friday = 05:13 Brisbane Saturday
workflow_dispatch:

jobs:
test:
runs-on: ubuntu-latest
timeout-minutes: 60

steps:
- uses: actions/checkout@v7

- uses: actions/setup-python@v7
with:
python-version: "3.12"

- name: Install package
run: pip install -e ".[dev]"

- name: Run full suite (notebooks + examples)
env:
MPLBACKEND: Agg
run: pytest --runall

- name: Upload notebook test report
if: always()
uses: actions/upload-artifact@v4
with:
name: notebook-test-report
path: tests/reports/latest.md
if-no-files-found: ignore
Loading