diff options
Diffstat (limited to '.travis.yml')
-rw-r--r-- | .travis.yml | 67 |
1 files changed, 45 insertions, 22 deletions
diff --git a/.travis.yml b/.travis.yml index fbc81b2614..1598813ed2 100644 --- a/.travis.yml +++ b/.travis.yml @@ -25,6 +25,8 @@ # [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: xenial os: linux language: minimal @@ -35,9 +37,7 @@ cache: - $TRAVIS_BUILD_DIR/depends/built - $TRAVIS_BUILD_DIR/depends/sdk-sources - $TRAVIS_BUILD_DIR/ci/scratch/.ccache - # macOS - - $HOME/Library/Caches/Homebrew - - /usr/local/Homebrew + - $TRAVIS_BUILD_DIR/releases/$HOST before_cache: - if [ "${TRAVIS_OS_NAME}" = "osx" ]; then brew cleanup; fi stages: @@ -46,7 +46,6 @@ stages: env: global: - CI_RETRY_EXE="travis_retry" - - CI_WAIT="while sleep 500; do echo .; done" - 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 @@ -71,7 +70,7 @@ jobs: - stage: lint name: 'lint' env: - cache: false + cache: pip language: python python: '3.5' # Oldest supported version according to doc/dependencies.md install: @@ -83,17 +82,19 @@ jobs: - stage: test name: 'ARM [GOAL: install] [buster] [unit tests, functional tests]' - arch: arm64 + 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="" # Can run the tests natively without qemu + QEMU_USER_CMD="" - - stage: test - name: 'S390x [GOAL: install] [buster] [unit tests, functional tests]' - arch: s390x - env: >- - FILE_ENV="./ci/test/00_setup_env_s390x.sh" - QEMU_USER_CMD="" # Can run the tests natively without qemu +# s390 build was disabled temporarily because of disk space issues on the Travis VM +# +# - 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 functional tests]' @@ -106,15 +107,16 @@ jobs: FILE_ENV="./ci/test/00_setup_env_i686_centos.sh" - stage: test - name: 'x86_64 Linux [GOAL: install] [bionic] [uses qt5 dev package and some depends packages] [unsigned char]' + 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] [xenial] [no depends, only system libs, sanitizers: thread (TSan), no wallet]' + name: 'x86_64 Linux [GOAL: install] [bionic] [no depends, only system libs, sanitizers: thread (TSan), no wallet]' + # Not enough memory on travis machines, so feature_block is excluded for now env: >- + TEST_RUNNER_EXTRA="--exclude feature_block" FILE_ENV="./ci/test/00_setup_env_native_tsan.sh" - TEST_RUNNER_EXTRA="--exclude feature_block" # Not enough memory on travis machines - stage: test name: 'x86_64 Linux [GOAL: install] [bionic] [no depends, only system libs, sanitizers: address/leak (ASan + LSan) + undefined (UBSan) + integer]' @@ -122,14 +124,15 @@ jobs: FILE_ENV="./ci/test/00_setup_env_native_asan.sh" - stage: test - name: 'x86_64 Linux [GOAL: install] [bionic] [no depends, only system libs, valgrind]' + 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_valgrind.sh" + FILE_ENV="./ci/test/00_setup_env_native_fuzz.sh" - stage: test - name: 'x86_64 Linux [GOAL: install] [bionic] [no depends, only system libs, sanitizers: fuzzer,address,undefined]' + name: 'x86_64 Linux [GOAL: install] [bionic] [multiprocess]' + if: type != pull_request OR commit_message =~ /depends:|multiprocess:/ # Skip on non-depends, non-multiprocess PRs env: >- - FILE_ENV="./ci/test/00_setup_env_native_fuzz.sh" + FILE_ENV="./ci/test/00_setup_env_native_multiprocess.sh" - stage: test name: 'x86_64 Linux [GOAL: install] [bionic] [no wallet]' @@ -145,8 +148,28 @@ jobs: name: 'macOS 10.14 native [GOAL: install] [GUI] [no depends]' os: osx # Use the most recent version: - # Xcode 11.2.1, macOS 10.14, JDK 13.0.1, SDK 10.15 + # Xcode 11.3.1, macOS 10.14, SDK 10.15 # https://docs.travis-ci.com/user/reference/osx/#macos-version - osx_image: xcode11.2 + osx_image: xcode11.3 + cache: + directories: + - $TRAVIS_BUILD_DIR/ci/scratch/.ccache + - $TRAVIS_BUILD_DIR/releases/$HOST + - $HOME/Library/Caches/Homebrew + - /usr/local/Homebrew + addons: + homebrew: + packages: + - libtool + - berkeley-db4 + - boost + - miniupnpc + - qt + - qrencode + - python3 + - ccache + - zeromq env: >- + DANGER_RUN_CI_ON_HOST=true + CI_USE_APT_INSTALL=no FILE_ENV="./ci/test/00_setup_env_mac_host.sh" |