Browse Source

CI: Test GMP/CLN configurations and reduce tests

tempestpy_adaptions
Daniel Basgöze 3 years ago
committed by Stefan Pranger
parent
commit
6420709a50
  1. 32
      .github/workflows/buildtest.yml

32
.github/workflows/buildtest.yml

@ -27,13 +27,41 @@ env:
jobs: jobs:
indepthTests:
name: Indepth Tests (${{ matrix.cmakeArgs.name }})
runs-on: ubuntu-latest
env:
DISTRO: "ubuntu-20.10"
strategy:
matrix:
cmakeArgs:
- {name: "GMP exact; GMP rational functions", args: "-DCMAKE_BUILD_TYPE=Debug -DSTORM_DEVELOPER=ON -DSTORM_PORTABLE=ON -DSTORM_USE_CLN_EA=OFF -DSTORM_USE_CLN_RF=OFF"}
# This is the standard config
# - {name: "GMP exact; CLN rational functions", args: "-DCMAKE_BUILD_TYPE=Debug -DSTORM_DEVELOPER=ON -DSTORM_PORTABLE=ON -DSTORM_USE_CLN_EA=OFF -DSTORM_USE_CLN_RF=ON"}
- {name: "CLN exact; GMP rational functions", args: "-DCMAKE_BUILD_TYPE=Debug -DSTORM_DEVELOPER=ON -DSTORM_PORTABLE=ON -DSTORM_USE_CLN_EA=ON -DSTORM_USE_CLN_RF=OFF"}
- {name: "CLN exact; CLN rational functions", args: "-DCMAKE_BUILD_TYPE=Debug -DSTORM_DEVELOPER=ON -DSTORM_PORTABLE=ON -DSTORM_USE_CLN_EA=ON -DSTORM_USE_CLN_RF=ON"}
steps:
- name: Init Docker
run: sudo docker run -d -it --name storm --privileged movesrwth/storm-basesystem:${DISTRO}
- name: Git clone
# git clone cannot clone individual commits based on a sha and some other refs
# this workaround fixes this and fetches only one commit
run: |
sudo docker exec storm bash -c "mkdir /opt/storm; cd /opt/storm; git init && git remote add origin ${STORM_GIT_URL} && git fetch --depth 1 origin ${STORM_BRANCH} && git checkout FETCH_HEAD"
- name: Run cmake
run: sudo docker exec storm bash -c "mkdir /opt/storm/build; cd /opt/storm/build; cmake .. ${{ matrix.cmakeArgs.args }}"
- name: Build storm
run: sudo docker exec storm bash -c "cd /opt/storm/build; make -j ${NR_JOBS}"
- name: Run unit tests
run: sudo docker exec storm bash -c "cd /opt/storm/build; ctest test --output-on-failure"
noDeploy: noDeploy:
name: Build and Test name: Build and Test
runs-on: ubuntu-latest runs-on: ubuntu-latest
strategy: strategy:
matrix: matrix:
distro: ["ubuntu-18.04", "debian-10", "debian-9", "ubuntu-20.04"] distro: ["ubuntu-18.04", "debian-10", "debian-9", "ubuntu-20.04"]
debugOrRelease: ["debug", "release"]
debugOrRelease: ["release"]
steps: steps:
- name: Setup cmake arguments - name: Setup cmake arguments
# this is strangely the best way to implement environment variables based on the value of another # this is strangely the best way to implement environment variables based on the value of another
@ -160,7 +188,7 @@ jobs:
notify: notify:
name: Email notification name: Email notification
runs-on: ubuntu-latest runs-on: ubuntu-latest
needs: [noDeploy, deploy]
needs: [indepthTests, noDeploy, deploy]
# Only run in main repo and even if previous step failed # Only run in main repo and even if previous step failed
if: github.repository_owner == 'moves-rwth' && always() if: github.repository_owner == 'moves-rwth' && always()
steps: steps:

Loading…
Cancel
Save