language: node_js sudo: required dist: xenial addons: chrome: stable node_js: - 10 env: global: - CHROMEDRIVER_VERSION=LATEST - NODE_ENV=production - NODE_OPTIONS=--max-old-space-size=7250 - NPM_TAG=latest - RELEASE_VERSION="0.1.0-prerelease.$(date +'%Y%m%d%H%M%S')" cache: directories: - node_modules install: - npm --production=false install script: - npm test before_deploy: - > if [ -z "$BEFORE_DEPLOY_RAN" ]; then npm --no-git-tag-version version $RELEASE_VERSION if [ "$TRAVIS_BRANCH" == "master" ]; then export NPM_TAG=stable; fi if [[ "$TRAVIS_BRANCH" == hotfix/* ]]; then export NPM_TAG=hotfix; fi # double brackets are important for matching the wildcard git config --global user.email $(git log --pretty=format:"%ae" -n1) git config --global user.name $(git log --pretty=format:"%an" -n1) export BEFORE_DEPLOY_RAN=true fi deploy: - provider: npm on: branch: - master - develop - hotfix/* condition: $TRAVIS_EVENT_TYPE != cron skip_cleanup: true email: $NPM_EMAIL api_key: $NPM_TOKEN tag: $NPM_TAG - provider: script on: branch: - master - develop - smoke - hotfix/* condition: $TRAVIS_EVENT_TYPE != cron skip_cleanup: true script: if npm info scratch-gui | grep -q $RELEASE_VERSION; then git tag $RELEASE_VERSION && git push https://${GH_TOKEN}@github.com/${TRAVIS_REPO_SLUG}.git $RELEASE_VERSION; fi - provider: script on: all_branches: true condition: $TRAVIS_EVENT_TYPE != cron && ! $TRAVIS_BRANCH =~ ^dependabot/ tags: false # Don't push tags to gh-pages skip_cleanup: true script: npm run deploy -- -x -e $TRAVIS_BRANCH -r https://${GH_TOKEN}@github.com/${TRAVIS_REPO_SLUG}.git - provider: script on: branch: develop condition: $TRAVIS_EVENT_TYPE == cron skip_cleanup: true script: npm run i18n:src && npm run i18n:push