-
Notifications
You must be signed in to change notification settings - Fork 4
76 lines (66 loc) · 2.76 KB
/
benchmark_models.yml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
# https://help.github.com/en/actions/reference/workflow-syntax-for-github-actions
# https://help.github.com/en/actions/configuring-and-managing-workflows/using-environment-variables
name: Test benchmark collection models
on: [push, pull_request, workflow_dispatch]
jobs:
container:
runs-on: ubuntu-latest
container: ghcr.io/icb-dcm/custom_ci_image:master
name: benchmark models
steps:
- uses: actions/checkout@master
- name: chown checkout directory
# https://github.com/actions/runner/issues/2033
run: chown -R $(id -u):$(id -g) $PWD
- run: echo "PARPE_BASE=$(pwd)" >> $GITHUB_ENV
- run: echo "PARPE_BUILD=${PARPE_BASE}/build" >> $GITHUB_ENV
- run: echo "AMICI_PATH=${PARPE_BASE}/deps/AMICI/" >> $GITHUB_ENV
# Build dependencies
- name: Install AMICI deps
run: |
cd $AMICI_PATH \
&& scripts/buildSuiteSparse.sh \
&& scripts/buildSundials.sh
- name: Install AMICI
run: |
cmake \
-S ${AMICI_PATH} \
-B ${AMICI_PATH}/build \
-DCMAKE_BUILD_TYPE=Debug \
-DENABLE_PYTHON=ON \
-DBUILD_TESTS=OFF \
-DCMAKE_PREFIX_PATH="${CMAKE_PREFIX_PATH};${AMICI_PATH}/ThirdParty/SuiteSparse/install" \
&& cmake --build "${AMICI_PATH}/build" --parallel -- VERBOSE=1
- name: Configure parpe
run: |
cmake \
-S"${PARPE_BASE}" \
-B"${PARPE_BUILD}" \
-DPARPE_ENABLE_CERES=OFF \
-DIPOPT_INCLUDE_DIRS=/usr/include/coin/ \
-DIPOPT_LIBRARIES=/usr/lib/libipopt.so \
-DGCOVR_REPORT=TRUE \
-DBUILD_TESTING=FALSE
- name: Build parPE
run: |
cmake --build "${PARPE_BUILD}" --parallel -- VERBOSE=1
# Actual Benchmark model tests
- name: Benchmark models --- requirements
run: |
sudo apt install bc \
&& $PARPE_BASE/misc/run_in_venv.sh $PARPE_BASE/build/venv \
pip3 install shyaml
- name: Benchmark models --- repository
env:
BM_REPO_URL: https://github.com/Benchmarking-Initiative/Benchmark-Models-PEtab.git
run: |
cd $PARPE_BASE/benchmark_collection \
&& git clone --depth 1 $BM_REPO_URL \
&& echo "export BENCHMARK_COLLECTION=$(pwd)/Benchmark-Models-PEtab/Benchmark-Models/" >> $GITHUB_ENV
- name: Benchmark models --- tests
run: |
cd $PARPE_BASE/benchmark_collection \
&& $PARPE_BASE/misc/run_in_venv.sh $PARPE_BASE/build/venv python -m pip install https://github.com/PEtab-dev/libpetab-python/archive/develop.zip
&& $PARPE_BASE/misc/run_in_venv.sh $PARPE_BASE/build/venv ./priors_to_measurements.py
&& AMICI_PARALLEL_COMPILE="" \
$PARPE_BASE/misc/run_in_venv.sh $PARPE_BASE/build/venv ./all.sh