Browse Source

Travis: updated scripts and incorporated doxygen deployment

tempestpy_adaptions
Matthias Volk 5 years ago
parent
commit
9b74bc393f
  1. 261
      .travis.yml
  2. 9
      travis/build.sh
  3. 59
      travis/build_helper.sh
  4. 13
      travis/deploy_docker.sh
  5. 47
      travis/deploy_storm.sh
  6. 151
      travis/generate_travis.py
  7. 3
      travis/mtime_cache/globs.txt
  8. 5
      travis/skip_test.sh

261
.travis.yml

@ -6,7 +6,6 @@ branches:
- master
- stable
sudo: required
dist: trusty
language: cpp
git:
@ -39,46 +38,48 @@ jobs:
###
# Stage: Build Carl
###
# ubuntu-19.04 - DefaultDebugTravis
- stage: Build Carl
os: linux
compiler: gcc
env: CONFIG=DefaultDebugTravis LINUX=ubuntu-19.04 COMPILER=gcc
install:
- travis/install_linux.sh
env: CONFIG=DefaultDebugTravis TASK=TestDocker LINUX=ubuntu-19.04 COMPILER=gcc
before_script:
- python -c "import fcntl; fcntl.fcntl(1, fcntl.F_SETFL, 0)" # Workaround for nonblocking mode
script:
- travis/build_carl.sh
after_success:
- travis/deploy_carl.sh
before_cache:
- docker cp carl:/opt/carl/. .
deploy:
- provider: script
skip_cleanup: true
script: bash travis/deploy_docker.sh carl
# ubuntu-19.04 - DefaultReleaseTravis
- stage: Build Carl
os: linux
compiler: gcc
env: CONFIG=DefaultReleaseTravis LINUX=ubuntu-19.04 COMPILER=gcc
install:
- travis/install_linux.sh
env: CONFIG=DefaultReleaseTravis TASK=TestDockerDoxygen LINUX=ubuntu-19.04 COMPILER=gcc
before_script:
- python -c "import fcntl; fcntl.fcntl(1, fcntl.F_SETFL, 0)" # Workaround for nonblocking mode
script:
- travis/build_carl.sh
after_success:
- travis/deploy_carl.sh
before_cache:
- docker cp carl:/opt/carl/. .
deploy:
- provider: script
skip_cleanup: true
script: bash travis/deploy_docker.sh carl
###
# Stage: Build (1st run)
###
# ubuntu-18.04 - DefaultDebug
- stage: Build (1st run)
os: linux
compiler: gcc
env: CONFIG=DefaultDebug LINUX=ubuntu-18.04 COMPILER=gcc
env: CONFIG=DefaultDebug TASK=Test LINUX=ubuntu-18.04 COMPILER=gcc
install:
- rm -rf build
- travis/install_linux.sh
- travis/skip_test.sh
before_script:
- python -c "import fcntl; fcntl.fcntl(1, fcntl.F_SETFL, 0)" # Workaround for nonblocking mode
script:
@ -91,10 +92,10 @@ jobs:
- stage: Build (1st run)
os: linux
compiler: gcc
env: CONFIG=DefaultRelease LINUX=ubuntu-18.04 COMPILER=gcc
env: CONFIG=DefaultRelease TASK=Test LINUX=ubuntu-18.04 COMPILER=gcc
install:
- rm -rf build
- travis/install_linux.sh
- travis/skip_test.sh
before_script:
- python -c "import fcntl; fcntl.fcntl(1, fcntl.F_SETFL, 0)" # Workaround for nonblocking mode
script:
@ -107,10 +108,10 @@ jobs:
- stage: Build (1st run)
os: linux
compiler: gcc
env: CONFIG=DefaultDebug LINUX=debian-9 COMPILER=gcc
env: CONFIG=DefaultDebug TASK=Test LINUX=debian-9 COMPILER=gcc
install:
- rm -rf build
- travis/install_linux.sh
- travis/skip_test.sh
before_script:
- python -c "import fcntl; fcntl.fcntl(1, fcntl.F_SETFL, 0)" # Workaround for nonblocking mode
script:
@ -123,10 +124,10 @@ jobs:
- stage: Build (1st run)
os: linux
compiler: gcc
env: CONFIG=DefaultRelease LINUX=debian-9 COMPILER=gcc
env: CONFIG=DefaultRelease TASK=Test LINUX=debian-9 COMPILER=gcc
install:
- rm -rf build
- travis/install_linux.sh
- travis/skip_test.sh
before_script:
- python -c "import fcntl; fcntl.fcntl(1, fcntl.F_SETFL, 0)" # Workaround for nonblocking mode
script:
@ -139,10 +140,10 @@ jobs:
- stage: Build (1st run)
os: linux
compiler: gcc
env: CONFIG=DefaultDebug LINUX=ubuntu-18.10 COMPILER=gcc
env: CONFIG=DefaultDebug TASK=Test LINUX=ubuntu-18.10 COMPILER=gcc
install:
- rm -rf build
- travis/install_linux.sh
- travis/skip_test.sh
before_script:
- python -c "import fcntl; fcntl.fcntl(1, fcntl.F_SETFL, 0)" # Workaround for nonblocking mode
script:
@ -155,10 +156,10 @@ jobs:
- stage: Build (1st run)
os: linux
compiler: gcc
env: CONFIG=DefaultRelease LINUX=ubuntu-18.10 COMPILER=gcc
env: CONFIG=DefaultRelease TASK=Test LINUX=ubuntu-18.10 COMPILER=gcc
install:
- rm -rf build
- travis/install_linux.sh
- travis/skip_test.sh
before_script:
- python -c "import fcntl; fcntl.fcntl(1, fcntl.F_SETFL, 0)" # Workaround for nonblocking mode
script:
@ -171,10 +172,10 @@ jobs:
- stage: Build (1st run)
os: linux
compiler: gcc
env: CONFIG=DefaultDebugTravis LINUX=ubuntu-19.04 COMPILER=gcc
env: CONFIG=DefaultDebugTravis TASK=TestDocker LINUX=ubuntu-19.04 COMPILER=gcc
install:
- rm -rf build
- travis/install_linux.sh
- travis/skip_test.sh
before_script:
- python -c "import fcntl; fcntl.fcntl(1, fcntl.F_SETFL, 0)" # Workaround for nonblocking mode
script:
@ -187,10 +188,10 @@ jobs:
- stage: Build (1st run)
os: linux
compiler: gcc
env: CONFIG=DefaultReleaseTravis LINUX=ubuntu-19.04 COMPILER=gcc
env: CONFIG=DefaultReleaseTravis TASK=TestDockerDoxygen LINUX=ubuntu-19.04 COMPILER=gcc
install:
- rm -rf build
- travis/install_linux.sh
- travis/skip_test.sh
before_script:
- python -c "import fcntl; fcntl.fcntl(1, fcntl.F_SETFL, 0)" # Workaround for nonblocking mode
script:
@ -203,14 +204,13 @@ jobs:
###
# Stage: Build (2nd run)
###
# ubuntu-18.04 - DefaultDebug
- stage: Build (2nd run)
os: linux
compiler: gcc
env: CONFIG=DefaultDebug LINUX=ubuntu-18.04 COMPILER=gcc
env: CONFIG=DefaultDebug TASK=Test LINUX=ubuntu-18.04 COMPILER=gcc
install:
- travis/install_linux.sh
- travis/skip_test.sh
before_script:
- python -c "import fcntl; fcntl.fcntl(1, fcntl.F_SETFL, 0)" # Workaround for nonblocking mode
script:
@ -223,9 +223,9 @@ jobs:
- stage: Build (2nd run)
os: linux
compiler: gcc
env: CONFIG=DefaultRelease LINUX=ubuntu-18.04 COMPILER=gcc
env: CONFIG=DefaultRelease TASK=Test LINUX=ubuntu-18.04 COMPILER=gcc
install:
- travis/install_linux.sh
- travis/skip_test.sh
before_script:
- python -c "import fcntl; fcntl.fcntl(1, fcntl.F_SETFL, 0)" # Workaround for nonblocking mode
script:
@ -238,9 +238,9 @@ jobs:
- stage: Build (2nd run)
os: linux
compiler: gcc
env: CONFIG=DefaultDebug LINUX=debian-9 COMPILER=gcc
env: CONFIG=DefaultDebug TASK=Test LINUX=debian-9 COMPILER=gcc
install:
- travis/install_linux.sh
- travis/skip_test.sh
before_script:
- python -c "import fcntl; fcntl.fcntl(1, fcntl.F_SETFL, 0)" # Workaround for nonblocking mode
script:
@ -253,9 +253,9 @@ jobs:
- stage: Build (2nd run)
os: linux
compiler: gcc
env: CONFIG=DefaultRelease LINUX=debian-9 COMPILER=gcc
env: CONFIG=DefaultRelease TASK=Test LINUX=debian-9 COMPILER=gcc
install:
- travis/install_linux.sh
- travis/skip_test.sh
before_script:
- python -c "import fcntl; fcntl.fcntl(1, fcntl.F_SETFL, 0)" # Workaround for nonblocking mode
script:
@ -268,9 +268,9 @@ jobs:
- stage: Build (2nd run)
os: linux
compiler: gcc
env: CONFIG=DefaultDebug LINUX=ubuntu-18.10 COMPILER=gcc
env: CONFIG=DefaultDebug TASK=Test LINUX=ubuntu-18.10 COMPILER=gcc
install:
- travis/install_linux.sh
- travis/skip_test.sh
before_script:
- python -c "import fcntl; fcntl.fcntl(1, fcntl.F_SETFL, 0)" # Workaround for nonblocking mode
script:
@ -283,9 +283,9 @@ jobs:
- stage: Build (2nd run)
os: linux
compiler: gcc
env: CONFIG=DefaultRelease LINUX=ubuntu-18.10 COMPILER=gcc
env: CONFIG=DefaultRelease TASK=Test LINUX=ubuntu-18.10 COMPILER=gcc
install:
- travis/install_linux.sh
- travis/skip_test.sh
before_script:
- python -c "import fcntl; fcntl.fcntl(1, fcntl.F_SETFL, 0)" # Workaround for nonblocking mode
script:
@ -298,9 +298,9 @@ jobs:
- stage: Build (2nd run)
os: linux
compiler: gcc
env: CONFIG=DefaultDebugTravis LINUX=ubuntu-19.04 COMPILER=gcc
env: CONFIG=DefaultDebugTravis TASK=TestDocker LINUX=ubuntu-19.04 COMPILER=gcc
install:
- travis/install_linux.sh
- travis/skip_test.sh
before_script:
- python -c "import fcntl; fcntl.fcntl(1, fcntl.F_SETFL, 0)" # Workaround for nonblocking mode
script:
@ -313,9 +313,9 @@ jobs:
- stage: Build (2nd run)
os: linux
compiler: gcc
env: CONFIG=DefaultReleaseTravis LINUX=ubuntu-19.04 COMPILER=gcc
env: CONFIG=DefaultReleaseTravis TASK=TestDockerDoxygen LINUX=ubuntu-19.04 COMPILER=gcc
install:
- travis/install_linux.sh
- travis/skip_test.sh
before_script:
- python -c "import fcntl; fcntl.fcntl(1, fcntl.F_SETFL, 0)" # Workaround for nonblocking mode
script:
@ -328,14 +328,13 @@ jobs:
###
# Stage: Build (3rd run)
###
# ubuntu-18.04 - DefaultDebug
- stage: Build (3rd run)
os: linux
compiler: gcc
env: CONFIG=DefaultDebug LINUX=ubuntu-18.04 COMPILER=gcc
env: CONFIG=DefaultDebug TASK=Test LINUX=ubuntu-18.04 COMPILER=gcc
install:
- travis/install_linux.sh
- travis/skip_test.sh
before_script:
- python -c "import fcntl; fcntl.fcntl(1, fcntl.F_SETFL, 0)" # Workaround for nonblocking mode
script:
@ -348,9 +347,9 @@ jobs:
- stage: Build (3rd run)
os: linux
compiler: gcc
env: CONFIG=DefaultRelease LINUX=ubuntu-18.04 COMPILER=gcc
env: CONFIG=DefaultRelease TASK=Test LINUX=ubuntu-18.04 COMPILER=gcc
install:
- travis/install_linux.sh
- travis/skip_test.sh
before_script:
- python -c "import fcntl; fcntl.fcntl(1, fcntl.F_SETFL, 0)" # Workaround for nonblocking mode
script:
@ -363,9 +362,9 @@ jobs:
- stage: Build (3rd run)
os: linux
compiler: gcc
env: CONFIG=DefaultDebug LINUX=debian-9 COMPILER=gcc
env: CONFIG=DefaultDebug TASK=Test LINUX=debian-9 COMPILER=gcc
install:
- travis/install_linux.sh
- travis/skip_test.sh
before_script:
- python -c "import fcntl; fcntl.fcntl(1, fcntl.F_SETFL, 0)" # Workaround for nonblocking mode
script:
@ -378,9 +377,9 @@ jobs:
- stage: Build (3rd run)
os: linux
compiler: gcc
env: CONFIG=DefaultRelease LINUX=debian-9 COMPILER=gcc
env: CONFIG=DefaultRelease TASK=Test LINUX=debian-9 COMPILER=gcc
install:
- travis/install_linux.sh
- travis/skip_test.sh
before_script:
- python -c "import fcntl; fcntl.fcntl(1, fcntl.F_SETFL, 0)" # Workaround for nonblocking mode
script:
@ -393,9 +392,9 @@ jobs:
- stage: Build (3rd run)
os: linux
compiler: gcc
env: CONFIG=DefaultDebug LINUX=ubuntu-18.10 COMPILER=gcc
env: CONFIG=DefaultDebug TASK=Test LINUX=ubuntu-18.10 COMPILER=gcc
install:
- travis/install_linux.sh
- travis/skip_test.sh
before_script:
- python -c "import fcntl; fcntl.fcntl(1, fcntl.F_SETFL, 0)" # Workaround for nonblocking mode
script:
@ -408,9 +407,9 @@ jobs:
- stage: Build (3rd run)
os: linux
compiler: gcc
env: CONFIG=DefaultRelease LINUX=ubuntu-18.10 COMPILER=gcc
env: CONFIG=DefaultRelease TASK=Test LINUX=ubuntu-18.10 COMPILER=gcc
install:
- travis/install_linux.sh
- travis/skip_test.sh
before_script:
- python -c "import fcntl; fcntl.fcntl(1, fcntl.F_SETFL, 0)" # Workaround for nonblocking mode
script:
@ -423,9 +422,9 @@ jobs:
- stage: Build (3rd run)
os: linux
compiler: gcc
env: CONFIG=DefaultDebugTravis LINUX=ubuntu-19.04 COMPILER=gcc
env: CONFIG=DefaultDebugTravis TASK=TestDocker LINUX=ubuntu-19.04 COMPILER=gcc
install:
- travis/install_linux.sh
- travis/skip_test.sh
before_script:
- python -c "import fcntl; fcntl.fcntl(1, fcntl.F_SETFL, 0)" # Workaround for nonblocking mode
script:
@ -438,9 +437,9 @@ jobs:
- stage: Build (3rd run)
os: linux
compiler: gcc
env: CONFIG=DefaultReleaseTravis LINUX=ubuntu-19.04 COMPILER=gcc
env: CONFIG=DefaultReleaseTravis TASK=TestDockerDoxygen LINUX=ubuntu-19.04 COMPILER=gcc
install:
- travis/install_linux.sh
- travis/skip_test.sh
before_script:
- python -c "import fcntl; fcntl.fcntl(1, fcntl.F_SETFL, 0)" # Workaround for nonblocking mode
script:
@ -453,14 +452,13 @@ jobs:
###
# Stage: Build (4th run)
###
# ubuntu-18.04 - DefaultDebug
- stage: Build (4th run)
os: linux
compiler: gcc
env: CONFIG=DefaultDebug LINUX=ubuntu-18.04 COMPILER=gcc
env: CONFIG=DefaultDebug TASK=Test LINUX=ubuntu-18.04 COMPILER=gcc
install:
- travis/install_linux.sh
- travis/skip_test.sh
before_script:
- python -c "import fcntl; fcntl.fcntl(1, fcntl.F_SETFL, 0)" # Workaround for nonblocking mode
script:
@ -473,9 +471,9 @@ jobs:
- stage: Build (4th run)
os: linux
compiler: gcc
env: CONFIG=DefaultRelease LINUX=ubuntu-18.04 COMPILER=gcc
env: CONFIG=DefaultRelease TASK=Test LINUX=ubuntu-18.04 COMPILER=gcc
install:
- travis/install_linux.sh
- travis/skip_test.sh
before_script:
- python -c "import fcntl; fcntl.fcntl(1, fcntl.F_SETFL, 0)" # Workaround for nonblocking mode
script:
@ -488,9 +486,9 @@ jobs:
- stage: Build (4th run)
os: linux
compiler: gcc
env: CONFIG=DefaultDebug LINUX=debian-9 COMPILER=gcc
env: CONFIG=DefaultDebug TASK=Test LINUX=debian-9 COMPILER=gcc
install:
- travis/install_linux.sh
- travis/skip_test.sh
before_script:
- python -c "import fcntl; fcntl.fcntl(1, fcntl.F_SETFL, 0)" # Workaround for nonblocking mode
script:
@ -503,9 +501,9 @@ jobs:
- stage: Build (4th run)
os: linux
compiler: gcc
env: CONFIG=DefaultRelease LINUX=debian-9 COMPILER=gcc
env: CONFIG=DefaultRelease TASK=Test LINUX=debian-9 COMPILER=gcc
install:
- travis/install_linux.sh
- travis/skip_test.sh
before_script:
- python -c "import fcntl; fcntl.fcntl(1, fcntl.F_SETFL, 0)" # Workaround for nonblocking mode
script:
@ -518,9 +516,9 @@ jobs:
- stage: Build (4th run)
os: linux
compiler: gcc
env: CONFIG=DefaultDebug LINUX=ubuntu-18.10 COMPILER=gcc
env: CONFIG=DefaultDebug TASK=Test LINUX=ubuntu-18.10 COMPILER=gcc
install:
- travis/install_linux.sh
- travis/skip_test.sh
before_script:
- python -c "import fcntl; fcntl.fcntl(1, fcntl.F_SETFL, 0)" # Workaround for nonblocking mode
script:
@ -533,9 +531,9 @@ jobs:
- stage: Build (4th run)
os: linux
compiler: gcc
env: CONFIG=DefaultRelease LINUX=ubuntu-18.10 COMPILER=gcc
env: CONFIG=DefaultRelease TASK=Test LINUX=ubuntu-18.10 COMPILER=gcc
install:
- travis/install_linux.sh
- travis/skip_test.sh
before_script:
- python -c "import fcntl; fcntl.fcntl(1, fcntl.F_SETFL, 0)" # Workaround for nonblocking mode
script:
@ -548,9 +546,9 @@ jobs:
- stage: Build (4th run)
os: linux
compiler: gcc
env: CONFIG=DefaultDebugTravis LINUX=ubuntu-19.04 COMPILER=gcc
env: CONFIG=DefaultDebugTravis TASK=TestDocker LINUX=ubuntu-19.04 COMPILER=gcc
install:
- travis/install_linux.sh
- travis/skip_test.sh
before_script:
- python -c "import fcntl; fcntl.fcntl(1, fcntl.F_SETFL, 0)" # Workaround for nonblocking mode
script:
@ -563,9 +561,9 @@ jobs:
- stage: Build (4th run)
os: linux
compiler: gcc
env: CONFIG=DefaultReleaseTravis LINUX=ubuntu-19.04 COMPILER=gcc
env: CONFIG=DefaultReleaseTravis TASK=TestDockerDoxygen LINUX=ubuntu-19.04 COMPILER=gcc
install:
- travis/install_linux.sh
- travis/skip_test.sh
before_script:
- python -c "import fcntl; fcntl.fcntl(1, fcntl.F_SETFL, 0)" # Workaround for nonblocking mode
script:
@ -576,147 +574,142 @@ jobs:
- find build -iname '*err*.log' -type f -print -exec cat {} \;
###
# Stage: Test all
# Stage: Tasks
###
# ubuntu-18.04 - DefaultDebug
- stage: Test all
- stage: Tasks
os: linux
compiler: gcc
env: CONFIG=DefaultDebug LINUX=ubuntu-18.04 COMPILER=gcc
env: CONFIG=DefaultDebug TASK=Test LINUX=ubuntu-18.04 COMPILER=gcc
install:
- travis/install_linux.sh
- travis/skip_test.sh
before_script:
- python -c "import fcntl; fcntl.fcntl(1, fcntl.F_SETFL, 0)" # Workaround for nonblocking mode
script:
- travis/build.sh TestAll
- travis/build.sh Tasks
before_cache:
- docker cp storm:/opt/storm/. .
after_failure:
- find build -iname '*err*.log' -type f -print -exec cat {} \;
# ubuntu-18.04 - DefaultRelease
- stage: Test all
- stage: Tasks
os: linux
compiler: gcc
env: CONFIG=DefaultRelease LINUX=ubuntu-18.04 COMPILER=gcc
env: CONFIG=DefaultRelease TASK=Test LINUX=ubuntu-18.04 COMPILER=gcc
install:
- travis/install_linux.sh
- travis/skip_test.sh
before_script:
- python -c "import fcntl; fcntl.fcntl(1, fcntl.F_SETFL, 0)" # Workaround for nonblocking mode
script:
- travis/build.sh TestAll
- travis/build.sh Tasks
before_cache:
- docker cp storm:/opt/storm/. .
after_failure:
- find build -iname '*err*.log' -type f -print -exec cat {} \;
# debian-9 - DefaultDebug
- stage: Test all
- stage: Tasks
os: linux
compiler: gcc
env: CONFIG=DefaultDebug LINUX=debian-9 COMPILER=gcc
env: CONFIG=DefaultDebug TASK=Test LINUX=debian-9 COMPILER=gcc
install:
- travis/install_linux.sh
- travis/skip_test.sh
before_script:
- python -c "import fcntl; fcntl.fcntl(1, fcntl.F_SETFL, 0)" # Workaround for nonblocking mode
script:
- travis/build.sh TestAll
- travis/build.sh Tasks
before_cache:
- docker cp storm:/opt/storm/. .
after_failure:
- find build -iname '*err*.log' -type f -print -exec cat {} \;
# debian-9 - DefaultRelease
- stage: Test all
- stage: Tasks
os: linux
compiler: gcc
env: CONFIG=DefaultRelease LINUX=debian-9 COMPILER=gcc
env: CONFIG=DefaultRelease TASK=Test LINUX=debian-9 COMPILER=gcc
install:
- travis/install_linux.sh
- travis/skip_test.sh
before_script:
- python -c "import fcntl; fcntl.fcntl(1, fcntl.F_SETFL, 0)" # Workaround for nonblocking mode
script:
- travis/build.sh TestAll
- travis/build.sh Tasks
before_cache:
- docker cp storm:/opt/storm/. .
after_failure:
- find build -iname '*err*.log' -type f -print -exec cat {} \;
# ubuntu-18.10 - DefaultDebug
- stage: Test all
- stage: Tasks
os: linux
compiler: gcc
env: CONFIG=DefaultDebug LINUX=ubuntu-18.10 COMPILER=gcc
env: CONFIG=DefaultDebug TASK=Test LINUX=ubuntu-18.10 COMPILER=gcc
install:
- travis/install_linux.sh
- travis/skip_test.sh
before_script:
- python -c "import fcntl; fcntl.fcntl(1, fcntl.F_SETFL, 0)" # Workaround for nonblocking mode
script:
- travis/build.sh TestAll
- travis/build.sh Tasks
before_cache:
- docker cp storm:/opt/storm/. .
after_failure:
- find build -iname '*err*.log' -type f -print -exec cat {} \;
# ubuntu-18.10 - DefaultRelease
- stage: Test all
- stage: Tasks
os: linux
compiler: gcc
env: CONFIG=DefaultRelease LINUX=ubuntu-18.10 COMPILER=gcc
env: CONFIG=DefaultRelease TASK=Test LINUX=ubuntu-18.10 COMPILER=gcc
install:
- travis/install_linux.sh
- travis/skip_test.sh
before_script:
- python -c "import fcntl; fcntl.fcntl(1, fcntl.F_SETFL, 0)" # Workaround for nonblocking mode
script:
- travis/build.sh TestAll
- travis/build.sh Tasks
before_cache:
- docker cp storm:/opt/storm/. .
after_failure:
- find build -iname '*err*.log' -type f -print -exec cat {} \;
# ubuntu-19.04 - DefaultDebugTravis
- stage: Test all
- stage: Tasks
os: linux
compiler: gcc
env: CONFIG=DefaultDebugTravis LINUX=ubuntu-19.04 COMPILER=gcc
env: CONFIG=DefaultDebugTravis TASK=TestDocker LINUX=ubuntu-19.04 COMPILER=gcc
install:
- travis/install_linux.sh
- travis/skip_test.sh
before_script:
- python -c "import fcntl; fcntl.fcntl(1, fcntl.F_SETFL, 0)" # Workaround for nonblocking mode
script:
- travis/build.sh TestAll
- travis/build.sh Tasks
before_cache:
- docker cp storm:/opt/storm/. .
after_failure:
- find build -iname '*err*.log' -type f -print -exec cat {} \;
after_success:
- travis/deploy_storm.sh
deploy:
- provider: script
skip_cleanup: true
script: bash travis/deploy_docker.sh storm
# ubuntu-19.04 - DefaultReleaseTravis
- stage: Test all
- stage: Tasks
os: linux
compiler: gcc
env: CONFIG=DefaultReleaseTravis LINUX=ubuntu-19.04 COMPILER=gcc
env: CONFIG=DefaultReleaseTravis TASK=TestDockerDoxygen LINUX=ubuntu-19.04 COMPILER=gcc
install:
- travis/install_linux.sh
- travis/skip_test.sh
before_script:
- python -c "import fcntl; fcntl.fcntl(1, fcntl.F_SETFL, 0)" # Workaround for nonblocking mode
script:
- travis/build.sh TestAll
- travis/build.sh Tasks
before_cache:
- docker cp storm:/opt/storm/. .
after_failure:
- find build -iname '*err*.log' -type f -print -exec cat {} \;
after_success:
- travis/deploy_storm.sh
allow_failures:
- stage: Build (1st run)
os: linux
env: CONFIG=DefaultReleaseTravis LINUX=ubuntu-19.04 COMPILER=gcc
- stage: Build (2nd run)
os: linux
env: CONFIG=DefaultReleaseTravis LINUX=ubuntu-19.04 COMPILER=gcc
- stage: Build (3rd run)
os: linux
env: CONFIG=DefaultReleaseTravis LINUX=ubuntu-19.04 COMPILER=gcc
- stage: Build (4th run)
os: linux
env: CONFIG=DefaultReleaseTravis LINUX=ubuntu-19.04 COMPILER=gcc
- stage: Test all
os: linux
env: CONFIG=DefaultReleaseTravis LINUX=ubuntu-19.04 COMPILER=gcc
deploy:
- provider: script
skip_cleanup: true
script: bash travis/deploy_docker.sh storm
- provider: pages
skip_cleanup: true
github_token: $GITHUB_TOKEN
local_dir: build/doc/html/
repo: moves-rwth/storm-doc
target_branch: master
on:
branch: master

