language: node_js node_js: - 6 - node env: matrix: - NPM_SCRIPT="tap -- --jobs=4" cache: directories: - node_modules script: npm run $NPM_SCRIPT jobs: include: - env: NPM_SCRIPT=build node_js: node - env: NPM_SCRIPT=lint node_js: node after_script: - | # RELEASE_BRANCHES and NPM_TOKEN defined in Travis settings panel declare exitCode $(npm bin)/travis-after-all exitCode=$? if [[ # Execute after all jobs finish successfully $exitCode = 0 && # Only release on release branches $RELEASE_BRANCHES =~ $TRAVIS_BRANCH && # Don't release on PR builds $TRAVIS_PULL_REQUEST = "false" ]]; then # Authenticate NPM echo "//registry.npmjs.org/:_authToken=\${NPM_TOKEN}" > .npmrc # Set version to timestamp npm --no-git-tag-version version $($(npm bin)/json -f package.json version)-prerelease.$(date +%s) npm publish fi