hudi-agent commented on code in PR #19138: URL: https://github.com/apache/hudi/pull/19138#discussion_r3510585983
########## scripts/jacoco/README.md: ########## @@ -107,4 +107,36 @@ Published Artifacts - `merge_jacoco_exec_files.sh`: merges multiple JaCoCo execution data files in multiple modules. - `merge_jacoco_job_files.sh`: merges multiple JaCoCo execution data files from multiple Azure pipeline jobs. - `generate_jacoco_coverage_report.sh`: generates the JaCoCo code coverage report by taking the execution data file, - source files and class files. \ No newline at end of file + source files and class files. + +## Per-PR coverage on Codecov + +In addition to the aggregated Azure report described above, coverage is uploaded to +[Codecov](https://app.codecov.io/gh/apache/hudi) on every pull request and every commit to master. +This is the canonical per-PR view. + +- Each test job in `.github/workflows/bot.yml` runs with the JaCoCo agent, builds a merged report + via `scripts/jacoco/generate_merged_coverage_report.sh`, and uploads `jacoco-report.xml` to + Codecov under a flag (`spark-java-tests`, `spark-scala-tests`, `utilities`, + `common-and-other-modules`, `spark-client-hadoop-common`, `hadoop-mr-java-client`, + `integration-tests`). Review Comment: 🤖 This flag list doesn't match what `.github/workflows/bot.yml` actually uploads. The workflow uploads a `spark-core-tests` flag (bot.yml line 1027) which is missing here, and there is no `integration-tests` flag uploaded anywhere in bot.yml. The full set uploaded today is: `spark-client-hadoop-common`, `utilities`, `common-and-other-modules`, `spark-java-tests`, `spark-scala-tests`, `hadoop-mr-java-client`, `spark-core-tests`. Could you update the list to match (drop `integration-tests`, add `spark-core-tests`)? Note the same discrepancy exists in the `flag_management` comment in `.codecov.yml` (lines 71-73), so it'd be worth fixing both together. <sub><i>⚠️ AI-generated; verify before applying. React 👍/👎 to flag quality.</i></sub> ########## scripts/jacoco/README.md: ########## @@ -107,4 +107,36 @@ Published Artifacts - `merge_jacoco_exec_files.sh`: merges multiple JaCoCo execution data files in multiple modules. - `merge_jacoco_job_files.sh`: merges multiple JaCoCo execution data files from multiple Azure pipeline jobs. - `generate_jacoco_coverage_report.sh`: generates the JaCoCo code coverage report by taking the execution data file, - source files and class files. \ No newline at end of file + source files and class files. + +## Per-PR coverage on Codecov + +In addition to the aggregated Azure report described above, coverage is uploaded to +[Codecov](https://app.codecov.io/gh/apache/hudi) on every pull request and every commit to master. +This is the canonical per-PR view. + +- Each test job in `.github/workflows/bot.yml` runs with the JaCoCo agent, builds a merged report + via `scripts/jacoco/generate_merged_coverage_report.sh`, and uploads `jacoco-report.xml` to + Codecov under a flag (`spark-java-tests`, `spark-scala-tests`, `utilities`, + `common-and-other-modules`, `spark-client-hadoop-common`, `hadoop-mr-java-client`, + `integration-tests`). +- `.codecov.yml` configures reporting: `ignore` drops non-production code (examples, packaging, + the integration-test harness, an incubating module); `component_management` reports coverage per + ownership area (hudi-common, hudi-client, hudi-spark-datasource, hudi-flink, ...); and + `flag_management` carries a flag's coverage forward when its job is skipped by the path filter, + so a partial run does not report a false drop. +- Generated code (Avro, Thrift, Protobuf, ANTLR) has no source committed to git, so it never Review Comment: 🤖 This states generated code "needs no exclusion," but `.codecov.yml` does keep one generated-code exclusion: `hudi-common/src/main/java/org/apache/hudi/avro/model/**` (with a comment that it's kept for safety in case sources are ever committed). A reader who cross-references the config may find this slightly contradictory. It might help to note that the one committed-generated Avro path is still ignored defensively, so the statement and the config line up. <sub><i>⚠️ AI-generated; verify before applying. React 👍/👎 to flag quality.</i></sub> -- 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]
