Not building pypy wheels on macosx #2
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: Linux | |
on: | |
push: | |
pull_request: | |
release: | |
types: [created] | |
jobs: | |
maboss: | |
name: MaBoSS (gcc) | |
runs-on: ubuntu-22.04 | |
env: | |
GCC: gcc | |
CXX: g++ | |
INSTALL_PATH: /usr/ | |
BUILD_PATH: /tmp/ | |
LIBXML_LIBDIR: /usr/lib/x86_64-linux-gnu/libxml2.so | |
LIBXML_INCLUDEDIR: /usr/include/libxml2/ | |
steps: | |
- uses: actions/checkout@v3 | |
- name: Install dependencies | |
run: | | |
sudo apt-get install flex bison | |
pip install numpy | |
- name: Cache compiled libSBML | |
id: cache-libsbml-gcc | |
uses: actions/cache@v3 | |
with: | |
path: /tmp/libsbml-5.20.2 | |
key: ${{ runner.os }}-libSBML-5.20.2-gcc-namespace | |
- name: Compiling libSBML | |
if: steps.cache-libsbml-gcc.outputs.cache-hit != 'true' | |
run: bash scripts/build_libsbml.sh | |
- name: Install libSBML | |
run: sudo bash scripts/install_libsbml.sh | |
- name: Build MaBoSS | |
run: | | |
cd engine/src | |
make clean | |
make install SBML_COMPAT=1 | |
make MAXNODES=128 install SBML_COMPAT=1 | |
- name: Test MaBoSS | |
run: bash scripts/run_tests.sh | |
maboss_llvm: | |
name: MaBoSS (clang) | |
runs-on: ubuntu-22.04 | |
env: | |
GCC: clang | |
CXX: clang++ | |
INSTALL_PATH: /usr/ | |
BUILD_PATH: /tmp/ | |
LIBXML_LIBDIR: /usr/lib/x86_64-linux-gnu/libxml2.so | |
LIBXML_INCLUDEDIR: /usr/include/libxml2/ | |
steps: | |
- uses: actions/checkout@v3 | |
- name: Install dependencies | |
run : | | |
sudo apt-get install flex bison clang | |
pip install numpy | |
- name: Cache compiled libSBML | |
id: cache-libsbml-clang | |
uses: actions/cache@v3 | |
with: | |
path: /tmp/libsbml-5.20.2 | |
key: ${{ runner.os }}-libSBML-5.20.2-clang-namespace | |
- name: Compiling libSBML | |
if: steps.cache-libsbml-clang.outputs.cache-hit != 'true' | |
run: bash scripts/build_libsbml.sh | |
- name: Install libSBML | |
run: sudo bash scripts/install_libsbml.sh | |
- name: Build MaBoSS | |
run: | | |
cd engine/src | |
make clean | |
make GCC=clang CXX=clang++ install SBML_COMPAT=1 | |
make GCC=clang CXX=clang++ MAXNODES=128 install SBML_COMPAT=1 | |
- name: Test MaBoSS | |
run: bash scripts/run_tests.sh | |
maboss_mpi: | |
name: MaBoSS MPI | |
runs-on: ubuntu-22.04 | |
steps: | |
- uses: actions/checkout@v3 | |
- name: Install dependencies | |
run: | | |
sudo apt-get install flex bison libopenmpi-dev | |
pip install numpy | |
- name: Build MaBoSS | |
run: | | |
cd engine/src | |
make clean | |
make install CXX=mpic++ MPI_COMPAT=1 | |
make install CXX=mpic++ MPI_COMPAT=1 MAXNODES=128 | |
- name: Test MaBoSS | |
run: bash scripts/run_mpi_tests.sh | |
maboss_binary: | |
name: Building MaBoSS linux64 binary | |
runs-on: ubuntu-22.04 | |
needs: [maboss, maboss_llvm, maboss_mpi] | |
env: | |
GCC: gcc | |
CXX: g++ | |
INSTALL_PATH: /usr/ | |
BUILD_PATH: /tmp/ | |
LIBXML_LIBDIR: /usr/lib/x86_64-linux-gnu/libxml2.so | |
LIBXML_INCLUDEDIR: /usr/include/libxml2 | |
# if: github.event.workflow_run.conclusion == 'success' && (github.ref == 'refs/heads/master' || github.event_name == 'release') | |
steps: | |
- uses: actions/checkout@v3 | |
- name: Install dependencies | |
run: | | |
sudo apt-get install flex bison | |
pip install numpy | |
- name: Cache compiled libSBML | |
id: cache-libsbml-gcc | |
uses: actions/cache@v3 | |
with: | |
path: /tmp/libsbml-5.20.2 | |
key: ${{ runner.os }}-libSBML-5.20.2-gcc-namespace | |
- name: Compiling libSBML | |
if: steps.cache-libsbml-gcc.outputs.cache-hit != 'true' | |
run: | | |
bash scripts/build_libsbml.sh | |
- name: Install libSBML | |
run: | | |
sudo env BUILD_PATH=/tmp/ bash scripts/install_libsbml.sh | |
- name: Build binary | |
run: | | |
rm -fr engine/pub/* | |
cd engine/src | |
make clean | |
make install_static SBML_COMPAT=1 | |
make install_static MAXNODES=128 SBML_COMPAT=1 | |
make install_static MAXNODES=256 SBML_COMPAT=1 | |
make install_static MAXNODES=512 SBML_COMPAT=1 | |
make install_static MAXNODES=1024 SBML_COMPAT=1 | |
cd ../pub | |
zip MaBoSS-linux64.zip * | |
- uses: actions/upload-artifact@v3 | |
if: github.event_name != 'release' | |
with: | |
name: MaBoSS-linux64 | |
path: /home/runner/work/MaBoSS-env-2.0/MaBoSS-env-2.0/engine/pub/MaBoSS-linux64.zip | |
- uses: actions/upload-release-asset@v1 | |
if: github.event_name == 'release' | |
env: | |
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} | |
with: | |
upload_url: ${{ github.event.release.upload_url }} | |
asset_name: MaBoSS-linux64.zip | |
asset_path: /home/runner/work/MaBoSS-env-2.0/MaBoSS-env-2.0/engine/pub/MaBoSS-linux64.zip | |
asset_content_type: application/zip | |
maboss_library: | |
name: Building MaBoSS linux64 library | |
runs-on: ubuntu-22.04 | |
needs: [maboss, maboss_llvm, maboss_mpi] | |
steps: | |
- uses: actions/checkout@v3 | |
- name: Install dependencies | |
run: | | |
sudo apt-get install flex bison | |
- name: Build binary | |
run: | | |
rm -fr engine/pub/* | |
cd engine/src | |
make clean | |
make install_lib | |
make install_lib MAXNODES=128 | |
make install_lib MAXNODES=256 | |
make install_lib MAXNODES=512 | |
make install_lib MAXNODES=1024 | |
make install_alib | |
make install_alib MAXNODES=128 | |
make install_alib MAXNODES=256 | |
make install_alib MAXNODES=512 | |
make install_alib MAXNODES=1024 | |
make clean | |
cd ../../../ | |
tar -zcvf libMaBoSS-linux64.tar.gz MaBoSS-env-2.0/README.md MaBoSS-env-2.0/LICENSE MaBoSS-env-2.0/engine/src MaBoSS-env-2.0/engine/include MaBoSS-env-2.0/engine/lib | |
- uses: actions/upload-artifact@v3 | |
if: github.event_name != 'release' | |
with: | |
name: libMaBoSS-linux64 | |
path: /home/runner/work/MaBoSS-env-2.0/libMaBoSS-linux64.tar.gz | |
- uses: actions/upload-release-asset@v1 | |
if: github.event_name == 'release' | |
env: | |
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} | |
with: | |
upload_url: ${{ github.event.release.upload_url }} | |
asset_name: libMaBoSS-linux64.tar.gz | |
asset_path: /home/runner/work/MaBoSS-env-2.0/libMaBoSS-linux64.tar.gz | |
asset_content_type: application/gzip | |
maboss_library_sbml: | |
name: Building MaBoSS linux64 library with libSBML | |
runs-on: ubuntu-22.04 | |
needs: [maboss, maboss_llvm, maboss_mpi] | |
env: | |
GCC: gcc | |
CXX: g++ | |
INSTALL_PATH: /usr/ | |
BUILD_PATH: /tmp/ | |
LIBXML_LIBDIR: /usr/lib/x86_64-linux-gnu/libxml2.so | |
LIBXML_INCLUDEDIR: /usr/include/libxml2 | |
# if: github.event.workflow_run.conclusion == 'success' && (github.ref == 'refs/heads/master' || github.event_name == 'release') | |
steps: | |
- uses: actions/checkout@v3 | |
- name: Install dependencies | |
run: | | |
sudo apt-get install flex bison | |
- name: Cache compiled libSBML | |
id: cache-libsbml-gcc | |
uses: actions/cache@v3 | |
with: | |
path: /tmp/libsbml-5.20.2 | |
key: ${{ runner.os }}-libSBML-5.20.2-gcc-namespace | |
- name: Compiling libSBML | |
if: steps.cache-libsbml-gcc.outputs.cache-hit != 'true' | |
run: bash scripts/build_libsbml.sh | |
- name: Install libSBML | |
run: sudo env BUILD_PATH=/tmp/ bash scripts/install_libsbml.sh | |
- name: Build binary | |
run: | | |
rm -fr engine/pub/* | |
cd engine/src | |
make clean | |
make install_lib SBML_COMPAT=1 | |
make install_lib SBML_COMPAT=1 MAXNODES=128 | |
make install_lib SBML_COMPAT=1 MAXNODES=256 | |
make install_lib SBML_COMPAT=1 MAXNODES=512 | |
make install_lib SBML_COMPAT=1 MAXNODES=1024 | |
make install_alib SBML_COMPAT=1 | |
make install_alib SBML_COMPAT=1 MAXNODES=128 | |
make install_alib SBML_COMPAT=1 MAXNODES=256 | |
make install_alib SBML_COMPAT=1 MAXNODES=512 | |
make install_alib SBML_COMPAT=1 MAXNODES=1024 | |
make clean | |
cd ../../../ | |
tar -zcvf libMaBoSS-sbml-linux64.tar.gz MaBoSS-env-2.0/README.md MaBoSS-env-2.0/LICENSE MaBoSS-env-2.0/engine/src MaBoSS-env-2.0/engine/include MaBoSS-env-2.0/engine/lib | |
- uses: actions/upload-artifact@v3 | |
if: github.event_name != 'release' | |
with: | |
name: libMaBoSS-sbml-linux64 | |
path: /home/runner/work/MaBoSS-env-2.0/libMaBoSS-sbml-linux64.tar.gz | |
- uses: actions/upload-release-asset@v1 | |
if: github.event_name == 'release' | |
env: | |
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} | |
with: | |
upload_url: ${{ github.event.release.upload_url }} | |
asset_name: libMaBoSS-sbml-linux64.tar.gz | |
asset_path: /home/runner/work/MaBoSS-env-2.0/libMaBoSS-sbml-linux64.tar.gz | |
asset_content_type: application/gzip | |
test_docker: | |
name: Docker MaBoSS Server | |
runs-on: ubuntu-22.04 | |
needs: [maboss, maboss_llvm, maboss_mpi] | |
steps: | |
- uses: actions/checkout@v3 | |
- name: Install dependencies | |
run: | | |
sudo apt-get install flex bison | |
pip install numpy | |
- name: Start MaBoSS docker server | |
run: | | |
docker-compose up -d maboss-server | |
bash -c "cd engine/src; make client" | |
- name: Test MaBoSS docker server | |
run: | | |
bash -c "cd engine/tests; bash ./test-container.sh" | |
- name: Connect Docker Hub | |
if: github.event_name == 'release' && github.event.action == 'created' && github.repository == 'sysbio-curie/MaBoSS-env-2.0' | |
run: | | |
echo ${{ secrets.DOCKERHUB_TOKEN }} | docker login --username ${{ secrets.DOCKERHUB_USERNAME }} --password-stdin | |
- name: Upload Docker Hub | |
if: github.event_name == 'release' && github.event.action == 'created' && github.repository == 'sysbio-curie/MaBoSS-env-2.0' | |
run: | | |
docker tag maboss-server:latest vnoel/maboss-server:latest | |
docker push vnoel/maboss-server:latest | |
test_singularity: | |
name: Singularity MaBoSS Server | |
runs-on: ubuntu-22.04 | |
needs: [maboss, maboss_llvm, maboss_mpi] | |
steps: | |
- uses: actions/checkout@v3 | |
- name: Install dependencies | |
run: | | |
wget https://github.com/sylabs/singularity/releases/download/v3.11.1/singularity-ce_3.11.1-jammy_amd64.deb | |
sudo apt-get install -yq ./singularity-ce_3.11.1-jammy_amd64.deb | |
sudo apt-get install flex bison debootstrap | |
pip install numpy | |
- name: Start MaBoSS Singularity server | |
run: | | |
sudo singularity build maboss-server.simg containers/singularity/Singularity | |
singularity run maboss-server.simg & | |
bash -c "cd engine/src; make client" | |
- name: Test MaBoSS | |
run: | | |
bash -c "cd engine/tests; bash ./test-container.sh" | |
maboss_conda_defaults: | |
name: Build MaBoSS Anaconda package | |
runs-on: ubuntu-22.04 | |
needs: [maboss, maboss_llvm, maboss_mpi] | |
steps: | |
- uses: actions/checkout@v3 | |
- uses: s-weigand/setup-conda@v1 | |
with: | |
update-conda: true | |
- name: Install conda-build | |
run: | | |
conda update conda | |
conda update conda --all | |
conda install conda-build anaconda-client conda-verify | |
- name: Build Anaconda package | |
run: | | |
conda build -c colomoto conda/maboss | |
- name: Caching produced conda package | |
uses: actions/cache@v3 | |
with: | |
path: | | |
/usr/share/miniconda/conda-bld/linux-64/* | |
key: ${{ runner.os }}-maboss-conda-defaults-${{ github.run_id }} | |
maboss_conda: | |
name: Build MaBoSS Anaconda package (conda-forge) | |
runs-on: ubuntu-22.04 | |
needs: [maboss, maboss_llvm, maboss_mpi] | |
steps: | |
- uses: actions/checkout@v3 | |
- uses: s-weigand/setup-conda@v1 | |
with: | |
update-conda: true | |
- name: Install conda-build | |
run: | | |
conda update conda | |
conda config --add channels conda-forge | |
conda config --set channel_priority strict | |
conda update conda --all | |
conda install conda-build anaconda-client conda-verify | |
- name: Build Anaconda package | |
run: | | |
CUSTOM_BUILD_NUMBER=1 conda build -c colomoto conda/maboss | |
- name: Caching produced conda package | |
uses: actions/cache@v3 | |
with: | |
path: | | |
/usr/share/miniconda/conda-bld/linux-64/* | |
key: ${{ runner.os }}-maboss-conda-${{ github.run_id }} | |
maboss_conda_test_defaults: | |
name: Test MaBoSS Anaconda package | |
runs-on: ubuntu-22.04 | |
needs: maboss_conda_defaults | |
steps: | |
- uses: actions/checkout@v3 | |
- uses: s-weigand/setup-conda@v1 | |
with: | |
update-conda: true | |
- name: Caching produced conda package | |
uses: actions/cache@v3 | |
with: | |
path: | | |
/usr/share/miniconda/conda-bld/linux-64/* | |
key: ${{ runner.os }}-maboss-conda-defaults-${{ github.run_id }} | |
- name: Install conda-build | |
run: | | |
conda update conda | |
conda config --set channel_priority strict | |
conda update conda --all | |
conda install conda-build | |
- name: Install package | |
run: | | |
conda index /usr/share/miniconda/conda-bld | |
conda install --use-local -c colomoto maboss | |
- name: Test package | |
run: | | |
pip install numpy | |
export MABOSS=/usr/share/miniconda/bin/MaBoSS | |
export MABOSS_128n=/usr/share/miniconda/bin/MaBoSS_128n | |
export MABOSS_CLIENT=/usr/share/miniconda/bin/MaBoSS-client | |
export MABOSS_SERVER=/usr/share/miniconda/bin/MaBoSS-server | |
export MABOSS_SERVER_128n=/usr/share/miniconda/bin/MaBoSS_128n-server | |
bash -c "cd engine/tests; bash ./test-cellcycle.sh" | |
bash -c "cd engine/tests; bash ./test-ensemble.sh" | |
bash -c "cd engine/tests; bash ./test-ewing.sh" | |
bash -c "cd engine/tests; bash ./test-server.sh" | |
bash -c "cd engine/tests; bash ./test-prngs.sh" | |
bash -c "cd engine/tests; bash ./test-rngs.sh" | |
bash -c "cd engine/tests; bash ./test-sbml.sh" | |
maboss_conda_test: | |
name: Test MaBoSS Anaconda package (conda-forge) | |
runs-on: ubuntu-22.04 | |
needs: maboss_conda | |
steps: | |
- uses: actions/checkout@v3 | |
- uses: s-weigand/setup-conda@v1 | |
with: | |
update-conda: true | |
- name: Caching produced conda package | |
uses: actions/cache@v3 | |
with: | |
path: | | |
/usr/share/miniconda/conda-bld/linux-64/* | |
key: ${{ runner.os }}-maboss-conda-${{ github.run_id }} | |
- name: Install conda-build | |
run: | | |
conda update conda | |
conda config --add channels conda-forge | |
conda config --set channel_priority strict | |
conda update conda --all | |
conda install conda-build | |
- name: Install package | |
run: | | |
conda index /usr/share/miniconda/conda-bld | |
conda install --use-local -c colomoto maboss | |
- name: Test package | |
run: | | |
pip install numpy | |
export MABOSS=/usr/share/miniconda/bin/MaBoSS | |
export MABOSS_128n=/usr/share/miniconda/bin/MaBoSS_128n | |
export MABOSS_CLIENT=/usr/share/miniconda/bin/MaBoSS-client | |
export MABOSS_SERVER=/usr/share/miniconda/bin/MaBoSS-server | |
export MABOSS_SERVER_128n=/usr/share/miniconda/bin/MaBoSS_128n-server | |
bash -c "cd engine/tests; bash ./test-cellcycle.sh" | |
bash -c "cd engine/tests; bash ./test-ensemble.sh" | |
bash -c "cd engine/tests; bash ./test-ewing.sh" | |
bash -c "cd engine/tests; bash ./test-server.sh" | |
bash -c "cd engine/tests; bash ./test-prngs.sh" | |
bash -c "cd engine/tests; bash ./test-rngs.sh" | |
bash -c "cd engine/tests; bash ./test-sbml.sh" | |
maboss_conda_publish_defaults: | |
name: Publish MaBoSS Anaconda package | |
runs-on: ubuntu-22.04 | |
needs: maboss_conda_test_defaults | |
steps: | |
- uses: actions/checkout@v3 | |
- uses: s-weigand/setup-conda@v1 | |
with: | |
update-conda: true | |
- name: Restoring cached conda package | |
uses: actions/cache@v3 | |
with: | |
path: | | |
/usr/share/miniconda/conda-bld/linux-64/* | |
key: ${{ runner.os }}-maboss-conda-defaults-${{ github.run_id }} | |
- name: Install anaconda-client | |
run: | | |
conda update conda | |
conda update --all | |
conda install anaconda-client | |
- name: Upload MaBoSS Ananconda package on vincent-noel | |
run: | | |
anaconda -t ${{ secrets.ANACONDA_TOKEN }} upload -u vincent-noel /usr/share/miniconda/conda-bld/linux-64/*.tar.bz2 --force; | |
- name: Upload MaBoSS Ananconda package on colomoto | |
if: github.repository == 'sysbio-curie/MaBoSS-env-2.0' && github.event_name == 'release' | |
run: | | |
anaconda -t ${{ secrets.ANACONDA_TOKEN }} upload -u colomoto /usr/share/miniconda/conda-bld/linux-64/*.tar.bz2 --force; | |
maboss_conda_publish: | |
name: Publish MaBoSS Anaconda package (conda-forge) | |
runs-on: ubuntu-22.04 | |
needs: maboss_conda_test | |
steps: | |
- uses: actions/checkout@v3 | |
- uses: s-weigand/setup-conda@v1 | |
with: | |
update-conda: true | |
- name: Restoring cached conda package | |
uses: actions/cache@v3 | |
with: | |
path: | | |
/usr/share/miniconda/conda-bld/linux-64/* | |
key: ${{ runner.os }}-maboss-conda-${{ github.run_id }} | |
- name: Install anaconda-client | |
run: | | |
conda update conda | |
conda config --add channels conda-forge | |
conda config --set channel_priority strict | |
conda update --all | |
conda install anaconda-client | |
- name: Upload MaBoSS Ananconda package on vincent-noel | |
run: | | |
anaconda -t ${{ secrets.ANACONDA_TOKEN }} upload -u vincent-noel /usr/share/miniconda/conda-bld/linux-64/*.tar.bz2 --force; | |
- name: Upload MaBoSS Ananconda package on colomoto | |
if: github.repository == 'sysbio-curie/MaBoSS-env-2.0' && github.event_name == 'release' | |
run: | | |
anaconda -t ${{ secrets.ANACONDA_TOKEN }} upload -u colomoto /usr/share/miniconda/conda-bld/linux-64/*.tar.bz2 --force; | |