Travis: run on Trusty with clang 3.9 (1.1.0 branch)
[oweals/openssl.git] / .travis.yml
1 dist: trusty
2 sudo: required
3
4 language: c
5 cache: ccache
6
7 before_install:
8     - pip install --user cpp-coveralls
9
10 addons:
11     apt:
12         packages:
13             - ccache
14             - clang-3.9
15             - gcc-5
16             - binutils-mingw-w64
17             - gcc-mingw-w64
18         sources:
19             - llvm-toolchain-trusty-3.9
20             - ubuntu-toolchain-r-test
21
22 os:
23     - linux
24     - osx
25
26 compiler:
27     - clang
28     - gcc
29
30 env:
31     - CONFIG_OPTS="" DESTDIR="_install"
32     - CONFIG_OPTS="--debug no-shared enable-crypto-mdebug enable-rc5 enable-md2"
33     - CONFIG_OPTS="no-pic --strict-warnings" BUILDONLY="yes"
34     - CONFIG_OPTS="no-engine no-shared --strict-warnings" BUILDONLY="yes"
35     - CONFIG_OPTS="no-stdio --strict-warnings" BUILDONLY="yes"
36
37 matrix:
38     include:
39         - os: linux
40           compiler: clang-3.9
41           env: CONFIG_OPTS="--strict-warnings no-deprecated" BUILDONLY="yes"
42         - os: linux
43           compiler: gcc
44           env: CONFIG_OPTS="--debug --coverage no-asm enable-rc5 enable-md2 enable-ec_nistp_64_gcc_128 enable-ssl3 enable-ssl3-method enable-weak-ssl-ciphers" COVERALLS="yes"
45         - os: linux
46           compiler: clang-3.9
47           env: CONFIG_OPTS="enable-asan"
48         - os: linux
49           compiler: clang-3.9
50           env: CONFIG_OPTS="enable-msan"
51         - os: linux
52           compiler: clang-3.9
53           env: CONFIG_OPTS="no-asm enable-ubsan enable-rc5 enable-md2 enable-ssl3 enable-ssl3-method -fno-sanitize=alignment"
54         - os: linux
55           compiler: clang-3.9
56           env: CONFIG_OPTS="no-asm enable-asan enable-rc5 enable-md2"
57         - os: linux
58           compiler: clang-3.9
59           env: CONFIG_OPTS="no-stdio"
60         - os: linux
61           compiler: gcc-5
62           env: CONFIG_OPTS="no-asm enable-ubsan enable-rc5 enable-md2 -DPEDANTIC"
63         - os: linux
64           compiler: i686-w64-mingw32-gcc
65           env: CONFIG_OPTS="no-pic"
66         - os: linux
67           compiler: i686-w64-mingw32-gcc
68           env: CONFIG_OPTS="no-stdio"
69         - os: linux
70           compiler: x86_64-w64-mingw32-gcc
71           env: CONFIG_OPTS="no-pic"
72         - os: linux
73           compiler: x86_64-w64-mingw32-gcc
74           env: CONFIG_OPTS="no-stdio"
75     exclude:
76         - os: linux
77           compiler: clang
78         - os: osx
79           compiler: gcc
80
81 before_script:
82     - if [ -n "$DESTDIR" ]; then
83           sh .travis-create-release.sh $TRAVIS_OS_NAME;
84           tar -xvzf _srcdist.tar.gz;
85           mkdir _build;
86           cd _build;
87           srcdir=../_srcdist;
88           top=..;
89       else
90           srcdir=.;
91           top=.;
92       fi
93     - if [ "$CC" == i686-w64-mingw32-gcc ]; then
94           export CROSS_COMPILE=${CC%%gcc}; unset CC;
95           $srcdir/Configure mingw $CONFIG_OPTS -Wno-pedantic-ms-format;
96       elif [ "$CC" == x86_64-w64-mingw32-gcc ]; then
97           export CROSS_COMPILE=${CC%%gcc}; unset CC;
98           $srcdir/Configure mingw64 $CONFIG_OPTS -Wno-pedantic-ms-format;
99       else
100           if which ccache >/dev/null && [ "$CC" != clang-3.9 ]; then
101               CC="ccache $CC";
102           fi;
103           $srcdir/config -v $CONFIG_OPTS;
104       fi
105     - if [ -z "$BUILDONLY" ]; then
106           if [ -n "$CROSS_COMPILE" ]; then
107               if [ "$TRAVIS_OS_NAME" == "linux" ]; then
108                   sudo dpkg --add-architecture i386;
109                   sudo apt-get update;
110                   sudo apt-get -yq install wine;
111               fi;
112           fi;
113       fi
114     - cd $top
115
116 script:
117     - if [ -z "$BUILDONLY" ]; then
118           make="make -s";
119       else
120           make="make";
121       fi
122     - if [ -n "$DESTDIR" ]; then
123           cd _build;
124           top=..;
125       else
126           top=.;
127       fi
128     - $make update
129     - $make
130     - if [ -z "$BUILDONLY" ]; then
131           if [ -n "$CROSS_COMPILE" ]; then
132               export EXE_SHELL="wine" WINEPREFIX=`pwd`;
133           fi;
134           HARNESS_VERBOSE=yes make test;
135       else
136           $make build_tests;
137       fi
138     - if [ -n "$DESTDIR" ]; then
139           mkdir "../$DESTDIR";
140           $make install install_docs DESTDIR="../$DESTDIR";
141       fi
142     - cd $top
143
144 after_success:
145     - if [ -n "$COVERALLS" ]; then
146           coveralls -b . --gcov-options '\-lp';
147       fi;
148
149 notifications:
150     email:
151         secure: "xeGNgWO7aoaDgRvcZubposqMsj36aU8c6F0oHfw+rUqltCQ14IgYCUwzocmR2O+Pa7B3Cx5VjMfBFHbQaajZsfod8vu7g+aGq/zkjwbhsr/SR4dljJjFJXLGZjIalm9KgP6KInmVDuINfCqP+MHIY5lZkNI7DMcyHDhVc5nSKvCXV7xTDNgmstvh8rB/z51WfHDqGqfBtiuK5FDNxmvYK8OFJ5W94Lu9LDlizcxwK3GAj7arOui7Z5w8bQ6p4seUE3IvJL1Zbj0pZHxvNb6Zeb2Pn8QF1qLlN8YmBktD4aiw0ce4wYRiL87uLgcOxZY7SVXtv2XYFIYWapU/FKjCqa6vK93V/H9eZWEIYNMKnN3wXm2beqVdnKek3OeGJ8v0y7MbSfuLfRtBqbTSNYnpU1Zuo4MQAvHvEPuwCAYkYQajOSRplMH5sULFKptuVqNtOMfjL8jHb8AEoL1acYIk43ydxeYrzzas4fqgCDJ52573/u0RNdF1lkQBLkuM365OB8VRqtpnoxcdEIY/qBc/8TzZ24fxyrs5qdHFcxGSgpN2EP6cJMqpvkemnCNSdhxUqfzm22N7a3O8+4LFSBGOnHto/PwdsvF/01yGYL0LoZTnoO1i6x7AMJPBh+eyDU0ZjGhj/msjmqeb9C8vRqQ+1WjHrIS1iqCD0Czib8tUPD4="