Skip to content

Commit 686daa5

Browse files
committed
ci: some changes to how CircleCI runs so that Codecov works
... I hope
1 parent c1823ee commit 686daa5

File tree

12 files changed

+951
-72
lines changed

12 files changed

+951
-72
lines changed

Diff for: .circleci/config.yml

+133-59
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@ executors:
77
node-executor:
88
docker:
99
- image: circleci/node:latest
10-
working_directory: ~/repo
10+
working_directory: ~/workspace
1111

1212
jobs:
1313
install:
@@ -17,32 +17,83 @@ jobs:
1717
- run: npm --version
1818
- run: yarn --version
1919

20-
- checkout
20+
- checkout:
21+
path: postdfm
22+
23+
- restore_cache:
24+
keys:
25+
- node-{{ .Environment.CACHE_VERSION }}-dependencies-{{ checksum "postdfm/yarn.lock" }}
26+
27+
- run:
28+
command: yarn --frozen-lockfile && yarn changed
29+
working_directory: postdfm
30+
31+
- save_cache:
32+
paths:
33+
- postdfm/node_modules
34+
# for nearleyc
35+
- postdfm/packages/@postdfm/dfm2ast/node_modules
36+
key: node-{{ .Environment.CACHE_VERSION }}-dependencies-{{ checksum "postdfm/yarn.lock" }}
37+
38+
install-with-sourcemaps:
39+
executor: node-executor
40+
steps:
41+
- checkout:
42+
path: postdfm
2143
- restore_cache:
2244
keys:
23-
- node-{{ .Environment.CACHE_VERSION }}-dependencies-{{ checksum "yarn.lock" }}
45+
- node-{{ .Environment.CACHE_VERSION }}-dependencies-{{ checksum "postdfm/yarn.lock" }}
2446

25-
- run: yarn --frozen-lockfile
47+
- run: mv postdfm postdfm-with-sourcemaps
2648

2749
- save_cache:
2850
paths:
29-
- node_modules
51+
- postdfm-with-sourcemaps/node_modules
3052
# for nearleyc
31-
- packages/@postdfm/dfm2ast/node_modules
32-
key: node-{{ .Environment.CACHE_VERSION }}-dependencies-{{ checksum "yarn.lock" }}
53+
- postdfm-with-sourcemaps/packages/@postdfm/dfm2ast/node_modules
54+
key: node-{{ .Environment.CACHE_VERSION }}-dependencies-with-sourcemaps-{{ checksum "postdfm-with-sourcemaps/yarn.lock" }}
3355

3456
compile:
3557
executor: node-executor
3658
steps:
37-
- checkout
59+
- checkout:
60+
path: postdfm
61+
62+
- restore_cache:
63+
keys:
64+
- node-{{ .Environment.CACHE_VERSION }}-dependencies-{{ checksum "postdfm/yarn.lock" }}
65+
66+
- run:
67+
command: yarn compile && yarn changed
68+
working_directory: postdfm
69+
70+
- persist_to_workspace:
71+
root: postdfm/packages
72+
paths:
73+
- ./postdfm/dist
74+
- ./@postdfm/ast/dist
75+
- ./@postdfm/ast2dfm/dist
76+
- ./@postdfm/dfm2ast/dist
77+
- ./@postdfm/dfm2ast/src
78+
- ./@postdfm/plugin/dist
79+
- ./@postdfm/transform/dist
80+
81+
compile-with-sourcemaps:
82+
executor: node-executor
83+
steps:
84+
- checkout:
85+
path: postdfm-with-sourcemaps
86+
3887
- restore_cache:
3988
keys:
40-
- node-{{ .Environment.CACHE_VERSION }}-dependencies-{{ checksum "yarn.lock" }}
89+
- node-{{ .Environment.CACHE_VERSION }}-dependencies-with-sourcemaps-{{ checksum "postdfm-with-sourcemaps/yarn.lock" }}
4190

42-
- run: yarn compile
91+
- run:
92+
command: yarn compile:map && yarn changed
93+
working_directory: postdfm-with-sourcemaps
4394

