Skip to content

Commit

Permalink
Implement CI/CD for npm publish using Cricleci
Browse files Browse the repository at this point in the history
  • Loading branch information
zeynel committed Oct 13, 2018
1 parent 586c1f1 commit eb6759e
Showing 1 changed file with 62 additions and 0 deletions.
62 changes: 62 additions & 0 deletions .circleci/config.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,62 @@
version: 2

defaults: &defaults
working_directory: ~/repo
docker:
- image: circleci/node:8

jobs:
test:
<<: *defaults
steps:
- checkout

# Download and cache dependencies
- restore_cache:
keys:
- v1-dependencies-{{ checksum "package.json" }}
# fallback to using the latest cache if no exact match is found
- v1-dependencies-

- run: npm install
- run:
name: Run test
command: npm test

- save_cache:
paths:
- node_modules
key: v1-dependencies-{{ checksum "package.json" }}

- persist_to_workspace:
root: ~/repo
paths: .

deploy:
<<: *defaults
steps:
- attach_workspace:
at: ~/repo
- run:
name: Authenticate with registry
command: echo "//registry.npmjs.org/:_authToken=$npm_TOKEN" > ~/repo/.npmrc
- run:
name: Publish package
command: npm publish

workflows:
version: 2
test-deploy:
jobs:
- test:
filters:
tags:
only: /^v.*/
- deploy:
requires:
- test
filters:
tags:
only: /^v.*/
branches:
ignore: /.*/

0 comments on commit eb6759e

Please sign in to comment.