2014-11-13 22:50:10 +00:00
language : c
2020-05-02 19:06:04 +00:00
os :
- linux
- osx
2020-05-02 19:06:46 +00:00
dist : bionic
2020-05-02 19:06:04 +00:00
# Valgrind currently supports upto macOS 10.13, the latest xcode of that version is 10.1
osx_image : xcode10.1
2015-04-22 00:21:00 +00:00
addons :
apt :
2020-01-11 13:31:50 +00:00
packages :
- libgmp-dev
- valgrind
2020-02-12 10:20:38 +00:00
- libtool-bin
2014-11-13 22:50:10 +00:00
compiler :
- clang
- gcc
2014-06-17 01:34:56 +00:00
env :
global :
2020-09-26 03:06:36 +00:00
- 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
2014-06-17 01:34:56 +00:00
matrix :
2020-08-09 17:58:40 +00:00
- WIDEMUL=int64 RECOVERY=yes
2020-05-12 16:17:59 +00:00
- WIDEMUL=int64 ECDH=yes EXPERIMENTAL=yes SCHNORRSIG=yes
2020-08-09 17:58:40 +00:00
- WIDEMUL=int128
2020-05-12 16:17:59 +00:00
- WIDEMUL=int128 RECOVERY=yes EXPERIMENTAL=yes SCHNORRSIG=yes
2020-09-26 03:06:36 +00:00
- WIDEMUL=int128 ECDH=yes EXPERIMENTAL=yes SCHNORRSIG=yes
2020-08-09 17:58:40 +00:00
- WIDEMUL=int128 ASM=x86_64
2014-12-12 15:20:47 +00:00
- BIGNUM=no
2020-09-26 03:06:36 +00:00
- BIGNUM=no RECOVERY=yes EXPERIMENTAL=yes SCHNORRSIG=yes
2015-07-14 16:05:57 +00:00
- BIGNUM=no STATICPRECOMPUTATION=no
2020-09-21 07:47:40 +00:00
- BUILD=distcheck WITH_VALGRIND=no CTIMETEST=no BENCH=no
2020-05-02 18:58:42 +00:00
- CPPFLAGS=-DDETERMINISTIC
2020-09-14 15:02:25 +00:00
- CFLAGS=-O0 CTIMETEST=no
2020-10-27 07:43:10 +00:00
- 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
2015-10-18 08:35:16 +00:00
- ECMULTGENPRECISION=2
- ECMULTGENPRECISION=8
2020-09-12 12:20:22 +00:00
- RUN_VALGRIND=yes BIGNUM=no ASM=x86_64 ECDH=yes RECOVERY=yes EXPERIMENTAL=yes SCHNORRSIG=yes EXTRAFLAGS="--disable-openssl-tests" BUILD=
2015-04-22 00:21:00 +00:00
matrix :
fast_finish : true
include :
- compiler : clang
2020-05-02 19:06:04 +00:00
os : linux
2020-09-26 03:06:36 +00:00
env : HOST=i686-linux-gnu
2015-04-22 00:21:00 +00:00
addons :
apt :
packages :
- gcc-multilib
2015-04-22 04:42:19 +00:00
- libgmp-dev:i386
2020-02-12 10:20:38 +00:00
- valgrind
- libtool-bin
- libc6-dbg:i386
2015-04-22 00:21:00 +00:00
- compiler : clang
env : HOST=i686-linux-gnu
2020-05-02 19:06:04 +00:00
os : linux
2015-04-22 00:21:00 +00:00
addons :
apt :
packages :
- gcc-multilib
2020-02-12 10:20:38 +00:00
- valgrind
- libtool-bin
- libc6-dbg:i386
2015-04-22 00:21:00 +00:00
- compiler : gcc
2020-09-26 03:06:36 +00:00
env : HOST=i686-linux-gnu
2020-05-02 19:06:04 +00:00
os : linux
2015-04-22 00:21:00 +00:00
addons :
apt :
packages :
- gcc-multilib
2020-02-12 10:20:38 +00:00
- valgrind
- libtool-bin
- libc6-dbg:i386
2015-04-22 00:21:00 +00:00
- compiler : gcc
2020-05-02 19:06:04 +00:00
os : linux
2015-04-22 00:21:00 +00:00
env : HOST=i686-linux-gnu
addons :
apt :
packages :
- gcc-multilib
2015-04-22 04:42:19 +00:00
- libgmp-dev:i386
2020-02-12 10:20:38 +00:00
- valgrind
- libtool-bin
- libc6-dbg:i386
2020-07-29 00:41:07 +00:00
# S390x build (big endian system)
- compiler : gcc
2020-09-12 12:20:22 +00:00
env : HOST=s390x-unknown-linux-gnu ECDH=yes RECOVERY=yes EXPERIMENTAL=yes SCHNORRSIG=yes CTIMETEST=
2020-07-29 00:41:07 +00:00
arch : s390x
2020-05-02 19:06:04 +00:00
# We use this to install macOS dependencies instead of the built in `homebrew` plugin,
# because in xcode earlier than 11 they have a bug requiring updating the system which overall takes ~8 minutes.
# https://travis-ci.community/t/macos-build-fails-because-of-homebrew-bundle-unknown-command/7296
before_install :
- if [ "${TRAVIS_OS_NAME}" = "osx" ]; then HOMEBREW_NO_AUTO_UPDATE=1 brew install gmp valgrind gcc@9; fi
2019-11-02 14:06:36 +00:00
2014-06-17 01:34:56 +00:00
before_script : ./autogen.sh
2019-11-09 11:40:45 +00:00
2020-05-03 15:01:28 +00:00
# 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)
script :
- function keep_alive() { while true; do echo -en "\a"; sleep 60; done }
- keep_alive &
- ./contrib/travis.sh
- kill %keep_alive
2019-11-02 14:06:36 +00:00
after_script :
- cat ./tests.log
- cat ./exhaustive_tests.log
2020-02-12 10:20:38 +00:00
- cat ./valgrind_ctime_test.log
2020-03-04 14:35:31 +00:00
- cat ./bench.log
2020-05-02 19:06:04 +00:00
- $CC --version
- valgrind --version