Skip to content

Commit 3d47219

Browse files
authored
Merge pull request #21 from toothlessdev/20-add-codecov-to-github-action-ci-pipeline
Codecov 관련 의존성 추가 및 ci 파이프라인 수정
2 parents ed37877 + dcdc5f3 commit 3d47219

9 files changed

Lines changed: 209 additions & 7 deletions

File tree

.github/workflows/ci.yml

Lines changed: 11 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -64,8 +64,8 @@ jobs:
6464
- name: Run Lint
6565
run: yarn lint
6666

67-
- name: Run Tests
68-
run: yarn test
67+
- name: Run Tests with Coverage
68+
run: yarn test:coverage
6969

7070
- name: Report Test Logs
7171
uses: dorny/test-reporter@v1
@@ -85,6 +85,15 @@ jobs:
8585
**/coverage/**/*
8686
retention-days: 7
8787

88+
- name: Upload coverage to Codecov
89+
uses: codecov/codecov-action@v5
90+
if: (!cancelled())
91+
with:
92+
token: ${{ secrets.CODECOV_TOKEN }}
93+
files: packages/**/.coverage/lcov.info
94+
fail_ci_if_error: false
95+
verbose: true
96+
8897
- name: Publish Test Results
8998
uses: EnricoMi/publish-unit-test-result-action@v2
9099
if: (!cancelled())

.gitignore

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -23,4 +23,5 @@ node_modules
2323
dist
2424

2525
# test files
26-
.coverage
26+
.coverage
27+
coverage

package.json

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,7 @@
99
"dev": "turbo run dev --cache-dir=.turbo",
1010
"build": "turbo run build --cache-dir=.turbo",
1111
"test": "turbo run test --cache-dir=.turbo",
12+
"test:coverage": "turbo run test:coverage --cache-dir=.turbo",
1213
"lint": "turbo run lint --cache-dir=.turbo",
1314
"lint:fix": "turbo run lint:fix --cache-dir=.turbo",
1415
"typecheck": "turbo run typecheck --cache-dir=.turbo",
@@ -19,6 +20,7 @@
1920
"@types/node": "24",
2021
"@typescript-eslint/eslint-plugin": "^8.51.0",
2122
"@typescript-eslint/parser": "^8.51.0",
23+
"@vitest/coverage-v8": "^4.0.18",
2224
"@vitest/ui": "^4.0.16",
2325
"esbuild": "0.27.2",
2426
"eslint": "^9.39.2",

packages/patchlogr-cli/package.json

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,7 @@
1515
"build": "yarn clean && yarn build:types && yarn build:js",
1616
"preview": "node dist/index.js",
1717
"test": "vitest",
18+
"test:coverage": "vitest run --coverage",
1819
"lint": "eslint .",
1920
"lint:fix": "eslint . --fix"
2021
},

packages/patchlogr-core/package.json

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -21,6 +21,7 @@
2121
"build:js": "node ./esbuild.mjs",
2222
"build": "yarn clean && yarn build:types && yarn build:js",
2323
"test": "vitest",
24+
"test:coverage": "vitest run --coverage",
2425
"lint": "eslint .",
2526
"lint:fix": "eslint . --fix"
2627
},

packages/patchlogr-oas/package.json

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,7 @@
99
"lint": "eslint .",
1010
"lint:fix": "eslint . --fix",
1111
"test": "vitest",
12+
"test:coverage": "vitest run --coverage",
1213
"typecheck": "tsc --noEmit",
1314
"build:types": "tsc -p tsconfig.json --emitDeclarationOnly",
1415
"build:js": "node ./esbuild.mjs",

turbo.json

