Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
55 commits
Select commit Hold shift + click to select a range
e491894
Update CI configuration and dependencies for improved compatibility a…
arrjon Feb 16, 2026
970cbe2
fix doc
arrjon Feb 16, 2026
b843df0
fix doc
arrjon Feb 16, 2026
c14a8bb
fix deps
arrjon Feb 16, 2026
8421191
fix deps
arrjon Feb 16, 2026
415e913
add ruff
arrjon Feb 17, 2026
fb83056
add ruff
arrjon Feb 17, 2026
6879782
fix ruff
arrjon Feb 17, 2026
3366192
fix ruff
arrjon Feb 17, 2026
85ff992
fix petab
arrjon Feb 17, 2026
6e75d9b
fix tox
arrjon Feb 17, 2026
3479098
fix petab test
arrjon Feb 17, 2026
e42102c
update ci
arrjon Feb 17, 2026
53aeb98
update r dep
arrjon Feb 17, 2026
a05c9b4
update r dep
arrjon Feb 17, 2026
ccdbb25
update r dep
arrjon Feb 17, 2026
d57d6ad
update r dep
arrjon Feb 17, 2026
6d02b85
update r dep
arrjon Feb 17, 2026
a3e5947
update r dep
arrjon Feb 17, 2026
9794de5
update r dep
arrjon Feb 17, 2026
992022d
update r dep
arrjon Feb 17, 2026
52addba
update warnings
arrjon Feb 17, 2026
47e8450
fix subprocess
arrjon Feb 17, 2026
f543bf1
fix r2py
arrjon Feb 17, 2026
d419bb3
fix r2py conversion [skip ci]
arrjon Feb 17, 2026
4643f2f
fix r2py conversion
arrjon Feb 17, 2026
9591ab4
fix petab.v1
arrjon Feb 17, 2026
cc3df23
fix petab.v1
arrjon Feb 17, 2026
be41466
update toml file
arrjon Feb 17, 2026
3e5bc4b
update notebooks
arrjon Feb 17, 2026
66da45e
remove petabtests
arrjon Feb 17, 2026
422f8d6
remove petabtests
arrjon Feb 17, 2026
fce2d88
fix tox
arrjon Feb 17, 2026
3fe1825
update amici dep
arrjon Feb 17, 2026
1870998
update amici dep
arrjon Feb 17, 2026
621ef8b
update amici dep
arrjon Feb 17, 2026
c4f9771
update notebooks
arrjon Feb 17, 2026
4ecb61a
update notebooks 2
arrjon Feb 17, 2026
6e9aef6
annotations in inference_util
arrjon Feb 17, 2026
b46332e
fix notebooks 2 deps
arrjon Feb 17, 2026
3176737
fix notebooks 2 deps
arrjon Feb 17, 2026
5576676
fix notebooks 2 deps
arrjon Feb 17, 2026
15a9bd8
fix notebooks 2 julia
arrjon Feb 17, 2026
f9bfe19
fix notebooks 2 julia
arrjon Feb 17, 2026
5ec11a2
fix notebooks 2 julia
arrjon Feb 18, 2026
af91a24
fix notebooks 2 julia
arrjon Feb 18, 2026
fc81000
fix notebooks 2 julia
arrjon Feb 18, 2026
f6cecda
fix notebooks 2 julia
arrjon Feb 18, 2026
68fcae3
check worker health before blocking on queue retrieval
arrjon Feb 18, 2026
d4eede4
update distributed for python3.12
arrjon Feb 18, 2026
59b2805
fix dask for python3.12
arrjon Feb 18, 2026
3bf084c
remove fix dask for python3.12
arrjon Feb 18, 2026
fa23885
fix python3.12 test
arrjon Feb 18, 2026
21aed8c
fix python3.12 test
arrjon Feb 18, 2026
e5155db
fix doc contact details [skip ci]
arrjon Feb 18, 2026
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
30 changes: 0 additions & 30 deletions .flake8

This file was deleted.

327 changes: 84 additions & 243 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
@@ -1,263 +1,104 @@
name: CI

