xiangfu0 opened a new pull request, #18597:
URL: https://github.com/apache/pinot/pull/18597
## Summary
- Harden compatibility verifier Maven builds by isolating each build in its
own local repository and forcing dependency updates on retries.
- Preserve caller-provided Maven CLI options through `PINOT_MAVEN_OPTS`
instead of dropping them when the verifier adds generated settings.
- Resolve refs through local refs, `origin/*`, and tags after fetching tags,
then fail fast if a requested ref is unknown.
- Pre-install `pinot-bom` after version rewriting so compatibility builds
against `master` can resolve `pinot-bom:<version>-compat-*` from the same local
repo.
## Root Cause
The release-1.5.0 compatibility job failed before verifier tests ran because
the current-tree Maven build reused the restored `~/.m2` and repeatedly hit
cached remote-id / transient Maven Central resolution errors. The later
`master` matrix jobs also failed after `versions:set` because the root POM
imports `pinot-bom:${project.version}`, but `pinot-bom:1.6.0-compat-*` had not
been installed into the rewritten build local repo.
## User Manual
To rerun the same path locally or in CI, set `OLD_COMMIT`, `WORKING_DIR`,
and `TEST_SUITE`, then run
`.github/workflows/scripts/.pinot_compatibility_verifier.sh`. Maven CLI flags
should go in `PINOT_MAVEN_OPTS`; JVM flags should stay in `MAVEN_OPTS`.
## Sample Config / Queries
N/A: this change only updates CI workflow and compatibility verifier build
plumbing. Existing sample suites under
`compatibility-verifier/sample-test-suite` and
`compatibility-verifier/multi-stage-query-engine-test-suite` are unchanged.
## Validation
- `bash -n .github/workflows/scripts/.pinot_compatibility_verifier.sh
compatibility-verifier/checkoutAndBuild.sh`
- YAML parse for `pinot_compatibility_checks.yml`,
`pinot_compatibility_tests.yml`, and
`pinot_multi_stage_query_engine_compatibility_tests.yml`
- `git diff --check`
- Maven option split sanity check with `mvn -v`
--
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]
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]