9
travis/build.sh

@ -37,6 +37,11 @@ linux)
docker run -d -it --name storm --privileged movesrwth/storm-basesystem:$LINUX
;;
esac
# Install doxygen if necessary
if [[ "$TASK" == *Doxygen* ]]
then
docker exec storm apt-get install -qq -y doxygen
fi
# Copy local content into container
docker exec storm mkdir /opt/storm
docker cp . storm:/opt/storm
@ -45,6 +50,7 @@ linux)
# Execute main process
docker exec storm bash -c "
export CONFIG=$CONFIG;
export TASK=$TASK;
export COMPILER=$COMPILER;
export N_JOBS=$N_JOBS;
export STLARG=;
@ -57,7 +63,8 @@ linux)
osx)
# Mac OSX
STLARG="-stdlib=libc++"
export CONFIG=$CONFIG
export CONFIG
export TASK
export COMPILER
export N_JOBS
export STLARG

59
travis/build_helper.sh

@ -53,27 +53,44 @@ run() {
fi
;;
TestAll)
# Test all
travis_fold start test_all
cd build
ctest test --output-on-failure
travis_fold end test_all
# Check correctness of build types
echo "Checking correctness of build types"
case "$CONFIG" in
DefaultDebug*)
./bin/storm --version | grep "with flags .* -g" || (echo "Error: Missing flag '-g' for debug build." && return 1)
;;
DefaultRelease*)
./bin/storm --version | grep "with flags .* -O3" || (echo "Error: Missing flag '-O3' for release build." && return 1)
./bin/storm --version | grep "with flags .* -DNDEBUG" || (echo "Error: Missing flag '-DNDEBUG' for release build." && return 1)
;;
*)
echo "Unrecognized value of CONFIG: $CONFIG"; exit 1
;;
esac
Tasks)
# Perform tasks
if [[ "$TASK" == *Test* ]]
then
# Test all
travis_fold start test_all
cd build
ctest test --output-on-failure
travis_fold end test_all
# Check correctness of build types
echo "Checking correctness of build types"
case "$CONFIG" in
DefaultDebug*)
./bin/storm --version | grep "with flags .* -g" || (echo "Error: Missing flag '-g' for debug build." && return 1)
;;
DefaultRelease*)
./bin/storm --version | grep "with flags .* -O3" || (echo "Error: Missing flag '-O3' for release build." && return 1)
./bin/storm --version | grep "with flags .* -DNDEBUG" || (echo "Error: Missing flag '-DNDEBUG' for release build." && return 1)
;;
*)
echo "Unrecognized value of CONFIG: $CONFIG"
exit 1
esac
cd ..
fi
if [[ "$TASK" == *Doxygen* ]]
then
# Generate doxygen doc
travis_fold start make_doc
cd build
make -j$N_JOBS doc
# Disable jekyll as otherwise files with starting underscore are not published
echo "" > doc/html/.nojekyll
cd ..
travis_fold end make_doc
fi
;;
*)

