Skip to content

Python Tests

Python Tests #2179

name: Python Tests
on:
push:
branches:
- develop
- master
pull_request:
branches:
- master
workflow_dispatch:
schedule:
- cron: '48 4 * * *'
jobs:
build:
name: Python Version Matrix
runs-on: ubuntu-22.04
continue-on-error: ${{ matrix.experimental }}
env:
AMICI_SKIP_CMAKE_TESTS: "TRUE"
AMICI_PARALLEL_COMPILE: ""
strategy:
fail-fast: false
matrix:
python-version: ['3.10', '3.11', '3.12']
experimental: [false]
steps:
- run: echo "AMICI_DIR=$(pwd)" >> $GITHUB_ENV
- run: echo "BNGPATH=${AMICI_DIR}/ThirdParty/BioNetGen-2.7.0" >> $GITHUB_ENV
- name: Set up Python ${{ matrix.python-version }}
uses: actions/setup-python@v5
with:
python-version: ${{ matrix.python-version }}
- uses: actions/checkout@v4
with:
fetch-depth: 20
- name: Install apt dependencies
uses: ./.github/actions/install-apt-dependencies
- name: Build BNGL
run: scripts/buildBNGL.sh
- name: Install python package
run: scripts/installAmiciSource.sh
# install pysb before sympy to allow for sympy>=1.12 (https://github.com/pysb/pysb/commit/e83937cb8c74afc9b2fa96595b68464946745f33)
- run: source venv/bin/activate && pip3 install git+https://github.com/pysb/pysb
# until sympy>1.12 is released
- run: source venv/bin/activate && pip3 install git+https://github.com/sympy/sympy.git@master
if: matrix.python-version == '3.12'
- run: source venv/bin/activate && pip3 install "sympy>=1.12.1"
if: matrix.python-version != '3.12'
- name: Python tests
run: |
source venv/bin/activate \
&& python3 -m pytest \
--durations=10 \
--ignore-glob=*petab* \
--ignore-glob=*test_splines.py ${AMICI_DIR}/python/tests