Skip to content

Commit 361b2d6

Browse files
committed
ci(release): draft release and publish to npm
- need approval when publishing to NPM - validate commit message before draft released
1 parent 7b9f314 commit 361b2d6

File tree

1 file changed

+44
-8
lines changed

1 file changed

+44
-8
lines changed

.circleci/config.yml

Lines changed: 44 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -89,29 +89,51 @@ jobs:
8989
- run:
9090
name: Validate Commit Messages
9191
command: npm run ci:lint:commits
92+
draft:
93+
docker:
94+
- image: webpackcontrib/circleci-node-base:latest
95+
steps:
96+
- checkout
97+
- restore_cache:
98+
key: dependency-cache-{{ checksum "package-lock.json" }}
99+
- run:
100+
name: set npm TOKEN
101+
command: echo "//registry.npmjs.org/:_authToken=$NPM_TOKEN" >> ~/.npmrc
102+
- run:
103+
name: NPM Rebuild
104+
command: npm install
105+
- run:
106+
name: Validate Commit Messages
107+
command: npm run release:validate
108+
- run:
109+
name: Draft Releases to Github
110+
command: npm run release:ci
92111
publish:
93112
docker:
94113
- image: webpackcontrib/circleci-node-base:latest
95114
steps:
96115
- checkout
116+
- run:
117+
name: set npm TOKEN
118+
command: echo "//registry.npmjs.org/:_authToken=$NPM_TOKEN" >> ~/.npmrc
97119
- restore_cache:
98120
key: dependency-cache-{{ checksum "package-lock.json" }}
99121
- run:
100122
name: NPM Rebuild
101123
command: npm install
102-
# - run:
103-
# name: Validate Commit Messages
104-
# command: npm run release:validate
105124
- run:
106125
name: Publish to NPM
107-
command: printf "noop running conventional-github-releaser"
126+
command: npm publish
108127

109128
version: 2.0
110129
workflows:
111130
version: 2
112131
validate-publish:
113132
jobs:
114-
- dependency_cache
133+
- dependency_cache:
134+
filters:
135+
tags:
136+
only: /.*/
115137
- node6-latest:
116138
requires:
117139
- dependency_cache
@@ -145,12 +167,26 @@ workflows:
145167
filters:
146168
tags:
147169
only: /.*/
148-
- publish:
170+
- draft:
149171
requires:
150172
- node8-latest
151173
- node8-canary
152174
- node10-latest
153175
filters:
176+
tags:
177+
only: /^v\d+[.]\d+[.]\d+$/
154178
branches:
155-
only:
156-
- master
179+
ignore: /.*/
180+
- request-publish:
181+
type: approval
182+
requires:
183+
- draft
184+
filters:
185+
tags:
186+
only: /^v\d+[.]\d+[.]\d+$/
187+
- publish:
188+
requires:
189+
- request-publish
190+
filters:
191+
tags:
192+
only: /^v\d+[.]\d+[.]\d+$/

0 commit comments

Comments
 (0)