language: node_js node_js: - 8 - node env: global: - NODE_ENV=production matrix: - NPM_SCRIPT="tap:unit -- --jobs=4" - NPM_SCRIPT="tap:integration -- --jobs=4" sudo: false cache: directories: - node_modules install: - npm --production=false install - npm --production=false update script: npm run $NPM_SCRIPT jobs: include: - env: NPM_SCRIPT=lint node_js: 8 - stage: release node_js: 8 env: NPM_SCRIPT=build before_deploy: - > # Only run this once for both deploys (avoids weird double version number) if ![ "$BEFORE_DEPLOY_RAN" ]; then export BEFORE_DEPLOY_RAN=1; npm --no-git-tag-version version $($(npm bin)/json -f package.json version)-prerelease.$(date +%s); git config --global user.email $(git log --pretty=format:"%ae" -n1); git config --global user.name $(git log --pretty=format:"%an" -n1); fi deploy: - provider: npm on: all_branches: true skip_cleanup: true email: $NPM_EMAIL api_key: $NPM_TOKEN - provider: script on: all_branches: true skip_cleanup: true script: npm run --silent deploy -- -x -r $GH_PAGES_REPO stages: - test - name: release if: branch in (master, develop) and type != pull_request