Repository navigation
BUILD-12980: Resolve dependencies through the production JFrog Edge by default - #359
Conversation
51cbf99 to
81f2545
Compare
…y default - repox-url now defaults to https://repox-internal.sonar.build on the config-* and build-* actions. The resolve token already follows repox-url (artifactory-edge-prod on vault.sonar.build). - Deployment, publication, build info and promotion stay on https://repox.jfrog.io. - Callers opt back to SaaS resolution with repox-url: https://repox.jfrog.io. - README: update defaults and the Edge section.
0716355 to
9e4c3d9
Compare
|
Code Review ✅ Approved 11 closed / 11 findings🟡 Medium risk · Switching self-hosted dependency resolution to production Edge by default may break private downloads when runners lack Edge access or matching credentials. Defaults dependency resolution to the production JFrog Edge on self-hosted runners while keeping SaaS on GitHub-hosted runners, across all 12 config/build actions. Resolved findings cover the Edge prerequisite documentation, GitHub-hosted Maven/Gradle/Poetry paths that were hitting Edge, the ✅ 11 closed✅ Bug: Edge default reaches orchestrator ITs with no prerequisite documented
✅ Cross-Repo: cloud-native-gradle-modules: build-gradle on GitHub-hosted runner hits Edge
✅ Cross-Repo: sonar-classloader: build-maven on GitHub-hosted runner resolves via Edge
✅ Cross-Repo: rspec-maven-plugin: build-maven on github-ubuntu-latest-m hits Edge
✅ Cross-Repo: sonar-update-center: build-maven jobs on GitHub-hosted runner hit Edge
...and 6 more closed from earlier reviews Verification Rules 2/2 met Knowledge ✅ 7 · 🔎 1 Repos 5 inspected · PRs 3 inspectedFunctional validation No results Rules 2 passed 1 not applicable
Knowledge ✅ 7 expectations met 🔎 1 informed a finding
3 more knowledge results Broader impact Repos 5 inspected PRs 3 inspectedCross-repo 5 repositories inspected 0 open impacts
Cross-PR 3 PRs inspected 0 open impactsAuto-approval Not enabledFor more verification details, comment OptionsAuto-apply is off → Gitar will not commit updates to this branch. Comment with these commands to change the behavior for this request:
Was this helpful? React with 👍 / 👎 | Gitar |
|
Gitar fix CI |
On it. I'm working on fixing the CI failure and will push the changes shortly. |
jayadeep-km-sonarsource
left a comment
There was a problem hiding this comment.
Approving to unblock the effort. I don't have enough context for a critical review on this one.



BUILD-12980: Default dependency resolution to the production JFrog Edge on self-hosted runners while preserving SaaS defaults on GitHub-hosted runners.
Behavior
repox-urlfromrunner.environment: GitHub-hosted runners usehttps://repox.jfrog.io; self-hosted runners usehttps://repox-internal.sonar.build.repox-urloverrides for SaaS, dev Edge and Prod Edge, with the existing matching Vault server and reader-token engine.Validation
@actions/expressionsengine: both runner environments, omitted/default and explicit endpoints, public/private/custom reader roles, wrapper forwarding, Vault/engine selection, Maven resolution and Gradle plugin resolution.git diff --check. Compared parsed manifests with the previous commit to confirm only the input descriptions/defaults changed in this new commit.51cbf99. It covered Gradle, uv, npm and Maven configuration, production reader issuance, recent private content and SaaS deployment/build info. It predates the runner compatibility commit and does not validate that commit's runtime default selection.Test plan before merge and release
Rollout and remaining compatibility work
Plan: https://sonarsource.atlassian.net/browse/BUILD-12988
Execution: https://sonarsource.atlassian.net/browse/BUILD-12989
The distribution branch is
v2.@masterconsumers adopt the change at merge;@v2consumers adopt it when the release branch advances. Keep this PR in draft until the applicable merge-time gates are validated.GitHub-hosted consumers need no individual SaaS override when
repox-urlis omitted. Self-hosted consumers without internal Edge access still need an explicit SaaS override. Classify matrix and inherited composite runners by their actualrunner.environmentand verify Edge access where selected.sonar-dummy-python-ossworkflows on the final candidate; their default now stays on SaaS without workflow edits.sonar-dummy-gradle-oss's hardcoded SaaS QA download assertion to use the configured resolve endpoint, and validate its runner variants.@master/@v2consumer register in the rollout plan. Existing@v1callers are outside this release cohort.repox-internal.sonar.buildas an authenticated SonarSource host, or explicitly retain SaaS. Validate private downloads and version aliases.v2to its tested tag and announce it through the xtranet release process. Rollback uses a reviewed revert PR followed by a corrective release andv2update; reverting master alone does not restore@v2consumers.