125 lines
No EOL
3.2 KiB
YAML
125 lines
No EOL
3.2 KiB
YAML
version: 2.1
|
|
|
|
commands:
|
|
test-nodejs:
|
|
steps:
|
|
- run:
|
|
name: Versions
|
|
command: npm version
|
|
- checkout
|
|
- restore_cache:
|
|
keys:
|
|
- v{{ .Environment.CIRCLE_CACHE_VERSION }}-{{ arch }}-npm-cache-{{ .Branch }}-{{ .Environment.CIRCLE_JOB }}
|
|
- v{{ .Environment.CIRCLE_CACHE_VERSION }}-{{ arch }}-npm-cache-master-{{ .Environment.CIRCLE_JOB }}
|
|
- run:
|
|
name: Install dependencies
|
|
command: npm ci
|
|
- run:
|
|
name: Test
|
|
command: npm test
|
|
- coverage
|
|
- save-npm-cache
|
|
|
|
test-nodejs-legacy:
|
|
steps:
|
|
- run:
|
|
name: Versions
|
|
command: npm version
|
|
- checkout
|
|
- restore_cache:
|
|
keys:
|
|
- v{{ .Environment.CIRCLE_CACHE_VERSION }}-{{ arch }}-npm-lock-{{ .Branch }}-{{ .Environment.CIRCLE_JOB }}-{{ checksum "package-lock.json" }}
|
|
- v{{ .Environment.CIRCLE_CACHE_VERSION }}-{{ arch }}-npm-lock-master-{{ .Environment.CIRCLE_JOB }}-{{ checksum "package-lock.json" }}
|
|
- v{{ .Environment.CIRCLE_CACHE_VERSION }}-{{ arch }}-npm-cache-{{ .Branch }}-{{ .Environment.CIRCLE_JOB }}
|
|
- v{{ .Environment.CIRCLE_CACHE_VERSION }}-{{ arch }}-npm-cache-master-{{ .Environment.CIRCLE_JOB }}
|
|
- run:
|
|
name: Install dependencies
|
|
command: npm install
|
|
- run:
|
|
name: Test
|
|
command: npm test
|
|
- coverage
|
|
- save-npm-lock
|
|
- save-npm-cache
|
|
save-npm-lock:
|
|
steps:
|
|
- save_cache:
|
|
key: v{{ .Environment.CIRCLE_CACHE_VERSION }}-{{ arch }}-npm-lock-{{ .Branch }}-{{ .Environment.CIRCLE_JOB }}-{{ checksum "package-lock.json" }}
|
|
paths:
|
|
- node_modules
|
|
save-npm-cache:
|
|
steps:
|
|
- save_cache:
|
|
key: v{{ .Environment.CIRCLE_CACHE_VERSION }}-{{ arch }}-npm-cache-{{ .Branch }}-{{ .Environment.CIRCLE_JOB }}-{{ checksum "package-lock.json" }}
|
|
paths:
|
|
- ~/.npm/_cacache
|
|
coverage:
|
|
steps:
|
|
- run:
|
|
command: npm run cover
|
|
- run:
|
|
command: npm run coveralls
|
|
|
|
publish:
|
|
steps:
|
|
- checkout
|
|
- run:
|
|
name: Authenticate with registry
|
|
command: echo "//registry.npmjs.org/:_authToken=$NPM_TOKEN" > .npmrc
|
|
- run:
|
|
name: publish to npm
|
|
command: npm publish
|
|
|
|
jobs:
|
|
node-v4:
|
|
docker:
|
|
- image: node:4
|
|
steps:
|
|
- test-nodejs-legacy
|
|
node-v6:
|
|
docker:
|
|
- image: node:6
|
|
steps:
|
|
- test-nodejs-legacy
|
|
node-v8:
|
|
docker:
|
|
- image: node:8
|
|
steps:
|
|
- test-nodejs
|
|
node-v10:
|
|
docker:
|
|
- image: node:10
|
|
steps:
|
|
- test-nodejs
|
|
node-v12:
|
|
docker:
|
|
- image: node:12
|
|
steps:
|
|
- test-nodejs
|
|
publish:
|
|
docker:
|
|
- image: node:10
|
|
steps:
|
|
- publish
|
|
|
|
workflows:
|
|
version: 2
|
|
node-multi-build:
|
|
jobs:
|
|
- node-v4
|
|
- node-v6
|
|
- node-v8
|
|
- node-v10
|
|
- node-v12
|
|
- publish:
|
|
requires:
|
|
- node-v4
|
|
- node-v6
|
|
- node-v8
|
|
- node-v10
|
|
- node-v12
|
|
filters:
|
|
tags:
|
|
only: /^v.*/
|
|
branches:
|
|
ignore: /.*/ |