Skip to content

Commit 7bdb35c

Browse files
committed
Merge branch 'main' into check_grad_sbml_test_suite
2 parents cf34778 + 8469a18 commit 7bdb35c

File tree

737 files changed

+80382
-53092
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

737 files changed

+80382
-53092
lines changed

.clang-tidy

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
1+
---
2+
CheckOptions:
3+
performance-unnecessary-value-param.AllowedTypes: "gsl::not_null"
4+
modernize-pass-by-value.AllowedTypes: "gsl::not_null"

.git-blame-ignore-revs

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
f59fed72eb4d0cedf6abf2a96fe95087ce61478a
Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,15 @@
1+
name: Install apt dependencies
2+
description: Install apt dependencies for the AMICI Python package
3+
runs:
4+
using: "composite"
5+
steps:
6+
- run: |
7+
sudo apt-get update \
8+
&& sudo apt-get install -y \
9+
g++ \
10+
libatlas-base-dev \
11+
libboost-chrono-dev \
12+
libboost-math-dev \
13+
libboost-serialization-dev \
14+
libhdf5-serial-dev
15+
shell: bash
Lines changed: 34 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,34 @@
1+
name: Install AMICI dependencies for MacOS
2+
description: Install AMICI dependencies for MacOS
3+
4+
runs:
5+
using: "composite"
6+
steps:
7+
# use all available cores
8+
- run: echo "AMICI_PARALLEL_COMPILE=" >> $GITHUB_ENV
9+
shell: bash
10+
11+
# AMICI repository root
12+
- run: echo "AMICI_DIR=$(pwd)" >> $GITHUB_ENV
13+
shell: bash
14+
15+
# BioNetGen path
16+
- run: echo "BNGPATH=${AMICI_DIR}/ThirdParty/BioNetGen-2.7.0" >> $GITHUB_ENV
17+
shell: bash
18+
19+
# CMake hints
20+
# Ensure CMake is using the python version that we will use for the python tests later on
21+
- run: echo "PYTHON_EXECUTABLE=${Python3_ROOT_DIR}/bin/python3" >> $GITHUB_ENV
22+
shell: bash
23+
- run: echo "OpenMP_ROOT=$(brew --prefix)/opt/libomp" >> $GITHUB_ENV
24+
shell: bash
25+
- run: echo "BOOST_ROOT=$(brew --prefix)/opt/boost" >> $GITHUB_ENV
26+
shell: bash
27+
28+
# install amici dependencies
29+
- name: homebrew
30+
# install hdf5 without dependencies, because pkgconf installation fails,
31+
# because it's already installed on the runners. install the other
32+
# hdf5 dependencies (libaec) manually
33+
run: brew install libaec && brew install --ignore-dependencies hdf5 && brew install libomp boost
34+
shell: bash
Lines changed: 47 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,47 @@
1+
name: Set up AMICI C++
2+
description: |
3+
Build the AMICI C++ interface and set things for for coverage analysis.
4+
(Currently ubuntu-only).
5+
6+
runs:
7+
using: "composite"
8+
steps:
9+
# BioNetGen Path
10+
- run: echo "BNGPATH=${GITHUB_WORKSPACE}/ThirdParty/BioNetGen-2.7.0" >> $GITHUB_ENV
11+
shell: bash
12+
13+
# use all available cores
14+
- run: echo "AMICI_PARALLEL_COMPILE=" >> $GITHUB_ENV
15+
shell: bash
16+
17+
# enable coverage
18+
- run: echo "ENABLE_GCOV_COVERAGE=TRUE" >> $GITHUB_ENV
19+
shell: bash
20+
21+
- run: echo "PYTHONFAULTHANDLER=1" >> $GITHUB_ENV
22+
shell: bash
23+
24+
- name: Set up Sonar tools
25+
uses: ./.github/actions/setup-sonar-tools
26+
27+
- name: Install apt dependencies
28+
uses: ./.github/actions/install-apt-dependencies
29+
30+
- name: Install additional apt dependencies
31+
run: |
32+
sudo apt-get update \
33+
&& sudo apt-get install -y \
34+
cmake \
35+
python3-venv \
36+
lcov
37+
shell: bash
38+
39+
- name: Build AMICI dependencies
40+
run: scripts/buildDependencies.sh
41+
shell: bash
42+
43+
- name: Build AMICI
44+
run: scripts/buildAmici.sh
45+
shell: bash
46+
env:
47+
CI_SONARCLOUD: "TRUE"
Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,20 @@
1+
name: Set up doxygen
2+
description: |
3+
Download, build, and install doxygen.
4+
5+
runs:
6+
using: "composite"
7+
steps:
8+
- name: Install apt dependencies for doxygen
9+
run: |
10+
sudo apt-get update \
11+
&& sudo apt-get install -y \
12+
bison \
13+
ragel \
14+
graphviz \
15+
texlive-latex-extra
16+
shell: bash
17+
18+
- name: Download and build doxygen
19+
run: sudo scripts/downloadAndBuildDoxygen.sh
20+
shell: bash
Lines changed: 27 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,27 @@
1+
name: Set up Sonar tools
2+
description: Download and install sonar-scanner and build-wrapper
3+
runs:
4+
using: "composite"
5+
steps:
6+
- run: echo "SONAR_SCANNER_VERSION=5.0.1.3006" >> $GITHUB_ENV
7+
shell: bash
8+
- run: echo "SONAR_SCANNER_HOME=${HOME}/.sonar/sonar-scanner-$SONAR_SCANNER_VERSION-linux" >> $GITHUB_ENV
9+
shell: bash
10+
- run: echo "SONAR_SCANNER_OPTS=-server" >> $GITHUB_ENV
11+
shell: bash
12+
- run: echo "${SONAR_SCANNER_HOME}/bin" >> $GITHUB_PATH
13+
shell: bash
14+
- run: echo "${HOME}/.sonar/build-wrapper-linux-x86" >> $GITHUB_PATH
15+
shell: bash
16+
17+
- name: Install sonarcloud tools
18+
run: |
19+
sudo apt-get update \
20+
&& sudo apt-get install nodejs curl unzip \
21+
&& curl --create-dirs -sSLo $HOME/.sonar/sonar-scanner.zip \
22+
https://binaries.sonarsource.com/Distribution/sonar-scanner-cli/sonar-scanner-cli-$SONAR_SCANNER_VERSION-linux.zip \
23+
&& unzip -o $HOME/.sonar/sonar-scanner.zip -d $HOME/.sonar/ \
24+
&& curl --create-dirs -sSLo $HOME/.sonar/build-wrapper-linux-x86.zip \
25+
https://sonarcloud.io/static/cpp/build-wrapper-linux-x86.zip \
26+
&& unzip -o $HOME/.sonar/build-wrapper-linux-x86.zip -d $HOME/.sonar/ \
27+
shell: bash
Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,20 @@
1+
name: Set up SWIG
2+
description: |
3+
Download and build SWIG and set the SWIG environment variable to the path of
4+
the SWIG executable.
5+
6+
inputs:
7+
swig_version:
8+
description: 'Swig version to build'
9+
required: false
10+
default: '4.2.0'
11+
12+
runs:
13+
using: "composite"
14+
steps:
15+
- name: Download and build SWIG
16+
run: scripts/downloadAndBuildSwig.sh
17+
shell: bash
18+
19+
- run: echo "SWIG=${AMICI_DIR}/ThirdParty/swig-${{ inputs.swig_version }}/install/bin/swig" >> $GITHUB_ENV
20+
shell: bash

