From 9ecb3bf0f23a8f3a9df7d23b21b7fc5739363c95 Mon Sep 17 00:00:00 2001 From: Daniel Gak Anagrov Date: Mon, 21 Jul 2025 15:14:19 +0200 Subject: [PATCH] fix(ci): fix code cov noise (#5118) * fix: testcov noise due to nyc empty reports * fix: codecov yml format --- codecov.yml => .github/codecov.yml | 3 +++ packages/server/.c8rc.json | 21 +++++++++++++++ packages/server/nyc.config.js | 22 --------------- packages/server/package.json | 4 +-- yarn.lock | 43 +++++++++++++++++++++++++++--- 5 files changed, 66 insertions(+), 27 deletions(-) rename codecov.yml => .github/codecov.yml (88%) create mode 100644 packages/server/.c8rc.json delete mode 100644 packages/server/nyc.config.js diff --git a/codecov.yml b/.github/codecov.yml similarity index 88% rename from codecov.yml rename to .github/codecov.yml index 9137d6e16..215fa375a 100644 --- a/codecov.yml +++ b/.github/codecov.yml @@ -27,6 +27,9 @@ coverage: target: 100% flags: - shared +comment: + layout: 'condensed_header, condensed_files, condensed_footer' + hide_project_coverage: true flags: server: diff --git a/packages/server/.c8rc.json b/packages/server/.c8rc.json new file mode 100644 index 000000000..4e4115670 --- /dev/null +++ b/packages/server/.c8rc.json @@ -0,0 +1,21 @@ +{ + "reporter": ["lcov", "text-summary"], + "cache": false, + "all": true, + "exclude": [ + "**/migrations/*.{ts,js}", + "**/modules/cli/**/*.{ts,js}", + "**/*.spec.{js,ts}", + "coverage/**", + "**/test{,s}/**", + "**/*.d.ts", + "test{,s}/**", + "test{,-*}.{ts,js}", + "**/*{.,-}test.{ts,js}", + "**/__tests__/**", + "**/{ava,babel,nyc}.config.{js,cjs,mjs}", + "**/jest.config.{js,cjs,mjs,ts}", + "**/{karma,rollup,webpack}.config.js", + "**/.{eslint,mocha}rc.{js,cjs}" + ] +} diff --git a/packages/server/nyc.config.js b/packages/server/nyc.config.js deleted file mode 100644 index 0ce8a2587..000000000 --- a/packages/server/nyc.config.js +++ /dev/null @@ -1,22 +0,0 @@ -const testFileExtensions = ['ts', 'js'] - -export default { - exclude: [ - `**/migrations/*.{${testFileExtensions}}`, - `**/modules/cli/**/*.{${testFileExtensions}}`, - '**/*.spec.{js,ts}', - - // Default exclusions: https://github.com/istanbuljs/schema/blob/master/default-exclude.js - 'coverage/**', - 'packages/*/test{,s}/**', - '**/*.d.ts', - 'test{,s}/**', - `test{,-*}.{${testFileExtensions}}`, - `**/*{.,-}test.{${testFileExtensions}}`, - '**/__tests__/**', - '**/{ava,babel,nyc}.config.{js,cjs,mjs}', - '**/jest.config.{js,cjs,mjs,ts}', - '**/{karma,rollup,webpack}.config.js', - '**/.{eslint,mocha}rc.{js,cjs}' - ] -} diff --git a/packages/server/package.json b/packages/server/package.json index d469a2bf8..09840606f 100644 --- a/packages/server/package.json +++ b/packages/server/package.json @@ -28,7 +28,7 @@ "test:all-ff": "cross-env ENABLE_ALL_FFS=true yarn test", "test:multiregion": "cross-env RUN_TESTS_IN_MULTIREGION_MODE=true FF_WORKSPACES_MODULE_ENABLED=true FF_WORKSPACES_MULTI_REGION_ENABLED=true yarn test --grep @multiregion", "test:no-ff": "cross-env DISABLE_ALL_FFS=true yarn test", - "test:coverage": "cross-env NODE_ENV=test LOG_FILTER=test LOG_PRETTY=true nyc --reporter lcov yarn ts-mocha", + "test:coverage": "cross-env NODE_ENV=test LOG_FILTER=test LOG_PRETTY=true c8 yarn ts-mocha", "test:report": "MOCHA_FILE=reports/test-results.xml yarn test:coverage -- --reporter mocha-multi --reporter-options spec=-,mocha-junit-reporter=reports/test-results.xml", "lint": "yarn lint:tsc && yarn lint:eslint", "lint:ci": "yarn lint:tsc", @@ -196,6 +196,7 @@ "@typescript-eslint/eslint-plugin": "^5.39.0", "@typescript-eslint/parser": "^5.39.0", "axios": "^1.7.4", + "c8": "^10.1.3", "chai": "^4.2.0", "chai-as-promised": "^7.1.2", "chai-http": "^4.3.0", @@ -216,7 +217,6 @@ "moq.ts": "10.0.8", "node-mocks-http": "^1.12.1", "nodemon": "^3.1.9", - "nyc": "^15.0.1", "prettier": "^2.5.1", "rimraf": "^5.0.7", "supertest": "^4.0.2", diff --git a/yarn.lock b/yarn.lock index 4a3085f66..5453133d0 100644 --- a/yarn.lock +++ b/yarn.lock @@ -8284,7 +8284,7 @@ __metadata: languageName: node linkType: hard -"@bcoe/v8-coverage@npm:^1.0.2": +"@bcoe/v8-coverage@npm:^1.0.1, @bcoe/v8-coverage@npm:^1.0.2": version: 1.0.2 resolution: "@bcoe/v8-coverage@npm:1.0.2" checksum: 10/46600b2dde460269b07a8e4f12b72e418eae1337b85c979f43af3336c9a1c65b04e42508ab6b245f1e0e3c64328e1c38d8cd733e4a7cebc4fbf9cf65c6e59937 @@ -16358,6 +16358,7 @@ __metadata: bull: "npm:^4.16.4" bull-board: "npm:^2.1.3" busboy: "npm:^1.4.0" + c8: "npm:^10.1.3" chai: "npm:^4.2.0" chai-as-promised: "npm:^7.1.2" chai-http: "npm:^4.3.0" @@ -16416,7 +16417,6 @@ __metadata: node-mocks-http: "npm:^1.12.1" nodemailer: "npm:^6.5.0" nodemon: "npm:^3.1.9" - nyc: "npm:^15.0.1" openid-client: "npm:^5.1.7" passport: "npm:^0.6.0" passport-azure-ad: "npm:^4.3.4" @@ -23762,6 +23762,32 @@ __metadata: languageName: node linkType: hard +"c8@npm:^10.1.3": + version: 10.1.3 + resolution: "c8@npm:10.1.3" + dependencies: + "@bcoe/v8-coverage": "npm:^1.0.1" + "@istanbuljs/schema": "npm:^0.1.3" + find-up: "npm:^5.0.0" + foreground-child: "npm:^3.1.1" + istanbul-lib-coverage: "npm:^3.2.0" + istanbul-lib-report: "npm:^3.0.1" + istanbul-reports: "npm:^3.1.6" + test-exclude: "npm:^7.0.1" + v8-to-istanbul: "npm:^9.0.0" + yargs: "npm:^17.7.2" + yargs-parser: "npm:^21.1.1" + peerDependencies: + monocart-coverage-reports: ^2 + peerDependenciesMeta: + monocart-coverage-reports: + optional: true + bin: + c8: bin/c8.js + checksum: 10/6fdc2097fec28a14089fb6e450a5d7532b39391de5c1fd04803430c7a27be4fff6311388ab9ca8cc570c42062bf0c0fa1d7f23558957f7ab35b781f33a5f0906 + languageName: node + linkType: hard + "cac@npm:^6.7.14": version: 6.7.14 resolution: "cac@npm:6.7.14" @@ -39182,7 +39208,7 @@ __metadata: languageName: node linkType: hard -"nyc@npm:^15.0.1, nyc@npm:^15.1.0": +"nyc@npm:^15.1.0": version: 15.1.0 resolution: "nyc@npm:15.1.0" dependencies: @@ -49220,6 +49246,17 @@ __metadata: languageName: node linkType: hard +"v8-to-istanbul@npm:^9.0.0": + version: 9.3.0 + resolution: "v8-to-istanbul@npm:9.3.0" + dependencies: + "@jridgewell/trace-mapping": "npm:^0.3.12" + "@types/istanbul-lib-coverage": "npm:^2.0.1" + convert-source-map: "npm:^2.0.0" + checksum: 10/fb1d70f1176cb9dc46cabbb3fd5c52c8f3e8738b61877b6e7266029aed0870b04140e3f9f4550ac32aebcfe1d0f38b0bac57e1e8fb97d68fec82f2b416148166 + languageName: node + linkType: hard + "v8-to-istanbul@npm:^9.0.1": version: 9.0.1 resolution: "v8-to-istanbul@npm:9.0.1"