paper.js/.circleci/config.yml
Christopher Willis-Ford e46bfc418b ci: try cimg/node
2023-10-30 12:30:46 -07:00

69 lines
2.3 KiB
YAML

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, <<pipeline.git.branch>> ]
- equal: [ develop, <<pipeline.git.branch>> ]
- matches: { pattern: "^hotfix.*", value: <<pipeline.git.branch>> }
- matches: { pattern: "^release.*", value: <<pipeline.git.branch>> }
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