fix(ci): preserve PD and Store coverage aggregation - #3161
Conversation
imbajin
left a comment
There was a problem hiding this comment.
Blocking: no. Summary: The aggregate report and Maven lifecycle checks pass, but the validator can accept incomplete suite/module coverage and can hang on malformed arguments. Evidence: Exact-head PD/Store aggregate builds and validator contract tests passed; current-head CI Codecov uploads returned HTTP 429 and exited 0.
imbajin
left a comment
There was a problem hiding this comment.
Blocking: yes. Summary: The Store CI job drops two existing test suites while still publishing an aggregate coverage report, so the coverage gate no longer represents the full Store test scope. Evidence: exact-head .github/workflows/pd-store-ci.yml patch and hg-store-test/pom.xml suite definitions.
imbajin
left a comment
There was a problem hiding this comment.
Blocking: yes. Summary: The coverage workflow now exercises the intended PD/Store profiles and produces aggregate reports, but the validator still permits false-positive coverage evidence in two paths. Evidence: exact-head CI is green, while the findings below concern the validator's acceptance criteria and local contract portability.
Codecov Report✅ All modified and coverable lines are covered by tests. Additional details and impacted files@@ Coverage Diff @@
## master #3161 +/- ##
============================================
- Coverage 41.06% 38.66% -2.40%
- Complexity 519 553 +34
============================================
Files 771 735 -36
Lines 65962 63318 -2644
Branches 8766 8431 -335
============================================
- Hits 27088 24485 -2603
- Misses 36008 36106 +98
+ Partials 2866 2727 -139 ☔ View full report in Codecov by Harness. 🚀 New features to boost your workflow:
|
imbajin
left a comment
There was a problem hiding this comment.
Blocking: yes. Summary: The current coverage gate still accepts an all-skipped suite, and the new validator contract harness is not portable to stock macOS. Evidence: exact-head validator/workflow diff, Surefire parsing at check-jacoco-report.sh:98-110, and the contract harness timeout invocation.
imbajin
left a comment
There was a problem hiding this comment.
It's important to point out the critical CI issue to ensure the test coverage & code quality
Purpose of the PR
PD and Store CI run several Maven test profiles in separate invocations, but
each invocation previously replaced JaCoCo execution data and generated a
partial report. PD also ran
mvn clean packageafter two coverage-producingtest profiles, deleting their data before upload. As a result, Codecov could
receive only the last profile's coverage or an imprecisely selected report.
The existing JaCoCo 0.8.4 configuration also cannot instrument Java 17 class
files, which blocks the project's planned Java 17 migration.
Main Changes
data across Maven invocations.
profile and verify the complete expected session set before upload.
Exclude the existing Store core/server placeholder suites from the coverage
gate until they contain real tests.
verifyand upload that exact fileto Codecov.
comment-only evidence while accepting valid attribute reordering.
core groups and Store common/client/RocksDB groups. Keep zero-class and
externally executed aggregate dependencies as presence-only checks.
hg-store-rocksdbas a direct report-aggregate dependency only inthe
jacocoprofile so normal Store test dependency resolution is unchanged.that already-completed check during the final aggregate-only
verify.zero-test and all-skipped suites, malformed and spoofed XML, reordered
attributes, uncovered reports and individual required groups, missing
sessions/modules, Maven lifecycle bindings, dependency scope, exact workflow
inputs, and timeout behavior without GNU coreutils.
Verifying these changes
hugegraph-server/hugegraph-dist/src/assembly/travis/test-check-jacoco-report.sh.github/workflows/pd-store-ci.ymland all changed POMs.mvn -q apache-rat:check -N -ntpmvn editorconfig:check -pl hugegraph-server/hugegraph-dist -am -ntpmvn editorconfig:check -pl hugegraph-pd/hg-pd-test -am -ntpmvn editorconfig:check -pl hugegraph-store/hg-store-test -am -ntpmvn verify -pl hugegraph-pd/hg-pd-test -am -P jacoco -DskipTests -Deditorconfig.skip=true -ntpmvn verify -pl hugegraph-store/hg-store-test -am -P jacoco -DskipTests -Deditorconfig.skip=true -ntporg.javassist:javassist:3.24.0-GA.0.8.8 instruments the same class and writes execution data successfully.
The complete four-suite PD/four-suite Store workflow and the external Codecov
upload are left to GitHub Actions because the local environment uses JDK 17
while this workflow currently installs JDK 11.
Does this PR potentially affect the following parts?
Documentation Status
Doc - TODODoc - DoneDoc - No Need