mirror of
https://github.com/bitcoin/bitcoin.git
synced 2024-11-20 02:25:40 +01:00
b9c1a76481
8ab24e8dad Merge #558: Add schnorrsig module which implements BIP-340 compliant signatures f3733c5433 Merge #797: Fix Jacobi benchmarks and other benchmark improvements cb5524adc5 Add benchmark for secp256k1_ge_set_gej_var 5c6af60ec5 Make jacobi benchmarks vary inputs d0fdd5f009 Randomize the Z coordinates in bench_internal c7a3424c5f Rename bench_internal variables 875d68b95f Merge #699: Initialize field elements when resulting in infinity 54caf2e74f Merge #799: Add fallback LE/BE for architectures with known endianness + SHA256 selftest f431b3f28a valgrind_ctime_test: Add schnorrsig_sign 16ffa9d97c schnorrsig: Add taproot test case 8dfd53ee3f schnorrsig: Add benchmark for sign and verify 4e43520026 schnorrsig: Add BIP-340 compatible signing and verification 7332d2db6b schnorrsig: Add BIP-340 nonce function 7a703fd97d schnorrsig: Init empty experimental module eabd9bc46a Allow initializing tagged sha256 6fcb5b845d extrakeys: Add keypair_xonly_tweak_add 58254463f9 extrakeys: Add keypair struct with create, pub and pub_xonly f0010349b8 Separate helper functions for pubkey_create and seckey_tweak_add 910d9c284c extrakeys: Add xonly_pubkey_tweak_add & xonly_pubkey_tweak_add_test 176bfb1110 Separate helper function for ec_pubkey_tweak_add 4cd2ee474d extrakeys: Add xonly_pubkey with serialize, parse and from_pubkey f49c9896b0 Merge #806: Trivial: Add test logs to gitignore aabf00c155 Merge #648: Prevent ints from wrapping around in scratch space functions f5adab16a9 Merge #805: Remove the extremely outdated TODO file. bceefd6547 Add test logs to gitignore 1c325199d5 Remove the extremely outdated TODO file. 47e6618e11 extrakeys: Init empty experimental module 3e08b02e2a Make the secp256k1_declassify argument constant 8bc6aeffa9 Add SHA256 selftest 670cdd3f8b Merge #798: Check assumptions on integer implementation at compile time 5e5fb28b4a Use additional system macros to figure out endianness 7c068998ba Compile-time check assumptions on integer types 02b6c87b52 Add support for (signed) __int128 979961c506 Merge #787: Use preprocessor macros instead of autoconf to detect endianness 887bd1f8b6 Merge #793: Make scalar/field choice depend on C-detected __int128 availability 0dccf98a21 Use preprocessor macros instead of autoconf to detect endianness b2c8c42cf1 Merge #795: Avoid linking libcrypto in the valgrind ct test. 57d3a3c64c Avoid linking libcrypto in the valgrind ct test. 79f1f7a4f1 Autodetect __int128 availability on the C side 0d7727f95e Add SECP256K1_FE_STORAGE_CONST_GET to 5x52 field 805082de11 Merge #696: Run a Travis test on s390x (big endian) 39295362cf Test travis s390x (big endian) 6034a04fb1 Merge #778: secp256k1_gej_double_nonzero supports infinity f60915906d Merge #779: travis: Fix argument quoting for ./configure 9e49a9b255 travis: Fix argument quoting for ./configure 18d36327fd secp256k1_gej_double_nonzero supports infinity 214cb3c321 Merge #772: Improve constant-timeness on PowerPC 40412b1930 Merge #774: tests: Abort if malloc() fails during context cloning tests 2e1b9e0458 tests: Abort if malloc() fails during context cloning tests 67a429f31f Suppress a harmless variable-time optimization by clang in _int_cmov 5b196338f0 Remove redundant "? 1 : 0" after comparisons in scalar code 3e5cfc5c73 Merge #741: Remove unnecessary sign variable from wnaf_const 66bb9320c0 Merge #773: Fix some compile problems on weird/old compilers. 1309c03c45 Fix some compile problems on weird/old compilers. 2309c7dd4a Merge #769: Undef HAVE___INT128 in basic-config.h to fix gen_context compilation 22e578bb11 Undef HAVE___INT128 in basic-config.h to fix gen_context compilation 3f4a5a10e4 Merge #765: remove dead store in ecdsa_signature_parse_der_lax f00d6575ca remove dead store in ecdsa_signature_parse_der_lax dbd41db16a Merge #759: Fix uninitialized variables in ecmult_multi test 2e7fc5b537 Fix uninitialized variables in ecmult_multi test 37dba329c6 Remove unnecessary sign variable from wnaf_const 6bb0b77e15 Fix test_constant_wnaf for -1 and add a test for it. 47a7b8382f Clear field elements when writing infinity 61d1ecb028 Added test with additions resulting in infinity 60f7f2de5d Don't assume that ALIGNMENT > 1 in tests ada6361dec Use ROUND_TO_ALIGN in scratch_create 8ecc6ce50e Add check preventing rounding to alignment from wrapping around in scratch_alloc 4edaf06fb0 Add check preventing integer multiplication wrapping around in scratch_max_allocation git-subtree-dir: src/secp256k1 git-subtree-split: 8ab24e8dad9d43fc6661842149899e3cc9213b24
141 lines
5.4 KiB
YAML
141 lines
5.4 KiB
YAML
# Travis caches can be manually removed if necessary. This is one of the very
|
|
# few manual operations that is possible with Travis, and it can be done by a
|
|
# Bitcoin Core GitHub member via the Travis web interface [0].
|
|
#
|
|
# Travis CI uploads the cache after the script phase of the build [1].
|
|
# However, the build is terminated without saving the cache if it takes over
|
|
# 50 minutes [2]. Thus, if we spent too much time in early build stages, fail
|
|
# with an error and save the cache.
|
|
#
|
|
# [0] https://travis-ci.org/bitcoin/bitcoin/caches
|
|
# [1] https://docs.travis-ci.com/user/caching/#build-phases
|
|
# [2] https://docs.travis-ci.com/user/customizing-the-build#build-timeouts
|
|
|
|
version: ~> 1.0
|
|
|
|
dist: bionic
|
|
os: linux
|
|
language: minimal
|
|
arch: amd64
|
|
cache:
|
|
directories:
|
|
- $TRAVIS_BUILD_DIR/depends/built
|
|
- $TRAVIS_BUILD_DIR/depends/sdk-sources
|
|
- $TRAVIS_BUILD_DIR/ci/scratch/.ccache
|
|
- $TRAVIS_BUILD_DIR/releases/$HOST
|
|
stages:
|
|
- lint
|
|
- test
|
|
env:
|
|
global:
|
|
- CI_RETRY_EXE="travis_retry"
|
|
- CACHE_ERR_MSG="Error! Initial build successful, but not enough time remains to run later build stages and tests. See https://docs.travis-ci.com/user/customizing-the-build#build-timeouts . Please manually re-run this job by using the travis restart button. The next run should not time out because the build cache has been saved."
|
|
before_install:
|
|
- set -o errexit; source ./ci/test/00_setup_env.sh
|
|
- set -o errexit; source ./ci/test/03_before_install.sh
|
|
install:
|
|
- set -o errexit; source ./ci/test/04_install.sh
|
|
before_script:
|
|
# Temporary workaround for https://github.com/bitcoin/bitcoin/issues/16368
|
|
- for i in {1..4}; do echo "$(sleep 500)" ; done &
|
|
- set -o errexit; source ./ci/test/05_before_script.sh &> "/dev/null"
|
|
script:
|
|
- export CONTINUE=1
|
|
- if [ $SECONDS -gt 1200 ]; then export CONTINUE=0; fi # Likely the depends build took very long
|
|
- if [ $TRAVIS_REPO_SLUG = "bitcoin/bitcoin" ]; then export CONTINUE=1; fi # continue on repos with extended build time (90 minutes)
|
|
- if [ $CONTINUE = "1" ]; then set -o errexit; source ./ci/test/06_script_a.sh; else set +o errexit; echo "$CACHE_ERR_MSG"; false; fi
|
|
- if [[ $SECONDS -gt 50*60-$EXPECTED_TESTS_DURATION_IN_SECONDS ]]; then export CONTINUE=0; fi
|
|
- if [ $TRAVIS_REPO_SLUG = "bitcoin/bitcoin" ]; then export CONTINUE=1; fi # continue on repos with extended build time (90 minutes)
|
|
- if [ $CONTINUE = "1" ]; then set -o errexit; source ./ci/test/06_script_b.sh; else set +o errexit; echo "$CACHE_ERR_MSG"; false; fi
|
|
after_script:
|
|
- echo $TRAVIS_COMMIT_RANGE
|
|
jobs:
|
|
include:
|
|
|
|
- stage: lint
|
|
name: 'lint'
|
|
env:
|
|
cache: pip
|
|
language: python
|
|
python: '3.5' # Oldest supported version according to doc/dependencies.md
|
|
install:
|
|
- set -o errexit; source ./ci/lint/04_install.sh
|
|
before_script:
|
|
- set -o errexit; source ./ci/lint/05_before_script.sh
|
|
script:
|
|
- set -o errexit; source ./ci/lint/06_script.sh
|
|
|
|
- stage: test
|
|
name: 'ARM [GOAL: install] [buster] [unit tests, functional tests]'
|
|
arch: arm64 # Can disable QEMU_USER_CMD and run the tests natively without qemu
|
|
env: >-
|
|
FILE_ENV="./ci/test/00_setup_env_arm.sh"
|
|
QEMU_USER_CMD=""
|
|
|
|
- stage: test
|
|
name: 'S390x [GOAL: install] [buster] [unit tests, functional tests]'
|
|
arch: s390x # Can disable QEMU_USER_CMD and run the tests natively without qemu
|
|
env: >-
|
|
FILE_ENV="./ci/test/00_setup_env_s390x.sh"
|
|
QEMU_USER_CMD=""
|
|
|
|
- stage: test
|
|
name: 'Win64 [GOAL: deploy] [unit tests, no gui, no boost::process, no functional tests]'
|
|
env: >-
|
|
FILE_ENV="./ci/test/00_setup_env_win64.sh"
|
|
|
|
- stage: test
|
|
name: '32-bit + dash [GOAL: install] [CentOS 7] [gui]'
|
|
env: >-
|
|
FILE_ENV="./ci/test/00_setup_env_i686_centos.sh"
|
|
|
|
- stage: test
|
|
name: 'x86_64 Linux [GOAL: install] [bionic] [C++17, previous releases, uses qt5 dev package and some depends packages] [unsigned char]'
|
|
env: >-
|
|
FILE_ENV="./ci/test/00_setup_env_native_qt5.sh"
|
|
|
|
- stage: test
|
|
name: 'x86_64 Linux [GOAL: install] [focal] [depends, sanitizers: memory (MSan)]'
|
|
env: >-
|
|
FILE_ENV="./ci/test/00_setup_env_native_msan.sh"
|
|
|
|
- stage: test
|
|
name: 'x86_64 Linux [GOAL: install] [focal] [no depends, only system libs, sanitizers: fuzzer,address,undefined]'
|
|
env: >-
|
|
FILE_ENV="./ci/test/00_setup_env_native_fuzz.sh"
|
|
|
|
- stage: test
|
|
name: 'x86_64 Linux [GOAL: install] [focal] [multiprocess]'
|
|
env: >-
|
|
FILE_ENV="./ci/test/00_setup_env_native_multiprocess.sh"
|
|
|
|
- stage: test
|
|
name: 'x86_64 Linux [GOAL: install] [xenial] [no wallet]'
|
|
env: >-
|
|
FILE_ENV="./ci/test/00_setup_env_native_nowallet.sh"
|
|
|
|
- stage: test
|
|
name: 'macOS 10.12 [GOAL: deploy] [no functional tests]'
|
|
env: >-
|
|
FILE_ENV="./ci/test/00_setup_env_mac.sh"
|
|
|
|
- stage: test
|
|
name: 'macOS 10.14 native [GOAL: install] [GUI] [no depends]'
|
|
os: osx
|
|
# Use the most recent version:
|
|
# Xcode 11.3.1, macOS 10.14, SDK 10.15
|
|
# https://docs.travis-ci.com/user/reference/osx/#macos-version
|
|
osx_image: xcode11.3
|
|
addons:
|
|
homebrew:
|
|
packages:
|
|
- berkeley-db4
|
|
- miniupnpc
|
|
- qrencode
|
|
- ccache
|
|
- zeromq
|
|
env: >-
|
|
DANGER_RUN_CI_ON_HOST=true
|
|
CI_USE_APT_INSTALL=no
|
|
FILE_ENV="./ci/test/00_setup_env_mac_host.sh"
|