Replace CVC4_THREADLOCAL in interactive_shell (#1065)
[cvc5.git] / .travis.yml
1 language: cpp
2 cache:
3 apt: true
4
5 # We need more than 4G memory for compiling CVC4. Hence, we cannot switch
6 # to container-based virtualization environments since they only provide 4G of
7 # memory. We will stick with the VM-based environments for now.
8 sudo: required
9 dist: trusty
10
11 compiler:
12 - gcc
13 - clang
14 env:
15 global:
16 # The next declaration is the encrypted COVERITY_SCAN_TOKEN, created
17 # via the "travis encrypt" command using the project repo's public key
18 - secure: "fRfdzYwV10VeW5tVSvy5qpR8ZlkXepR7XWzCulzlHs9SRI2YY20BpzWRjyMBiGu2t7IeJKT7qdjq/CJOQEM8WS76ON7QJ1iymKaRDewDs3OhyPJ71fsFKEGgLky9blk7I9qZh23hnRVECj1oJAVry9IK04bc2zyIEjUYpjRkUAQ="
19 - TEST_GROUPS=2
20 matrix:
21 - TRAVIS_CVC4=yes TRAVIS_CVC4_CHECK_PORTFOLIO=yes TRAVIS_WITH_LFSC=yes TRAVIS_CVC4_JAVA_API_TEST=yes TRAVIS_CVC4_CONFIG='production --enable-language-bindings=java,c --with-lfsc --with-portfolio --enable-gpl'
22 - TRAVIS_CVC4=yes TRAVIS_CVC4_CHECK_PORTFOLIO=yes TRAVIS_WITH_LFSC=yes TRAVIS_CVC4_JAVA_API_TEST=yes TRAVIS_CVC4_CONFIG='debug --enable-language-bindings=java,c --with-lfsc --with-portfolio --enable-gpl' TEST_GROUP=0
23 - TRAVIS_CVC4=yes TRAVIS_CVC4_CHECK_PORTFOLIO=yes TRAVIS_WITH_LFSC=yes TRAVIS_CVC4_CONFIG='debug --enable-language-bindings=java,c --with-lfsc --with-portfolio --enable-gpl' TEST_GROUP=1
24 - TRAVIS_CVC4=yes TRAVIS_CVC4_CONFIG='--disable-proof'
25 - TRAVIS_CVC4=yes TRAVIS_CVC4_DISTCHECK=yes TRAVIS_CVC4_CONFIG='--enable-proof'
26 addons:
27 apt:
28 sources:
29 - ubuntu-toolchain-r-test
30 packages: &common_deps
31 - libgmp-dev
32 - libboost-dev
33 - libboost-thread-dev
34 - swig
35 - libcln-dev
36 - openjdk-7-jdk
37 - antlr3
38 - libantlr3c-dev
39 - ant-optional
40 - cxxtest
41 - libreadline-dev
42 before_script:
43 - export JAVA_HOME=/usr/lib/jvm/java-7-openjdk-amd64
44 - export PATH=$PATH:$JAVA_HOME/bin
45 - export JAVA_CPPFLAGS=-I$JAVA_HOME/include
46 - ./autogen.sh
47 script:
48 - |
49 echo "travis_fold:start:load_script"
50 normal="$(echo -e '\033[0m')" red="$normal$(echo -e '\033[01;31m')" green="$normal$(echo -e '\033[01;32m')"
51 configureCVC4() {
52 echo "CVC4 config - $TRAVIS_CVC4_CONFIG";
53 ./configure --enable-unit-testing $TRAVIS_CVC4_CONFIG ||
54 (echo; echo "Trying to print config.log"; cat builds/config.log; error "CONFIGURE FAILED");
55 }
56 error() {
57 echo;
58 echo "${red}${1}${normal}";
59 echo;
60 exit 1;
61 }
62 makeDistcheck() {
63 make V=1 -j2 distcheck CVC4_REGRESSION_ARGS='--no-early-exit' ||
64 error "DISTCHECK (WITH NEWTHEORY TESTS) FAILED";
65 }
66 makeCheck() {
67 make V=1 -j2 check CVC4_REGRESSION_ARGS='--no-early-exit' || error "BUILD/TEST FAILED";
68 }
69 makeCheckPortfolio() {
70 make V=1 -j2 check BINARY=pcvc4 CVC4_REGRESSION_ARGS='--fallback-sequential --no-early-exit' RUN_REGRESSION_ARGS= ||
71 error "PORTFOLIO TEST FAILED";
72 }
73 JavaApiTest() {
74 pushd test/java
75 local status=0
76 ant || status=1
77 popd
78 return $status
79 }
80 makeExamples() {
81 make V=1 -j2 examples || error "COULD NOT BUILD EXAMPLES${normal}";
82 }
83 addNewTheoryTest() {
84 contrib/new-theory test_newtheory || error "NEWTHEORY FAILED";
85 grep -q '^THEORIES *=.* test_newtheory' src/Makefile.theories || error "NEWTHEORY FAILED";
86 contrib/new-theory --alternate test_newtheory test_newalttheory || error "NEWTHEORY-ALTERNATE FAILED";
87 grep -q '^THEORIES *=.* test_newalttheory' src/Makefile.theories || error "NEWTHEORY-ALTERNATE FAILED";
88 }
89 run() {
90 echo "travis_fold:start:$1"
91 echo "Running $1"
92 $1 || exit 1
93 echo "travis_fold:end:$1"
94 }
95 [ -n "$TRAVIS_CVC4" ] && [ -n "$TRAVIS_WITH_LFSC" ] && run contrib/get-lfsc-checker
96 [ -n "$TRAVIS_CVC4" ] && [ -n "$TRAVIS_CVC4_DISTCHECK" ] && run addNewTheoryTest
97 [ -n "$TRAVIS_CVC4" ] && run configureCVC4
98 [ -n "$TRAVIS_CVC4" ] && [ -n "$TRAVIS_CVC4_DISTCHECK" ] && run makeDistcheck
99 [ -n "$TRAVIS_CVC4" ] && [ -z "$TRAVIS_CVC4_DISTCHECK" ] && run makeCheck && run makeExamples
100 [ -n "$TRAVIS_CVC4" ] && [ -n "$TRAVIS_CVC4_CHECK_PORTFOLIO" ] && run makeCheckPortfolio
101 # [ -n "$TRAVIS_CVC4" ] && [ -n "$TRAVIS_CVC4_JAVA_API_TEST" ] && run JavaApiTest
102 [ -n "$TRAVIS_COVERITY" ] && echo "Running coverity. Skipping the normal build."
103 [ -z "$TRAVIS_CVC4" ] && [ -z "$TRAVIS_COVERITY" ] && error "Unknown Travis-CI configuration"
104 echo "travis_fold:end:load_script"
105 - echo; echo "${green}EVERYTHING SEEMED TO PASS!${normal}"
106 matrix:
107 fast_finish: true
108 # Rule for running Coverity Scan.
109 include:
110 - os: linux
111 compiler: gcc
112 env:
113 - TRAVIS_COVERITY=yes CVC4_REGRESSION_ARGS='--no-early-exit'
114 addons:
115 # Need to duplicate as addons will be over written.
116 apt:
117 sources:
118 - ubuntu-toolchain-r-test
119 packages:
120 - *common_deps
121 coverity_scan:
122 project:
123 name: "CVC4/CVC4"
124 description: "Build submitted via Travis CI"
125 notification_email: timothy.alan.king@gmail.com
126 build_command_prepend: "./autogen.sh; ./configure --enable-unit-testing --enable-proof"
127 build_command: "make V=1 -j4"
128 branch_pattern: coverity_scan
129 after_failure:
130 - cat /home/travis/build/CVC4/CVC4/cov-int/build-log.txt
131 notifications:
132 email:
133 on_success: change
134 on_failure: always