yihua opened a new pull request, #19138: URL: https://github.com/apache/hudi/pull/19138
### Describe the issue this Pull Request addresses `.codecov.yml` has drifted since the module layout changed. Its `ignore` list points at pre-2021 paths and files that no longer exist (`hudi-hive-sync/`, `com/uber/hoodie/...`, `hudi-client/src/main/...`), its `flags` block uses names (`hudicli`, `hudispark`, ...) that no longer match what CI uploads, per-PR comments are disabled, and there are no components or carryforward. Meanwhile Codecov already receives coverage on every PR and commit, so the config, not the pipeline, is what needs fixing. Note on generated code: JaCoCo on the Azure report counts generated Avro/Thrift/Protobuf/ANTLR classes, but those have no source committed to git, so they are already absent from the Codecov report. No JaCoCo/Maven exclusion is needed to keep them out of the Codecov number; only the source-backed, non-production paths below need ignoring. ### Summary and Changelog Modernize `.codecov.yml` so per-PR coverage is accurate and actionable: - **ignore**: remove stale/nonexistent entries; ignore non-production code that Codecov still counts today: `hudi-examples`, `packaging`, the `hudi-integ-test` harness, the vendored `HoodieHadoopFSUtils.scala` (owned by Spark upstream), and the incubating `hudi-platform-service` (metaserver, 0% and unshipped; a comment marks it for removal if taken into scope). - **flag_management**: `carryforward: true` so a flag's coverage is retained when its CI job is skipped by the path filter, instead of dropping to zero on partial runs. Replaces the dead `flags` block. - **component_management**: per-ownership-area components (hudi-common, hudi-client, hudi-flink, hudi-spark-datasource, hudi-utilities, hudi-cli, hudi-hadoop, hudi-sync, hudi-io, hudi-timeline-service, hudi-cloud, hudi-kafka-connect) so each area has a coverage number on every PR. - **comment**: post a per-PR summary (project, components, patch delta); previously `comment: false`. - **status**: `project` and `patch` are `informational` (report, do not fail the build). They can be flipped to enforcing per component as coverage climbs, without gating unrelated PRs now. - Documents the Codecov per-PR flow in `scripts/jacoco/README.md`. Validated with `curl -X POST --data-binary @.codecov.yml https://codecov.io/validate` (Valid). ### Impact CI reporting only; no production code, no build change. Contributors will start seeing a Codecov comment on PRs and per-component coverage. The headline number rises modestly once the integration-test harness and examples stop counting. ### Risk Level low CI-config only. Coverage statuses are informational, so nothing new can fail a build. ### Documentation Update `scripts/jacoco/README.md` gains a "Per-PR coverage on Codecov" section. ### Contributor's checklist - [x] Read through [contributor's guide](https://hudi.apache.org/contribute/how-to-contribute) - [x] Enough context is provided in the sections above - [ ] Adequate tests were added if applicable -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: [email protected] For queries about this service, please contact Infrastructure at: [email protected]
