Lazy evaluation via rec-funs of ITE expressions (#3482)
[cvc5.git] / .travis.yml
1 language: cpp
2 cache:
3 - apt
4 - ccache
5
6 sudo: false
7 dist: xenial
8
9 env:
10 global:
11 - CCACHE_COMPRESS=1
12 addons:
13 apt:
14 sources:
15 - ubuntu-toolchain-r-test
16 packages: &common_deps
17 - antlr3
18 - cmake
19 - cxxtest
20 - junit4
21 - libantlr3c-dev
22 - libcln-dev
23 - libgmp-dev
24 - libhamcrest-java
25 - openjdk-8-jdk
26 - swig3.0
27 before_install:
28 - eval "${MATRIX_EVAL}"
29 # Clang does not play nice with ccache (at least the versions offered by
30 # Travis), use a workaround:
31 # https://github.com/travis-ci/travis-ci/issues/5383#issuecomment-224630584
32 - |
33 if [ "$TRAVIS_OS_NAME" == "linux" ] && [ "$CXX" == "clang++" ]; then
34 export CFLAGS="-Qunused-arguments"
35 export CXXFLAGS="-Qunused-arguments"
36 sudo ln -s $(which ccache) /usr/lib/ccache/clang
37 sudo ln -s $(which ccache) /usr/lib/ccache/clang++
38 fi
39 before_script:
40 export JAVA_HOME=/usr/lib/jvm/java-8-openjdk-amd64
41 script:
42 - ccache -M 1G
43 - ccache -z
44 - ${CC} --version
45 - ${CXX} --version
46 - |
47 echo "travis_fold:start:load_script"
48 normal="$(echo -e '\033[0m')" red="$normal$(echo -e '\033[01;31m')" green="$normal$(echo -e '\033[01;32m')"
49 configureCVC4() {
50 echo "CVC4 config - $TRAVIS_CVC4_CONFIG";
51 ./configure.sh --name=build --prefix=$(pwd)/build/install --unit-testing $TRAVIS_CVC4_CONFIG
52 }
53 error() {
54 echo;
55 echo "${red}${1}${normal}";
56 echo;
57 exit 1;
58 }
59 makeCheck() {
60 (
61 cd build
62 make -j2 check ARGS='-LE regress[1-4]' CVC4_REGRESSION_ARGS='--no-early-exit' || error "BUILD/UNIT/SYSTEM/REGRESSION TEST FAILED"
63 )
64 }
65 makeExamples() {
66 (
67 cd examples
68 mkdir build
69 cd build
70 cmake .. -DCMAKE_PREFIX_PATH=$(pwd)/../../build/install/lib/cmake
71 make -j2
72 ctest -j2 --output-on-failure || error "RUNNING EXAMPLES FAILED"
73 )
74 }
75 makeInstallCheck() {
76 (
77 cd build
78 make install -j2
79 echo -e "#include <cvc4/cvc4.h>\nint main() { CVC4::ExprManager em; return 0; }" > /tmp/test.cpp
80 $CXX -std=c++11 /tmp/test.cpp -I install/include -L install/lib -lcvc4 -lcln || exit 1
81 )
82 }
83 run() {
84 echo "travis_fold:start:$1"
85 echo "Running $1"
86 $1 || exit 1
87 echo "travis_fold:end:$1"
88 }
89 [[ "$TRAVIS_CVC4_CONFIG" == *"symfpu"* ]] && CVC4_SYMFPU_BUILD="yes"
90 [ -n "$CVC4_SYMFPU_BUILD" ] && run contrib/get-symfpu
91 [ -n "$TRAVIS_CVC4" ] && [ -n "$TRAVIS_WITH_LFSC" ] && run contrib/get-lfsc-checker
92 [ -n "$TRAVIS_CVC4" ] && run configureCVC4
93 [ -n "$TRAVIS_CVC4" ] && run makeCheck
94 [ -z "$CVC4_SYMFPU_BUILD" ] && run makeInstallCheck && run makeExamples
95 [ -z "$TRAVIS_CVC4" ] && error "Unknown Travis-CI configuration"
96 echo "travis_fold:end:load_script"
97 - echo; echo "${green}EVERYTHING SEEMED TO PASS!${normal}"
98 - ccache -s
99 matrix:
100 fast_finish: true
101 include:
102 # Test with GCC
103 - compiler: gcc
104 env:
105 - TRAVIS_CVC4=yes TRAVIS_WITH_LFSC=yes TRAVIS_CVC4_CONFIG='production --language-bindings=java --lfsc'
106 - compiler: gcc
107 env:
108 - TRAVIS_CVC4=yes TRAVIS_WITH_LFSC=yes TRAVIS_CVC4_CONFIG='debug --symfpu --lfsc --no-debug-symbols'
109
110 #
111 # Test with Clang
112 - compiler: clang
113 env:
114 - TRAVIS_CVC4=yes TRAVIS_WITH_LFSC=yes TRAVIS_CVC4_CONFIG='debug --symfpu --cln --gpl --no-debug-symbols --no-proofs'
115 notifications:
116 email:
117 on_success: change
118 on_failure: always