Skip to content

Commit 78ca637

Browse files
committed
ci(circle): Swap out travis for CircleCI 2.0 config
1 parent 38bda7c commit 78ca637

File tree

4 files changed

+166
-34
lines changed

4 files changed

+166
-34
lines changed

.circleci/config.yml

Lines changed: 161 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,161 @@
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

.gitignore

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,2 +1,3 @@
11
/node_modules
22
.idea/
3+
/coverage

.travis.yml

Lines changed: 0 additions & 33 deletions
This file was deleted.

package.json

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -21,6 +21,7 @@
2121
"devDependencies": {
2222
"css-loader": "^0.28.0",
2323
"file-loader": "^1.0.0",
24+
"istanbul": "^0.4.5",
2425
"jsdom": "^9.0.0",
2526
"memory-fs": "^0.4.0",
2627
"mocha": "^4.0.0",
@@ -30,7 +31,9 @@
3031
},
3132
"scripts": {
3233
"test": "mocha",
33-
"travis:test": "npm t",
34+
"test:coverage": "istanbul cover node_modules/mocha/bin/_mocha",
35+
"ci:test": "npm run test",
36+
"ci:coverage": "npm run test:coverage",
3437
"release": "standard-version"
3538
},
3639
"repository": "https://github.com/webpack-contrib/style-loader.git",

0 commit comments

Comments
 (0)