From 123e8e78dcbb8b73c419a93950170081bf57f723 Mon Sep 17 00:00:00 2001 From: Jan Kadlec Date: Thu, 26 Feb 2026 14:15:56 +0100 Subject: [PATCH] chore(ci): fix codecov upload and coverage collection Override commit SHA to use PR head instead of merge commit and pass PR number explicitly. Add coverage path mapping to all packages so coverage.py maps installed site-packages back to src/ (needed because tox uses wheel packaging). JIRA: trivial risk: nonprod --- .github/workflows/rw-python-tests.yaml | 2 ++ packages/gooddata-dbt/pyproject.toml | 9 +++++++++ packages/gooddata-dbt/tox.ini | 2 +- packages/gooddata-fdw/pyproject.toml | 9 +++++++++ packages/gooddata-fdw/tox.ini | 2 +- packages/gooddata-flexconnect/pyproject.toml | 9 +++++++++ packages/gooddata-flexconnect/tox.ini | 2 +- packages/gooddata-flight-server/pyproject.toml | 9 +++++++++ packages/gooddata-flight-server/tox.ini | 2 +- packages/gooddata-pandas/pyproject.toml | 9 +++++++++ packages/gooddata-pandas/tox.ini | 2 +- packages/gooddata-pipelines/pyproject.toml | 9 +++++++++ packages/gooddata-pipelines/tox.ini | 2 +- packages/gooddata-sdk/pyproject.toml | 9 +++++++++ packages/gooddata-sdk/tox.ini | 2 +- 15 files changed, 72 insertions(+), 7 deletions(-) diff --git a/.github/workflows/rw-python-tests.yaml b/.github/workflows/rw-python-tests.yaml index 22c6255d0..034648984 100644 --- a/.github/workflows/rw-python-tests.yaml +++ b/.github/workflows/rw-python-tests.yaml @@ -26,6 +26,8 @@ jobs: with: files: ./packages/gooddata-sdk/coverage.xml,./packages/gooddata-pandas/coverage.xml,./packages/gooddata-fdw/coverage.xml,./packages/gooddata-flight-server/coverage.xml,./packages/gooddata-flexconnect/coverage.xml,./packages/gooddata-dbt/coverage.xml,./packages/gooddata-pipelines/coverage.xml token: ${{ secrets.CODECOV_TOKEN }} + override_commit: ${{ github.event.pull_request.head.sha || github.sha }} + override_pr: ${{ github.event.number }} lint-and-format-check: runs-on: ubuntu-latest if: ${{inputs.changed-python-modules == 'true'}} diff --git a/packages/gooddata-dbt/pyproject.toml b/packages/gooddata-dbt/pyproject.toml index 2b2c957b2..99e23892b 100644 --- a/packages/gooddata-dbt/pyproject.toml +++ b/packages/gooddata-dbt/pyproject.toml @@ -47,6 +47,15 @@ allowed-unresolved-imports = ["deep_translator", "github"] [tool.hatch.build.targets.wheel] packages = ["src/gooddata_dbt"] +[tool.coverage.run] +source = ["gooddata_dbt"] + +[tool.coverage.paths] +source = [ + "src/gooddata_dbt", + "**/site-packages/gooddata_dbt", +] + [build-system] requires = ["hatchling"] build-backend = "hatchling.build" diff --git a/packages/gooddata-dbt/tox.ini b/packages/gooddata-dbt/tox.ini index 5f53c4751..e448632ad 100644 --- a/packages/gooddata-dbt/tox.ini +++ b/packages/gooddata-dbt/tox.ini @@ -11,4 +11,4 @@ dependency_groups = setenv = COVERAGE_CORE=sysmon commands = - pytest -v --cov=src/gooddata_dbt --cov-report=xml tests {posargs} --json-report --json-report-file=.json-report-{envname}.json + pytest -v --cov --cov-report=xml tests {posargs} --json-report --json-report-file=.json-report-{envname}.json diff --git a/packages/gooddata-fdw/pyproject.toml b/packages/gooddata-fdw/pyproject.toml index 8c720557d..ddc50fb68 100644 --- a/packages/gooddata-fdw/pyproject.toml +++ b/packages/gooddata-fdw/pyproject.toml @@ -65,6 +65,15 @@ allowed-unresolved-imports = ["multicorn"] [tool.hatch.build.targets.wheel] packages = ["src/gooddata_fdw"] +[tool.coverage.run] +source = ["gooddata_fdw"] + +[tool.coverage.paths] +source = [ + "src/gooddata_fdw", + "**/site-packages/gooddata_fdw", +] + [build-system] requires = ["hatchling"] build-backend = "hatchling.build" diff --git a/packages/gooddata-fdw/tox.ini b/packages/gooddata-fdw/tox.ini index bb05f4d7a..f408517d5 100644 --- a/packages/gooddata-fdw/tox.ini +++ b/packages/gooddata-fdw/tox.ini @@ -11,7 +11,7 @@ dependency_groups = setenv = COVERAGE_CORE=sysmon commands = - pytest -v --cov=src/gooddata_fdw --cov-report=xml tests {posargs} --json-report --json-report-file=.json-report-{envname}.json + pytest -v --cov --cov-report=xml tests {posargs} --json-report --json-report-file=.json-report-{envname}.json [testenv:docs] basepython = python3.14 diff --git a/packages/gooddata-flexconnect/pyproject.toml b/packages/gooddata-flexconnect/pyproject.toml index 58204a04c..3cd4d6cd7 100644 --- a/packages/gooddata-flexconnect/pyproject.toml +++ b/packages/gooddata-flexconnect/pyproject.toml @@ -67,6 +67,15 @@ allowed-unresolved-imports = ["jsonschema.**", "referencing"] [tool.hatch.build.targets.wheel] packages = ["src/gooddata_flexconnect"] +[tool.coverage.run] +source = ["gooddata_flexconnect"] + +[tool.coverage.paths] +source = [ + "src/gooddata_flexconnect", + "**/site-packages/gooddata_flexconnect", +] + [build-system] requires = ["hatchling"] build-backend = "hatchling.build" diff --git a/packages/gooddata-flexconnect/tox.ini b/packages/gooddata-flexconnect/tox.ini index d5cd3b99d..a92cdcbb3 100644 --- a/packages/gooddata-flexconnect/tox.ini +++ b/packages/gooddata-flexconnect/tox.ini @@ -11,7 +11,7 @@ dependency_groups = setenv = COVERAGE_CORE=sysmon commands = - pytest -v --cov=src/gooddata_flexconnect --cov-report=xml tests {posargs} --json-report --json-report-file=.json-report-{envname}.json + pytest -v --cov --cov-report=xml tests {posargs} --json-report --json-report-file=.json-report-{envname}.json [testenv:docs] basepython = python3.14 diff --git a/packages/gooddata-flight-server/pyproject.toml b/packages/gooddata-flight-server/pyproject.toml index 4c8afc2aa..18e7705e3 100644 --- a/packages/gooddata-flight-server/pyproject.toml +++ b/packages/gooddata-flight-server/pyproject.toml @@ -74,6 +74,15 @@ allowed-unresolved-imports = [ [tool.hatch.build.targets.wheel] packages = ["src/gooddata_flight_server"] +[tool.coverage.run] +source = ["gooddata_flight_server"] + +[tool.coverage.paths] +source = [ + "src/gooddata_flight_server", + "**/site-packages/gooddata_flight_server", +] + [build-system] requires = ["hatchling"] build-backend = "hatchling.build" diff --git a/packages/gooddata-flight-server/tox.ini b/packages/gooddata-flight-server/tox.ini index acac2f7f6..a92cdcbb3 100644 --- a/packages/gooddata-flight-server/tox.ini +++ b/packages/gooddata-flight-server/tox.ini @@ -11,7 +11,7 @@ dependency_groups = setenv = COVERAGE_CORE=sysmon commands = - pytest -v --cov=src/gooddata_flight_server --cov-report=xml tests {posargs} --json-report --json-report-file=.json-report-{envname}.json + pytest -v --cov --cov-report=xml tests {posargs} --json-report --json-report-file=.json-report-{envname}.json [testenv:docs] basepython = python3.14 diff --git a/packages/gooddata-pandas/pyproject.toml b/packages/gooddata-pandas/pyproject.toml index 183d2f453..0e0bd1596 100644 --- a/packages/gooddata-pandas/pyproject.toml +++ b/packages/gooddata-pandas/pyproject.toml @@ -71,6 +71,15 @@ allowed-unresolved-imports = ["gooddata_api_client"] [tool.hatch.build.targets.wheel] packages = ["src/gooddata_pandas"] +[tool.coverage.run] +source = ["gooddata_pandas"] + +[tool.coverage.paths] +source = [ + "src/gooddata_pandas", + "**/site-packages/gooddata_pandas", +] + [build-system] requires = ["hatchling"] build-backend = "hatchling.build" diff --git a/packages/gooddata-pandas/tox.ini b/packages/gooddata-pandas/tox.ini index 2020e23aa..f408517d5 100644 --- a/packages/gooddata-pandas/tox.ini +++ b/packages/gooddata-pandas/tox.ini @@ -11,7 +11,7 @@ dependency_groups = setenv = COVERAGE_CORE=sysmon commands = - pytest -v --cov=src/gooddata_pandas --cov-report=xml tests {posargs} --json-report --json-report-file=.json-report-{envname}.json + pytest -v --cov --cov-report=xml tests {posargs} --json-report --json-report-file=.json-report-{envname}.json [testenv:docs] basepython = python3.14 diff --git a/packages/gooddata-pipelines/pyproject.toml b/packages/gooddata-pipelines/pyproject.toml index 54ed81132..4826662f5 100644 --- a/packages/gooddata-pipelines/pyproject.toml +++ b/packages/gooddata-pipelines/pyproject.toml @@ -36,6 +36,15 @@ test = [ [tool.ty.analysis] allowed-unresolved-imports = ["boto3.**", "botocore.**", "mypy_boto3_s3.**", "azure.**"] +[tool.coverage.run] +source = ["gooddata_pipelines"] + +[tool.coverage.paths] +source = [ + "src/gooddata_pipelines", + "**/site-packages/gooddata_pipelines", +] + [build-system] requires = ["hatchling"] build-backend = "hatchling.build" diff --git a/packages/gooddata-pipelines/tox.ini b/packages/gooddata-pipelines/tox.ini index d9651d67e..f66e67bb5 100644 --- a/packages/gooddata-pipelines/tox.ini +++ b/packages/gooddata-pipelines/tox.ini @@ -11,4 +11,4 @@ dependency_groups = setenv = COVERAGE_CORE=sysmon commands = - pytest -v --cov=src/gooddata_pipelines --cov-report=xml tests {posargs} --json-report --json-report-file=.json-report-{envname}.json + pytest -v --cov --cov-report=xml tests {posargs} --json-report --json-report-file=.json-report-{envname}.json diff --git a/packages/gooddata-sdk/pyproject.toml b/packages/gooddata-sdk/pyproject.toml index 4e7ea6d0f..629e04ebb 100644 --- a/packages/gooddata-sdk/pyproject.toml +++ b/packages/gooddata-sdk/pyproject.toml @@ -79,6 +79,15 @@ include = [ "src/gooddata_sdk/cli/package.json", ] +[tool.coverage.run] +source = ["gooddata_sdk"] + +[tool.coverage.paths] +source = [ + "src/gooddata_sdk", + "**/site-packages/gooddata_sdk", +] + [build-system] requires = ["hatchling"] build-backend = "hatchling.build" diff --git a/packages/gooddata-sdk/tox.ini b/packages/gooddata-sdk/tox.ini index 2dbe4f505..e009c4d9a 100644 --- a/packages/gooddata-sdk/tox.ini +++ b/packages/gooddata-sdk/tox.ini @@ -11,7 +11,7 @@ dependency_groups = setenv = COVERAGE_CORE=sysmon commands = - pytest -v --cov=src/gooddata_sdk --cov-report=xml tests {posargs} --json-report --json-report-file=.json-report-{envname}.json + pytest -v --cov --cov-report=xml tests {posargs} --json-report --json-report-file=.json-report-{envname}.json [testenv:docs] basepython = python3.14