version: 2.1 orbs: node: circleci/node@5 commands: deploy_npm: steps: - run: # This assumes the git user info is already configured name: Deploy to NPM command: | export RELEASE_VERSION="0.11.$(date +%Y%m%d%H%M%S)" if [[ "$CIRCLE_BRANCH" == hotfix/* ]]; then export NPM_TAG=hotfix else export NPM_TAG=latest fi echo "Deploying version $RELEASE_VERSION to $NPM_TAG" npm --no-git-tag-version version $RELEASE_VERSION npm set //registry.npmjs.org/:_authToken=$NPM_TOKEN npm publish --tag $NPM_TAG if npm info | grep -q $RELEASE_VERSION; then git tag $RELEASE_VERSION git push \ https://${GH_TOKEN}@github.com/${CIRCLE_PROJECT_USERNAME}/${CIRCLE_PROJECT_REPONAME}.git \ $RELEASE_VERSION fi jobs: default: docker: - image: cimg/node:10.24.1-browsers steps: - checkout - run: git submodule update --init --recursive - run: name: Setup command: | sudo apt update sudo apt install libgif-dev TRAVIS_BRANCH="${CIRCLECI_BRANCH}" travis/setup-git.sh # Configure git user info travis/install-assets.sh npm set progress=false which gulp || sudo npm install -g gulp-cli - node/install-packages - run: gulp jshint - run: gulp minify - run: gulp test - run: gulp zip - when: condition: or: - equal: [ master, <> ] - equal: [ develop, <> ] - matches: { pattern: "^hotfix.*", value: <> } - matches: { pattern: "^release.*", value: <> } steps: - run: name: travis/deploy-prebuilt.sh command: | TRAVIS_TAG="${CIRCLE_TAG}" TRAVIS_COMMIT="${CIRCLE_SHA1}" travis/deploy-prebuilt.sh - deploy_npm workflows: version: 2 default: jobs: - default: context: - dockerhub-credentials - scratch-npm-creds