BUILD-11961 Support repox-internal edge for all build/config actions - #328
BUILD-11961 Support repox-internal edge for all build/config actions#328hedinasr wants to merge 11 commits into
Conversation
0a73346 to
1dab974
Compare
1dab974 to
82a3631
Compare
Stop selecting vault.dev.sonar.build from repox-url so Artifactory reader/deployer tokens come from the vault-action-wrapper default (vault.sonar.build), which is required for Edge Node + SaaS validation.
Poll a protected storage API until SaaS-minted tokens are accepted by the edge node, skipping the wait for SaaS jfrog.io endpoints.
Keep a simple delay on edge Repox instead of curling a protected API.
Keep dependency downloads on repox-url (Maven settings mirror) while publishing via ARTIFACTORY_URL/contextUrl to repox-deploy-url (SaaS by default), so deployer tokens do not need edge Access Federation.
Give Access Federation a short delay before Maven hits the edge node with SaaS-minted reader tokens; skip the wait for SaaS Repox.
Use default Vault for Artifactory tokens, wait 10s for edge federation, and split build-npm deploy onto repox-deploy-url (SaaS by default).
Replace the fixed 10s sleep with a shared retry loop against a protected storage API so builds proceed as soon as federation syncs.
Remove vault.dev switching, poll for token federation on configs, and split resolve vs deploy URLs for gradle/poetry/yarn builds.
79e8643 to
2ae8ebb
Compare
Nested quotes in run: broke action.yml loading. Use relative paths and harden the wait curl with timeouts and clean HTTP code capture.
Refactor into testable functions, redirect errors to stderr, and add shellspec coverage so the PR quality gate can pass.
Code Review ✅ Approved 6 resolved / 6 findingsUpdates shared build and config actions to support the repox-internal edge node and SaaS deployment, addressing issues with curl timeouts, retry behavior, and hardcoded ping URLs. No issues found. ✅ 6 resolved✅ Security: Artifactory token passed on curl command line
✅ Quality: Any non-200 response retries for the full 5 minutes
✅ Quality: Hardcoded dev ping curl runs for all builds incl. SaaS
✅ Performance: Unconditional 60s sleep added to every non-SaaS Maven build
✅ Quality: curl retry lacks connect/max timeout
...and 1 more resolved from earlier reviews 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 |
|



BUILD-11961 Support repox-internal edge for all build/config actions
Summary
Ready the shared GitHub Actions for Edge Node + SaaS Artifactory (
repox-internal.dev.sonar.buildresolve, SaaS deploy):vault-action-wrapperdefault (vault.sonar.build); removerepox-url-basedvault.devswitching from all Artifactory secret steps.repox-urlfor dependency resolution; newrepox-deploy-url(defaulthttps://repox.jfrog.io) for publish onbuild-maven,build-npm,build-gradle,build-poetry,build-yarn.wait_artifactory_token_sync.shpolls a protected Artifactory API until HTTP 200 (skip for SaaSjfrog.io) in config-maven/npm/uv/gradle/poetry/pip and build-yarn.ARTIFACTORY_RESOLVE_URL+ init script prefer resolve URL while deploy overridesARTIFACTORY_URL.Actions touched
config-maven, config-npm, config-uv, config-gradle, config-poetry, config-pip, build-maven, build-npm, build-gradle, build-poetry, build-yarn, promote
Test plan
repox-url) skip the wait and behave unchangedvault.dev.sonar.buildfor Artifactory secretsRelated validation PRs: