Emilia Kasper | 703324a | 2017-03-14 16:40:34 +0100 | [diff] [blame] | 1 | dist: trusty |
| 2 | sudo: required |
| 3 | |
Alessandro Ghedini | 66c103b | 2015-08-20 00:12:29 +0200 | [diff] [blame] | 4 | language: c |
Richard Levitte | bd5fbfe | 2016-03-07 00:33:35 +0100 | [diff] [blame] | 5 | cache: ccache |
Andy Polyakov | 22df22e | 2017-03-13 12:13:07 +0100 | [diff] [blame] | 6 | git: |
| 7 | submodules: false |
Alessandro Ghedini | 66c103b | 2015-08-20 00:12:29 +0200 | [diff] [blame] | 8 | |
Emilia Kasper | ad0a0a3 | 2016-08-03 15:29:21 +0200 | [diff] [blame] | 9 | before_install: |
Andy Polyakov | b394360 | 2016-10-10 12:22:10 +0200 | [diff] [blame] | 10 | - if [ -n "$COVERALLS" ]; then |
| 11 | pip install --user cpp-coveralls; |
| 12 | fi; |
Andy Polyakov | 22df22e | 2017-03-13 12:13:07 +0100 | [diff] [blame] | 13 | - if expr "$CONFIG_OPTS" ":" ".*enable-external-tests" > /dev/null; then |
| 14 | git submodule update --init --recursive; |
| 15 | fi; |
Emilia Kasper | ad0a0a3 | 2016-08-03 15:29:21 +0200 | [diff] [blame] | 16 | |
Rich Salz | db9defd | 2015-09-21 19:54:36 -0400 | [diff] [blame] | 17 | addons: |
Alessandro Ghedini | f386742 | 2015-10-12 16:15:43 -0400 | [diff] [blame] | 18 | apt: |
| 19 | packages: |
Richard Levitte | bd5fbfe | 2016-03-07 00:33:35 +0100 | [diff] [blame] | 20 | - ccache |
Emilia Kasper | 703324a | 2017-03-14 16:40:34 +0100 | [diff] [blame] | 21 | - golang-1.6 |
Rich Salz | db9defd | 2015-09-21 19:54:36 -0400 | [diff] [blame] | 22 | |
Alessandro Ghedini | 66c103b | 2015-08-20 00:12:29 +0200 | [diff] [blame] | 23 | os: |
Rich Salz | db9defd | 2015-09-21 19:54:36 -0400 | [diff] [blame] | 24 | - linux |
Alessandro Ghedini | 66c103b | 2015-08-20 00:12:29 +0200 | [diff] [blame] | 25 | |
| 26 | compiler: |
Rich Salz | db9defd | 2015-09-21 19:54:36 -0400 | [diff] [blame] | 27 | - clang |
| 28 | - gcc |
Alessandro Ghedini | 66c103b | 2015-08-20 00:12:29 +0200 | [diff] [blame] | 29 | |
| 30 | env: |
Andy Polyakov | b169c0e | 2017-02-06 11:14:05 +0100 | [diff] [blame] | 31 | - CONFIG_OPTS="" DESTDIR="_install" TESTS="-test_fuzz" |
Emilia Kasper | 703324a | 2017-03-14 16:40:34 +0100 | [diff] [blame] | 32 | - CONFIG_OPTS="no-asm -Werror --debug no-afalgeng no-shared enable-crypto-mdebug enable-rc5 enable-md2" TESTS="-test_fuzz" |
Andy Polyakov | b169c0e | 2017-02-06 11:14:05 +0100 | [diff] [blame] | 33 | - CONFIG_OPTS="no-asm --strict-warnings" BUILDONLY="yes" CHECKDOCS="yes" |
Rich Salz | db9defd | 2015-09-21 19:54:36 -0400 | [diff] [blame] | 34 | |
| 35 | matrix: |
Alessandro Ghedini | f386742 | 2015-10-12 16:15:43 -0400 | [diff] [blame] | 36 | include: |
| 37 | - os: linux |
Andy Polyakov | 31c1db9 | 2017-01-26 01:02:43 +0100 | [diff] [blame] | 38 | addons: |
| 39 | apt: |
| 40 | packages: |
Andy Polyakov | b169c0e | 2017-02-06 11:14:05 +0100 | [diff] [blame] | 41 | - gcc-5 |
| 42 | - g++-5 |
| 43 | sources: |
| 44 | - ubuntu-toolchain-r-test |
| 45 | compiler: gcc-5 |
| 46 | env: CONFIG_OPTS="--strict-warnings enable-tls1_3" TESTS="-test_fuzz" COMMENT="Move to the BORINGTEST build when interoperable" |
| 47 | - os: linux |
| 48 | addons: |
| 49 | apt: |
| 50 | packages: |
Emilia Kasper | 703324a | 2017-03-14 16:40:34 +0100 | [diff] [blame] | 51 | - clang-3.9 |
Andy Polyakov | 31c1db9 | 2017-01-26 01:02:43 +0100 | [diff] [blame] | 52 | sources: |
Emilia Kasper | 703324a | 2017-03-14 16:40:34 +0100 | [diff] [blame] | 53 | - llvm-toolchain-trusty-3.9 |
Andy Polyakov | 31c1db9 | 2017-01-26 01:02:43 +0100 | [diff] [blame] | 54 | - ubuntu-toolchain-r-test |
Emilia Kasper | 703324a | 2017-03-14 16:40:34 +0100 | [diff] [blame] | 55 | compiler: clang-3.9 |
Richard Levitte | 7b19543 | 2016-11-03 16:46:14 +0100 | [diff] [blame] | 56 | env: CONFIG_OPTS="--strict-warnings no-deprecated" BUILDONLY="yes" |
| 57 | - os: linux |
Andy Polyakov | 31c1db9 | 2017-01-26 01:02:43 +0100 | [diff] [blame] | 58 | addons: |
| 59 | apt: |
| 60 | packages: |
Andy Polyakov | 31c1db9 | 2017-01-26 01:02:43 +0100 | [diff] [blame] | 61 | - binutils-mingw-w64 |
| 62 | - gcc-mingw-w64 |
Emilia Kasper | 56cd71b | 2016-03-07 12:59:40 +0100 | [diff] [blame] | 63 | compiler: i686-w64-mingw32-gcc |
Andy Polyakov | b394360 | 2016-10-10 12:22:10 +0200 | [diff] [blame] | 64 | env: CONFIG_OPTS="no-stdio" BUILDONLY="yes" |
Emilia Kasper | 56cd71b | 2016-03-07 12:59:40 +0100 | [diff] [blame] | 65 | - os: linux |
Andy Polyakov | 31c1db9 | 2017-01-26 01:02:43 +0100 | [diff] [blame] | 66 | addons: |
| 67 | apt: |
| 68 | packages: |
Andy Polyakov | b169c0e | 2017-02-06 11:14:05 +0100 | [diff] [blame] | 69 | - gcc-5 |
| 70 | - g++-5 |
| 71 | sources: |
| 72 | - ubuntu-toolchain-r-test |
| 73 | compiler: gcc-5 |
| 74 | env: EXTENDED_TEST="yes" CONFIG_OPTS="--debug --coverage no-asm enable-rc5 enable-md2 enable-ec_nistp_64_gcc_128 enable-ssl3 enable-ssl3-method enable-nextprotoneg enable-weak-ssl-ciphers enable-external-tests no-shared -DPEDANTIC -DFUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION" COVERALLS="yes" BORINGSSL_TESTS="yes" CXX="g++-5" |
| 75 | - os: linux |
| 76 | addons: |
| 77 | apt: |
| 78 | packages: |
Emilia Kasper | 703324a | 2017-03-14 16:40:34 +0100 | [diff] [blame] | 79 | - clang-3.9 |
Andy Polyakov | b169c0e | 2017-02-06 11:14:05 +0100 | [diff] [blame] | 80 | sources: |
Emilia Kasper | 703324a | 2017-03-14 16:40:34 +0100 | [diff] [blame] | 81 | - llvm-toolchain-trusty-3.9 |
Andy Polyakov | b169c0e | 2017-02-06 11:14:05 +0100 | [diff] [blame] | 82 | - ubuntu-toolchain-r-test |
Emilia Kasper | 703324a | 2017-03-14 16:40:34 +0100 | [diff] [blame] | 83 | compiler: clang-3.9 |
Andy Polyakov | b169c0e | 2017-02-06 11:14:05 +0100 | [diff] [blame] | 84 | env: EXTENDED_TEST="yes" CONFIG_OPTS="enable-msan" |
| 85 | - os: linux |
| 86 | addons: |
| 87 | apt: |
| 88 | packages: |
Emilia Kasper | 703324a | 2017-03-14 16:40:34 +0100 | [diff] [blame] | 89 | - clang-3.9 |
Andy Polyakov | b169c0e | 2017-02-06 11:14:05 +0100 | [diff] [blame] | 90 | sources: |
Emilia Kasper | 703324a | 2017-03-14 16:40:34 +0100 | [diff] [blame] | 91 | - llvm-toolchain-trusty-3.9 |
Andy Polyakov | b169c0e | 2017-02-06 11:14:05 +0100 | [diff] [blame] | 92 | - ubuntu-toolchain-r-test |
Emilia Kasper | 703324a | 2017-03-14 16:40:34 +0100 | [diff] [blame] | 93 | compiler: clang-3.9 |
Andy Polyakov | b169c0e | 2017-02-06 11:14:05 +0100 | [diff] [blame] | 94 | env: EXTENDED_TEST="yes" CONFIG_OPTS="no-asm enable-ubsan enable-rc5 enable-md2 enable-ssl3 enable-ssl3-method enable-nextprotoneg -fno-sanitize=alignment no-shared -DFUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION" |
| 95 | - os: linux |
| 96 | addons: |
| 97 | apt: |
| 98 | packages: |
Emilia Kasper | 703324a | 2017-03-14 16:40:34 +0100 | [diff] [blame] | 99 | - clang-3.9 |
Andy Polyakov | b169c0e | 2017-02-06 11:14:05 +0100 | [diff] [blame] | 100 | sources: |
Emilia Kasper | 703324a | 2017-03-14 16:40:34 +0100 | [diff] [blame] | 101 | - llvm-toolchain-trusty-3.9 |
Andy Polyakov | b169c0e | 2017-02-06 11:14:05 +0100 | [diff] [blame] | 102 | - ubuntu-toolchain-r-test |
Emilia Kasper | 703324a | 2017-03-14 16:40:34 +0100 | [diff] [blame] | 103 | compiler: clang-3.9 |
Andy Polyakov | b169c0e | 2017-02-06 11:14:05 +0100 | [diff] [blame] | 104 | env: EXTENDED_TEST="yes" CONFIG_OPTS="no-asm enable-asan enable-rc5 enable-md2 no-shared -DFUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION" |
| 105 | - os: linux |
| 106 | addons: |
| 107 | apt: |
| 108 | packages: |
| 109 | - gcc-5 |
| 110 | - g++-5 |
| 111 | sources: |
| 112 | - ubuntu-toolchain-r-test |
| 113 | compiler: gcc-5 |
| 114 | env: EXTENDED_TEST="yes" CONFIG_OPTS="no-asm enable-ubsan enable-rc5 enable-md2 -DPEDANTIC" |
Richard Levitte | b4aaf19 | 2016-08-05 00:48:44 +0200 | [diff] [blame] | 115 | - os: linux |
Andy Polyakov | 31c1db9 | 2017-01-26 01:02:43 +0100 | [diff] [blame] | 116 | addons: |
| 117 | apt: |
| 118 | packages: |
| 119 | - binutils-mingw-w64 |
| 120 | - gcc-mingw-w64 |
Andy Polyakov | b169c0e | 2017-02-06 11:14:05 +0100 | [diff] [blame] | 121 | compiler: i686-w64-mingw32-gcc |
| 122 | env: EXTENDED_TEST="yes" CONFIG_OPTS="no-pic" TESTS="-test_fuzz" |
| 123 | - os: linux |
| 124 | addons: |
| 125 | apt: |
| 126 | packages: |
| 127 | - binutils-mingw-w64 |
| 128 | - gcc-mingw-w64 |
Richard Levitte | b4aaf19 | 2016-08-05 00:48:44 +0200 | [diff] [blame] | 129 | compiler: x86_64-w64-mingw32-gcc |
Andy Polyakov | b169c0e | 2017-02-06 11:14:05 +0100 | [diff] [blame] | 130 | env: EXTENDED_TEST="yes" CONFIG_OPTS="no-pic" TESTS="-test_fuzz" |
Rich Salz | db9defd | 2015-09-21 19:54:36 -0400 | [diff] [blame] | 131 | exclude: |
Emilia Kasper | 210efa8 | 2016-03-07 15:15:20 +0100 | [diff] [blame] | 132 | - os: linux |
| 133 | compiler: clang |
Alessandro Ghedini | 6220acf | 2015-10-06 20:27:50 +0200 | [diff] [blame] | 134 | - os: osx |
Andy Polyakov | dbf9a33 | 2016-02-12 11:45:44 +0100 | [diff] [blame] | 135 | compiler: gcc |
Rich Salz | db9defd | 2015-09-21 19:54:36 -0400 | [diff] [blame] | 136 | |
| 137 | before_script: |
Andy Polyakov | b169c0e | 2017-02-06 11:14:05 +0100 | [diff] [blame] | 138 | - env |
| 139 | - if [ "$TRAVIS_EVENT_TYPE" == "pull_request" -a -n "$EXTENDED_TEST" ]; then |
| 140 | (git log -1 $TRAVIS_COMMIT_RANGE | grep '\[extended tests\]' > /dev/null) || exit 0; |
| 141 | fi |
Richard Levitte | 262ee9a | 2016-08-04 11:50:39 +0200 | [diff] [blame] | 142 | - if [ -n "$DESTDIR" ]; then |
| 143 | sh .travis-create-release.sh $TRAVIS_OS_NAME; |
| 144 | tar -xvzf _srcdist.tar.gz; |
| 145 | mkdir _build; |
| 146 | cd _build; |
| 147 | srcdir=../_srcdist; |
| 148 | top=..; |
| 149 | else |
| 150 | srcdir=.; |
| 151 | top=.; |
| 152 | fi |
Rich Salz | db9defd | 2015-09-21 19:54:36 -0400 | [diff] [blame] | 153 | - if [ "$CC" == i686-w64-mingw32-gcc ]; then |
| 154 | export CROSS_COMPILE=${CC%%gcc}; unset CC; |
Richard Levitte | 262ee9a | 2016-08-04 11:50:39 +0200 | [diff] [blame] | 155 | $srcdir/Configure mingw $CONFIG_OPTS -Wno-pedantic-ms-format; |
Rich Salz | db9defd | 2015-09-21 19:54:36 -0400 | [diff] [blame] | 156 | elif [ "$CC" == x86_64-w64-mingw32-gcc ]; then |
| 157 | export CROSS_COMPILE=${CC%%gcc}; unset CC; |
Richard Levitte | 262ee9a | 2016-08-04 11:50:39 +0200 | [diff] [blame] | 158 | $srcdir/Configure mingw64 $CONFIG_OPTS -Wno-pedantic-ms-format; |
Rich Salz | db9defd | 2015-09-21 19:54:36 -0400 | [diff] [blame] | 159 | else |
Emilia Kasper | 703324a | 2017-03-14 16:40:34 +0100 | [diff] [blame] | 160 | if which ccache >/dev/null && [ "$CC" != clang-3.9 ]; then |
Richard Levitte | a70ca74 | 2016-03-10 02:14:55 +0100 | [diff] [blame] | 161 | CC="ccache $CC"; |
Richard Levitte | 8cffddc | 2016-03-10 08:36:57 +0100 | [diff] [blame] | 162 | fi; |
Richard Levitte | ffb261f | 2016-08-15 18:46:39 +0200 | [diff] [blame] | 163 | $srcdir/config -v $CONFIG_OPTS; |
Rich Salz | db9defd | 2015-09-21 19:54:36 -0400 | [diff] [blame] | 164 | fi |
Richard Levitte | 262ee9a | 2016-08-04 11:50:39 +0200 | [diff] [blame] | 165 | - cd $top |
Alessandro Ghedini | 66c103b | 2015-08-20 00:12:29 +0200 | [diff] [blame] | 166 | |
| 167 | script: |
Richard Levitte | a4ffbbe | 2016-08-15 18:45:22 +0200 | [diff] [blame] | 168 | - if [ -z "$BUILDONLY" ]; then |
| 169 | make="make -s"; |
| 170 | else |
| 171 | make="make"; |
| 172 | fi |
Emilia Kasper | ab29eca | 2016-11-09 17:25:35 +0100 | [diff] [blame] | 173 | - top=${PWD} |
Richard Levitte | 262ee9a | 2016-08-04 11:50:39 +0200 | [diff] [blame] | 174 | - if [ -n "$DESTDIR" ]; then |
| 175 | cd _build; |
Richard Levitte | 262ee9a | 2016-08-04 11:50:39 +0200 | [diff] [blame] | 176 | fi |
Richard Levitte | a4ffbbe | 2016-08-15 18:45:22 +0200 | [diff] [blame] | 177 | - $make update |
Richard Levitte | 29ee1be | 2017-01-09 22:41:26 -0500 | [diff] [blame] | 178 | - if [ -n "$CHECKDOCS" ]; then |
| 179 | $make doc-nits; |
| 180 | fi |
Richard Levitte | a4ffbbe | 2016-08-15 18:45:22 +0200 | [diff] [blame] | 181 | - $make |
Emilia Kasper | b63447c | 2016-03-06 22:31:18 +0100 | [diff] [blame] | 182 | - if [ -z "$BUILDONLY" ]; then |
Emilia Kasper | 56cd71b | 2016-03-07 12:59:40 +0100 | [diff] [blame] | 183 | if [ -n "$CROSS_COMPILE" ]; then |
Emilia Kasper | 703324a | 2017-03-14 16:40:34 +0100 | [diff] [blame] | 184 | sudo dpkg --add-architecture i386; |
| 185 | sudo apt-get update; |
Andy Polyakov | b169c0e | 2017-02-06 11:14:05 +0100 | [diff] [blame] | 186 | sudo apt-get -yq --no-install-suggests --no-install-recommends --force-yes install wine; |
Emilia Kasper | 56cd71b | 2016-03-07 12:59:40 +0100 | [diff] [blame] | 187 | export EXE_SHELL="wine" WINEPREFIX=`pwd`; |
| 188 | fi; |
Emilia Kasper | ab29eca | 2016-11-09 17:25:35 +0100 | [diff] [blame] | 189 | HARNESS_VERBOSE=yes BORING_RUNNER_DIR=$top/boringssl/ssl/test/runner make test; |
Emilia Kasper | d7a275e | 2016-03-14 12:47:47 +0100 | [diff] [blame] | 190 | else |
Richard Levitte | a4ffbbe | 2016-08-15 18:45:22 +0200 | [diff] [blame] | 191 | $make build_tests; |
Rich Salz | 1a3ae78 | 2015-10-16 11:19:04 -0400 | [diff] [blame] | 192 | fi |
Richard Levitte | d227a30 | 2016-03-29 17:50:53 +0200 | [diff] [blame] | 193 | - if [ -n "$DESTDIR" ]; then |
Emilia Kasper | ab29eca | 2016-11-09 17:25:35 +0100 | [diff] [blame] | 194 | mkdir "$top/$DESTDIR"; |
| 195 | $make install install_docs DESTDIR="$top/$DESTDIR"; |
Richard Levitte | d227a30 | 2016-03-29 17:50:53 +0200 | [diff] [blame] | 196 | fi |
Richard Levitte | 262ee9a | 2016-08-04 11:50:39 +0200 | [diff] [blame] | 197 | - cd $top |
Alessandro Ghedini | 66c103b | 2015-08-20 00:12:29 +0200 | [diff] [blame] | 198 | |
Emilia Kasper | ad0a0a3 | 2016-08-03 15:29:21 +0200 | [diff] [blame] | 199 | after_success: |
| 200 | - if [ -n "$COVERALLS" ]; then |
Kurt Roeckx | 20d1446 | 2016-11-24 18:51:23 +0100 | [diff] [blame] | 201 | coveralls -b . --gcov gcov-5 --gcov-options '\-lp'; |
Emilia Kasper | ad0a0a3 | 2016-08-03 15:29:21 +0200 | [diff] [blame] | 202 | fi; |
| 203 | |
Alessandro Ghedini | 66c103b | 2015-08-20 00:12:29 +0200 | [diff] [blame] | 204 | notifications: |
Rich Salz | db9defd | 2015-09-21 19:54:36 -0400 | [diff] [blame] | 205 | email: |
Richard Levitte | 5e28b1c | 2016-11-02 00:09:03 +0100 | [diff] [blame] | 206 | secure: "xeGNgWO7aoaDgRvcZubposqMsj36aU8c6F0oHfw+rUqltCQ14IgYCUwzocmR2O+Pa7B3Cx5VjMfBFHbQaajZsfod8vu7g+aGq/zkjwbhsr/SR4dljJjFJXLGZjIalm9KgP6KInmVDuINfCqP+MHIY5lZkNI7DMcyHDhVc5nSKvCXV7xTDNgmstvh8rB/z51WfHDqGqfBtiuK5FDNxmvYK8OFJ5W94Lu9LDlizcxwK3GAj7arOui7Z5w8bQ6p4seUE3IvJL1Zbj0pZHxvNb6Zeb2Pn8QF1qLlN8YmBktD4aiw0ce4wYRiL87uLgcOxZY7SVXtv2XYFIYWapU/FKjCqa6vK93V/H9eZWEIYNMKnN3wXm2beqVdnKek3OeGJ8v0y7MbSfuLfRtBqbTSNYnpU1Zuo4MQAvHvEPuwCAYkYQajOSRplMH5sULFKptuVqNtOMfjL8jHb8AEoL1acYIk43ydxeYrzzas4fqgCDJ52573/u0RNdF1lkQBLkuM365OB8VRqtpnoxcdEIY/qBc/8TzZ24fxyrs5qdHFcxGSgpN2EP6cJMqpvkemnCNSdhxUqfzm22N7a3O8+4LFSBGOnHto/PwdsvF/01yGYL0LoZTnoO1i6x7AMJPBh+eyDU0ZjGhj/msjmqeb9C8vRqQ+1WjHrIS1iqCD0Czib8tUPD4=" |