4495
- persist_to_workspace:
45-
root: packages
96+
root: postdfm-with-sourcemaps/packages
4697
paths:
4798
- ./postdfm/dist
4899
- ./@postdfm/ast/dist
@@ -55,142 +106,160 @@ jobs:
55106
lint:
56107
executor: node-executor
57108
steps:
58-
- checkout
109+
- checkout:
110+
path: postdfm
111+
59112
- restore_cache:
60113
keys:
61-
- node-{{ .Environment.CACHE_VERSION }}-dependencies-{{ checksum "yarn.lock" }}
114+
- node-{{ .Environment.CACHE_VERSION }}-dependencies-{{ checksum "postdfm/yarn.lock" }}
62115

63116
- attach_workspace:
64-
at: ~/repo/packages
117+
at: postdfm/packages
65118

66-
- run: yarn lint:check
119+
- run:
120+
command: yarn lint && yarn changed
121+
working_directory: postdfm
67122

68123
format:
69124
executor: node-executor
70125
steps:
71-
- checkout
126+
- checkout:
127+
path: postdfm
128+
72129
- restore_cache:
73130
keys:
74-
- node-{{ .Environment.CACHE_VERSION }}-dependencies-{{ checksum "yarn.lock" }}
131+
- node-{{ .Environment.CACHE_VERSION }}-dependencies-{{ checksum "postdfm/yarn.lock" }}
75132

76-
- run: yarn format:check
133+
- run:
134+
command: yarn format && yarn changed
135+
working_directory: postdfm
77136

78137
test:
79138
executor: node-executor
80139
steps:
81-
- checkout
140+
- checkout:
141+
path: postdfm-with-sourcemaps
142+
82143
- restore_cache:
83144
keys:
84-
- node-{{ .Environment.CACHE_VERSION }}-dependencies-{{ checksum "yarn.lock" }}
145+
- node-{{ .Environment.CACHE_VERSION }}-dependencies-with-sourcemaps-{{ checksum "postdfm-with-sourcemaps/yarn.lock" }}
85146

86147
- attach_workspace:
87-
at: ~/repo/packages
148+
at: postdfm-with-sourcemaps/packages
149+
150+
- run:
151+
command: yarn test
152+
working_directory: postdfm-with-sourcemaps
88153

89-
- run: yarn test
154+
- run:
155+
command: yarn changed
156+
working_directory: postdfm-with-sourcemaps
90157

91158
- store_test_results:
92-
path: ~/repo/packages/postdfm/results
159+
path: postdfm-with-sourcemaps/packages/postdfm/results
93160

94161
- codecov/upload:
95162
flags: "postdfm"
96-
file: ~/repo/packages/postdfm/results/lcov/coverage.info
163+
file: postdfm-with-sourcemaps/packages/postdfm/results/lcov/coverage.info
97164

98165
- store_test_results:
99-
path: ~/repo/packages/@postdfm/ast/results
166+
path: postdfm-with-sourcemaps/packages/@postdfm/ast/results
100167

101168
- codecov/upload:
102169
flags: "@postdfm/ast"
103-
file: ~/repo/packages/@postdfm/ast/results/lcov/coverage.info
170+
file: postdfm-with-sourcemaps/packages/@postdfm/ast/results/lcov/coverage.info
104171

105172
- store_test_results:
106-
path: ~/repo/packages/@postdfm/ast2dfm/results
173+
path: postdfm-with-sourcemaps/packages/@postdfm/ast2dfm/results
107174

108175
- codecov/upload:
109176
flags: "@postdfm/ast2dfm"
110-
file: ~/repo/packages/@postdfm/ast2dfm/results/lcov/coverage.info
177+
file: postdfm-with-sourcemaps/packages/@postdfm/ast2dfm/results/lcov/coverage.info
111178

112179
- store_test_results:
113-
path: ~/repo/packages/@postdfm/dfm2ast/results
180+
path: postdfm-with-sourcemaps/packages/@postdfm/dfm2ast/results
114181

115182
- codecov/upload:
116183
flags: "@postdfm/dfm2ast"
117-
file: ~/repo/packages/@postdfm/dfm2ast/results/lcov/coverage.info
184+
file: postdfm-with-sourcemaps/packages/@postdfm/dfm2ast/results/lcov/coverage.info
118185

