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