Skip to content
This repository was archived by the owner on Mar 30, 2022. It is now read-only.

Commit b0edf4a

Browse files
committed
chore: Add CI config
1 parent b5b76b2 commit b0edf4a

File tree

1 file changed

+112
-0
lines changed

1 file changed

+112
-0
lines changed

.circleci/config.yml

+112
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,112 @@
1+
# Javascript Node CircleCI 2.0 configuration file
2+
#
3+
# Check https://circleci.com/docs/2.0/language-javascript/ for more details
4+
#
5+
version: 2
6+
7+
#
8+
# YAML variable templates
9+
#
10+
job_defaults: &job_defaults
11+
working_directory: ~/fetch-node
12+
docker:
13+
- image: circleci/node:12
14+
15+
job_filter: &job_filter
16+
filters:
17+
branches:
18+
only:
19+
- master
20+
21+
#
22+
# Run all jobs in sequence
23+
#
24+
workflows:
25+
version: 2
26+
deploy_npm:
27+
jobs:
28+
- setup:
29+
<<: *job_filter
30+
- test:
31+
<<: *job_filter
32+
requires:
33+
- setup
34+
- coverage:
35+
<<: *job_filter
36+
requires:
37+
- test
38+
- publish:
39+
<<: *job_filter
40+
requires:
41+
- coverage
42+
43+
#
44+
# Define atomic jobs
45+
#
46+
jobs:
47+
setup:
48+
<<: *job_defaults
49+
50+
steps:
51+
- checkout
52+
53+
- run:
54+
name: "fetch-node: Install npm packages"
55+
command: "npm run setup:ci"
56+
57+
- save_cache:
58+
paths:
59+
- node_modules
60+
- src
61+
- tests
62+
- .git
63+
- .eslintrc
64+
- .gitignore
65+
- .nycrc
66+
- .prettierrc
67+
- README.md
68+
- CHANGELOG.md
69+
- package-lock.json
70+
- package.json
71+
key: fetch-node-{{ .Branch }}-{{ .Revision }}
72+
73+
test:
74+
<<: *job_defaults
75+
76+
steps:
77+
- restore_cache:
78+
keys:
79+
- fetch-node-{{ .Branch }}-{{ .Revision }}
80+
81+
- run:
82+
name: "fetch-node: Run linter"
83+
command: "npm run lint"
84+
85+
# - run:
86+
# name: "fetch-node: Run tests"
87+
# command: "npm run test"
88+
89+
coverage:
90+
<<: *job_defaults
91+
92+
steps:
93+
- restore_cache:
94+
keys:
95+
- fetch-node-{{ .Branch }}-{{ .Revision }}
96+
97+
- run:
98+
name: "fetch-node: Publish test coverage to COVERALLS"
99+
command: "npm run coverage:ci"
100+
101+
publish:
102+
<<: *job_defaults
103+
104+
steps:
105+
- restore_cache:
106+
keys:
107+
- fetch-node-{{ .Branch }}-{{ .Revision }}
108+
109+
- run:
110+
name: "fetch-node: Release to npm with semantic-release"
111+
command: "npx semantic-release"
112+

0 commit comments

Comments
 (0)