119186
- store_test_results:
120-
path: ~/repo/packages/@postdfm/plugin/results
187+
path: postdfm-with-sourcemaps/packages/@postdfm/plugin/results
121188

122189
- codecov/upload:
123190
flags: "@postdfm/plugin"
124-
file: ~/repo/packages/@postdfm/plugin/results/lcov/coverage.info
191+
file: postdfm-with-sourcemaps/packages/@postdfm/plugin/results/lcov/coverage.info
125192

126193
- store_test_results:
127-
path: ~/repo/packages/@postdfm/transform/results
194+
path: postdfm-with-sourcemaps/packages/@postdfm/transform/results
128195

129196
- codecov/upload:
130197
flags: "@postdfm/transform"
131-
file: ~/repo/packages/@postdfm/transform/results/lcov/coverage.info
198+
file: postdfm-with-sourcemaps/packages/@postdfm/transform/results/lcov/coverage.info
132199

133200
docs:
134201
executor: node-executor
135202
steps:
136-
- checkout
203+
- checkout:
204+
path: postdfm
205+
137206
- restore_cache:
138207
keys:
139-
- node-{{ .Environment.CACHE_VERSION }}-dependencies-{{ checksum "yarn.lock" }}
208+
- node-{{ .Environment.CACHE_VERSION }}-dependencies-{{ checksum "postdfm/yarn.lock" }}
140209

141210
- attach_workspace:
142-
at: ~/repo/packages
143-
144-
- run: yarn docs
211+
at: postdfm/packages
145212

146-
# currently not used for anything
147-
# - persist_to_workspace:
148-
# root: docs
149-
# paths:
150-
# - ./*
213+
- run:
214+
command: yarn docs && yarn changed
215+
working_directory: postdfm
151216

152217
release:
153218
executor: node-executor
154219
steps:
155220
- checkout
156221
- restore_cache:
157222
keys:
158-
- node-{{ .Environment.CACHE_VERSION }}-dependencies-{{ checksum "yarn.lock" }}
223+
- node-{{ .Environment.CACHE_VERSION }}-dependencies-{{ checksum "postdfm/yarn.lock" }}
159224

160225
- attach_workspace:
161-
at: ~/repo/packages
226+
at: postdfm/packages
162227

163-
# currently not used for anything
164-
# - attach_workspace:
165-
# at: ~/repo/docs
166-
167-
- run: yarn release
228+
- run:
229+
command: yarn release
230+
working_directory: postdfm
168231

169232
- store_artifacts:
170-
path: ~/repo/dist
233+
path: postdfm/dist
171234
- store_artifacts:
172-
path: ~/repo/package.json
235+
path: postdfm/package.json
173236
- store_artifacts:
174-
path: ~/repo/packages/postdfm/package.json
237+
path: postdfm/packages/postdfm/package.json
175238
- store_artifacts:
176-
path: ~/repo/packages/@postdfm/ast/package.json
239+
path: postdfm/packages/@postdfm/ast/package.json
177240
- store_artifacts:
178-
path: ~/repo/packages/@postdfm/ast2dfm/package.json
241+
path: postdfm/packages/@postdfm/ast2dfm/package.json
179242
- store_artifacts:
180-
path: ~/repo/packages/@postdfm/dfm2ast/package.json
243+
path: postdfm/packages/@postdfm/dfm2ast/package.json
181244
- store_artifacts:
182245
path: ~/repo/packages/@postdfm/plugin/package.json
183246
- store_artifacts:
184-
path: ~/repo/packages/@postdfm/transform/package.json
247+
path: postdfm/packages/@postdfm/transform/package.json
185248

186249
workflows:
187250
version: 2
188251
ci:
189252
jobs:
190253
- install
254+
- install-with-sourcemaps:
255+
requires:
256+
- install
191257
- compile:
192258
requires:
193259
- install
260+
- compile-with-sourcemaps:
261+
requires:
262+
- install-with-sourcemaps
194263
- format:
195264
requires:
196265
- install
@@ -199,7 +268,7 @@ workflows:
199268
- compile
200269
- test:
201270
requires:
202-
- compile
271+
- compile-with-sourcemaps
203272
- docs:
204273
requires:
205274
- compile
@@ -209,3 +278,8 @@ workflows:
209278
- format
210279
- test
211280
- docs
281+
filters:
282+
branches:
283+
only:
284+
- master
285+
- beta

