]>
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 |
5d322036 | 72 | env: CONFIG_OPTS="--strict-warnings" 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 | |
db9defdf | 149 | exclude: |
210efa8b EK |
150 | - os: linux |
151 | compiler: clang | |
dbf9a33c AP |
152 | - os: osx |
153 | compiler: gcc | |
77fedcdc FF |
154 | - arch: arm64 |
155 | os: osx | |
3ce38663 SL |
156 | # arm64 times out when using -fsanitize=address |
157 | # The amd64 build should be sufficient to test this. | |
158 | # Note: the env line must exactly match the env line from the build | |
159 | # matrix above which contains the `-fsanitize=address` option. | |
160 | # TODO: come up with a better way of doing this that is less error prone. | |
161 | - arch: arm64 | |
162 | env: CONFIG_OPTS="no-asm -Werror --debug no-afalgeng no-shared enable-rc5 enable-md2 -fsanitize=address" LSAN_OPTIONS="report_objects=1" | |
163 | ||
db9defdf RS |
164 | |
165 | before_script: | |
b169c0ec | 166 | - env |
2da3f968 | 167 | - if [ "$TRAVIS_PULL_REQUEST" != "false" -a -n "$EXTENDED_TEST" ]; then |
6df44cf6 | 168 | (git log -1 $TRAVIS_COMMIT_RANGE | grep '\[extended tests\]' > /dev/null) || travis_terminate 0; |
b169c0ec | 169 | fi |
262ee9a2 RL |
170 | - if [ -n "$DESTDIR" ]; then |
171 | sh .travis-create-release.sh $TRAVIS_OS_NAME; | |
9967a9ed | 172 | tar -xzf _srcdist.tar.gz; |
262ee9a2 RL |
173 | mkdir _build; |
174 | cd _build; | |
175 | srcdir=../_srcdist; | |
176 | top=..; | |
177 | else | |
178 | srcdir=.; | |
179 | top=.; | |
180 | fi | |
9967a9ed | 181 | - if [ "$CC" = i686-w64-mingw32-gcc ]; then |
db9defdf | 182 | export CROSS_COMPILE=${CC%%gcc}; unset CC; |
262ee9a2 | 183 | $srcdir/Configure mingw $CONFIG_OPTS -Wno-pedantic-ms-format; |
9967a9ed | 184 | elif [ "$CC" = x86_64-w64-mingw32-gcc ]; then |
db9defdf | 185 | export CROSS_COMPILE=${CC%%gcc}; unset CC; |
262ee9a2 | 186 | $srcdir/Configure mingw64 $CONFIG_OPTS -Wno-pedantic-ms-format; |
db9defdf | 187 | else |
16161a30 | 188 | if which ccache >/dev/null && test "$BORINGSSL_TESTS" != yes; then |
a70ca740 | 189 | CC="ccache $CC"; |
8cffddc0 | 190 | fi; |
ffb261ff | 191 | $srcdir/config -v $CONFIG_OPTS; |
db9defdf | 192 | fi |
2da0130b | 193 | - ./configdata.pm --dump |
262ee9a2 | 194 | - cd $top |
66c103bd AG |
195 | |
196 | script: | |
a4ffbbee RL |
197 | - if [ -z "$BUILDONLY" ]; then |
198 | make="make -s"; | |
199 | else | |
200 | make="make"; | |
201 | fi | |
6197bc7c RL |
202 | - if [ -n "$GENERATE" ]; then |
203 | make2="$make PERL=no-perl"; | |
204 | else | |
205 | make2="$make"; | |
206 | fi | |
ab29eca6 | 207 | - top=${PWD} |
262ee9a2 RL |
208 | - if [ -n "$DESTDIR" ]; then |
209 | cd _build; | |
262ee9a2 | 210 | fi |
46c428d7 RS |
211 | - if ! $make update; then |
212 | echo -e '\052\052 FAILED -- MAKE UPDATE'; | |
5be78a88 | 213 | travis_terminate 1; |
caf12bd6 | 214 | fi |
46c428d7 | 215 | - if ! git diff --exit-code; then |
79c44b4e | 216 | echo -e '\052\052 FAILED -- UPDATED FILES NOT COMMITTED'; |
46c428d7 | 217 | travis_terminate 1; |
29ee1be5 | 218 | fi |
46c428d7 RS |
219 | - if test -n "$GENERATE" && ! $make build_all_generated; then |
220 | echo -e '\052\052 FAILED -- MAKE BUILD_ALL_GENERATED'; | |
221 | travis_terminate 1; | |
222 | fi | |
9fcb9702 RS |
223 | - if test -n "$CHECKDOCS" && ! $make doc-nits; then |
224 | echo -e '\052\052 FAILED -- MAKE DOC-NITS'; | |
225 | travis_terminate 1; | |
226 | fi | |
46c428d7 RS |
227 | - if ! $make2; then |
228 | echo -e '\052\052 FAILED -- MAKE'; | |
5be78a88 | 229 | travis_terminate 1; |
d8ebcf5c | 230 | fi; |
b63447c1 | 231 | - if [ -z "$BUILDONLY" ]; then |
56cd71b4 | 232 | if [ -n "$CROSS_COMPILE" ]; then |
703324a7 EK |
233 | sudo dpkg --add-architecture i386; |
234 | sudo apt-get update; | |
b169c0ec | 235 | sudo apt-get -yq --no-install-suggests --no-install-recommends --force-yes install wine; |
56cd71b4 EK |
236 | export EXE_SHELL="wine" WINEPREFIX=`pwd`; |
237 | fi; | |
0fef7448 RH |
238 | if [ -e krb5/src ]; then |
239 | 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; | |
240 | fi; | |
799614fa | 241 | if ! HARNESS_VERBOSE_FAILURE=yes BORING_RUNNER_DIR=$top/boringssl/ssl/test/runner make test; then |
46c428d7 | 242 | echo -e '\052\052 FAILED -- MAKE TEST'; |
5be78a88 | 243 | travis_terminate 1; |
d8ebcf5c | 244 | fi; |
d7a275ee | 245 | else |
46c428d7 RS |
246 | if ! $make build_tests >~/build.log 2>&1; then |
247 | echo -e '\052\052 FAILED -- MAKE BUILD_TESTS'; | |
9967a9ed | 248 | cat ~/build.log |
5be78a88 | 249 | travis_terminate 1; |
d8ebcf5c | 250 | fi; |
1a3ae788 | 251 | fi |
d227a302 | 252 | - if [ -n "$DESTDIR" ]; then |
ab29eca6 | 253 | mkdir "$top/$DESTDIR"; |
46c428d7 RS |
254 | if ! $make install DESTDIR="$top/$DESTDIR" >~/install.log 2>&1 ; then |
255 | echo -e '\052\052 FAILED -- MAKE INSTALL'; | |
9967a9ed | 256 | cat ~/install.log; |
5be78a88 | 257 | travis_terminate 1; |
d8ebcf5c | 258 | fi; |
d227a302 | 259 | fi |
262ee9a2 | 260 | - cd $top |
46c428d7 | 261 | - echo -e '\052\052 DONE' |
66c103bd | 262 | |
ad0a0a3a EK |
263 | after_success: |
264 | - if [ -n "$COVERALLS" ]; then | |
16161a30 | 265 | coveralls -b . --gcov gcov --gcov-options '\-lpbc'; |
ad0a0a3a EK |
266 | fi; |
267 | ||
66c103bd | 268 | notifications: |
db9defdf | 269 | email: |
5e28b1c1 | 270 | secure: "xeGNgWO7aoaDgRvcZubposqMsj36aU8c6F0oHfw+rUqltCQ14IgYCUwzocmR2O+Pa7B3Cx5VjMfBFHbQaajZsfod8vu7g+aGq/zkjwbhsr/SR4dljJjFJXLGZjIalm9KgP6KInmVDuINfCqP+MHIY5lZkNI7DMcyHDhVc5nSKvCXV7xTDNgmstvh8rB/z51WfHDqGqfBtiuK5FDNxmvYK8OFJ5W94Lu9LDlizcxwK3GAj7arOui7Z5w8bQ6p4seUE3IvJL1Zbj0pZHxvNb6Zeb2Pn8QF1qLlN8YmBktD4aiw0ce4wYRiL87uLgcOxZY7SVXtv2XYFIYWapU/FKjCqa6vK93V/H9eZWEIYNMKnN3wXm2beqVdnKek3OeGJ8v0y7MbSfuLfRtBqbTSNYnpU1Zuo4MQAvHvEPuwCAYkYQajOSRplMH5sULFKptuVqNtOMfjL8jHb8AEoL1acYIk43ydxeYrzzas4fqgCDJ52573/u0RNdF1lkQBLkuM365OB8VRqtpnoxcdEIY/qBc/8TzZ24fxyrs5qdHFcxGSgpN2EP6cJMqpvkemnCNSdhxUqfzm22N7a3O8+4LFSBGOnHto/PwdsvF/01yGYL0LoZTnoO1i6x7AMJPBh+eyDU0ZjGhj/msjmqeb9C8vRqQ+1WjHrIS1iqCD0Czib8tUPD4=" |