Lines changed: 12 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,18 @@
1919
"package.json",
2020
"tsconfig.json"
2121
],
22-
"outputs": []
22+
"outputs": [".coverage/**"]
23+
},
24+
"test:coverage": {
25+
"dependsOn": ["^build"],
26+
"inputs": [
27+
"src/**",
28+
"test/**",
29+
"vitest.config.*",
30+
"package.json",
31+
"tsconfig.json"
32+
],
33+
"outputs": [".coverage/**"]
2334
},
2435
"typecheck": {
2536
"dependsOn": ["^build"],

vitest.config.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,7 @@ export default defineConfig({
1919
enabled: false,
2020
provider: "v8",
2121
reporter: ["text", "html", "lcov"],
22-
reportsDirectory: "./coverage",
22+
reportsDirectory: "./.coverage",
2323
},
2424
reporters: ["default", "junit", "json", "html"],
2525
outputFile: {

yarn.lock

Lines changed: 178 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -45,6 +45,48 @@ __metadata:
4545
languageName: node
4646
linkType: hard
4747

48+
"@babel/helper-string-parser@npm:^7.27.1":
49+
version: 7.27.1
50+
resolution: "@babel/helper-string-parser@npm:7.27.1"
51+
checksum: 10c0/8bda3448e07b5583727c103560bcf9c4c24b3c1051a4c516d4050ef69df37bb9a4734a585fe12725b8c2763de0a265aa1e909b485a4e3270b7cfd3e4dbe4b602
52+
languageName: node
53+
linkType: hard
54+
55+
"@babel/helper-validator-identifier@npm:^7.28.5":
56+
version: 7.28.5
57+
resolution: "@babel/helper-validator-identifier@npm:7.28.5"
58+
checksum: 10c0/42aaebed91f739a41f3d80b72752d1f95fd7c72394e8e4bd7cdd88817e0774d80a432451bcba17c2c642c257c483bf1d409dd4548883429ea9493a3bc4ab0847
59+
languageName: node
60+
linkType: hard
61+
62+
"@babel/parser@npm:^7.28.5":
63+
version: 7.28.6
64+
resolution: "@babel/parser@npm:7.28.6"
65+
dependencies:
66+
"@babel/types": "npm:^7.28.6"
67+
bin:
68+
parser: ./bin/babel-parser.js
69+
checksum: 10c0/d6bfe8aa8e067ef58909e9905496157312372ca65d8d2a4f2b40afbea48d59250163755bba8ae626a615da53d192b084bcfc8c9dad8b01e315b96967600de581
70+
languageName: node
71+
linkType: hard
72+
73+
"@babel/types@npm:^7.28.5, @babel/types@npm:^7.28.6":
74+
version: 7.28.6
75+
resolution: "@babel/types@npm:7.28.6"
76+
dependencies:
77+
"@babel/helper-string-parser": "npm:^7.27.1"
78+
"@babel/helper-validator-identifier": "npm:^7.28.5"
79+
checksum: 10c0/54a6a9813e48ef6f35aa73c03b3c1572cad7fa32b61b35dd07e4230bc77b559194519c8a4d8106a041a27cc7a94052579e238a30a32d5509aa4da4d6fd83d990
80+
languageName: node
81+
linkType: hard
82+
83+
"@bcoe/v8-coverage@npm:^1.0.2":
84+
version: 1.0.2
85+
resolution: "@bcoe/v8-coverage@npm:1.0.2"
86+
checksum: 10c0/1eb1dc93cc17fb7abdcef21a6e7b867d6aa99a7ec88ec8207402b23d9083ab22a8011213f04b2cf26d535f1d22dc26139b7929e6c2134c254bd1e14ba5e678c3
87+
languageName: node
88+
linkType: hard
89+
4890
"@esbuild/aix-ppc64@npm:0.27.2":
4991
version: 0.27.2
5092
resolution: "@esbuild/aix-ppc64@npm:0.27.2"
@@ -371,13 +413,30 @@ __metadata:
371413
languageName: node
372414
linkType: hard
373415

374-
"@jridgewell/sourcemap-codec@npm:^1.5.5":
416+
"@jridgewell/resolve-uri@npm:^3.1.0":
417+
version: 3.1.2
418+
resolution: "@jridgewell/resolve-uri@npm:3.1.2"
419+
checksum: 10c0/d502e6fb516b35032331406d4e962c21fe77cdf1cbdb49c6142bcbd9e30507094b18972778a6e27cbad756209cfe34b1a27729e6fa08a2eb92b33943f680cf1e
420+
languageName: node
421+
linkType: hard
422+
423+
"@jridgewell/sourcemap-codec@npm:^1.4.14, @jridgewell/sourcemap-codec@npm:^1.5.5":
375424
version: 1.5.5
376425
resolution: "@jridgewell/sourcemap-codec@npm:1.5.5"
377426
checksum: 10c0/f9e538f302b63c0ebc06eecb1dd9918dd4289ed36147a0ddce35d6ea4d7ebbda243cda7b2213b6a5e1d8087a298d5cf630fb2bd39329cdecb82017023f6081a0
378427
languageName: node
379428
linkType: hard
380429

430+
"@jridgewell/trace-mapping@npm:^0.3.31":
431+
version: 0.3.31
432+
resolution: "@jridgewell/trace-mapping@npm:0.3.31"
433+
dependencies:
434+
"@jridgewell/resolve-uri": "npm:^3.1.0"
435+
"@jridgewell/sourcemap-codec": "npm:^1.4.14"
436+
checksum: 10c0/4b30ec8cd56c5fd9a661f088230af01e0c1a3888d11ffb6b47639700f71225be21d1f7e168048d6d4f9449207b978a235c07c8f15c07705685d16dc06280e9d9
437+
languageName: node
438+
linkType: hard
439+
381440
"@npmcli/agent@npm:^4.0.0":
382441
version: 4.0.0
383442
resolution: "@npmcli/agent@npm:4.0.0"
@@ -807,6 +866,30 @@ __metadata:
807866
languageName: node
808867
linkType: hard
809868

869+
"@vitest/coverage-v8@npm:^4.0.18":
870+
version: 4.0.18
871+
resolution: "@vitest/coverage-v8@npm:4.0.18"
872+
dependencies:
873+
"@bcoe/v8-coverage": "npm:^1.0.2"
874+
"@vitest/utils": "npm:4.0.18"
875+
ast-v8-to-istanbul: "npm:^0.3.10"
876+
istanbul-lib-coverage: "npm:^3.2.2"
877+
istanbul-lib-report: "npm:^3.0.1"
878+
istanbul-reports: "npm:^3.2.0"
879+
magicast: "npm:^0.5.1"
880+
obug: "npm:^2.1.1"
881+
std-env: "npm:^3.10.0"
882+
tinyrainbow: "npm:^3.0.3"
883+
peerDependencies:
884+
"@vitest/browser": 4.0.18
885+
vitest: 4.0.18
886+
peerDependenciesMeta:
887+
"@vitest/browser":
888+
optional: true
889+
checksum: 10c0/e23e0da86f0b2a020c51562bc40ebdc7fc7553c24f8071dfb39a6df0161badbd5eaf2eebbf8ceaef18933a18c1934ff52d1c0c4bde77bb87e0c1feb0c8cbee4d
890+
languageName: node
891+
linkType: hard
892+
810893
"@vitest/expect@npm:4.0.16":
811894
version: 4.0.16
812895
resolution: "@vitest/expect@npm:4.0.16"
@@ -849,6 +932,15 @@ __metadata:
849932
languageName: node
850933
linkType: hard
851934

935+
"@vitest/pretty-format@npm:4.0.18":
936+
version: 4.0.18
937+
resolution: "@vitest/pretty-format@npm:4.0.18"
938+
dependencies:
939+
tinyrainbow: "npm:^3.0.3"
940+
checksum: 10c0/0086b8c88eeca896d8e4b98fcdef452c8041a1b63eb9e85d3e0bcc96c8aa76d8e9e0b6990ebb0bb0a697c4ebab347e7735888b24f507dbff2742ddce7723fd94
941+
languageName: node
942+
linkType: hard
943+
852944
"@vitest/runner@npm:4.0.16":
853945
version: 4.0.16
854946
resolution: "@vitest/runner@npm:4.0.16"
@@ -904,6 +996,16 @@ __metadata:
904996
languageName: node
905997
linkType: hard
906998

999+
"@vitest/utils@npm:4.0.18":
1000+
version: 4.0.18
1001+
resolution: "@vitest/utils@npm:4.0.18"
1002+
dependencies:
1003+
"@vitest/pretty-format": "npm:4.0.18"
1004+
tinyrainbow: "npm:^3.0.3"
1005+
checksum: 10c0/4a3c43c1421eb90f38576926496f6c80056167ba111e63f77cf118983902673737a1a38880b890d7c06ec0a12475024587344ee502b3c43093781533022f2aeb
1006+
languageName: node
1007+
linkType: hard
1008+
9071009
"abbrev@npm:^4.0.0":
9081010
version: 4.0.0
9091011
resolution: "abbrev@npm:4.0.0"
@@ -995,6 +1097,17 @@ __metadata:
9951097
languageName: node
9961098
linkType: hard
9971099

1100+
"ast-v8-to-istanbul@npm:^0.3.10":
1101+
version: 0.3.10
1102+
resolution: "ast-v8-to-istanbul@npm:0.3.10"
1103+
dependencies:
1104+
"@jridgewell/trace-mapping": "npm:^0.3.31"
1105+
estree-walker: "npm:^3.0.3"
1106+
js-tokens: "npm:^9.0.1"
1107+
checksum: 10c0/8a7a07c04f8f130b8a5abb76cdb31cce06a8eb4b7d4abbe207bc721132127ae332e857b96aa415ac43ec2c6c9312508210c598f61a7de2d0e3db5615e6b03183
1108+
languageName: node
1109+
linkType: hard
1110+
9981111
"balanced-match@npm:^1.0.0":
9991112
version: 1.0.2
10001113
resolution: "balanced-match@npm:1.0.2"
@@ -1613,6 +1726,13 @@ __metadata:
16131726
languageName: node
16141727
linkType: hard
16151728

1729+
"html-escaper@npm:^2.0.0":
1730+
version: 2.0.2
1731+
resolution: "html-escaper@npm:2.0.2"
1732+
checksum: 10c0/208e8a12de1a6569edbb14544f4567e6ce8ecc30b9394fcaa4e7bb1e60c12a7c9a1ed27e31290817157e8626f3a4f29e76c8747030822eb84a6abb15c255f0a0
1733+
languageName: node
1734+
linkType: hard
1735+
16161736
"http-cache-semantics@npm:^4.1.1":
16171737
version: 4.2.0
16181738
resolution: "http-cache-semantics@npm:4.2.0"
@@ -1717,6 +1837,41 @@ __metadata:
17171837
languageName: node
17181838
linkType: hard
17191839

1840+
"istanbul-lib-coverage@npm:^3.0.0, istanbul-lib-coverage@npm:^3.2.2":
1841+
version: 3.2.2
1842+
resolution: "istanbul-lib-coverage@npm:3.2.2"
1843+
checksum: 10c0/6c7ff2106769e5f592ded1fb418f9f73b4411fd5a084387a5410538332b6567cd1763ff6b6cadca9b9eb2c443cce2f7ea7d7f1b8d315f9ce58539793b1e0922b
1844+
languageName: node
1845+
linkType: hard
1846+
1847+
"istanbul-lib-report@npm:^3.0.0, istanbul-lib-report@npm:^3.0.1":
1848+
version: 3.0.1
1849+
resolution: "istanbul-lib-report@npm:3.0.1"
1850+
dependencies:
1851+
istanbul-lib-coverage: "npm:^3.0.0"
1852+
make-dir: "npm:^4.0.0"
1853+
supports-color: "npm:^7.1.0"
1854+
checksum: 10c0/84323afb14392de8b6a5714bd7e9af845cfbd56cfe71ed276cda2f5f1201aea673c7111901227ee33e68e4364e288d73861eb2ed48f6679d1e69a43b6d9b3ba7
1855+
languageName: node
1856+
linkType: hard
1857+
1858+
"istanbul-reports@npm:^3.2.0":
1859+
version: 3.2.0
1860+
resolution: "istanbul-reports@npm:3.2.0"
1861+
dependencies:
1862+
html-escaper: "npm:^2.0.0"
1863+
istanbul-lib-report: "npm:^3.0.0"
1864+
checksum: 10c0/d596317cfd9c22e1394f22a8d8ba0303d2074fe2e971887b32d870e4b33f8464b10f8ccbe6847808f7db485f084eba09e6c2ed706b3a978e4b52f07085b8f9bc
1865+
languageName: node
1866+
linkType: hard
1867+
1868+
"js-tokens@npm:^9.0.1":
1869+
version: 9.0.1
1870+
resolution: "js-tokens@npm:9.0.1"
1871+
checksum: 10c0/68dcab8f233dde211a6b5fd98079783cbcd04b53617c1250e3553ee16ab3e6134f5e65478e41d82f6d351a052a63d71024553933808570f04dbf828d7921e80e
1872+
languageName: node
1873+
linkType: hard
1874+
17201875
"js-yaml@npm:^4.1.0, js-yaml@npm:^4.1.1":
17211876
version: 4.1.1
17221877
resolution: "js-yaml@npm:4.1.1"
@@ -1807,6 +1962,26 @@ __metadata:
18071962
languageName: node
18081963
linkType: hard
18091964

1965+
"magicast@npm:^0.5.1":
1966+
version: 0.5.1
1967+
resolution: "magicast@npm:0.5.1"
1968+
dependencies:
1969+
"@babel/parser": "npm:^7.28.5"
1970+
"@babel/types": "npm:^7.28.5"
1971+
source-map-js: "npm:^1.2.1"
1972+
checksum: 10c0/a00bbf3688b9b3e83c10b3bfe3f106cc2ccbf20c4f2dc1c9020a10556dfe0a6a6605a445ee8e86a6e2b484ec519a657b5e405532684f72678c62e4c0d32f962c
1973+
languageName: node
1974+
linkType: hard
1975+
1976+
"make-dir@npm:^4.0.0":
1977+
version: 4.0.0
1978+
resolution: "make-dir@npm:4.0.0"
1979+
dependencies:
1980+
semver: "npm:^7.5.3"
1981+
checksum: 10c0/69b98a6c0b8e5c4fe9acb61608a9fbcfca1756d910f51e5dbe7a9e5cfb74fca9b8a0c8a0ffdf1294a740826c1ab4871d5bf3f62f72a3049e5eac6541ddffed68
1982+
languageName: node
1983+
linkType: hard
1984+
18101985
"make-fetch-happen@npm:^15.0.0":
18111986
version: 15.0.3
18121987
resolution: "make-fetch-happen@npm:15.0.3"
@@ -2067,6 +2242,7 @@ __metadata:
20672242
"@types/node": "npm:24"
20682243
"@typescript-eslint/eslint-plugin": "npm:^8.51.0"
20692244
"@typescript-eslint/parser": "npm:^8.51.0"
2245+
"@vitest/coverage-v8": "npm:^4.0.18"
20702246
"@vitest/ui": "npm:^4.0.16"
20712247
esbuild: "npm:0.27.2"
20722248
eslint: "npm:^9.39.2"
@@ -2296,7 +2472,7 @@ __metadata:
22962472
languageName: node
22972473
linkType: hard
22982474

2299-
"semver@npm:^7.3.5, semver@npm:^7.6.0":
2475+
"semver@npm:^7.3.5, semver@npm:^7.5.3, semver@npm:^7.6.0":
23002476
version: 7.7.3
23012477
resolution: "semver@npm:7.7.3"
23022478
bin:

0 commit comments

Comments
 (0)