Diff for: .github/codecov.yml

+2
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,2 @@
1+
fixes:
2+
- "postdfm-with-sourcemaps/::"

Diff for: .gitignore

-3
Original file line numberDiff line numberDiff line change
@@ -84,9 +84,6 @@ dist
8484

8585
results/
8686

87-
# nearley.js
88-
packages/@postdfm/dfm2ast/src/grammar.ts
89-
9087
#local npm configuration
9188
.npmrc
9289

Diff for: package.json

+5-7
Original file line numberDiff line numberDiff line change
@@ -8,14 +8,12 @@
88
"type": "module",
99
"scripts": {
1010
"postinstall": "husky install",
11-
"ci": "yarn --frozen-lockfile && yarn run compile && yarn run lint:check && yarn run format:check && yarn test && yarn docs",
12-
"lint": "eslint --ignore-path .gitignore \"**/*.{js,ts}\"",
13-
"lint:fix": "yarn lint --fix",
14-
"lint:check": "yarn lint",
15-
"format": "prettier --ignore-path .gitignore \"**/*.{js,json,ts,yml,md}\"",
16-
"format:fix": "yarn format --write --list-different",
17-
"format:check": "yarn format --check",
11+
"changed": "git add . && git diff-index --quiet HEAD || (git reset --quiet && echo \"Error: changed files\" && git status --porcelain && exit 1)",
12+
"ci": "yarn --frozen-lockfile && yarn run compile:map && yarn run lint:check && yarn run format:check && yarn test && yarn docs && yarn changed",
13+
"lint": "eslint --ignore-path .gitignore \"**/*.{js,ts}\" --fix",
14+
"format": "prettier --ignore-path .gitignore \"**/*.{js,json,ts,yml,md}\" --write --list-different",
1815
"compile": "yarn workspaces run compile",
16+
"compile:map": "yarn workspaces run compile:map",
1917
"test": "yarn workspaces run test",
2018
"docs": "yarn workspaces run docs",
2119
"release": "semantic-release",

Diff for: packages/@postdfm/ast/package.json

+1
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,7 @@
1616
},
1717
"scripts": {
1818
"compile": "tsc --listEmittedFiles",
19+
"compile:map": "yarn compile --inlineSourceMap --inlineSources",
1920
"test": "cross-env NODE_OPTIONS=--experimental-vm-modules jest --coverage --verbose",
2021
"docs": "typedoc --options typedoc.config.cjs"
2122
},

Diff for: packages/@postdfm/ast2dfm/package.json

+1
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,7 @@
1616
},
1717
"scripts": {
1818
"compile": "tsc --listEmittedFiles",
19+
"compile:map": "yarn compile --inlineSourceMap --inlineSources",
1920
"test": "cross-env NODE_OPTIONS=--experimental-vm-modules jest --coverage --verbose",
2021
"docs": "typedoc --options typedoc.config.cjs"
2122
},

Diff for: packages/@postdfm/dfm2ast/.eslintrc.cjs

+5-1
Original file line numberDiff line numberDiff line change
@@ -1 +1,5 @@
1-
module.exports = require("../../../eslint.config.cjs")(true);
1+
const baseConfig = require("../../../eslint.config.cjs")(true);
2+
module.exports = {
3+
...baseConfig,
4+
ignorePatterns: ["src/grammar.ts"]
5+
};

Diff for: packages/@postdfm/dfm2ast/package.json

+2-1
Original file line numberDiff line numberDiff line change
@@ -15,8 +15,9 @@
1515
}
1616
},
1717
"scripts": {
18-
"precompile": "nearleyc ne/grammar.ne -o src/grammar.ts",
18+
"precompile": "nearleyc ne/grammar.ne -o src/grammar.ts && prettier src/grammar.ts --write",
1919
"compile": "tsc --listEmittedFiles",
20+
"compile:map": "yarn compile --inlineSourceMap --inlineSources",
2021
"test": "cross-env NODE_OPTIONS=--experimental-vm-modules jest --coverage --verbose",
2122
"docs": "typedoc --options typedoc.config.cjs"
2223
},

0 commit comments

Comments
 (0)