# trigger
on:
push:
branches:
- main
- develop
branches: [main, develop]
pull_request:
schedule:
# run Monday at 03:18 UTC
- cron: '18 15 * * MON'
- cron: "18 15 * * MON"

jobs:

base:
runs-on: ubuntu-latest
strategy:
matrix:
python-version: ['3.12', '3.11', '3.10']

steps:
- name: Check out repository
uses: actions/checkout@v4

- name: Prepare python ${{ matrix.python-version }}
uses: actions/setup-python@v4
with:
python-version: ${{ matrix.python-version }}

- name: Cache
uses: actions/cache@v4
with:
path: ~/.cache
key: ci-${{ runner.os }}-${{ matrix.python-version }}-base

- name: Install dependencies
run: .github/workflows/install_deps.sh base R

- name: Run tests
timeout-minutes: 15
run: tox -e base

- name: Run visualization tests
timeout-minutes: 3
run: tox -e visualization

- name: Coverage
uses: codecov/codecov-action@v2
with:
token: ${{ secrets.CODECOV_TOKEN }}
file: ./coverage.xml

external:
runs-on: ubuntu-latest
strategy:
matrix:
python-version: ['3.11']

steps:
- name: Check out repository
uses: actions/checkout@v4

- name: Prepare python ${{ matrix.python-version }}
uses: actions/setup-python@v4
with:
python-version: ${{ matrix.python-version }}

- name: Install julia
uses: julia-actions/setup-julia@v1
with:
version: 1.7

- name: Cache
uses: actions/cache@v4
with:
path: ~/.cache
key: ci-${{ runner.os }}-${{ matrix.python-version }}-external

- name: Install dependencies
run: .github/workflows/install_deps.sh base R

- name: Run tests
timeout-minutes: 15
run: tox -e external

- name: Coverage
uses: codecov/codecov-action@v2
with:
token: ${{ secrets.CODECOV_TOKEN }}
file: ./coverage.xml

petab:
runs-on: ubuntu-latest
strategy:
matrix:
python-version: ['3.11']

steps:
- name: Check out repository
uses: actions/checkout@v4

- name: Prepare python ${{ matrix.python-version }}
uses: actions/setup-python@v4
with:
python-version: ${{ matrix.python-version }}

- name: Cache
uses: actions/cache@v4
with:
path: ~/.cache
key: ci-${{ runner.os }}-${{ matrix.python-version }}-petab

- name: Install dependencies
run: .github/workflows/install_deps.sh amici

- name: Run tests
timeout-minutes: 20
run: |
tox -e petab

- name: Coverage
uses: codecov/codecov-action@v4
with:
token: ${{ secrets.CODECOV_TOKEN }}
file: ./coverage.xml

mac:
runs-on: macos-latest
tests:
name: ${{ matrix.toxenv }} (${{ matrix.python }} • ${{ matrix.os }})
runs-on: ${{ matrix.os }}
strategy:
fail-fast: false
matrix:
python-version: ['3.11']
include:
# Fast PR matrix
- os: ubuntu-latest
python: "3.13"
toxenv: base
#- os: ubuntu-latest
# python: "3.12"
# toxenv: base
- os: ubuntu-latest
python: "3.11"
toxenv: base
- os: ubuntu-latest
python: "3.10"
toxenv: base
- os: ubuntu-latest
python: "3.11"
toxenv: visualization

# macOS sanity
- os: macos-latest
python: "3.11"
toxenv: mac

# Quality
- os: ubuntu-latest
python: "3.11"
toxenv: quality
- os: ubuntu-latest
python: "3.11"
toxenv: project
- os: ubuntu-latest
python: "3.11"
toxenv: doc
- os: ubuntu-latest
python: "3.11"
toxenv: migrate

- os: ubuntu-latest
python: "3.11"
toxenv: external-R
- os: ubuntu-latest
python: "3.11"
toxenv: external-other-simulators
- os: ubuntu-latest
python: "3.11"
toxenv: petab
- os: ubuntu-latest
python: "3.11"
toxenv: base-notebooks
- os: ubuntu-latest
python: "3.11"
toxenv: external-notebooks

