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]

Reply via email to