.github/dependabot.yml

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
version: 2
2+
updates:
3+
4+
- package-ecosystem: "github-actions"
5+
directory: "/"
6+
schedule:
7+
interval: "weekly"
8+
ignore:
9+
- dependency-name: "*"
10+
update-types: ["version-update:semver-patch", "version-update:semver-minor"]
11+
target-branch: "develop"
Lines changed: 9 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -1,39 +1,37 @@
11
name: Deploy Branch
2-
on: [push, merge_group, workflow_dispatch]
2+
on: [push, pull_request, merge_group, workflow_dispatch]
33

44
jobs:
55
sdist:
66
name: Deploy Python Source Distribution
77

8-
runs-on: ubuntu-22.04
8+
runs-on: ubuntu-24.04
99

1010
strategy:
1111
matrix:
12-
python-version: [3.9]
12+
python-version: ["3.12"]
1313

1414
steps:
1515
- name: Set up Python ${{ matrix.python-version }}
16-
uses: actions/setup-python@v4
16+
uses: actions/setup-python@v5
1717
with:
1818
python-version: ${{ matrix.python-version }}
1919

20-
- uses: actions/checkout@v3
20+
- uses: actions/checkout@v4
2121
with:
2222
fetch-depth: 20
2323

24-
- run: echo "AMICI_DIR=$(pwd)" >> $GITHUB_ENV
25-
- run: echo "SWIG=${AMICI_DIR}/ThirdParty/swig-4.0.1/install/bin/swig" >> $GITHUB_ENV
24+
- name: Set up SWIG
25+
uses: ./.github/actions/setup-swig
2626

27-
- name: Build swig4
28-
run: |
29-
sudo scripts/downloadAndBuildSwig.sh
27+
- run: echo "AMICI_DIR=$(pwd)" >> $GITHUB_ENV
3028

3129
- name: Create AMICI sdist
3230
run: |
3331
scripts/buildSdist.sh
3432
3533
- name: "Upload artifact: sdist"
36-
uses: actions/upload-artifact@v3
34+
uses: actions/upload-artifact@v4
3735
with:
3836
name: sdist
3937
path: python/sdist/dist/amici-*.gz

0 commit comments

Comments
 (0)