# After changing this file, check it on: # http://lint.travis-ci.org/ # # Known lint bugs: # - add-ons: https://github.com/travis-ci/travis-yaml/issues/58 # - osx: https://github.com/travis-ci/travis-yaml/issues/95 language: node_js # Is `sudo` required? If not, jobs are run on container-based infrastructure. sudo: true node_js: # Node.js - 'node' - '9' - '8' - '7' - '6' - '5' - '4' # io.js - '3' - '2' - '1' # Node.js - '0.12' - '0.10' os: - linux - osx # Compiling native modules for io.js v3.x.x or Node.js >=v4.0.0 requires a C++11 standard-compliant compiler. Specifically, either gcc >=4.8 or clang >=3.5. Add-ons are Linux-specific. Electron requires a virtual display server (xvfb) on Linux. addons: apt: sources: - ubuntu-toolchain-r-test packages: - binutils - gcc-5 - gcc-5-multilib - g++-5 - g++-5-multilib - gfortran-5 - gfortran-5-multilib - xvfb - unzip env: # Environment variables common to all jobs: global: - FC=gfortran - FORTRAN_COMPILER=gfortran - CC=gcc - C_COMPILER=gcc - CXX=g++ - CXX_COMPILER=g++ - LINKER=g++ - NODE_PATH="$TRAVIS_BUILD_DIR/lib/node_modules" # Environment variables used to construct build matrix: matrix: - BUILD_TASK='test' - BUILD_TASK='benchmark' - BUILD_TASK='examples' - BUILD_TASK='test-coverage' matrix: # Flag to immediately finish a build if any one of the jobs fails: fast_finish: true # Set the clone depth: git: depth: 100 before_install: # Perform platform-specific initialization: - if [[ $TRAVIS_OS_NAME = "linux" ]]; then mkdir -p $HOME/bin; ln -s /usr/bin/gcc-5 $HOME/bin/gcc; ln -s /usr/bin/g++-5 $HOME/bin/g++; ln -s /usr/bin/gfortran-5 $HOME/bin/gfortran; else brew cask uninstall oclint; brew update; brew install -v gcc; fi # Configure the virtual display server (needed for electron): - export DISPLAY=':99.0' - Xvfb :99 -screen 0 1024x768x24 > /dev/null 2>&1 & # Print debug info: - echo "$($CC --version)" - echo "$($CXX --version)" - echo "$($FC --version)" - git --version - file $(which node) - node --version - node -p 'process.platform + "@" + process.arch' - npm --version - npm config get registry # Run pre-install tasks: - chmod +x ./tools/ci/travis/before_install - "./tools/ci/travis/before_install" install: # Run install tasks via `travis_retry` to address occasional `npm install` failures (see https://docs.travis-ci.com/user/common-build-problems/#travis_retry): - "travis_retry make FC=$FC FORTRAN_COMPILER=$FORTRAN_COMPILER install" script: - chmod +x ./tools/ci/travis/script - "./tools/ci/travis/script $BUILD_TASK" after_script: - chmod +x ./tools/ci/travis/after_script - "./tools/ci/travis/after_script" notifications: slack: rooms: secure: "RvY7XdxrvM3clWcnCIDYym+NerUVqpFS8Xekg7owYHgIm159zdpg5aIQAXvCuW4n82cK4bl932Cws6fzlXlnqS/0mjP1VTB1cQ32gL3TG2KpWAGJhtcl2gKEqM5KOZIKOW3171j0rsMQUODmke/N2316ACvgYoOUJbQXoOdaFIkWEMqgVxyq2sl9sC+4mPW3TmZEXNzn9Kt+OphunbfgEBrbkAL1QjiXYZnhhYT4SQ/QwaHtvI0MmYQ3B5GLXXMx+NkXrG3qcXx7XLxbw61rTKxY+vWqAh9w4MznlVptf8NiPCd0MX+2VyRPVow9wqZ68yWFAOHYt4zlW+uGlqr9cT31sQjuCH4WNjSPx+5YMrD4a7oBRAmxpIa7v7yRIhXR6Ia/0YO5S0kkV2MaSj+SiCcGSehWbV8NdlGzu5eD8JYzHQUykqCoKkfRC21F4ppvVL+rC8odkMLtLVOwA6+oDngqSuhXCRI8miac1YEmtu8Cj+JOVxgTudVQUkzcdgr7apUFRI3SblPQZnT0k/2eU0/U818z44tsDk5CcbCVXUCyre7vHNRrGGu8JaN7czxRKjEvbN//qGVixxm0tldQKgV1p3s0NVHPQJeuPX0hy3qHaQnzzPoJtNQvqjeOdPZsCArGjhQoWrP3QkIE0s8ZYFQnuQ1DqH3Pcqgvf45vjq0="