]>
Commit | Line | Data |
---|---|---|
992e03bc | 1 | language: c |
0c5ff906 ET |
2 | os: |
3 | - linux | |
4 | - osx | |
5 | ||
bc818b16 | 6 | dist: bionic |
0c5ff906 ET |
7 | # Valgrind currently supports upto macOS 10.13, the latest xcode of that version is 10.1 |
8 | osx_image: xcode10.1 | |
cf7f7022 CF |
9 | addons: |
10 | apt: | |
7b50483a GM |
11 | packages: |
12 | - libgmp-dev | |
13 | - valgrind | |
08fb6c49 | 14 | - libtool-bin |
992e03bc CF |
15 | compiler: |
16 | - clang | |
17 | - gcc | |
b0cc21f8 CF |
18 | env: |
19 | global: | |
4232e5b7 | 20 | - WIDEMUL=auto BIGNUM=auto STATICPRECOMPUTATION=yes ECMULTGENPRECISION=auto ASM=no BUILD=check WITH_VALGRIND=yes RUN_VALGRIND=no EXTRAFLAGS= HOST= ECDH=no RECOVERY=no SCHNORRSIG=no EXPERIMENTAL=no CTIMETEST=yes BENCH=yes ITERS=2 |
b0cc21f8 | 21 | matrix: |
79f1f7a4 | 22 | - WIDEMUL=int64 RECOVERY=yes |
4e435200 | 23 | - WIDEMUL=int64 ECDH=yes EXPERIMENTAL=yes SCHNORRSIG=yes |
79f1f7a4 | 24 | - WIDEMUL=int128 |
4e435200 | 25 | - WIDEMUL=int128 RECOVERY=yes EXPERIMENTAL=yes SCHNORRSIG=yes |
4232e5b7 | 26 | - WIDEMUL=int128 ECDH=yes EXPERIMENTAL=yes SCHNORRSIG=yes |
79f1f7a4 | 27 | - WIDEMUL=int128 ASM=x86_64 |
1ba4a60a | 28 | - BIGNUM=no |
4232e5b7 | 29 | - BIGNUM=no RECOVERY=yes EXPERIMENTAL=yes SCHNORRSIG=yes |
a83bb480 | 30 | - BIGNUM=no STATICPRECOMPUTATION=no |
66a765c7 | 31 | - BUILD=distcheck WITH_VALGRIND=no CTIMETEST=no BENCH=no |
b6807d91 | 32 | - CPPFLAGS=-DDETERMINISTIC |
34debf7a | 33 | - CFLAGS=-O0 CTIMETEST=no |
29a299e3 | 34 | - CFLAGS="-fsanitize=undefined -fno-omit-frame-pointer" LDFLAGS="-fsanitize=undefined -fno-omit-frame-pointer" UBSAN_OPTIONS="print_stacktrace=1:halt_on_error=1" BIGNUM=no ASM=x86_64 ECDH=yes RECOVERY=yes EXPERIMENTAL=yes SCHNORRSIG=yes CTIMETEST=no |
dcb2e3b3 | 35 | - ECMULTGENPRECISION=2 |
36 | - ECMULTGENPRECISION=8 | |
e6e3d5da | 37 | - RUN_VALGRIND=yes BIGNUM=no ASM=x86_64 ECDH=yes RECOVERY=yes EXPERIMENTAL=yes SCHNORRSIG=yes EXTRAFLAGS="--disable-openssl-tests" BUILD= |
cf7f7022 CF |
38 | matrix: |
39 | fast_finish: true | |
40 | include: | |
41 | - compiler: clang | |
0c5ff906 | 42 | os: linux |
4232e5b7 | 43 | env: HOST=i686-linux-gnu |
cf7f7022 CF |
44 | addons: |
45 | apt: | |
46 | packages: | |
47 | - gcc-multilib | |
2d2707a4 | 48 | - libgmp-dev:i386 |
08fb6c49 JN |
49 | - valgrind |
50 | - libtool-bin | |
51 | - libc6-dbg:i386 | |
cf7f7022 CF |
52 | - compiler: clang |
53 | env: HOST=i686-linux-gnu | |
0c5ff906 | 54 | os: linux |
cf7f7022 CF |
55 | addons: |
56 | apt: | |
57 | packages: | |
58 | - gcc-multilib | |
08fb6c49 JN |
59 | - valgrind |
60 | - libtool-bin | |
61 | - libc6-dbg:i386 | |
cf7f7022 | 62 | - compiler: gcc |
4232e5b7 | 63 | env: HOST=i686-linux-gnu |
0c5ff906 | 64 | os: linux |
cf7f7022 CF |
65 | addons: |
66 | apt: | |
67 | packages: | |
68 | - gcc-multilib | |
08fb6c49 JN |
69 | - valgrind |
70 | - libtool-bin | |
71 | - libc6-dbg:i386 | |
cf7f7022 | 72 | - compiler: gcc |
0c5ff906 | 73 | os: linux |
cf7f7022 CF |
74 | env: HOST=i686-linux-gnu |
75 | addons: | |
76 | apt: | |
77 | packages: | |
78 | - gcc-multilib | |
2d2707a4 | 79 | - libgmp-dev:i386 |
08fb6c49 JN |
80 | - valgrind |
81 | - libtool-bin | |
82 | - libc6-dbg:i386 | |
39295362 PW |
83 | # S390x build (big endian system) |
84 | - compiler: gcc | |
e6e3d5da | 85 | env: HOST=s390x-unknown-linux-gnu ECDH=yes RECOVERY=yes EXPERIMENTAL=yes SCHNORRSIG=yes CTIMETEST= |
39295362 | 86 | arch: s390x |
0c5ff906 ET |
87 | |
88 | # We use this to install macOS dependencies instead of the built in `homebrew` plugin, | |
89 | # because in xcode earlier than 11 they have a bug requiring updating the system which overall takes ~8 minutes. | |
90 | # https://travis-ci.community/t/macos-build-fails-because-of-homebrew-bundle-unknown-command/7296 | |
91 | before_install: | |
92 | - if [ "${TRAVIS_OS_NAME}" = "osx" ]; then HOMEBREW_NO_AUTO_UPDATE=1 brew install gmp valgrind gcc@9; fi | |
fb424fbb | 93 | |
b0cc21f8 | 94 | before_script: ./autogen.sh |
dd98cc98 | 95 | |
99bd661d ET |
96 | # travis auto terminates jobs that go for 10 minutes without printing to stdout, but travis_wait doesn't work well with forking programs like valgrind (https://docs.travis-ci.com/user/common-build-problems/#build-times-out-because-no-output-was-received https://github.com/bitcoin-core/secp256k1/pull/750#issuecomment-623476860) |
97 | script: | |
98 | - function keep_alive() { while true; do echo -en "\a"; sleep 60; done } | |
99 | - keep_alive & | |
100 | - ./contrib/travis.sh | |
101 | - kill %keep_alive | |
fb424fbb JN |
102 | |
103 | after_script: | |
104 | - cat ./tests.log | |
105 | - cat ./exhaustive_tests.log | |
08fb6c49 | 106 | - cat ./valgrind_ctime_test.log |
85b35afa | 107 | - cat ./bench.log |
0c5ff906 ET |
108 | - $CC --version |
109 | - valgrind --version |