Skip to content

Commit

Permalink
Merge pull request AMICI-dev#2210 from AMICI-dev/release_0.20.0
Browse files Browse the repository at this point in the history
Release 0.20.0
  • Loading branch information
dweindl authored Nov 21, 2023
2 parents 3c5e997 + 92c0530 commit ffcbf66
Show file tree
Hide file tree
Showing 115 changed files with 4,151 additions and 1,563 deletions.
16 changes: 16 additions & 0 deletions .github/actions/install-apt-dependencies/action.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
name: Install apt dependencies
description: Install apt dependencies for the AMICI Python package
runs:
using: "composite"
steps:
- run: |
sudo apt-get update \
&& sudo apt-get install -y \
g++ \
libatlas-base-dev \
libboost-chrono-dev \
libboost-math-dev \
libboost-serialization-dev \
libhdf5-serial-dev \
swig
shell: bash
44 changes: 44 additions & 0 deletions .github/actions/setup-amici-cpp/action.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,44 @@
name: Set up AMICI C++
description: |
Build the AMICI C++ interface and set things for for coverage analysis.
(Currently ubuntu-only).
runs:
using: "composite"
steps:
# BioNetGen Path
- run: echo "BNGPATH=${GITHUB_WORKSPACE}/ThirdParty/BioNetGen-2.7.0" >> $GITHUB_ENV
shell: bash

# use all available cores
- run: echo "AMICI_PARALLEL_COMPILE=" >> $GITHUB_ENV
shell: bash

# enable coverage
- run: echo "ENABLE_GCOV_COVERAGE=TRUE" >> $GITHUB_ENV
shell: bash

- name: Set up Sonar tools
uses: ./.github/actions/setup-sonar-tools

- name: Install apt dependencies
uses: ./.github/actions/install-apt-dependencies

- name: Install additional apt dependencies
run: |
sudo apt-get update \
&& sudo apt-get install -y \
cmake \
python3-venv \
lcov
shell: bash

- name: Build AMICI dependencies
run: scripts/buildDependencies.sh
shell: bash

- name: Build AMICI
run: scripts/buildAmici.sh
shell: bash
env:
CI_SONARCLOUD: "TRUE"
20 changes: 20 additions & 0 deletions .github/actions/setup-doxygen/action.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
name: Set up doxygen
description: |
Download, build, and install doxygen.
runs:
using: "composite"
steps:
- name: Install apt dependencies for doxygen
run: |
sudo apt-get update \
&& sudo apt-get install -y \
bison \
ragel \
graphviz \
texlive-latex-extra
shell: bash

- name: Download and build doxygen
run: sudo scripts/downloadAndBuildDoxygen.sh
shell: bash
26 changes: 26 additions & 0 deletions .github/actions/setup-sonar-tools/action.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,26 @@
name: Set up Sonar tools
description: Download and install sonar-scanner and build-wrapper
runs:
using: "composite"
steps:
- run: echo "SONAR_SCANNER_VERSION=5.0.1.3006" >> $GITHUB_ENV
shell: bash
- run: echo "SONAR_SCANNER_HOME=${HOME}/.sonar/sonar-scanner-$SONAR_SCANNER_VERSION-linux" >> $GITHUB_ENV
shell: bash
- run: echo "SONAR_SCANNER_OPTS=-server" >> $GITHUB_ENV
shell: bash
- run: echo "${SONAR_SCANNER_HOME}/bin" >> $GITHUB_PATH
shell: bash
- run: echo "${HOME}/.sonar/build-wrapper-linux-x86" >> $GITHUB_PATH
shell: bash

