Skip to content

CI

CI #944

Workflow file for this run

name: CI
# trigger
on:
push:
branches:
- main
pull_request:
schedule:
# run Monday and Thursday at 03:18 UTC
- cron: '18 15 * * MON,THU'
jobs:
base:
runs-on: ubuntu-latest
strategy:
matrix:
python-version: ['3.11', '3.9']
steps:
- name: Check out repository
uses: actions/checkout@v2
- name: Prepare python ${{ matrix.python-version }}
uses: actions/setup-python@v1
with:
python-version: ${{ matrix.python-version }}
- name: Cache
uses: actions/cache@v1
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', '3.9']
steps:
- name: Check out repository
uses: actions/checkout@v2
- name: Prepare python ${{ matrix.python-version }}
uses: actions/setup-python@v1
with:
python-version: ${{ matrix.python-version }}
- name: Install julia
uses: julia-actions/setup-julia@v1
with:
version: 1.7
- name: Cache
uses: actions/cache@v1
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@v2
- name: Prepare python ${{ matrix.python-version }}
uses: actions/setup-python@v1
with:
python-version: ${{ matrix.python-version }}
- name: Cache
uses: actions/cache@v1
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@v2
with:
token: ${{ secrets.CODECOV_TOKEN }}
file: ./coverage.xml
mac:
runs-on: macos-latest
strategy:
matrix:
python-version: ['3.11', '3.9']
steps:
- name: Check out repository
uses: actions/checkout@v2
- name: Prepare python ${{ matrix.python-version }}
uses: actions/setup-python@v1
with:
python-version: ${{ matrix.python-version }}
- name: Cache
uses: actions/cache@v1
with:
path: ~/Library/Caches/pip
key: ci-${{ runner.os }}-${{ matrix.python-version }}-mac
- 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
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@v2
- name: Prepare python ${{ matrix.python-version }}
uses: actions/setup-python@v1
with:
python-version: ${{ matrix.python-version }}
- name: Cache
uses: actions/cache@v1
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@v2
- name: Prepare python ${{ matrix.python-version }}
uses: actions/setup-python@v1
with:
python-version: ${{ matrix.python-version }}
- name: Cache
uses: actions/cache@v1
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@v2
- name: Prepare python ${{ matrix.python-version }}
uses: actions/setup-python@v1
with:
python-version: ${{ matrix.python-version }}
- name: Cache
uses: actions/cache@v1
with:
path: ~/.cache
key: ci-${{ runner.os }}-${{ matrix.python-version }}-quality
- name: Install dependencies
run: |
.github/workflows/install_deps.sh doc
pip install tox
- 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