language: c++ compiler: - clang - gcc # For Linux, use an Ubuntu 14 image dist: trusty os: - linux - osx env: global: # https://github.com/jasongin/nvs/blob/master/doc/CI.md - NVS_VERSION=1.4.2 matrix: - NODEJS_VERSION=node/4 - NODEJS_VERSION=node/6 - NODEJS_VERSION=node/8 - NODEJS_VERSION=node/9 - NODEJS_VERSION=node/10 - NODEJS_VERSION=chakracore/8 - NODEJS_VERSION=chakracore/10 - NODEJS_VERSION=nightly - NODEJS_VERSION=chakracore-nightly matrix: fast_finish: true allow_failures: - env: NODEJS_VERSION=nightly - env: NODEJS_VERSION=chakracore-nightly sudo: false cache: directories: - node_modules - $HOME/.npm addons: apt: sources: - ubuntu-toolchain-r-test packages: - g++-4.9 before_install: # coveralls - pip2 install --user cpp-coveralls # compilers - if [ "$CXX" = "g++" -a "$TRAVIS_OS_NAME" = "linux" ]; then export CXX="g++-4.9" CC="gcc-4.9" AR="gcc-ar-4.9" RANLIB="gcc-ranlib-4.9" NM="gcc-nm-4.9" ; fi - if [ "$CXX" = "clang++" ]; then export NPMOPT=--clang=1 ; fi - export CFLAGS="$CFLAGS -O3 --coverage" LDFLAGS="$LDFLAGS --coverage" - echo "CFLAGS=\"$CFLAGS\" LDFLAGS=\"$LDFLAGS\"" # nvs - git clone --branch v$NVS_VERSION --depth 1 https://github.com/jasongin/nvs ~/.nvs - . ~/.nvs/nvs.sh - nvs --version # node.js - nvs add $NODEJS_VERSION - nvs use $NODEJS_VERSION - node --version - npm --version install: - npm install $NPMOPT script: # Travis CI sets NVM_NODEJS_ORG_MIRROR, but it makes node-gyp fail to download headers for nightly builds. - unset NVM_NODEJS_ORG_MIRROR - npm test $NPMOPT after_success: - cpp-coveralls --gcov-options '\-lp' --build-root test/build --exclude test