Rather than one variable for each passwd type, use one enum variable
[openssl.git] / .travis.yml
1 language: c
2 cache: ccache
3
4 before_install:
5     - pip install --user cpp-coveralls
6
7 addons:
8     apt:
9         packages:
10             - ccache
11             - clang-3.6
12             - gcc-5
13             - binutils-mingw-w64
14             - gcc-mingw-w64
15             - wine
16         sources:
17             - llvm-toolchain-precise-3.6
18             - ubuntu-toolchain-r-test
19
20 os:
21     - linux
22     - osx
23
24 compiler:
25     - clang
26     - gcc
27
28 env:
29     - CONFIG_OPTS="" DESTDIR="_install"
30     - CONFIG_OPTS="--debug no-shared enable-crypto-mdebug enable-rc5 enable-md2"
31     - CONFIG_OPTS="no-pic --strict-warnings" BUILDONLY="yes"
32     - CONFIG_OPTS="no-engine no-shared --strict-warnings" BUILDONLY="yes"
33     - CONFIG_OPTS="no-stdio --strict-warnings" BUILDONLY="yes"
34
35 matrix:
36     include:
37         - os: linux
38           compiler: gcc
39           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"
40         - os: linux
41           compiler: clang-3.6
42           env: CONFIG_OPTS="enable-asan"
43         - os: linux
44           compiler: clang-3.6
45           env: CONFIG_OPTS="enable-msan"
46         - os: linux
47           compiler: clang-3.6
48           env: CONFIG_OPTS="no-asm enable-ubsan enable-rc5 enable-md2 enable-ssl3 enable-ssl3-method -fno-sanitize=alignment"
49         - os: linux
50           compiler: clang-3.6
51           env: CONFIG_OPTS="no-asm enable-asan enable-rc5 enable-md2"
52         - os: linux
53           compiler: clang-3.6
54           env: CONFIG_OPTS="no-stdio"
55         - os: linux
56           compiler: gcc-5
57           env: CONFIG_OPTS="no-asm enable-ubsan enable-rc5 enable-md2 -DPEDANTIC"
58         - os: linux
59           compiler: i686-w64-mingw32-gcc
60           env: CONFIG_OPTS="no-pic"
61         - os: linux
62           compiler: i686-w64-mingw32-gcc
63           env: CONFIG_OPTS="no-stdio"
64         - os: linux
65           compiler: x86_64-w64-mingw32-gcc
66           env: CONFIG_OPTS="no-pic"
67         - os: linux
68           compiler: x86_64-w64-mingw32-gcc
69           env: CONFIG_OPTS="no-stdio"
70     exclude:
71         - os: linux
72           compiler: clang
73         - os: osx
74           compiler: gcc
75
76 before_script:
77     - if [ -n "$DESTDIR" ]; then
78           sh .travis-create-release.sh $TRAVIS_OS_NAME;
79           tar -xvzf _srcdist.tar.gz;
80           mkdir _build;
81           cd _build;
82           srcdir=../_srcdist;
83           top=..;
84       else
85           srcdir=.;
86           top=.;
87       fi
88     - if [ "$CC" == i686-w64-mingw32-gcc ]; then
89           export CROSS_COMPILE=${CC%%gcc}; unset CC;
90           $srcdir/Configure mingw $CONFIG_OPTS -Wno-pedantic-ms-format;
91       elif [ "$CC" == x86_64-w64-mingw32-gcc ]; then
92           export CROSS_COMPILE=${CC%%gcc}; unset CC;
93           $srcdir/Configure mingw64 $CONFIG_OPTS -Wno-pedantic-ms-format;
94       else
95           if which ccache >/dev/null && [ "$CC" != clang-3.6 ]; then
96               CC="ccache $CC";
97           fi;
98           $srcdir/config -v $CONFIG_OPTS;
99       fi
100     - cd $top
101
102 script:
103     - if [ -z "$BUILDONLY" ]; then
104           make="make -s";
105       else
106           make="make";
107       fi
108     - if [ -n "$DESTDIR" ]; then
109           cd _build;
110           top=..;
111       else
112           top=.;
113       fi
114     - $make update
115     - $make
116     - if [ -z "$BUILDONLY" ]; then
117           if [ -n "$CROSS_COMPILE" ]; then
118               export EXE_SHELL="wine" WINEPREFIX=`pwd`;
119           fi;
120           HARNESS_VERBOSE=yes make test;
121       else
122           $make build_tests;
123       fi
124     - if [ -n "$DESTDIR" ]; then
125           mkdir "../$DESTDIR";
126           $make install install_docs DESTDIR="../$DESTDIR";
127       fi
128     - cd $top
129
130 after_success:
131     - if [ -n "$COVERALLS" ]; then
132           coveralls -b . --gcov-options '\-lp';
133       fi;
134
135 notifications:
136     email:
137         - openssl-commits@openssl.org
138