Skip to content

Commit 5ad8e68

Browse files
Merge pull request #3194 from cdr/jsjoeio/add-code-coverage-reporter
feat(testing): add codecov to generate test coverage reports
2 parents 72ca12c + bb0414e commit 5ad8e68

File tree

3 files changed

+84
-3
lines changed

3 files changed

+84
-3
lines changed

.github/workflows/ci.yaml

+6
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,8 @@ jobs:
1818
prebuild:
1919
name: Pre-build checks
2020
runs-on: ubuntu-latest
21+
env:
22+
CODECOV_TOKEN: ${{ secrets.CODECOV_TOKEN }}
2123
steps:
2224
- name: Checkout repo
2325
uses: actions/checkout@v2
@@ -57,6 +59,10 @@ jobs:
5759
run: yarn test:unit
5860
if: success()
5961

62+
- name: Upload coverage report to Codecov
63+
run: yarn coverage
64+
if: success()
65+
6066
build:
6167
name: Build
6268
needs: prebuild

package.json

+5-2
Original file line numberDiff line numberDiff line change
@@ -31,7 +31,8 @@
3131
"ci": "./ci/dev/ci.sh",
3232
"watch": "VSCODE_IPC_HOOK_CLI= NODE_OPTIONS=--max_old_space_size=32384 ts-node ./ci/dev/watch.ts",
3333
"icons": "./ci/dev/gen_icons.sh",
34-
"badges": "istanbul-badges-readme"
34+
"badges": "istanbul-badges-readme",
35+
"coverage": "codecov"
3536
},
3637
"main": "out/node/entry.js",
3738
"devDependencies": {
@@ -56,6 +57,7 @@
5657
"@typescript-eslint/eslint-plugin": "^4.7.0",
5758
"@typescript-eslint/parser": "^4.7.0",
5859
"audit-ci": "^3.1.1",
60+
"codecov": "^3.8.1",
5961
"doctoc": "^2.0.0",
6062
"eslint": "^7.7.0",
6163
"eslint-config-prettier": "^8.1.0",
@@ -139,7 +141,8 @@
139141
"coverageReporters": [
140142
"json",
141143
"json-summary",
142-
"text"
144+
"text",
145+
"clover"
143146
],
144147
"coveragePathIgnorePatterns": [
145148
"out"

yarn.lock

+73-1
Original file line numberDiff line numberDiff line change
@@ -1328,6 +1328,11 @@ acorn@^7.1.1, acorn@^7.4.0:
13281328
resolved "https://registry.yarnpkg.com/acorn/-/acorn-7.4.1.tgz#feaed255973d2e77555b83dbc08851a6c63520fa"
13291329
integrity sha512-nQyp0o1/mNdbTO1PO6kHkwSrmgZ0MT/jCCpNiwbUjGoRN4dlBhqJtoQuCnEOKzgTVwg0ZWiCoQy6SxMebQVh8A==
13301330

1331+
agent-base@5:
1332+
version "5.1.1"
1333+
resolved "https://registry.yarnpkg.com/agent-base/-/agent-base-5.1.1.tgz#e8fb3f242959db44d63be665db7a8e739537a32c"
1334+
integrity sha512-TMeqbNl2fMW0nMjTEPOwe3J/PRFP4vqeoNuQMG0HlMrtm5QxKqdvAkZ1pRBQ/ulIyDD5Yq0nJ7YbdD8ey0TO3g==
1335+
13311336
agent-base@6, agent-base@^6.0.0:
13321337
version "6.0.2"
13331338
resolved "https://registry.yarnpkg.com/agent-base/-/agent-base-6.0.2.tgz#49fff58577cfee3f37176feab4c22e00f86d7f77"
@@ -1438,6 +1443,11 @@ argparse@^2.0.1:
14381443
resolved "https://registry.yarnpkg.com/argparse/-/argparse-2.0.1.tgz#246f50f3ca78a3240f6c997e8a9bd1eac49e4b38"
14391444
integrity sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==
14401445

1446+
1447+
version "0.0.2"
1448+
resolved "https://registry.yarnpkg.com/argv/-/argv-0.0.2.tgz#ecbd16f8949b157183711b1bda334f37840185ab"
1449+
integrity sha1-7L0W+JSbFXGDcRsb2jNPN4QBhas=
1450+
14411451
arr-diff@^4.0.0:
14421452
version "4.0.0"
14431453
resolved "https://registry.yarnpkg.com/arr-diff/-/arr-diff-4.0.0.tgz#d6461074febfec71e7e15235761a329a5dc7c520"
@@ -2158,6 +2168,17 @@ coa@^2.0.2:
21582168
chalk "^2.4.1"
21592169
q "^1.1.2"
21602170

2171+
codecov@^3.8.1:
2172+
version "3.8.1"
2173+
resolved "https://registry.yarnpkg.com/codecov/-/codecov-3.8.1.tgz#06fe026b75525ed1ce864d4a34f1010c52c51546"
2174+
integrity sha512-Qm7ltx1pzLPsliZY81jyaQ80dcNR4/JpcX0IHCIWrHBXgseySqbdbYfkdiXd7o/xmzQpGRVCKGYeTrHUpn6Dcw==
2175+
dependencies:
2176+
argv "0.0.2"
2177+
ignore-walk "3.0.3"
2178+
js-yaml "3.14.0"
2179+
teeny-request "6.0.1"
2180+
urlgrey "0.4.4"
2181+
21612182
collapse-white-space@^1.0.2:
21622183
version "1.0.6"
21632184
resolved "https://registry.yarnpkg.com/collapse-white-space/-/collapse-white-space-1.0.6.tgz#e63629c0016665792060dbbeb79c42239d2c5287"
@@ -4068,6 +4089,14 @@ https-proxy-agent@5, https-proxy-agent@^5.0.0:
40684089
agent-base "6"
40694090
debug "4"
40704091

4092+
https-proxy-agent@^4.0.0:
4093+
version "4.0.0"
4094+
resolved "https://registry.yarnpkg.com/https-proxy-agent/-/https-proxy-agent-4.0.0.tgz#702b71fb5520a132a66de1f67541d9e62154d82b"
4095+
integrity sha512-zoDhWrkR3of1l9QAL8/scJZyLu8j/gBkcwcaQOZh7Gyh/+uJQzGVETdgT30akuwkpL8HTRfssqI3BZuV18teDg==
4096+
dependencies:
4097+
agent-base "5"
4098+
debug "4"
4099+
40714100
40724101
version "0.4.24"
40734102
resolved "https://registry.yarnpkg.com/iconv-lite/-/iconv-lite-0.4.24.tgz#2022b4b25fbddc21d2f524974a474aafe733908b"
@@ -4085,6 +4114,13 @@ ieee754@^1.1.13, ieee754@^1.1.4:
40854114
resolved "https://registry.yarnpkg.com/ieee754/-/ieee754-1.2.1.tgz#8eb7a10a63fff25d15a57b001586d177d1b0d352"
40864115
integrity sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==
40874116

4117+
4118+
version "3.0.3"
4119+
resolved "https://registry.yarnpkg.com/ignore-walk/-/ignore-walk-3.0.3.tgz#017e2447184bfeade7c238e4aefdd1e8f95b1e37"
4120+
integrity sha512-m7o6xuOaT1aqheYHKf8W6J5pYH85ZI9w077erOzLje3JsB1gkafkAhHHY19dqjulgIZHFm32Cp5uNZgcQqdJKw==
4121+
dependencies:
4122+
minimatch "^3.0.4"
4123+
40884124
ignore@^4.0.6:
40894125
version "4.0.6"
40904126
resolved "https://registry.yarnpkg.com/ignore/-/ignore-4.0.6.tgz#750e3db5862087b4737ebac8207ffd1ef27b25fc"
@@ -4515,6 +4551,14 @@ js-tokens@^4.0.0:
45154551
resolved "https://registry.yarnpkg.com/js-tokens/-/js-tokens-4.0.0.tgz#19203fb59991df98e3a287050d4647cdeaf32499"
45164552
integrity sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==
45174553

4554+
4555+
version "3.14.0"
4556+
resolved "https://registry.yarnpkg.com/js-yaml/-/js-yaml-3.14.0.tgz#a7a34170f26a21bb162424d8adacb4113a69e482"
4557+
integrity sha512-/4IbIeHcD9VMHFqDR/gQ7EdZdLimOvW2DdcxFjdyyZ9NsbS+ccrXqVWDtab/lRl5AlUqmpBx8EhPaWR+OtY17A==
4558+
dependencies:
4559+
argparse "^1.0.7"
4560+
esprima "^4.0.0"
4561+
45184562
js-yaml@^3.10.0, js-yaml@^3.13.1:
45194563
version "3.14.1"
45204564
resolved "https://registry.yarnpkg.com/js-yaml/-/js-yaml-3.14.1.tgz#dae812fdb3825fa306609a8717383c50c36a0537"
@@ -5138,7 +5182,7 @@ node-addon-api@^1.7.1:
51385182
resolved "https://registry.yarnpkg.com/node-addon-api/-/node-addon-api-1.7.2.tgz#3df30b95720b53c24e59948b49532b662444f54d"
51395183
integrity sha512-ibPK3iA+vaY1eEjESkQkM0BbCqFOaZMiXRTtdB0u7b4djtY6JnsjvPdUHVMg6xQt3B8fpTTWHI9A+ADjM9frzg==
51405184

5141-
node-fetch@^2.6.1:
5185+
node-fetch@^2.2.0, node-fetch@^2.6.1:
51425186
version "2.6.1"
51435187
resolved "https://registry.yarnpkg.com/node-fetch/-/node-fetch-2.6.1.tgz#045bd323631f76ed2e2b55573394416b639a0052"
51445188
integrity sha512-V4aYg89jEoVRxRb2fJdAg8FHvI7cEyYdVAh94HH0UIK8oJxUfkjlDQN9RbMx+bEjP7+ggMiFRprSti032Oipxw==
@@ -7217,6 +7261,13 @@ stream-combiner@^0.2.2:
72177261
duplexer "~0.1.1"
72187262
through "~2.3.4"
72197263

7264+
stream-events@^1.0.5:
7265+
version "1.0.5"
7266+
resolved "https://registry.yarnpkg.com/stream-events/-/stream-events-1.0.5.tgz#bbc898ec4df33a4902d892333d47da9bf1c406d5"
7267+
integrity sha512-E1GUzBSgvct8Jsb3v2X15pjzN1tYebtbLaMg+eBOUOAxgbLoSbT2NS91ckc5lJD1KfLjId+jXJRgo0qnV5Nerg==
7268+
dependencies:
7269+
stubs "^3.0.0"
7270+
72207271
stream-http@^2.7.2:
72217272
version "2.8.3"
72227273
resolved "https://registry.yarnpkg.com/stream-http/-/stream-http-2.8.3.tgz#b2d242469288a5a27ec4fe8933acf623de6514fc"
@@ -7317,6 +7368,11 @@ structured-source@^3.0.2:
73177368
dependencies:
73187369
boundary "^1.0.1"
73197370

7371+
stubs@^3.0.0:
7372+
version "3.0.0"
7373+
resolved "https://registry.yarnpkg.com/stubs/-/stubs-3.0.0.tgz#e8d2ba1fa9c90570303c030b6900f7d5f89abe5b"
7374+
integrity sha1-6NK6H6nJBXAwPAMLaQD31fiavls=
7375+
73207376
style-search@^0.1.0:
73217377
version "0.1.0"
73227378
resolved "https://registry.yarnpkg.com/style-search/-/style-search-0.1.0.tgz#7958c793e47e32e07d2b5cafe5c0bf8e12e77902"
@@ -7490,6 +7546,17 @@ tar-stream@^2.1.4, tar-stream@^2.2.0:
74907546
inherits "^2.0.3"
74917547
readable-stream "^3.1.1"
74927548

7549+
7550+
version "6.0.1"
7551+
resolved "https://registry.yarnpkg.com/teeny-request/-/teeny-request-6.0.1.tgz#9b1f512cef152945827ba7e34f62523a4ce2c5b0"
7552+
integrity sha512-TAK0c9a00ELOqLrZ49cFxvPVogMUFaWY8dUsQc/0CuQPGF+BOxOQzXfE413BAk2kLomwNplvdtMpeaeGWmoc2g==
7553+
dependencies:
7554+
http-proxy-agent "^4.0.0"
7555+
https-proxy-agent "^4.0.0"
7556+
node-fetch "^2.2.0"
7557+
stream-events "^1.0.5"
7558+
uuid "^3.3.2"
7559+
74937560
terser@^3.7.3:
74947561
version "3.17.0"
74957562
resolved "https://registry.yarnpkg.com/terser/-/terser-3.17.0.tgz#f88ffbeda0deb5637f9d24b0da66f4e15ab10cb2"
@@ -7966,6 +8033,11 @@ url@^0.11.0:
79668033
punycode "1.3.2"
79678034
querystring "0.2.0"
79688035

8036+
8037+
version "0.4.4"
8038+
resolved "https://registry.yarnpkg.com/urlgrey/-/urlgrey-0.4.4.tgz#892fe95960805e85519f1cd4389f2cb4cbb7652f"
8039+
integrity sha1-iS/pWWCAXoVRnxzUOJ8stMu3ZS8=
8040+
79698041
use@^3.1.0:
79708042
version "3.1.1"
79718043
resolved "https://registry.yarnpkg.com/use/-/use-3.1.1.tgz#d50c8cac79a19fbc20f2911f56eb973f4e10070f"

0 commit comments

Comments
 (0)