-
Notifications
You must be signed in to change notification settings - Fork 46
/
.travis.yml
84 lines (84 loc) · 2.98 KB
/
.travis.yml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
dist: trusty
sudo: required
language: cpp
compiler:
- clang
# Change this to your needs
notifications:
email:
on_success: change
on_failure: always
env:
- secure: "BbB1KVY0Yb6DJwxdfFDF1PJwSx9euNfNX94oDKftiH8LE0nEzfS6xZc2sBkWTWOThHml9ttBkDIx/NhxEThOjyVcX6uv4kibP6moV5EqxqC+kLoZSEZnVuAdTJfGRKBdzmRp66R5a/GiMzzz/F3+smdVFMb6XR06sPQa5TQZjEc="
git:
submodules: false
before_install:
- sudo apt-add-repository -y ppa:libreoffice/libreoffice-4-2
- sudo apt-get update -q
- sudo apt-get install -y -qq lcov curl doxygen graphviz
- lscpu
- CLOCK_SPEED=`lscpu | grep "MHz" | awk '{print $3*1000*1000}'`
- echo $CLOCK_SPEED
- sh ./conf/travis-install-mpi.sh mpich2
- mpirun --version
script:
- mkdir cxx-build && cd cxx-build
- cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_C_FLAGS="-Wall -Wextra" ..
- export MPICH_CC=clang++
- make
- unset MPICH_CC
- cd ..
- mkdir release && cd release
- MPICH_CC=clang cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_C_FLAGS="-Wall -Wextra" -DROSS_BUILD_MODELS=ON ..
- make
- CTEST_OUTPUT_ON_FAILURE=1 make test
- cd ..
- mkdir build-gtod && cd build-gtod
- MPICH_CC=clag cmake -DCOVERALLS=ON -DCMAKE_BUILD_TYPE=Debug -DCMAKE_C_FLAGS="-Wall -Wextra" -DROSS_BUILD_MODELS=ON -DROSS_CLOCK_OVERRIDE=ON ..
- make
- CTEST_OUTPUT_ON_FAILURE=1 ctest -R SCHED
- make coveralls
- cd ..
- mkdir build && cd build
- MPICH_CC=clang cmake -DCOVERALLS=ON -DCMAKE_BUILD_TYPE=Debug -DCMAKE_C_FLAGS="-Wall -Wextra" -DROSS_BUILD_MODELS=ON ..
- make
- CTEST_OUTPUT_ON_FAILURE=1 make test
- make coveralls
- cd ..
- mkdir build2 && cd build2
- MPICH_CC=clang cmake -DAVL_TREE=OFF -DCOVERALLS=ON -DCMAKE_BUILD_TYPE=Debug -DCMAKE_C_FLAGS="-Wall -Wextra" -DROSS_BUILD_MODELS=ON ..
- make
- CTEST_OUTPUT_ON_FAILURE=1 make test
- make coveralls
branches:
only:
- master
- develop
after_success:
- bash <(curl -s https://codecov.io/bash)
- ## the following automatically builds the doxygen
- ## documentation and pushes it to the gh_pages branch
- ## Shamelessly stolen from http://bit.ly/1H1sawW
-
- # First, set up credentials using the environment variables
- # GIT_NAME, GIT_EMAIL and GH_TOKEN. These were passed
- # encrypted to travis and should have been decrypted
- # using travis' private key before this script was run.
- git config --global user.name "ROSS bot"
- git config --global user.email [email protected]
-
- # clone the whole repo again, but switch to gh_pages branch
- git clone -b master --single-branch https://github.com/ross-org/ross-org.github.io
- cd ross-org.github.io
- git clone -b master --single-branch https://github.com/ross-org/ROSS
- cd ROSS
- mkdir build && cd build
- cmake -DROSS_BUILD_DOXYGEN=ON -DDOXYGEN_CALLER_GRAPHS=ON -DDOXYGEN_CALL_GRAPHS=ON ..
- make apidoc
- cd ../..
- git rm -r ROSS-docs
- mkdir -p ROSS-docs/docs
- mv ROSS/build/docs/html ROSS-docs/docs
- git add ROSS-docs
- git commit -m "Automatic doxygen build."
- git push https://${GH_TOKEN}@github.com/ROSS-org/ross-org.github.io master