You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
70 lines
1.5 KiB
70 lines
1.5 KiB
version: 2.1 |
|
|
|
defaults: &defaults |
|
docker: |
|
- image: circleci/node:10 |
|
|
|
jobs: |
|
test: |
|
<<: *defaults |
|
steps: |
|
- checkout |
|
- restore_cache: |
|
keys: |
|
- v1-dependencies-{{ checksum "package.json" }} |
|
- v1-dependencies- |
|
- run: npm install |
|
- run: |
|
name: Run tests |
|
command: npm test |
|
- save_cache: |
|
paths: |
|
- node_modules |
|
key: v1-dependencies-{{ checksum "package.json" }} |
|
- run: npm build |
|
- persist_to_workspace: |
|
root: . |
|
paths: |
|
- README.md |
|
- CHANGELOG.md |
|
- LICENSE |
|
- package.json |
|
- package-lock.json |
|
- .npmignore |
|
- dist |
|
deploy: |
|
<<: *defaults |
|
steps: |
|
- attach_workspace: |
|
at: . |
|
- run: |
|
name: List Workspace |
|
command: ls |
|
- run: |
|
name: Authenticate with registry |
|
command: echo "//registry.npmjs.org/:_authToken=$NPM_TOKEN" > .npmrc |
|
- run: |
|
name: Publish package |
|
command: npm publish |
|
|
|
workflows: |
|
version: 2 |
|
test-deploy: |
|
jobs: |
|
- test: |
|
filters: |
|
tags: |
|
only: /^v.*/ |
|
- hold: |
|
type: approval |
|
requires: |
|
- test |
|
filters: |
|
branches: |
|
only: master |
|
- deploy: |
|
requires: |
|
- hold |
|
filters: |
|
branches: |
|
only: master
|
|
|