steps:
- name: Check out repository
uses: actions/checkout@v4
- uses: actions/checkout@v4

- name: Prepare python ${{ matrix.python-version }}
uses: actions/setup-python@v4
- uses: actions/setup-python@v5
with:
python-version: ${{ matrix.python-version }}
python-version: ${{ matrix.python }}
cache: pip

- name: Cache
uses: actions/cache@v4
- name: Install Julia
if: ${{ startsWith(matrix.toxenv, 'external-') }}
uses: julia-actions/setup-julia@v2
with:
path: ~/Library/Caches/pip
key: ci-${{ runner.os }}-${{ matrix.python-version }}-mac
version: "1.11"

- name: Install dependencies
run: .github/workflows/install_deps.sh

- name: Run tests
timeout-minutes: 10
run: tox -e mac

- name: Coverage
uses: codecov/codecov-action@v2
run: |
case "${{ matrix.toxenv }}" in
base|visualization|mac|base-notebooks) .github/workflows/install_deps.sh base R ;;
petab) .github/workflows/install_deps.sh amici ;;
external-*) .github/workflows/install_deps.sh base R amici ;;
lint|project|doc|migrate) .github/workflows/install_deps.sh doc ;;
esac
python -m pip install -U pip tox

- name: Run tox
run: tox -e ${{ matrix.toxenv }}

# If each tox env generates coverage.xml, include flags; otherwise combine explicitly
- name: Upload coverage
if: ${{ always() && matrix.os == 'ubuntu-latest' }} # optional
uses: codecov/codecov-action@v4
with:
token: ${{ secrets.CODECOV_TOKEN }}
file: ./coverage.xml

notebooks1:
runs-on: ubuntu-latest
strategy:
matrix:
python-version: ['3.11']

steps:
- name: Check out repository
uses: actions/checkout@v4

- name: Prepare python ${{ matrix.python-version }}
uses: actions/setup-python@v4
with:
python-version: ${{ matrix.python-version }}

- name: Cache
uses: actions/cache@v4
with:
path: ~/.cache
key: ci-${{ runner.os }}-${{ matrix.python-version }}-notebooks1

- name: Install dependencies
run: .github/workflows/install_deps.sh

- name: Run notebooks
timeout-minutes: 15
run: tox -e notebooks1

notebooks2:
runs-on: ubuntu-latest
strategy:
matrix:
python-version: ['3.11']

steps:
- name: Check out repository
uses: actions/checkout@v4

- name: Prepare python ${{ matrix.python-version }}
uses: actions/setup-python@v4
with:
python-version: ${{ matrix.python-version }}

- name: Cache
uses: actions/cache@v4
with:
path: ~/.cache
key: ci-${{ runner.os }}-${{ matrix.python-version }}-notebooks2

- name: Install dependencies
run: .github/workflows/install_deps.sh R amici

- name: Run notebooks
timeout-minutes: 15
run: tox -e notebooks2

quality:
runs-on: ubuntu-latest
strategy:
matrix:
python-version: ['3.11']

steps:
- name: Check out repository
uses: actions/checkout@v4

- name: Prepare python ${{ matrix.python-version }}
uses: actions/setup-python@v4
with:
python-version: ${{ matrix.python-version }}

- name: Cache
uses: actions/cache@v4
with:
path: ~/.cache
key: ci-${{ runner.os }}-${{ matrix.python-version }}-quality

- name: Install dependencies
run: |
.github/workflows/install_deps.sh doc
pip install tox
pip install pypandoc
python .github/workflows/generate_readme_rst.py


- name: Run quality checks
timeout-minutes: 5
run: tox -e project,flake8

- name: Build docs
timeout-minutes: 5
run: tox -e doc

- name: Test migration
timeout-minutes: 5
run: tox -e migrate

- name: Coverage
uses: codecov/codecov-action@v2
with:
token: ${{ secrets.CODECOV_TOKEN }}
file: ./coverage.xml
files: ./coverage.xml
flags: ${{ matrix.toxenv }}
Loading