13
travis/deploy_carl.sh → travis/deploy_docker.sh

@ -15,18 +15,20 @@ if [ "${TRAVIS_PULL_REQUEST}" != "false" ]; then
exit 0;
fi
echo "Deploying $1 to Dockerhub"
case $OS in
linux)
echo "$DOCKER_PASSWORD" | docker login -u "$DOCKER_USERNAME" --password-stdin
# Deploy as debug/release
case "$CONFIG" in
*DebugTravis)
docker commit carl movesrwth/carl:travis-debug
docker push movesrwth/carl:travis-debug
docker commit $1 movesrwth/$1:travis-debug
docker push movesrwth/$1:travis-debug
;;
*ReleaseTravis)
docker commit carl movesrwth/carl:travis
docker push movesrwth/carl:travis
docker commit $1 movesrwth/$1:travis
docker push movesrwth/$1:travis
;;
*)
echo "Unrecognized value of CONFIG: $CONFIG"; exit 1
@ -35,7 +37,7 @@ linux)
;;
osx)
echo "Building carl on Mac OSX not used."
echo "Docker deployment on Mac OSX not used."
exit 1
;;
@ -44,4 +46,3 @@ osx)
echo "Unsupported OS: $OS"
exit 1
esac

47
travis/deploy_storm.sh