- name: Install sonarcloud tools
run: |
sudo apt-get install nodejs curl unzip \
&& curl --create-dirs -sSLo $HOME/.sonar/sonar-scanner.zip \
https://binaries.sonarsource.com/Distribution/sonar-scanner-cli/sonar-scanner-cli-$SONAR_SCANNER_VERSION-linux.zip \
&& unzip -o $HOME/.sonar/sonar-scanner.zip -d $HOME/.sonar/ \
&& curl --create-dirs -sSLo $HOME/.sonar/build-wrapper-linux-x86.zip \
https://sonarcloud.io/static/cpp/build-wrapper-linux-x86.zip \
&& unzip -o $HOME/.sonar/build-wrapper-linux-x86.zip -d $HOME/.sonar/ \
shell: bash
20 changes: 20 additions & 0 deletions .github/actions/setup-swig/action.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
name: Set up SWIG
description: |
Download and build SWIG and set the SWIG environment variable to the path of
the SWIG executable.
inputs:
swig_version:
description: 'Swig version to build'
required: false
default: '4.1.1'

runs:
using: "composite"
steps:
- name: Download and build SWIG
run: scripts/downloadAndBuildSwig.sh
shell: bash

- run: echo "SWIG=${AMICI_DIR}/ThirdParty/swig-${{ inputs.swig_version }}/install/bin/swig" >> $GITHUB_ENV
shell: bash
8 changes: 3 additions & 5 deletions .github/workflows/deploy_branch.yml
Original file line number Diff line number Diff line change
Expand Up @@ -21,12 +21,10 @@ jobs:
with:
fetch-depth: 20

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

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

- name: Create AMICI sdist
run: |
Expand Down
11 changes: 4 additions & 7 deletions .github/workflows/deploy_release.yml
Original file line number Diff line number Diff line change
Expand Up @@ -24,16 +24,13 @@ jobs:
with:
fetch-depth: 20

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

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

- name: sdist
run: |
scripts/buildSdist.sh
run: scripts/buildSdist.sh

- name: Publish a Python distribution to PyPI
uses: pypa/gh-action-pypi-publish@release/v1
Expand Down
11 changes: 4 additions & 7 deletions .github/workflows/test_benchmark_collection_models.yml
Original file line number Diff line number Diff line change
Expand Up @@ -37,18 +37,15 @@ jobs:
with:
fetch-depth: 20

# install dependencies
- name: apt
run: |
sudo apt-get update \
&& sudo apt-get install -y swig libatlas-base-dev
- name: Install apt dependencies
uses: ./.github/actions/install-apt-dependencies

- run: echo "${HOME}/.local/bin/" >> $GITHUB_PATH

# install AMICI
- name: Create AMICI sdist
run: |
pip3 install build && cd python/sdist && python3 -m build --sdist
run: pip3 install build && cd python/sdist && python3 -m build --sdist

- name: Install AMICI sdist
run: |
pip3 install --user petab[vis] && \
Expand Down
46 changes: 14 additions & 32 deletions .github/workflows/test_doc.yml
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,6 @@ on:
jobs:
doxygen:
name: Test Doxygen

runs-on: ubuntu-22.04

strategy:
Expand All @@ -32,26 +31,14 @@ jobs:
- uses: actions/checkout@v3
- run: git fetch --prune --unshallow

- name: apt
run: |
sudo apt-get update \
&& sudo apt-get install -y \
bison \
ragel \
graphviz \
texlive-latex-extra
- name: Build doxygen
run: |
sudo scripts/downloadAndBuildDoxygen.sh
- name: Set up doxygen
uses: ./.github/actions/setup-doxygen

- name: Run doxygen
run: |
scripts/run-doxygen.sh
run: scripts/run-doxygen.sh

sphinx:
name: Test Sphinx

runs-on: ubuntu-22.04

strategy:
Expand All @@ -68,27 +55,22 @@ jobs:
- run: git fetch --prune --unshallow

- run: echo "AMICI_DIR=$(pwd)" >> $GITHUB_ENV
- run: echo "SWIG=${AMICI_DIR}/ThirdParty/swig-4.1.1/install/bin/swig" >> $GITHUB_ENV

- name: Build doxygen
run: |
sudo scripts/downloadAndBuildDoxygen.sh
- name: Set up doxygen
uses: ./.github/actions/setup-doxygen

