From cb41be119eff0a69b27e01e9e3213835e492540b Mon Sep 17 00:00:00 2001 From: Konstantin Burkalev Date: Fri, 4 Apr 2025 13:38:42 +0300 Subject: [PATCH] chore(ci): Enable code coverage for JS/TS --- .github/workflows/push.yml | 14 ++++++++------ codecov.yml | 4 ++++ packages/cubejs-api-gateway/package.json | 5 +++-- packages/cubejs-backend-cloud/package.json | 7 ++++++- packages/cubejs-backend-native/package.json | 8 +++++++- packages/cubejs-backend-shared/package.json | 5 +++-- packages/cubejs-base-driver/package.json | 7 ++++++- packages/cubejs-cli/package.json | 9 ++++++++- packages/cubejs-client-core/package.json | 10 ++++++++++ packages/cubejs-query-orchestrator/package.json | 5 +++-- packages/cubejs-schema-compiler/package.json | 5 +++-- packages/cubejs-server-core/package.json | 5 +++-- packages/cubejs-server/package.json | 9 ++++++++- 13 files changed, 72 insertions(+), 21 deletions(-) diff --git a/.github/workflows/push.yml b/.github/workflows/push.yml index 26589debc2afa..2c9af52211af6 100644 --- a/.github/workflows/push.yml +++ b/.github/workflows/push.yml @@ -114,12 +114,14 @@ jobs: run: yarn build - name: Lerna test run: yarn lerna run --concurrency 1 --stream --no-prefix unit -# - uses: codecov/codecov-action@v1 -# if: (matrix.node-version == '20.x') -# with: -# files: ./packages/*/coverage/clover.xml -# flags: cube-backend -# verbose: true # optional (default = false) + - name: Upload coverage reports to Codecov + uses: codecov/codecov-action@v5 + with: + token: ${{ secrets.CODECOV_TOKEN }} + files: ./packages/*/coverage/* + verbose: true + flags: cube-backend + fail_ci_if_error: false lint: runs-on: ubuntu-24.04 diff --git a/codecov.yml b/codecov.yml index bfdc9877d9acc..40a7db8564a95 100644 --- a/codecov.yml +++ b/codecov.yml @@ -1,8 +1,12 @@ coverage: + round: down + range: "70...100" status: project: default: informational: true + target: auto + threshold: 2% patch: default: informational: true diff --git a/packages/cubejs-api-gateway/package.json b/packages/cubejs-api-gateway/package.json index 26cb06cf31409..2ed4cf5d71ee6 100644 --- a/packages/cubejs-api-gateway/package.json +++ b/packages/cubejs-api-gateway/package.json @@ -72,10 +72,11 @@ }, "jest": { "testEnvironment": "node", - "collectCoverage": false, + "collectCoverage": true, "coverageReporters": [ "text", - "html" + "html", + "cobertura" ], "coverageDirectory": "coverage/", "collectCoverageFrom": [ diff --git a/packages/cubejs-backend-cloud/package.json b/packages/cubejs-backend-cloud/package.json index 540ff2bd633d1..f9eb706c3aaf3 100644 --- a/packages/cubejs-backend-cloud/package.json +++ b/packages/cubejs-backend-cloud/package.json @@ -49,7 +49,12 @@ }, "jest": { "testEnvironment": "node", - "collectCoverage": false, + "collectCoverage": true, + "coverageReporters": [ + "text", + "html", + "cobertura" + ], "coverageDirectory": "coverage/", "collectCoverageFrom": [ "dist/src/**/*.js", diff --git a/packages/cubejs-backend-native/package.json b/packages/cubejs-backend-native/package.json index 190f3019077b3..a11f139f0bcfb 100644 --- a/packages/cubejs-backend-native/package.json +++ b/packages/cubejs-backend-native/package.json @@ -79,7 +79,13 @@ }, "jest": { "testEnvironment": "node", - "verbose": true, + "collectCoverage": true, + "coverageReporters": [ + "text", + "html", + "cobertura" + ], + "coverageDirectory": "coverage/", "roots": [ "/dist/test/" ], diff --git a/packages/cubejs-backend-shared/package.json b/packages/cubejs-backend-shared/package.json index fef0f0c31e755..2a4a03a26e22b 100644 --- a/packages/cubejs-backend-shared/package.json +++ b/packages/cubejs-backend-shared/package.json @@ -62,10 +62,11 @@ }, "jest": { "testEnvironment": "node", - "collectCoverage": false, + "collectCoverage": true, "coverageReporters": [ "text", - "html" + "html", + "cobertura" ], "coverageDirectory": "coverage/", "collectCoverageFrom": [ diff --git a/packages/cubejs-base-driver/package.json b/packages/cubejs-base-driver/package.json index f4d183acb7d9b..015b5c1b2dc35 100644 --- a/packages/cubejs-base-driver/package.json +++ b/packages/cubejs-base-driver/package.json @@ -48,7 +48,12 @@ "extends": "../cubejs-linter" }, "jest": { - "collectCoverage": false, + "collectCoverage": true, + "coverageReporters": [ + "text", + "html", + "cobertura" + ], "coverageDirectory": "coverage/", "collectCoverageFrom": [ "dist/src/**/*.js", diff --git a/packages/cubejs-cli/package.json b/packages/cubejs-cli/package.json index e0938859978ca..47cc4c7e635b9 100644 --- a/packages/cubejs-cli/package.json +++ b/packages/cubejs-cli/package.json @@ -66,7 +66,14 @@ "typescript": "~5.2.2" }, "jest": { - "testEnvironment": "node" + "testEnvironment": "node", + "collectCoverage": true, + "coverageReporters": [ + "text", + "html", + "cobertura" + ], + "coverageDirectory": "coverage/" }, "license": "Apache-2.0", "eslintConfig": { diff --git a/packages/cubejs-client-core/package.json b/packages/cubejs-client-core/package.json index 50f16cfec68ea..e728ab3a86a06 100644 --- a/packages/cubejs-client-core/package.json +++ b/packages/cubejs-client-core/package.json @@ -44,5 +44,15 @@ "eslint-plugin-import": "^2.16.0", "eslint-plugin-node": "^10.0.0", "jest": "^27" + }, + "jest": { + "testEnvironment": "node", + "collectCoverage": true, + "coverageReporters": [ + "text", + "html", + "cobertura" + ], + "coverageDirectory": "coverage/" } } diff --git a/packages/cubejs-query-orchestrator/package.json b/packages/cubejs-query-orchestrator/package.json index cb9ed6fcc5254..d416bdafc436a 100644 --- a/packages/cubejs-query-orchestrator/package.json +++ b/packages/cubejs-query-orchestrator/package.json @@ -53,10 +53,11 @@ }, "jest": { "testEnvironment": "node", - "collectCoverage": false, + "collectCoverage": true, "coverageReporters": [ "text", - "html" + "html", + "cobertura" ], "coverageDirectory": "coverage/", "collectCoverageFrom": [ diff --git a/packages/cubejs-schema-compiler/package.json b/packages/cubejs-schema-compiler/package.json index 5de6d20d7d4d6..2b905571c2f86 100644 --- a/packages/cubejs-schema-compiler/package.json +++ b/packages/cubejs-schema-compiler/package.json @@ -90,10 +90,11 @@ }, "jest": { "testEnvironment": "node", - "collectCoverage": false, + "collectCoverage": true, "coverageReporters": [ "text", - "html" + "html", + "cobertura" ], "coverageDirectory": "coverage/", "collectCoverageFrom": [ diff --git a/packages/cubejs-server-core/package.json b/packages/cubejs-server-core/package.json index 50745a5e7b9c4..b13c5e81e7ce9 100644 --- a/packages/cubejs-server-core/package.json +++ b/packages/cubejs-server-core/package.json @@ -84,10 +84,11 @@ "setupFilesAfterEnv": [ "/dist/test/setup.js" ], - "collectCoverage": false, + "collectCoverage": true, "coverageReporters": [ "text", - "html" + "html", + "cobertura" ], "coverageDirectory": "coverage/", "collectCoverageFrom": [ diff --git a/packages/cubejs-server/package.json b/packages/cubejs-server/package.json index d80ea5d6b3d19..229b716e014f5 100644 --- a/packages/cubejs-server/package.json +++ b/packages/cubejs-server/package.json @@ -82,7 +82,14 @@ "testMatch": [ "/dist/test/*.(test|spec).(ts|js)" ], - "testEnvironment": "node" + "testEnvironment": "node", + "collectCoverage": true, + "coverageReporters": [ + "text", + "html", + "cobertura" + ], + "coverageDirectory": "coverage/" }, "oclif": { "commands": "./dist/src/command",