nimbus-eth1/.travis.yml

61 lines
2.1 KiB
YAML

language: go
dist: bionic
# https://docs.travis-ci.com/user/caching/
cache:
directories:
- rocksdbCache
- vendor/nimbus-build-system/vendor/Nim/bin
git:
# when multiple CI builds are queued, the tested commit needs to be in the last X commits cloned with "--depth X"
depth: 10
# disable LFS file downloading during regular cloning
lfs_skip_smudge: true
go:
- "1.12.x"
matrix:
include:
- os: linux
arch: amd64
sudo: required
env:
- NPROC=2
before_install:
- export LD_LIBRARY_PATH="$LD_LIBRARY_PATH:/usr/local/lib"
- sudo apt-get -q update
- sudo apt-get install -y librocksdb-dev
- os: linux
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 librocksdb-dev
- os: osx
env:
- NPROC=2
before_install:
- launchctl setenv LIBRARY_PATH /usr/local/lib # for RocksDB
# build our own rocksdb to test with a fixed version that we think works
- vendor/nimbus-build-system/scripts/build_rocksdb.sh rocksdbCache
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:${NPROC}" V=1 update # to allow a newer Nim version to be detected
- make -j${NPROC} NIMFLAGS="--parallelBuild:${NPROC}"
- build/nimbus --help
# -static option will not work for osx unless static system libraries are provided
- if [ "$TRAVIS_OS_NAME" = "osx" ]; then
make -j${NPROC} NIMFLAGS="--parallelBuild:${NPROC}" test test-reproducibility wrappers wakusim;
else
make -j${NPROC} NIMFLAGS="--parallelBuild:${NPROC}" test test-reproducibility wrappers wrappers-static wakusim;
fi