Repository navigation
Conversation
✅ Deploy Preview for sonarqube-cli canceled.
|
be4c528 to
d6136f3
Compare
d6136f3 to
e658865
Compare
ee2ece1 to
f69421d
Compare
de96055 to
f79bf3d
Compare
7b8f58a to
a3ac795
Compare
charafsalmi
left a comment
There was a problem hiding this comment.
Thanks Brian, the approach and the test plan look good, and the checks cover Linux, Windows and the macOS signing path. I have one open question about Renovate, inline below. If it is already handled, I'm happy to approve.
Two small things that should not block the merge:
build-scripts/compile-target-runtime.ts:30still defaults to the SaaS registry, and its comment says it mirrorsbunfig.toml, which is no longer true.tests/unit/build-scripts/compile-target-runtime.test.ts:51,57hardcode the SaaS URL too.- The Sentry upload step in
build.yml:323-324still setsARTIFACTORY_PRIVATE_READER_PASSWORDto the SaaS token, which overrides the Edge one exported bysetup-bun. It does no harm today becausesentry-cliinstalls nothing.
| ARTIFACTORY_PRIVATE_READER_PASSWORD: ${{ inputs.artifactory-password }} | ||
| BUN_CONFIG_REGISTRY: https://repox.jfrog.io/artifactory/api/npm/npm/ | ||
| NPM_CONFIG_REGISTRY: https://repox.jfrog.io/artifactory/api/npm/npm/ | ||
| run: bun ci |
There was a problem hiding this comment.
Question before this merges: once bun.lock pins every tarball to the Edge, what rewrites the URLs of the entries Renovate touches? In #1113 the changed eslint-plugin-headers line points to repox.jfrog.io, and its renovate/artifacts check is failing, so the bun install post-upgrade task in .github/renovate.json is not fixing it.
bun ci downloads from the URL written in the lockfile (as the description says), while BUN_CONFIG_REGISTRY and the token are the Edge ones. So I expect that package to fail with a 401 on Renovate PRs after the merge. Is this handled somewhere I can't see, for example in the Renovate platform config or a host rule?
Configure the registry with config-bun 2.5.0, and pin bun.lock and bunfig.toml to repox-internal.sonar.build. GitHub-hosted macOS runners reach the Edge through Cloudflare WARP.
a3ac795 to
baef358
Compare
Code Review ✅ Approved 4 closed / 4 findings🟡 Medium risk · Routing Bun installs across CI runners and local development through the production Repox Edge could disrupt builds if access or registry configuration fails. Routes Bun dependency resolution through the production Edge on every runner via ✅ 4 closed✅ Bug: bun ci still downloads tarballs from SaaS URLs pinned in bun.lock
✅ Bug: Hand-edited bun.lock URLs revert on next Bun lockfile write
✅ Security: config-bun pinned to a mutable, unreleased feature branch
✅ Quality: Workflows still fetch the SaaS private-reader secret that setup-bun no longer uses
Verification Rules 3/3 met Knowledge 🔎 1Functional validation No results Rules 3 passed 1 not applicable
Knowledge 🔎 1 informed a finding
Auto-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 |
|
|
Hey @charafsalmi. We at EngXP would prefer to provide you two things to move forward here:
I'm going to close this PR for now and will reopen or open a new PR with refs to this one once we have a solution for you. We appreciate the diligence and feedback here! cc: @hedinasr |



BUILD-13251: Resolve Bun dependencies from the production Edge on every runner, using the shared
config-bunaction.The October 26 Datadog refresh measured 26.39 GB/day of SaaS response bytes, including 26.30 GB from Bun (168.17 GB over seven days).
bunfig.tomlandsetup-bunhardcoded SaaS, and the absolute tarball URLs inbun.lockkept installs on SaaS even when the registry changed.setup-buncallsconfig-bun2.5.0 withrepox-url: https://repox-internal.sonar.build. It fetches the Edge reader from Vault and exportsBUN_CONFIG_REGISTRYandBUN_CONFIG_TOKEN. The callers inbuild.yml,full-release.ymlandprepare-release-notes.ymlno longer pass SaaS reader credentials.bun.lockpins every tarball torepox-internal.sonar.build. Bun downloads locked packages from the URLs written inbun.lock, not from the configured registry, and it writes registry-relative entries only forregistry.npmjs.org(oven-sh/bun#45250). So the lockfile has to name the Edge for CI to use it. Versions and integrity hashes are unchanged.bunfig.tomlpoints at the Edge too, so a developer'sbun installkeeps writing Edge URLs. It needs VPN and an Edge-accepted token inARTIFACTORY_PRIVATE_READER_PASSWORD. A SaaS token valid for less than 240 seconds works through Access Federation:jf atc --server-id repox --expiry 200. TheCLAUDE.mdnote says to commitbun.lockwithoutrepox.jfrog.ioURLs.build-scripts/normalize-bun-lock.sh, the Linux-only registry selection, the cross-compilation step's SaaS override, and--network-concurrency 4. That limit is being re-checked on a cold install: runs with a warm cache can't show whether it was needed.Test plan:
sign-macostemporarily enabled on the PR:Dependency registry: https://repox-internal.sonar.build/artifactory/api/npm/npm/, then288 packages installed [13.28s].WARP connection established successfully, the same Edge registry, then288 packages installed [11.81s], followed by successful signing and notarization.sign-macosback tomasterandbranch-*only: Lint, Linux and Windows unit tests, and Build All Binaries passed. These installs restored the Bun cache.@sonar/scan-5.0.2from the Edge, with HTTP 200 and the full tarball.Post-merge: check the first
masterrun'ssign-macosinstall and the Datadog SaaS bytes for this repository.Rollback: revert this PR.