Updating the travis file for coverity scan.
[cvc5.git] / .travis.yml
1 language: cpp
2 cache:
3 apt: true
4 directories:
5 - $HOME/cxxtest
6
7 sudo: required
8 dist: trusty
9
10 compiler:
11 - gcc
12 - clang
13 env:
14 global:
15 # The next declaration is the encrypted COVERITY_SCAN_TOKEN, created
16 # via the "travis encrypt" command using the project repo's public key
17 - secure: "fRfdzYwV10VeW5tVSvy5qpR8ZlkXepR7XWzCulzlHs9SRI2YY20BpzWRjyMBiGu2t7IeJKT7qdjq/CJOQEM8WS76ON7QJ1iymKaRDewDs3OhyPJ71fsFKEGgLky9blk7I9qZh23hnRVECj1oJAVry9IK04bc2zyIEjUYpjRkUAQ="
18 - TRAVIS_CVC4=yes CXXFLAGS='-std=gnu++11'
19 - TRAVIS_CVC4=yes TRAVIS_CVC4_CONFIG='production --enable-language-bindings=java,c'
20 - TRAVIS_CVC4=yes TRAVIS_CVC4_CONFIG='debug --enable-language-bindings=java,c'
21 - TRAVIS_CVC4=yes TRAVIS_CVC4_DISTCHECK=yes
22 - TRAVIS_LFSC=yes
23 - TRAVIS_LFSC=yes TRAVIS_LFSC_DISTCHECK=yes
24 addons:
25 apt:
26 sources:
27 - ubuntu-toolchain-r-test
28 packages:
29 - libgmp-dev
30 - libboost-dev
31 - libboost-thread-dev
32 - swig
33 - libcln-dev
34 - openjdk-7-jdk
35 - antlr3
36 - libantlr3c-dev
37 install:
38 # Download and cache a copy of cxxtest until it appears officially in quantal.
39 - wget http://sourceforge.net/projects/cxxtest/files/cxxtest/4.3/cxxtest-4.3.tar.gz
40 - tar -xzvf cxxtest-4.3.tar.gz
41 - cp -vRT cxxtest-4.3 $HOME/cxxtest
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 --enable-proof --with-portfolio $TRAVIS_CVC4_CONFIG CXXTEST=$HOME/cxxtest ||
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' DISTCHECK_CONFIGURE_FLAGS="CXXTEST=$HOME/cxxtest" ||
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 check V=1 BINARY=pcvc4 CVC4_REGRESSION_ARGS='--fallback-sequential --no-early-exit' RUN_REGRESSION_ARGS= ||
71 error "PORTFOLIO TEST FAILED";
72 }
73 makeExamples() {
74 make V=1 -j2 examples || error "COULD NOT BUILD EXAMPLES${normal}";
75 }
76 addNewTheoryTest() {
77 contrib/new-theory test_newtheory || error "NEWTHEORY FAILED";
78 grep -q '^THEORIES *=.* test_newtheory' src/Makefile.theories || error "NEWTHEORY FAILED";
79 contrib/new-theory --alternate test_newtheory test_newalttheory || error "NEWTHEORY-ALTERNATE FAILED";
80 grep -q '^THEORIES *=.* test_newalttheory' src/Makefile.theories || error "NEWTHEORY-ALTERNATE FAILED";
81 }
82 LFSCchecks() {
83 cd proofs/lfsc_checker &&
84 (./configure || (echo; cat builds/config.log; echo; echo "${red}CONFIGURE FAILED${normal}"; exit 1)) &&
85 if [ -n "$TRAVIS_LFSC_DISTCHECK" ]; then
86 make -j2 distcheck || (echo; echo "${red}LFSC DISTCHECK FAILED${normal}"; echo; exit 1);
87 else
88 make -j2 || (echo; echo "${red}LFSC BUILD FAILED${normal}"; echo; exit 1);
89 fi;
90 }
91 run() {
92 echo "travis_fold:start:$1"
93 echo "Running $1"
94 $1 || exit 1
95 echo "travis_fold:end:$1"
96 }
97 [ -n "$TRAVIS_CVC4" ] && [ -n "$TRAVIS_CVC4_DISTCHECK" ] && run addNewTheoryTest
98 [ -n "$TRAVIS_CVC4" ] && run configureCVC4
99 [ -n "$TRAVIS_CVC4" ] && [ -n "$TRAVIS_CVC4_DISTCHECK" ] && run makeDistcheck
100 [ -n "$TRAVIS_CVC4" ] && [ -z "$TRAVIS_CVC4_DISTCHECK" ] && run makeCheck && run makeCheckPortfolio && run makeExamples
101 [ -n "$TRAVIS_LFSC" ] && run LFSCchecks
102 [ -z "$TRAVIS_CVC4" ] && [ -z "$TRAVIS_LFSC" ] && error "Unknown Travis-CI configuration"
103 echo "travis_fold:end:load_script"
104 - echo; echo "${green}EVERYTHING SEEMED TO PASS!${normal}"
105 matrix:
106 fast_finish: true
107 include:
108 - os: linux
109 compiler: gcc
110 before_install:
111 - echo -n | openssl s_client -connect scan.coverity.com:443 | sed -ne '/-BEGIN CERTIFICATE-/,/-END CERTIFICATE-/p' | sudo tee -a /etc/ssl/certs/ca-
112 addons:
113 coverity_scan:
114 project:
115 name: "CVC4/CVC4"
116 description: "Build submitted via Travis CI"
117 notification_email: timothy.alan.king@gmail.com
118 build_command_prepend: "./autogen.sh; ./configure --enable-unit-testing --enable-proof CXXTEST=$HOME/cxxtest"
119 build_command: "make V=1 -j4 check CVC4_REGRESSION_ARGS='--no-early-exit'"
120 branch_pattern: coverity_scan
121 notifications:
122 email:
123 on_success: change
124 on_failure: always