@ -1,47 +0,0 @@
#!/bin/bash -x
set -e
OS=$TRAVIS_OS_NAME
# Do not deploy if credentials are not given
if [ "${TRAVIS_SECURE_ENV_VARS}" == "false" ]; then
echo "WARNING: Not deploying as no credentials are given."
exit 0;
fi
# Do not deploy for pull requests
if [ "${TRAVIS_PULL_REQUEST}" != "false" ]; then
exit 0;
fi
case $OS in
linux)
echo "$DOCKER_PASSWORD" | docker login -u "$DOCKER_USERNAME" --password-stdin
# Deploy as debug/release
case "$CONFIG" in
*DebugTravis)
docker commit storm movesrwth/storm:travis-debug
docker push movesrwth/storm:travis-debug
;;
*ReleaseTravis)
docker commit storm movesrwth/storm:travis
docker push movesrwth/storm:travis
;;
*)
echo "Unrecognized value of CONFIG: $CONFIG"; exit 1
;;
esac
;;
osx)
echo "Building Storm on Mac OSX not used."
exit 1
;;
*)
# Unknown OS
echo "Unsupported OS: $OS"
exit 1
esac

151
travis/generate_travis.py

@ -1,38 +1,37 @@
# Generate .travis.yml automatically
# Configuration for Linux
configs_linux = [
# OS, compiler, build type
("ubuntu-18.04", "gcc", "DefaultDebug"),
("ubuntu-18.04", "gcc", "DefaultRelease"),
("debian-9", "gcc", "DefaultDebug"),
("debian-9", "gcc", "DefaultRelease"),
("ubuntu-18.10", "gcc", "DefaultDebug"),
("ubuntu-18.10", "gcc", "DefaultRelease"),
("ubuntu-19.04", "gcc", "DefaultDebugTravis"),
("ubuntu-19.04", "gcc", "DefaultReleaseTravis"),
]
# Configurations for Mac
configs_mac = [
# OS, compiler, build type
# ("osx", "clang", "DefaultDebug"),
# ("osx", "clang", "DefaultRelease"),
configs = [
# OS, OS version, compiler, build type, task
("ubuntu", "18.04", "gcc", "DefaultDebug", "Test"),
("ubuntu", "18.04", "gcc", "DefaultRelease", "Test"),
("debian", "9", "gcc", "DefaultDebug", "Test"),
("debian", "9", "gcc", "DefaultRelease", "Test"),
("ubuntu", "18.10", "gcc", "DefaultDebug", "Test"),
("ubuntu", "18.10", "gcc", "DefaultRelease", "Test"),
("ubuntu", "19.04", "gcc", "DefaultDebugTravis", "TestDocker"),
("ubuntu", "19.04", "gcc", "DefaultReleaseTravis", "TestDockerDoxygen"),
# ("osx", "xcode9.3", "clang", "DefaultDebug", "Test"),
# ("osx", "xcode9.3", "clang", "DefaultRelease", "Test"),
]
# Stages in travis
stages = [
build_stages = [
("Build (1st run)", "Build1"),
("Build (2nd run)", "Build2"),
("Build (3rd run)", "Build3"),
("Build (4th run)", "BuildLast"),
("Test all", "TestAll"),
("Tasks", "Tasks"),
]
def get_env_string(os, os_version, compiler, build_type, task):
if os == "osx":
return "CONFIG={} TASK={} COMPILER={} STL=libc++\n".format(build_type, task, compiler)
else:
return "CONFIG={} TASK={} LINUX={} COMPILER={}\n".format(build_type, task, "{}-{}".format(os, os_version), compiler)
if __name__ == "__main__":
allow_failures = []
if __name__ == "__main__":
s = ""
# Initial config
s += "#\n"
@ -43,7 +42,6 @@ if __name__ == "__main__":
s += " - master\n"
s += " - stable\n"
s += "sudo: required\n"
s += "dist: trusty\n"
s += "language: cpp\n"
s += "\n"
s += "git:\n"
@ -79,97 +77,80 @@ if __name__ == "__main__":
s += " ###\n"
s += " # Stage: Build Carl\n"
s += " ###\n"
s += "\n"
for config in configs_linux:
linux = config[0]
compiler = config[1]
build_type = config[2]
for config in configs:
os, os_version, compiler, build_type, task = config
os_type = "osx" if os == "osx" else "linux"
if "Travis" in build_type:
s += " # {} - {}\n".format(linux, build_type)
s += " # {}-{} - {}\n".format(os, os_version, build_type)
buildConfig = ""
buildConfig += " - stage: Build Carl\n"
buildConfig += " os: linux\n"
buildConfig += " os: {}\n".format(os_type)
buildConfig += " compiler: {}\n".format(compiler)
buildConfig += " env: CONFIG={} LINUX={} COMPILER={}\n".format(build_type, linux, compiler)
buildConfig += " install:\n"
buildConfig += " - travis/install_linux.sh\n"
buildConfig += " env: {}".format(get_env_string(os, os_version, compiler, build_type, task))
buildConfig += " before_script:\n"
buildConfig += ' - python -c "import fcntl; fcntl.fcntl(1, fcntl.F_SETFL, 0)" # Workaround for nonblocking mode\n'
buildConfig += " script:\n"
buildConfig += " - travis/build_carl.sh\n"
buildConfig += " before_cache:\n"
buildConfig += " - docker cp carl:/opt/carl/. .\n"
# Upload to DockerHub
buildConfig += " after_success:\n"
buildConfig += " - travis/deploy_carl.sh\n"
buildConfig += " deploy:\n"
buildConfig += " - provider: script\n"
buildConfig += " skip_cleanup: true\n"
buildConfig += " script: bash travis/deploy_docker.sh carl\n"
s += buildConfig
# Generate all configurations
for stage in stages:
# Generate all build configurations
for stage in build_stages:
s += "\n"
s += " ###\n"
s += " # Stage: {}\n".format(stage[0])
s += " ###\n"
s += "\n"
# Mac OS X
for config in configs_mac:
osx = config[0]
compiler = config[1]
build_type = config[2]
s += " # {} - {}\n".format(osx, build_type)
for config in configs:
os, os_version, compiler, build_type, task = config
os_type = "osx" if os == "osx" else "linux"
s += " # {}-{} - {}\n".format(os, os_version, build_type)
buildConfig = ""
buildConfig += " - stage: {}\n".format(stage[0])
buildConfig += " os: osx\n"
buildConfig += " osx_image: xcode9.1\n"
buildConfig += " os: {}\n".format(os_type)
if os_type == "osx":
buildConfig += " osx_image: {}\n".format(os_version)
buildConfig += " compiler: {}\n".format(compiler)
buildConfig += " env: CONFIG={} COMPILER={} STL=libc++\n".format(build_type, compiler)
buildConfig += " env: {}".format(get_env_string(os, os_version, compiler, build_type, task))
buildConfig += " install:\n"
if stage[1] == "Build1":
buildConfig += " - rm -rf build\n"
buildConfig += " - travis/install_osx.sh\n"
buildConfig += " - travis/skip_test.sh\n"
if os_type == "osx":
buildConfig += " - travis/install_osx.sh\n"
buildConfig += " before_script:\n"
buildConfig += ' - python -c "import fcntl; fcntl.fcntl(1, fcntl.F_SETFL, 0)" # Workaround for nonblocking mode\n'
buildConfig += " script:\n"
buildConfig += " - travis/build.sh {}\n".format(stage[1])
if os_type == "linux":
buildConfig += " before_cache:\n"
buildConfig += " - docker cp storm:/opt/storm/. .\n"
buildConfig += " after_failure:\n"
buildConfig += " - find build -iname '*err*.log' -type f -print -exec cat {} \;\n"
s += buildConfig
# Linux via Docker
for config in configs_linux:
allow_fail = ""
linux = config[0]
compiler = config[1]
build_type = config[2]
s += " # {} - {}\n".format(linux, build_type)
buildConfig = ""
buildConfig += " - stage: {}\n".format(stage[0])
allow_fail += " - stage: {}\n".format(stage[0])
buildConfig += " os: linux\n"
allow_fail += " os: linux\n"
buildConfig += " compiler: {}\n".format(compiler)
buildConfig += " env: CONFIG={} LINUX={} COMPILER={}\n".format(build_type, linux, compiler)
allow_fail += " env: CONFIG={} LINUX={} COMPILER={}\n".format(build_type, linux, compiler)
buildConfig += " install:\n"
if stage[1] == "Build1":
buildConfig += " - rm -rf build\n"
buildConfig += " - travis/install_linux.sh\n"
buildConfig += " before_script:\n"
buildConfig += ' - python -c "import fcntl; fcntl.fcntl(1, fcntl.F_SETFL, 0)" # Workaround for nonblocking mode\n'
buildConfig += " script:\n"
buildConfig += " - travis/build.sh {}\n".format(stage[1])
buildConfig += " before_cache:\n"
buildConfig += " - docker cp storm:/opt/storm/. .\n"
buildConfig += " after_failure:\n"
buildConfig += " - find build -iname '*err*.log' -type f -print -exec cat {} \;\n"
# Upload to DockerHub
if stage[1] == "TestAll" and "Travis" in build_type:
buildConfig += " after_success:\n"
buildConfig += " - travis/deploy_storm.sh\n"
# Deployment
if stage[1] == "Tasks":
if "Docker" in task or "Doxygen" in task:
buildConfig += " deploy:\n"
if "Docker" in task:
buildConfig += " - provider: script\n"
buildConfig += " skip_cleanup: true\n"
buildConfig += " script: bash travis/deploy_docker.sh storm\n"
if "Doxygen" in task:
buildConfig += " - provider: pages\n"
buildConfig += " skip_cleanup: true\n"
buildConfig += " github_token: $GITHUB_TOKEN\n"
buildConfig += " local_dir: build/doc/html/\n"
buildConfig += " repo: moves-rwth/storm-doc\n"
buildConfig += " target_branch: master\n"
buildConfig += " on:\n"
buildConfig += " branch: master\n"
s += buildConfig
if "Travis" in build_type and "Release" in build_type:
allow_failures.append(allow_fail)
if len(allow_failures) > 0:
s += " allow_failures:\n"
for fail in allow_failures:
s += fail
print(s)

3
travis/mtime_cache/globs.txt

@ -1,5 +1,8 @@
src/**/*.{%{cpp}}
src/**/*.{in}
src/**/CMakeLists.txt
CMakeLists.txt
*.{in}
resources/3rdparty/**/*.{%{cpp}}
resources/3rdparty/eigen-3.3-beta1/StormEigen/**/*
resources/3rdparty/eigen-3.3-beta1/unsupported/**/*

5
travis/install_linux.sh → travis/skip_test.sh

@ -1,11 +1,6 @@
#!/bin/bash
set -e
# Skip this run?
if [ -f build/skip.txt ]
then
exit 0
fi
#sudo apt-get install -qq -y docker
Loading…
Cancel
Save