Use configured mirrors for buildSrc tests - #12389
Conversation
Codex Review SummaryThis comment shows the latest Codex review activity on this pull request.
ℹ️ About Codex in GitHubYour team has set up Codex to review pull requests in this repo. Reviews are triggered when you
Codex reacts with 👀 while any review is running, comments if it has suggestions, and reacts with 👍 once all reviews finish with no findings. |
There was a problem hiding this comment.
More details
The code keeps public repositories when no proxy exists. It uses the configured mirror when a proxy exists, with no reportable defect.
🤖 Datadog Autotest · Commit 7b493be · What is Autotest? · @DataDog review to ask questions · Any feedback? Reach out in #autotest
This comment has been minimized.
This comment has been minimized.
🟢 Java Benchmark SLOs — All performance SLOs passed
PR vs. master results
Commit: Load and DaCapo benchmarks can be triggered manually in the GitLab pipeline. Results will appear in the Benchmarking Platform UI after completion. |
|
/gitlab resync-job-status --bypass-required-checks-syncing-strategy |
|
View all feedbacks in Devflow UI.
392 jobs status updated and 582 skipped for a total of 974 jobs, 1 pipeline status(es) synced |
bric3
left a comment
There was a problem hiding this comment.
Test kit changes looks good to me.
Currentlu, this PR still has muzzle [6/8] failing.
23 failures, and it seems it cause problems on transitive dependencies as well, Zuul task receives the Depot 403 for Log4j 2.12.1, and since the repo is configured to fallback to maven central we get the 429 Too Many Request.
Caution
Also this silently could narrow muzzle coverage I believe. The version range only see what depot has, which we know is sometimes incorrect.
For the above reason I would at least split the PR on the test kit fix, and another on muzzle.
|
/merge -f --reason "Fix for Gradle build, have to skip MQ, all tests passed on PR" |
|
View all feedbacks in Devflow UI.
The expected merge time in
Warning This change was merged without running any pre merge CI checks Reason: Fix for Gradle build, have to skip MQ, all tests passed on PR |
What Does This Do
Routes
buildSrc/TestKit builds through the dependency mirrors that automated builds already configure viaMAVEN_REPOSITORY_PROXY/GRADLE_PLUGIN_PROXY, and removes the tests' remaining reliance on the public Maven Central.buildSrc/src/test/resources/repository-proxy.init.gradle.kts, applied to every TestKit build byGradleFixture. It rewrites the well-known Maven Central and Gradle Plugin Portal URLs to the configured mirrors, across the project,buildscript,pluginManagementanddependencyResolutionManagementrepository containers. With neither variable set it is a no-op, so the zero-configuration local workflow is unchanged.GradleFixture.run()gains anunsetEnvparameter, so a test can exercise the "no mirror configured" path even though CI exports both variables globally.RangeQueryTestno longer performs a live range query against Maven Central: it publishes the versions it asserts on into a local fixture repository and checks them exactly.GradleFixtureTestcovers the redirection itself: project-level, settings-level, and the unmirrored passthrough.docs/how_to_work_with_gradle.md.Scope note: this is limited to the Gradle-level repositories of TestKit builds. Muzzle's own Aether resolution (
MuzzleMavenRepoUtils.defaultMuzzleRepos) is unchanged frommaster— per review feedback it stays as-is until the mirror exposes a separate index.Motivation
Keep build-logic tests consistent with the repository configuration used by automated builds, while preserving a zero-configuration local workflow for contributors.
Additional Notes
Validation — the full
buildSrcsuite (24 test classes), run twice from a cleanedtest-resultsdirectory:MAVEN_REPOSITORY_PROXY/GRADLE_PLUGIN_PROXYunsetThe single skip in each run is by design: the two
defaultMuzzleRepostests are gated on whetherMAVEN_REPOSITORY_PROXYis set, so exactly one applies per environment and the pair covers both branches across the two runs.Contributor Checklist
type:and (comp:orinst:) labels in addition to any other useful labelsclose,fix, or any linking keywords when referencing an issueUse
solvesinstead, and assign the PR milestone to the issueJira ticket: N/A