]>
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: | |
79f1f7a4 | 20 | - WIDEMUL=auto BIGNUM=auto ENDOMORPHISM=no STATICPRECOMPUTATION=yes ECMULTGENPRECISION=auto ASM=no BUILD=check EXTRAFLAGS= HOST= ECDH=no RECOVERY=no EXPERIMENTAL=no CTIMETEST=yes BENCH=yes ITERS=2 |
b0cc21f8 | 21 | matrix: |
79f1f7a4 PW |
22 | - WIDEMUL=int64 RECOVERY=yes |
23 | - WIDEMUL=int64 ECDH=yes EXPERIMENTAL=yes | |
24 | - WIDEMUL=int64 ENDOMORPHISM=yes | |
25 | - WIDEMUL=int128 | |
26 | - WIDEMUL=int128 RECOVERY=yes | |
27 | - WIDEMUL=int128 ENDOMORPHISM=yes | |
28 | - WIDEMUL=int128 ENDOMORPHISM=yes ECDH=yes EXPERIMENTAL=yes | |
29 | - WIDEMUL=int128 ASM=x86_64 | |
30 | - WIDEMUL=int128 ENDOMORPHISM=yes ASM=x86_64 | |
1ba4a60a | 31 | - BIGNUM=no |
8eecc4a3 | 32 | - BIGNUM=no ENDOMORPHISM=yes RECOVERY=yes EXPERIMENTAL=yes |
a83bb480 | 33 | - BIGNUM=no STATICPRECOMPUTATION=no |
85b35afa | 34 | - BUILD=distcheck CTIMETEST= BENCH= |
b6807d91 ET |
35 | - CPPFLAGS=-DDETERMINISTIC |
36 | - CFLAGS=-O0 CTIMETEST= | |
dcb2e3b3 | 37 | - ECMULTGENPRECISION=2 |
38 | - ECMULTGENPRECISION=8 | |
0c5ff906 ET |
39 | - VALGRIND=yes ENDOMORPHISM=yes BIGNUM=no ASM=x86_64 EXPERIMENTAL=yes ECDH=yes RECOVERY=yes EXTRAFLAGS="--disable-openssl-tests" CPPFLAGS=-DVALGRIND BUILD= |
40 | - VALGRIND=yes BIGNUM=no ASM=x86_64 EXPERIMENTAL=yes ECDH=yes RECOVERY=yes EXTRAFLAGS="--disable-openssl-tests" CPPFLAGS=-DVALGRIND BUILD= | |
cf7f7022 CF |
41 | matrix: |
42 | fast_finish: true | |
43 | include: | |
44 | - compiler: clang | |
0c5ff906 | 45 | os: linux |
cf7f7022 CF |
46 | env: HOST=i686-linux-gnu ENDOMORPHISM=yes |
47 | addons: | |
48 | apt: | |
49 | packages: | |
50 | - gcc-multilib | |
2d2707a4 | 51 | - libgmp-dev:i386 |
08fb6c49 JN |
52 | - valgrind |
53 | - libtool-bin | |
54 | - libc6-dbg:i386 | |
cf7f7022 CF |
55 | - compiler: clang |
56 | env: HOST=i686-linux-gnu | |
0c5ff906 | 57 | os: linux |
cf7f7022 CF |
58 | addons: |
59 | apt: | |
60 | packages: | |
61 | - gcc-multilib | |
08fb6c49 JN |
62 | - valgrind |
63 | - libtool-bin | |
64 | - libc6-dbg:i386 | |
cf7f7022 CF |
65 | - compiler: gcc |
66 | env: HOST=i686-linux-gnu ENDOMORPHISM=yes | |
0c5ff906 | 67 | os: linux |
cf7f7022 CF |
68 | addons: |
69 | apt: | |
70 | packages: | |
71 | - gcc-multilib | |
08fb6c49 JN |
72 | - valgrind |
73 | - libtool-bin | |
74 | - libc6-dbg:i386 | |
cf7f7022 | 75 | - compiler: gcc |
0c5ff906 | 76 | os: linux |
cf7f7022 CF |
77 | env: HOST=i686-linux-gnu |
78 | addons: | |
79 | apt: | |
80 | packages: | |
81 | - gcc-multilib | |
2d2707a4 | 82 | - libgmp-dev:i386 |
08fb6c49 JN |
83 | - valgrind |
84 | - libtool-bin | |
85 | - libc6-dbg:i386 | |
39295362 PW |
86 | # S390x build (big endian system) |
87 | - compiler: gcc | |
88 | env: HOST=s390x-unknown-linux-gnu ECDH=yes RECOVERY=yes EXPERIMENTAL=yes CTIMETEST= | |
89 | arch: s390x | |
0c5ff906 ET |
90 | |
91 | # We use this to install macOS dependencies instead of the built in `homebrew` plugin, | |
92 | # because in xcode earlier than 11 they have a bug requiring updating the system which overall takes ~8 minutes. | |
93 | # https://travis-ci.community/t/macos-build-fails-because-of-homebrew-bundle-unknown-command/7296 | |
94 | before_install: | |
95 | - if [ "${TRAVIS_OS_NAME}" = "osx" ]; then HOMEBREW_NO_AUTO_UPDATE=1 brew install gmp valgrind gcc@9; fi | |
fb424fbb | 96 | |
b0cc21f8 | 97 | before_script: ./autogen.sh |
dd98cc98 | 98 | |
99bd661d ET |
99 | # 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) |
100 | script: | |
101 | - function keep_alive() { while true; do echo -en "\a"; sleep 60; done } | |
102 | - keep_alive & | |
103 | - ./contrib/travis.sh | |
104 | - kill %keep_alive | |
fb424fbb JN |
105 | |
106 | after_script: | |
107 | - cat ./tests.log | |
108 | - cat ./exhaustive_tests.log | |
08fb6c49 | 109 | - cat ./valgrind_ctime_test.log |
85b35afa | 110 | - cat ./bench.log |
0c5ff906 ET |
111 | - $CC --version |
112 | - valgrind --version |