1
+ unit_tests : &unit_tests
2
+ steps :
3
+ - checkout
4
+ - setup_remote_docker
5
+ - restore_cache :
6
+ key : dependency-cache-{{ checksum "package-lock.json" }}
7
+ - run :
8
+ name : NPM Rebuild
9
+ command : npm install
10
+ - run :
11
+ name : Run unit tests.
12
+ command : npm run ci:test
13
+ canary_tests : &canary_tests
14
+ steps :
15
+ - checkout
16
+ - setup_remote_docker
17
+ - restore_cache :
18
+ key : dependency-cache-{{ checksum "package-lock.json" }}
19
+ - run :
20
+ name : NPM Rebuild
21
+ command : npm install
22
+ - run :
23
+ name : Install Webpack Canary
24
+ command : npm i --no-save webpack@next
25
+ - run :
26
+ name : Run unit tests.
27
+ command : npm run ci:test
28
+
29
+ version : 2
30
+ jobs :
31
+ dependency_cache :
32
+ docker :
33
+ - image : webpackcontrib/circleci-node-base:latest
34
+ steps :
35
+ - checkout
36
+ - setup_remote_docker
37
+ - restore_cache :
38
+ key : dependency-cache-{{ checksum "package-lock.json" }}
39
+ - run :
40
+ name : Install Dependencies
41
+ command : npm install
42
+ - save_cache :
43
+ key : dependency-cache-{{ checksum "package-lock.json" }}
44
+ paths :
45
+ - ./node_modules
46
+
47
+ node8-latest :
48
+ docker :
49
+ - image : webpackcontrib/circleci-node8:latest
50
+ steps :
51
+ - checkout
52
+ - setup_remote_docker
53
+ - restore_cache :
54
+ key : dependency-cache-{{ checksum "package-lock.json" }}
55
+ - run :
56
+ name : NPM Rebuild
57
+ command : npm install
58
+ - run :
59
+ name : Run unit tests.
60
+ command : npm run ci:coverage
61
+ - run :
62
+ name : Submit coverage data to codecov.
63
+ command : bash <(curl -s https://codecov.io/bash)
64
+ when : on_success
65
+ node6-latest :
66
+ docker :
67
+ - image : webpackcontrib/circleci-node6:latest
68
+ << : *unit_tests
69
+ node9-latest :
70
+ docker :
71
+ - image : webpackcontrib/circleci-node9:latest
72
+ << : *unit_tests
73
+ node8-canary :
74
+ docker :
75
+ - image : webpackcontrib/circleci-node8:latest
76
+ << : *canary_tests
77
+ analysis :
78
+ docker :
79
+ - image : webpackcontrib/circleci-node-base:latest
80
+ steps :
81
+ - checkout
82
+ - setup_remote_docker
83
+ - restore_cache :
84
+ key : dependency-cache-{{ checksum "package-lock.json" }}
85
+ - run :
86
+ name : NPM Rebuild
87
+ command : npm install
88
+ - run :
89
+ name : Run linting.
90
+ command : npm run lint
91
+ - run :
92
+ name : Run NSP Security Check.
93
+ command : npm run security
94
+ # - run:
95
+ # name: Validate Commit Messages
96
+ # command: npm run ci:lint:commits
97
+ publish :
98
+ docker :
99
+ - image : webpackcontrib/circleci-node-base:latest
100
+ steps :
101
+ - checkout
102
+ - setup_remote_docker
103
+ - restore_cache :
104
+ key : dependency-cache-{{ checksum "package-lock.json" }}
105
+ - run :
106
+ name : NPM Rebuild
107
+ command : npm install
108
+ # - run:
109
+ # name: Validate Commit Messages
110
+ # command: npm run release:validate
111
+ - run :
112
+ name : Publish to NPM
113
+ command : printf "noop running conventional-github-releaser"
114
+
115
+ version : 2.0
116
+ workflows :
117
+ version : 2
118
+ validate-publish :
119
+ jobs :
120
+ - dependency_cache
121
+ - node6-latest :
122
+ requires :
123
+ - dependency_cache
124
+ filters :
125
+ tags :
126
+ only : /.*/
127
+ - analysis :
128
+ requires :
129
+ - dependency_cache
130
+ filters :
131
+ tags :
132
+ only : /.*/
133
+ - node8-latest :
134
+ requires :
135
+ - analysis
136
+ - node6-latest
137
+ filters :
138
+ tags :
139
+ only : /.*/
140
+ - node9-latest :
141
+ requires :
142
+ - analysis
143
+ - node6-latest
144
+ filters :
145
+ tags :
146
+ only : /.*/
147
+ - node8-canary :
148
+ requires :
149
+ - analysis
150
+ - node6-latest
151
+ filters :
152
+ tags :
153
+ only : /.*/
154
+ - publish :
155
+ requires :
156
+ - node8-latest
157
+ - node9-latest
158
+ filters :
159
+ branches :
160
+ only :
161
+ - master
0 commit comments