2019-11-26 16:05:49 +00:00
|
|
|
language: go
|
2018-08-21 16:30:35 +00:00
|
|
|
|
2019-10-28 20:08:13 +00:00
|
|
|
dist: bionic
|
|
|
|
|
2018-08-31 19:42:06 +00:00
|
|
|
# https://docs.travis-ci.com/user/caching/
|
2018-08-21 20:12:23 +00:00
|
|
|
cache:
|
|
|
|
directories:
|
2019-06-16 18:18:46 +00:00
|
|
|
- rocksdbCache
|
2019-08-28 14:19:08 +00:00
|
|
|
- vendor/nimbus-build-system/vendor/Nim/bin
|
2018-08-21 16:30:35 +00:00
|
|
|
|
2019-02-15 22:37:10 +00:00
|
|
|
git:
|
2019-02-15 23:56:13 +00:00
|
|
|
# when multiple CI builds are queued, the tested commit needs to be in the last X commits cloned with "--depth X"
|
|
|
|
depth: 10
|
2019-06-12 13:19:14 +00:00
|
|
|
# disable LFS file downloading during regular cloning
|
|
|
|
lfs_skip_smudge: true
|
2019-02-15 22:37:10 +00:00
|
|
|
|
2019-11-26 16:05:49 +00:00
|
|
|
go:
|
|
|
|
- "1.12.x"
|
|
|
|
|
2018-09-05 03:01:33 +00:00
|
|
|
matrix:
|
|
|
|
include:
|
|
|
|
- os: linux
|
2019-10-16 13:34:17 +00:00
|
|
|
arch: amd64
|
2018-09-05 03:01:33 +00:00
|
|
|
sudo: required
|
2019-10-27 20:04:12 +00:00
|
|
|
env:
|
|
|
|
- NPROC=2
|
2018-09-05 03:01:33 +00:00
|
|
|
before_install:
|
2019-06-16 18:18:46 +00:00
|
|
|
- export LD_LIBRARY_PATH="$LD_LIBRARY_PATH:/usr/local/lib"
|
2019-11-06 11:58:56 +00:00
|
|
|
- sudo apt-get -q update
|
|
|
|
- sudo apt-get install -y librocksdb-dev
|
2019-10-16 13:34:17 +00:00
|
|
|
- os: linux
|
|
|
|
arch: arm64
|
|
|
|
sudo: required
|
2019-10-27 20:04:12 +00:00
|
|
|
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)
|
2019-10-16 13:34:17 +00:00
|
|
|
before_install:
|
|
|
|
- export LD_LIBRARY_PATH="$LD_LIBRARY_PATH:/usr/local/lib"
|
2019-10-28 20:08:13 +00:00
|
|
|
- sudo apt-get -q update
|
2019-11-06 11:58:56 +00:00
|
|
|
- sudo apt-get install -y libpcre3-dev librocksdb-dev
|
2018-09-05 03:01:33 +00:00
|
|
|
- os: osx
|
2019-10-27 20:04:12 +00:00
|
|
|
env:
|
|
|
|
- NPROC=2
|
2018-09-05 03:01:33 +00:00
|
|
|
before_install:
|
2019-06-16 18:18:46 +00:00
|
|
|
- launchctl setenv LIBRARY_PATH /usr/local/lib # for RocksDB
|
2019-11-06 11:58:56 +00:00
|
|
|
# build our own rocksdb to test with a fixed version that we think works
|
|
|
|
- vendor/nimbus-build-system/scripts/build_rocksdb.sh rocksdbCache
|
2019-08-14 18:43:02 +00:00
|
|
|
|
2018-08-21 19:13:35 +00:00
|
|
|
script:
|
2019-02-15 22:37:10 +00:00
|
|
|
- set -e # fail fast
|
2019-11-22 16:17:24 +00:00
|
|
|
# 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
|
2019-10-27 20:04:12 +00:00
|
|
|
- make -j${NPROC} NIMFLAGS="--parallelBuild:${NPROC}"
|
2019-08-20 22:03:15 +00:00
|
|
|
- build/nimbus --help
|
2019-11-28 11:17:04 +00:00
|
|
|
# -static option will not work for osx unless static system libraries are provided
|
|
|
|
- if [ "$TRAVIS_OS_NAME" = "osx" ]; then
|
2020-01-20 21:15:09 +00:00
|
|
|
make -j${NPROC} NIMFLAGS="--parallelBuild:${NPROC}" test test-reproducibility wrappers wakusim;
|
2019-11-28 11:17:04 +00:00
|
|
|
else
|
2020-01-20 21:15:09 +00:00
|
|
|
make -j${NPROC} NIMFLAGS="--parallelBuild:${NPROC}" test test-reproducibility wrappers wrappers-static wakusim;
|
2019-11-28 11:17:04 +00:00
|
|
|
fi
|