sudo: required dist: trusty language: cpp # don't re-build for tags so that [publish binary] is not re-run # https://github.com/travis-ci/travis-ci/issues/1532 branches: except: - /^\d*\.+\d*\.?\d*\.?/ compiler: - gcc os: - linux - osx env: global: - secure: "UhzF/paWS3wrZEWCKKCmNl2hlFuLzlNqt0x7eJJtLg/AOBVwGnrgsGDgUCgY4meyxxJ1D0ZH+fzqoB4vp5ZGppE7HwaIyxyxzA23ZbWk6dyvTVK66UZPosYcUjwLKbr/hmS4KNpT/XmiHV1xdBHsGel2vxBcnZpRaa6Fpplz5fMXL+zYi9K3IfHLvnmAEpW4iz1dOypN0IWcPkI0fsqtliGUQXaBp8QfxQD8tlMpJik79No7cMI/GHYeP5SkeNWjSLJcL+KwZnLPufpmXONK8KkGfRPGGPVst6ABDbMTu9BSTTIgQKdxNW7TpcuQdJgjn3lpV8L95SBq31rcVmXocSvah4L1d4KtRIk1x7mC7L3OPXdWkucYdAB5Uzb3/dJb7TuH8LRN/H7ldXW/RbeIjjpvwYG8oCgtdNh4DfxY0BBnX4aH65blEe0cFRbCQch/DHYovY855fFsrmhzGTLsJlZZ/vBLjuOqSUrSS1aArOMm3G/RGc8VE1QRy1dhPtRCMEQD99080S63Th4mLllG7KDYzwisUGbx0lJTWaHJsRW7iObvtuAxAabktgOempJ1iDC3IvctrRqBNg1HmCdHb/yXE391T7QO6vvMAjl9nYamhEYAKMA9e7wCxaBl1YQiBmweuyt+F5C20tBP5nSXccUlLFmRXJ1eKx8xzI+JclE=" matrix: # node - RUNTIME="node" RVERSION="4.5.0" ARCH="x64" - RUNTIME="node" RVERSION="4.5.0" ARCH="ia32" - RUNTIME="node" RVERSION="5.12.0" ARCH="x64" - RUNTIME="node" RVERSION="5.12.0" ARCH="ia32" - RUNTIME="node" RVERSION="6.5.0" ARCH="x64" - RUNTIME="node" RVERSION="6.5.0" ARCH="ia32" # electron - RUNTIME="electron" RVERSION="0.37.8" ARCH="x64" - RUNTIME="electron" RVERSION="0.37.8" ARCH="ia32" - RUNTIME="electron" RVERSION="1.2.3" ARCH="x64" - RUNTIME="electron" RVERSION="1.2.3" ARCH="ia32" matrix: exclude: - os: osx env: RUNTIME="node" RVERSION="4.5.0" ARCH="ia32" - os: osx env: RUNTIME="node" RVERSION="5.12.0" ARCH="ia32" - os: osx env: RUNTIME="node" RVERSION="6.5.0" ARCH="ia32" - os: osx env: RUNTIME="electron" RVERSION="0.37.8" ARCH="ia32" - os: osx env: RUNTIME="electron" RVERSION="1.2.3" ARCH="ia32" addons: apt: sources: #- ubuntu-toolchain-r-test - george-edison55-precise-backports packages: - gcc-multilib - g++-multilib #- gcc-4.8-multilib #- g++-4.8-multilib - cmake - cmake-data before_install: # purge previous boost installation #- rm -rf ~/.cmake-js install: # install node (use v6 if building for electron) - export DEFAULT_NODE_VERSION="6" - export NODE_VERSION=$RVERSION - rm -rf ~/.nvm/ && git clone --depth 1 https://github.com/creationix/nvm.git ~/.nvm && source ~/.nvm/nvm.sh - if [[ "$RUNTIME" == "electron" ]]; then export NODE_VERSION=$DEFAULT_NODE_VERSION; fi - nvm install $NODE_VERSION - nvm use $NODE_VERSION - npm install npm -g # update path - PATH=$PATH:`pwd`/node_modules/.bin # download node for x86 - BASE_URL=$(node -p "'https://nodejs.org/dist/' + process.version") - X86_FILE=$(node -p "'node-' + process.version + '-' + process.platform + '-x86'") - if [[ "$ARCH" == "ia32" ]]; then wget $BASE_URL/$X86_FILE.tar.gz; tar -xf $X86_FILE.tar.gz; export PATH=$X86_FILE/bin:$PATH; npm install npm -g; fi # use g++-4.8 on linux #- if [[ $TRAVIS_OS_NAME == "linux" ]]; then export CXX="g++-4.8"; CC="gcc-4.8"; fi # print some info - uname -a - npm --version - node --version - node -p 'process.platform + "@" + process.arch' - $CXX --version # install recent cmake for osx - if [[ "$TRAVIS_OS_NAME" == "osx" ]]; then wget --no-check-certificate http://cmake.org/files/v3.4/cmake-3.4.3-Darwin-x86_64.tar.gz ;fi - if [[ "$TRAVIS_OS_NAME" == "osx" ]]; then tar -xzf cmake-3.4.3-Darwin-x86_64.tar.gz ;fi - if [[ "$TRAVIS_OS_NAME" == "osx" ]]; then export PATH=$PWD/cmake-3.4.3-Darwin-x86_64/CMake.app/Contents/bin:$PATH ;fi # figure out if we should publish - PUBLISH_BINARY=false - COMMIT_MESSAGE=$(git show -s --format=%B $TRAVIS_COMMIT | tr -d '\n') - if [[ ${COMMIT_MESSAGE} =~ "[publish binary]" ]]; then PUBLISH_BINARY=true; fi - echo "Publishing native platform Binary Package? ->" $PUBLISH_BINARY # cleanup npm progress - npm config set progress false - npm config set spin false script: # build - npm install --build-from-source # if we're publishing, do it - if [[ $PUBLISH_BINARY == true ]]; then node-pre-gyp --runtime=$RUNTIME --target=$RVERSION --target_arch=$ARCH package; fi; - if [[ $PUBLISH_BINARY == true ]]; then node-pre-gyp-github publish --release; fi; - if [[ $PUBLISH_BINARY == true ]]; then npm install --fallback-to-build=false; fi;