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