]>
Commit | Line | Data |
---|---|---|
16161a30 | 1 | dist: xenial |
703324a7 EK |
2 | sudo: required |
3 | ||
46cc9f35 AP |
4 | osx_image: xcode9.3 |
5 | ||
66c103bd | 6 | language: c |
bd5fbfe2 | 7 | cache: ccache |
22df22e7 AP |
8 | git: |
9 | submodules: false | |
b1bebbcb | 10 | quiet: true |
66c103bd | 11 | |
ad0a0a3a | 12 | before_install: |
b3943604 AP |
13 | - if [ -n "$COVERALLS" ]; then |
14 | pip install --user cpp-coveralls; | |
15 | fi; | |
22df22e7 AP |
16 | - if expr "$CONFIG_OPTS" ":" ".*enable-external-tests" > /dev/null; then |
17 | git submodule update --init --recursive; | |
18 | fi; | |
77fedcdc FF |
19 | - eval "${MATRIX_EVAL}" |
20 | ||
21 | arch: | |
22 | - amd64 | |
23 | - arm64 | |
ad0a0a3a | 24 | |
66c103bd | 25 | os: |
db9defdf | 26 | - linux |
a6da6b73 | 27 | - osx |
66c103bd AG |
28 | |
29 | compiler: | |
db9defdf RS |
30 | - clang |
31 | - gcc | |
66c103bd AG |
32 | |
33 | env: | |
5d322036 | 34 | - CONFIG_OPTS="" DESTDIR="_install" |
3ce38663 | 35 | # Note: This CONFIG_OPTS entry must match the value in the exclude: table below that contains env: CONFIG_OPTS , otherwise it will not find a match. |
22c22369 | 36 | - CONFIG_OPTS="no-asm -Werror --debug no-afalgeng no-shared enable-rc5 enable-md2 -fsanitize=address" LSAN_OPTIONS="report_objects=1" |
26a053d1 | 37 | - CONFIG_OPTS="no-asm no-makedepend enable-buildtest-c++ --strict-warnings -D_DEFAULT_SOURCE" BUILDONLY="yes" CHECKDOCS="yes" GENERATE="yes" CPPFLAGS="-ansi" |
db9defdf RS |
38 | |
39 | matrix: | |
f386742c | 40 | include: |
0399aba7 FF |
41 | - os: linux |
42 | arch: arm64 | |
77fedcdc FF |
43 | dist: bionic |
44 | compiler: clang | |
45 | env: CONFIG_OPTS="--strict-warnings -D__NO_STRING_INLINES no-deprecated" BUILDONLY="yes" | |
46 | - os: linux | |
47 | arch: arm64 | |
48 | compiler: clang | |
49 | addons: | |
50 | apt: | |
51 | packages: | |
52 | - clang-6.0 | |
53 | env: EXTENDED_TEST="yes" CONFIG_OPTS="enable-msan disable-afalgeng -D__NO_STRING_INLINES -Wno-unused-command-line-argument" MATRIX_EVAL="CC=clang-6.0 && CXX=clang++-6.0" | |
54 | - os: linux | |
55 | arch: arm64 | |
56 | compiler: clang | |
57 | addons: | |
58 | apt: | |
59 | packages: | |
60 | - clang-6.0 | |
61 | env: EXTENDED_TEST="yes" CONFIG_OPTS="no-asm enable-ubsan enable-rc5 enable-md2 enable-ssl3 enable-ssl3-method enable-nextprotoneg no-shared enable-buildtest-c++ -fno-sanitize=alignment -DFUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION -D__NO_STRING_INLINES -Wno-unused-command-line-argument" MATRIX_EVAL="CC=clang-6.0 && CXX=clang++-6.0" | |
985412f8 PS |
62 | - os: linux |
63 | arch: s390x | |
64 | compiler: gcc | |
65 | env: CONFIG_OPTS="--strict-warnings" | |
13da3ad0 AP |
66 | - os: linux-ppc64le |
67 | sudo: false | |
68 | compiler: clang | |
69 | env: CONFIG_OPTS="--strict-warnings -D__NO_STRING_INLINES" | |
b169c0ec | 70 | - os: linux |
16161a30 | 71 | compiler: gcc |
d819760d | 72 | env: CONFIG_OPTS="--strict-warnings no-ec enable-trace enable-ssl-trace enable-zlib enable-zlib-dynamic enable-crypto-mdebug enable-crypto-mdebug-backtrace enable-egd" COMMENT="Move to the BORINGTEST build when interoperable" |
7b195438 | 73 | - os: linux |
16161a30 | 74 | dist: trusty |
9a96626e | 75 | compiler: clang |
c8979960 | 76 | env: CONFIG_OPTS="--strict-warnings -D__NO_STRING_INLINES no-deprecated" |
3119c849 BE |
77 | - os: linux |
78 | dist: bionic | |
79 | compiler: clang | |
80 | env: CONFIG_OPTS="--strict-warnings -D__NO_STRING_INLINES no-deprecated" BUILDONLY="yes" | |
b169c0ec AP |
81 | - os: linux |
82 | addons: | |
83 | apt: | |
84 | packages: | |
85 | - binutils-mingw-w64 | |
86 | - gcc-mingw-w64 | |
87 | compiler: i686-w64-mingw32-gcc | |
88 | env: CONFIG_OPTS="no-stdio" BUILDONLY="yes" | |
41b77d54 AP |
89 | # Uncomment if there is reason to believe that PPC-specific problem |
90 | # can be diagnosed with this possibly >30 mins sanitizer build... | |
91 | #- os: linux-ppc64le | |
92 | # sudo: false | |
93 | # compiler: gcc | |
94 | # env: EXTENDED_TEST="yes" CONFIG_OPTS="no-asm enable-asan enable-ubsan no-shared -DFUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION -D__NO_STRING_INLINES" | |
ad0a0a3a | 95 | - os: linux |
31c1db92 AP |
96 | addons: |
97 | apt: | |
98 | packages: | |
16161a30 BE |
99 | - golang-1.10 |
100 | compiler: gcc | |
101 | 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 no-shared enable-buildtest-c++ -DPEDANTIC -DFUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION" COVERALLS="yes" BORINGSSL_TESTS="yes" CXX="g++" | |
cd838c65 RL |
102 | - os: linux |
103 | addons: | |
104 | apt: | |
105 | packages: | |
16161a30 BE |
106 | - golang-1.10 |
107 | compiler: gcc | |
20e6631c MC |
108 | # External test pyca-cryptography temporarily disabled due to long term travis failures |
109 | env: EXTENDED_TEST="yes" CONFIG_OPTS="--debug enable-ssl3 enable-ssl3-method enable-weak-ssl-ciphers enable-external-tests enable-buildtest-c++" BORINGSSL_TESTS="yes" CXX="g++" TESTS="test_external_boringssl test_external_krb5" | |
29df3061 | 110 | - os: linux |
9a96626e | 111 | compiler: clang |
16161a30 | 112 | env: EXTENDED_TEST="yes" CONFIG_OPTS="enable-msan disable-afalgeng -D__NO_STRING_INLINES -Wno-unused-command-line-argument" |
6220acf8 | 113 | - os: linux |
9a96626e | 114 | compiler: clang |
16161a30 | 115 | env: EXTENDED_TEST="yes" CONFIG_OPTS="no-asm enable-ubsan enable-rc5 enable-md2 enable-ssl3 enable-ssl3-method enable-nextprotoneg no-shared enable-buildtest-c++ -fno-sanitize=alignment -DFUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION -D__NO_STRING_INLINES -Wno-unused-command-line-argument" CXX="clang++" |
5f95fbf3 MC |
116 | #Temporarily removed because memleak test fails for unknown reasons in this build. Other builds with memleak testing ("-fsanitize=address") are passing. |
117 | # - os: linux | |
118 | # compiler: clang | |
119 | # env: EXTENDED_TEST="yes" CONFIG_OPTS="no-asm enable-asan enable-rc5 enable-md2 no-shared -DFUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION -D__NO_STRING_INLINES -Wno-unused-command-line-argument" | |
4de3fe53 | 120 | - os: linux |
16161a30 BE |
121 | compiler: gcc |
122 | env: EXTENDED_TEST="yes" CONFIG_OPTS="--debug no-asm enable-ubsan enable-rc5 enable-md2 enable-buildtest-c++ -DPEDANTIC" OPENSSL_TEST_RAND_ORDER=0 | |
b4aaf194 | 123 | - os: linux |
31c1db92 AP |
124 | addons: |
125 | apt: | |
126 | packages: | |
127 | - binutils-mingw-w64 | |
128 | - gcc-mingw-w64 | |
b4aaf194 | 129 | compiler: i686-w64-mingw32-gcc |
5d322036 | 130 | env: EXTENDED_TEST="yes" CONFIG_OPTS="no-pic" |
56cd71b4 | 131 | - os: linux |
31c1db92 AP |
132 | addons: |
133 | apt: | |
134 | packages: | |
135 | - binutils-mingw-w64 | |
136 | - gcc-mingw-w64 | |
b4aaf194 | 137 | compiler: x86_64-w64-mingw32-gcc |
5d322036 | 138 | env: EXTENDED_TEST="yes" CONFIG_OPTS="no-pic" |
2a6f57bc | 139 | - os: linux |
140 | language: python | |
141 | python: 3.7 | |
2a6f57bc | 142 | install: pip install flake8 |
143 | before_script: | |
144 | # stop the build if there are Python syntax errors or undefined names | |
145 | - flake8 . --count --select=E901,E999,F821,F822,F823 --show-source --statistics | |
146 | # exit-zero treats all errors as warnings. The GitHub editor is 127 chars wide | |
147 | - flake8 . --count --exit-zero --max-complexity=10 --max-line-length=127 --statistics | |
148 | script: true | |
d819760d BE |
149 | - os: linux |
150 | compiler: gcc | |
151 | env: CONFIGURE_TARGET="linux-generic32" CONFIG_OPTS="--strict-warnings no-shared no-dso no-pic no-aria no-async no-autoload-config no-blake2 no-bf no-camellia no-cast no-chacha no-cmac no-cms no-cmp no-comp no-ct no-des no-dgram no-dh no-dsa no-dtls no-ec2m no-engine no-filenames no-gost no-idea no-ktls no-mdc2 no-md4 no-multiblock no-nextprotoneg no-ocsp no-ocb no-poly1305 no-psk no-rc2 no-rc4 no-rmd160 no-seed no-siphash no-siv no-sm2 no-sm3 no-sm4 no-srp no-srtp no-ssl3 no-ssl3-method no-ts no-ui-console no-whirlpool no-asm -DOPENSSL_NO_SECURE_MEMORY -DOPENSSL_SMALL_FOOTPRINT" | |
db9defdf | 152 | exclude: |
210efa8b EK |
153 | - os: linux |
154 | compiler: clang | |
dbf9a33c AP |
155 | - os: osx |
156 | compiler: gcc | |
77fedcdc FF |
157 | - arch: arm64 |
158 | os: osx | |
3ce38663 SL |
159 | # arm64 times out when using -fsanitize=address |
160 | # The amd64 build should be sufficient to test this. | |
161 | # Note: the env line must exactly match the env line from the build | |
162 | # matrix above which contains the `-fsanitize=address` option. | |
163 | # TODO: come up with a better way of doing this that is less error prone. | |
164 | - arch: arm64 | |
165 | env: CONFIG_OPTS="no-asm -Werror --debug no-afalgeng no-shared enable-rc5 enable-md2 -fsanitize=address" LSAN_OPTIONS="report_objects=1" | |
166 | ||
db9defdf RS |
167 | |
168 | before_script: | |
b169c0ec | 169 | - env |
2da3f968 | 170 | - if [ "$TRAVIS_PULL_REQUEST" != "false" -a -n "$EXTENDED_TEST" ]; then |
6df44cf6 | 171 | (git log -1 $TRAVIS_COMMIT_RANGE | grep '\[extended tests\]' > /dev/null) || travis_terminate 0; |
b169c0ec | 172 | fi |
262ee9a2 RL |
173 | - if [ -n "$DESTDIR" ]; then |
174 | sh .travis-create-release.sh $TRAVIS_OS_NAME; | |
9967a9ed | 175 | tar -xzf _srcdist.tar.gz; |
262ee9a2 RL |
176 | mkdir _build; |
177 | cd _build; | |
178 | srcdir=../_srcdist; | |
179 | top=..; | |
180 | else | |
181 | srcdir=.; | |
182 | top=.; | |
183 | fi | |
9967a9ed | 184 | - if [ "$CC" = i686-w64-mingw32-gcc ]; then |
db9defdf | 185 | export CROSS_COMPILE=${CC%%gcc}; unset CC; |
262ee9a2 | 186 | $srcdir/Configure mingw $CONFIG_OPTS -Wno-pedantic-ms-format; |
9967a9ed | 187 | elif [ "$CC" = x86_64-w64-mingw32-gcc ]; then |
db9defdf | 188 | export CROSS_COMPILE=${CC%%gcc}; unset CC; |
262ee9a2 | 189 | $srcdir/Configure mingw64 $CONFIG_OPTS -Wno-pedantic-ms-format; |
db9defdf | 190 | else |
16161a30 | 191 | if which ccache >/dev/null && test "$BORINGSSL_TESTS" != yes; then |
a70ca740 | 192 | CC="ccache $CC"; |
8cffddc0 | 193 | fi; |
d819760d BE |
194 | if [ -n "$CONFIGURE_TARGET" ]; then |
195 | $srcdir/Configure $CONFIGURE_TARGET $CONFIG_OPTS; | |
196 | else | |
197 | $srcdir/config -v $CONFIG_OPTS; | |
198 | fi; | |
db9defdf | 199 | fi |
2da0130b | 200 | - ./configdata.pm --dump |
262ee9a2 | 201 | - cd $top |
66c103bd AG |
202 | |
203 | script: | |
a4ffbbee RL |
204 | - if [ -z "$BUILDONLY" ]; then |
205 | make="make -s"; | |
206 | else | |
207 | make="make"; | |
208 | fi | |
6197bc7c RL |
209 | - if [ -n "$GENERATE" ]; then |
210 | make2="$make PERL=no-perl"; | |
211 | else | |
212 | make2="$make"; | |
213 | fi | |
ab29eca6 | 214 | - top=${PWD} |
262ee9a2 RL |
215 | - if [ -n "$DESTDIR" ]; then |
216 | cd _build; | |
262ee9a2 | 217 | fi |
46c428d7 RS |
218 | - if ! $make update; then |
219 | echo -e '\052\052 FAILED -- MAKE UPDATE'; | |
5be78a88 | 220 | travis_terminate 1; |
caf12bd6 | 221 | fi |
46c428d7 | 222 | - if ! git diff --exit-code; then |
79c44b4e | 223 | echo -e '\052\052 FAILED -- UPDATED FILES NOT COMMITTED'; |
46c428d7 | 224 | travis_terminate 1; |
29ee1be5 | 225 | fi |
46c428d7 RS |
226 | - if test -n "$GENERATE" && ! $make build_all_generated; then |
227 | echo -e '\052\052 FAILED -- MAKE BUILD_ALL_GENERATED'; | |
228 | travis_terminate 1; | |
229 | fi | |
9fcb9702 RS |
230 | - if test -n "$CHECKDOCS" && ! $make doc-nits; then |
231 | echo -e '\052\052 FAILED -- MAKE DOC-NITS'; | |
232 | travis_terminate 1; | |
233 | fi | |
46c428d7 RS |
234 | - if ! $make2; then |
235 | echo -e '\052\052 FAILED -- MAKE'; | |
5be78a88 | 236 | travis_terminate 1; |
d8ebcf5c | 237 | fi; |
912f8a98 RS |
238 | - if test -n "$CHECKDOCS" && ! $make cmd-nits; then |
239 | echo -e '\052\052 FAILED -- MAKE CMD-NITS'; | |
240 | travis_terminate 1; | |
241 | fi | |
b63447c1 | 242 | - if [ -z "$BUILDONLY" ]; then |
56cd71b4 | 243 | if [ -n "$CROSS_COMPILE" ]; then |
703324a7 EK |
244 | sudo dpkg --add-architecture i386; |
245 | sudo apt-get update; | |
b169c0ec | 246 | sudo apt-get -yq --no-install-suggests --no-install-recommends --force-yes install wine; |
56cd71b4 EK |
247 | export EXE_SHELL="wine" WINEPREFIX=`pwd`; |
248 | fi; | |
0fef7448 RH |
249 | if [ -e krb5/src ]; then |
250 | sudo apt-get -yq install bison dejagnu gettext keyutils ldap-utils libldap2-dev libkeyutils-dev python-cjson python-paste python-pyrad slapd tcl-dev tcsh; | |
251 | fi; | |
799614fa | 252 | if ! HARNESS_VERBOSE_FAILURE=yes BORING_RUNNER_DIR=$top/boringssl/ssl/test/runner make test; then |
46c428d7 | 253 | echo -e '\052\052 FAILED -- MAKE TEST'; |
5be78a88 | 254 | travis_terminate 1; |
d8ebcf5c | 255 | fi; |
d7a275ee | 256 | else |
46c428d7 RS |
257 | if ! $make build_tests >~/build.log 2>&1; then |
258 | echo -e '\052\052 FAILED -- MAKE BUILD_TESTS'; | |
9967a9ed | 259 | cat ~/build.log |
5be78a88 | 260 | travis_terminate 1; |
d8ebcf5c | 261 | fi; |
1a3ae788 | 262 | fi |
d227a302 | 263 | - if [ -n "$DESTDIR" ]; then |
ab29eca6 | 264 | mkdir "$top/$DESTDIR"; |
46c428d7 RS |
265 | if ! $make install DESTDIR="$top/$DESTDIR" >~/install.log 2>&1 ; then |
266 | echo -e '\052\052 FAILED -- MAKE INSTALL'; | |
9967a9ed | 267 | cat ~/install.log; |
5be78a88 | 268 | travis_terminate 1; |
d8ebcf5c | 269 | fi; |
d227a302 | 270 | fi |
262ee9a2 | 271 | - cd $top |
46c428d7 | 272 | - echo -e '\052\052 DONE' |
66c103bd | 273 | |
ad0a0a3a EK |
274 | after_success: |
275 | - if [ -n "$COVERALLS" ]; then | |
16161a30 | 276 | coveralls -b . --gcov gcov --gcov-options '\-lpbc'; |
ad0a0a3a EK |
277 | fi; |
278 | ||
66c103bd | 279 | notifications: |
db9defdf | 280 | email: |
5e28b1c1 | 281 | secure: "xeGNgWO7aoaDgRvcZubposqMsj36aU8c6F0oHfw+rUqltCQ14IgYCUwzocmR2O+Pa7B3Cx5VjMfBFHbQaajZsfod8vu7g+aGq/zkjwbhsr/SR4dljJjFJXLGZjIalm9KgP6KInmVDuINfCqP+MHIY5lZkNI7DMcyHDhVc5nSKvCXV7xTDNgmstvh8rB/z51WfHDqGqfBtiuK5FDNxmvYK8OFJ5W94Lu9LDlizcxwK3GAj7arOui7Z5w8bQ6p4seUE3IvJL1Zbj0pZHxvNb6Zeb2Pn8QF1qLlN8YmBktD4aiw0ce4wYRiL87uLgcOxZY7SVXtv2XYFIYWapU/FKjCqa6vK93V/H9eZWEIYNMKnN3wXm2beqVdnKek3OeGJ8v0y7MbSfuLfRtBqbTSNYnpU1Zuo4MQAvHvEPuwCAYkYQajOSRplMH5sULFKptuVqNtOMfjL8jHb8AEoL1acYIk43ydxeYrzzas4fqgCDJ52573/u0RNdF1lkQBLkuM365OB8VRqtpnoxcdEIY/qBc/8TzZ24fxyrs5qdHFcxGSgpN2EP6cJMqpvkemnCNSdhxUqfzm22N7a3O8+4LFSBGOnHto/PwdsvF/01yGYL0LoZTnoO1i6x7AMJPBh+eyDU0ZjGhj/msjmqeb9C8vRqQ+1WjHrIS1iqCD0Czib8tUPD4=" |