nimbus-eth2/.travis.yml

61 lines
2.0 KiB
YAML

language: c
dist: bionic
# https://docs.travis-ci.com/user/caching/
cache:
ccache: true
directories:
- vendor/nimbus-build-system/vendor/Nim/bin
- jsonTestsCache
git:
# when multiple CI builds are queued, the tested commit needs to be in the last X commits cloned with "--depth X"
depth: 10
matrix:
include:
# Due to Travis new pricing we want to dedicate the resources we have
# for ARM64 testing, hence Linux/Mac on AMD are commented out
# https://blog.travis-ci.com/2020-11-02-travis-ci-new-billing
#
# - os: linux
# arch: amd64
# sudo: required
# env:
# - NPROC=2
# before_install:
# - export LD_LIBRARY_PATH="$LD_LIBRARY_PATH:/usr/local/lib"
# - os: osx
# before_install:
# - HOMEBREW_NO_AUTO_UPDATE=1 HOMEBREW_NO_INSTALL_CLEANUP=1 brew install ccache
# env:
# - NPROC=2
- dist: bionic
arch: arm64
sudo: required
env:
- NPROC=6 # Worth trying more than 2 parallel jobs: https://travis-ci.community/t/no-cache-support-on-arm64/5416/8
# (also used to get a different cache key than the amd64 one)
before_install:
- export LD_LIBRARY_PATH="$LD_LIBRARY_PATH:/usr/local/lib"
- sudo apt-get -q update
- sudo apt-get install -y libpcre3-dev
#allow_failures:
## ARM64 is a bit buggy: https://travis-ci.community/t/no-output-has-been-received-and-then-build-terminated-on-arm64/8834
#- arch: arm64
install:
# official test fixtures
- scripts/setup_official_tests.sh jsonTestsCache
script:
- set -e # fail fast
# Building Nim-1.0.4 takes up to 10 minutes on Travis - the time limit after which jobs are cancelled for having no output
- make -j${NPROC} NIMFLAGS="--parallelBuild:2" V=1 update # to allow a newer Nim version to be detected
- make -j${NPROC} NIMFLAGS="--parallelBuild:2" LOG_LEVEL=TRACE
- make -j${NPROC} NIMFLAGS="--parallelBuild:2 -d:testnet_servers_image" LOG_LEVEL=TRACE nimbus_beacon_node
- make -j${NPROC} NIMFLAGS="--parallelBuild:2" DISABLE_TEST_FIXTURES_SCRIPT=1 test