Skip to content

Commit ae91e38

Browse files
committed
feat: add circle config with semantic release
fixes #1 fixes #2
1 parent 84c7cc1 commit ae91e38

File tree

1 file changed

+89
-0
lines changed

1 file changed

+89
-0
lines changed

.circleci/config.yml

Lines changed: 89 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,89 @@
1+
version: 2
2+
3+
aliases:
4+
# -------------------------
5+
# ALIASES: Caches
6+
# -------------------------
7+
- &restore-deps-cache
8+
key: deps-cache-{{ checksum "package.json" }}
9+
10+
- &save-deps-cache
11+
key: deps-cache-{{ checksum "package.json" }}
12+
paths:
13+
- ~/docs-react/node_modules
14+
15+
# -------------------------
16+
# ALIASES: Branch Filters
17+
# -------------------------
18+
- &filter-only-master
19+
branches:
20+
only: master
21+
- &filter-only-semantic-pr
22+
branches:
23+
only: /^(dependabot|fix|feat)\/.*$/
24+
25+
defaults: &defaults
26+
working_directory: ~/docs-react
27+
28+
jobs:
29+
test:
30+
<<: *defaults
31+
docker:
32+
- image: circleci/node:10
33+
steps:
34+
- checkout
35+
- restore_cache: *restore-deps-cache
36+
- run: npm install
37+
- run: npm install codecov
38+
- run: npm test
39+
- run: ./node_modules/.bin/codecov
40+
- save_cache: *save-deps-cache
41+
42+
build:
43+
<<: *defaults
44+
docker:
45+
- image: circleci/node:10
46+
steps:
47+
- checkout
48+
- restore_cache: *restore-deps-cache
49+
- run: npm install
50+
- run: npm run build
51+
- save_cache: *save-deps-cache
52+
53+
release:
54+
<<: *defaults
55+
docker:
56+
- image: circleci/node:10
57+
steps:
58+
- checkout
59+
- restore_cache: *restore-deps-cache
60+
- run: npm install
61+
- run: npm run build
62+
- run: npx semantic-release
63+
- save_cache: *save-deps-cache
64+
65+
workflows:
66+
version: 2
67+
analysis:
68+
jobs:
69+
- test:
70+
filters: *filter-only-semantic-pr
71+
- build:
72+
filters: *filter-only-semantic-pr
73+
74+
release:
75+
jobs:
76+
- test:
77+
filters: *filter-only-master
78+
- build:
79+
filters: *filter-only-master
80+
- hold:
81+
filters: *filter-only-master
82+
type: approval
83+
requires:
84+
- test
85+
- build
86+
- release:
87+
filters: *filter-only-master
88+
requires:
89+
- hold

0 commit comments

Comments
 (0)