# install amici dependencies
- name: apt
- name: Install apt dependencies
uses: ./.github/actions/install-apt-dependencies

- name: Install further dependencies
run: |
sudo apt-get update \
&& sudo apt-get install -y \
g++ \
libatlas-base-dev \
libboost-serialization-dev \
pandoc \
python3-venv \
python3-venv
- name: Build swig
run: |
sudo scripts/downloadAndBuildSwig.sh
- name: Set up SWIG
uses: ./.github/actions/setup-swig

- name: sphinx
run: |
scripts/run-sphinx.sh
- name: Run sphinx
run: scripts/run-sphinx.sh
53 changes: 16 additions & 37 deletions .github/workflows/test_install.yml
Original file line number Diff line number Diff line change
Expand Up @@ -22,33 +22,26 @@ jobs:

- run: echo "AMICI_DIR=$(pwd)" >> $GITHUB_ENV

# install amici dependencies
- name: Install apt dependencies
uses: ./.github/actions/install-apt-dependencies

- name: apt
run: |
sudo apt-get update \
&& sudo apt-get install -y \
cmake \
g++ \
libatlas-base-dev \
libboost-serialization-dev \
libhdf5-serial-dev \
swig
cmake
- name: Build suitesparse
run: |
scripts/buildSuiteSparse.sh
run: scripts/buildSuiteSparse.sh

- name: Build sundials
run: |
scripts/buildSundials.sh
run: scripts/buildSundials.sh

- name: Build AMICI
run: |
scripts/buildAmici.sh
run: scripts/buildAmici.sh

- name: Install python archive
run: |
scripts/installAmiciArchive.sh
run: scripts/installAmiciArchive.sh

sdist_ubuntu:
name: sdist Install Ubuntu
Expand All @@ -70,28 +63,17 @@ jobs:

- run: echo "AMICI_DIR=$(pwd)" >> $GITHUB_ENV

# install amici dependencies
- name: apt
run: |
sudo apt-get update \
&& sudo apt-get install -y \
g++ \
libatlas-base-dev \
libboost-serialization-dev \
libhdf5-serial-dev \
swig
- name: Install apt dependencies
uses: ./.github/actions/install-apt-dependencies

- name: Create AMICI sdist
run: |
scripts/buildSdist.sh
run: scripts/buildSdist.sh

- name: Install python sdist
run: |
pip3 install -v --user $(ls -t python/sdist/dist/amici-*.tar.gz | head -1)
run: pip3 install -v --user $(ls -t python/sdist/dist/amici-*.tar.gz | head -1)

- name: Test import
run: |
python -m amici
run: python -m amici


sdist_macos:
Expand Down Expand Up @@ -124,13 +106,10 @@ jobs:
&& echo CPPFLAGS="-I /usr/local/Cellar/boost/1.81.0_1/include/" >> $GITHUB_ENV
- name: Create AMICI sdist
run: |
scripts/buildSdist.sh
run: scripts/buildSdist.sh

- name: Install python sdist
run: |
pip3 install -v --user $(ls -t python/sdist/dist/amici-*.tar.gz | head -1)
run: pip3 install -v --user $(ls -t python/sdist/dist/amici-*.tar.gz | head -1)

- name: Test import
run: |
python -m amici
run: python -m amici
8 changes: 3 additions & 5 deletions .github/workflows/test_performance.yml
Original file line number Diff line number Diff line change
Expand Up @@ -35,11 +35,9 @@ jobs:
with:
fetch-depth: 20

# install dependencies
- name: apt
run: |
sudo apt-get update \
&& sudo apt-get install -y swig libatlas-base-dev
- name: Install apt dependencies
uses: ./.github/actions/install-apt-dependencies

- run: pip3 install petab shyaml build

- run: echo "${HOME}/.local/bin/" >> $GITHUB_PATH
Expand Down
Loading

0 comments on commit ffcbf66

Please sign in to comment.