Repository navigation
ci: scope the image build token to hosted-api-apps.toml repos (FND-4206) - #4823
SanilK2108 wants to merge 2 commits into
Conversation
…ND-4206) common-app-server's image build clones every repo pinned in hosted-api-apps.toml and stages it as a path dependency, so uv.lock never names it. git_auth.py repos read only pyproject.toml and uv.lock, so the minted git_token left those repos out and the build failed with "git ls-remote ... exited 128" as soon as a private app was pinned there. Read each repo = "atlanhq/<name>" in that file too. Scope stays capped by ALLOWED_PRIVATE_DEPS; common-app-server is already an AGGREGATOR_REPOS entry.
|
Proof: common-app-server #227 (hosts governance + discovery from hosted-api-apps.toml) builds through this branch. Run: https://github.com/atlanhq/common-app-server/actions/runs/42772102622 — Build amd64/arm64, Merge & Push Manifest and Security Gate all green. The same commit on |
|
/lens |
lens summary · updated after round 2 (re-review · only commits since 81a87b0)✅ Ready to merge — every finding is resolved Open findings: 🔴 0 critical · 🟠 0 high · 🟡 0 medium · ⚪ 0 low (nit) lens reads this PR as — The image-build token is scoped from Approach check — sound. ✔️ Resolved (1)
🕘 Round history (2)
1 file(s) with mechanical changes — proven behaviour-neutral in code, not sent to the model
round 2 · $0.038 of $1.00 · 18 model calls · 0 failed requests · 71% prompt cache hits · gpt-6-luna |
…ND-4206) The line regex also matched a `repo = "atlanhq/..."` line inside a multiline string or under an unrelated table, which could widen the private-dependency token to a repo nothing pins (lens F-77addf). Read only the [sdk] and [apps.<name>] repo keys from the parsed file; an unparseable file adds nothing and warns.
|
/lens |
|
✅ lens · round 2 · re-review · only commits since 81a87b0 — ready to merge — every finding resolved · $0.04 Open findings: 🔴 0 critical · 🟠 0 high · 🟡 0 medium · ⚪ 0 low (nit) Approach check — ✅ sound
$0.038 of $1.00 · 18 model calls · 0 failed requests |
atlan-ci
left a comment
There was a problem hiding this comment.
lens: ready to merge — every finding at every level is resolved (round 2).
Summary
common-app-server's image build fails as soon as a private app is pinned in
hosted-api-apps.toml:The build job mints its
git_tokenfromgit_auth.py repos, which only readspyproject.tomlanduv.lock. Apps hosted throughhosted-api-apps.tomlare cloned by the image build itself and reachuv.lockonly as path dependencies (apps/<name>), so they were left out of the token's scope. Seen on atlanhq/common-app-server#227 (governance + discovery), whoseBuild & Publishfailed on both arches while the PR image probe passed (it scopes its own token fromscripts/token_repos.py, which does read that file).Change
referenced_reposalso readshosted-api-apps.tomland picks up eachrepo = "atlanhq/<name>". Only that file is read forrepo =keys; commented lines are skipped like before.AGGREGATOR_REPOS.Security note
This widens the image-build token for common-app-server to the private repos pinned in its
hosted-api-apps.toml(read-only, same as the PR image probe's token already is). No other repo is affected unless it adds that file, and then the allowlist still applies.Testing
test_referenced_repos_reads_hosted_api_app_pins;.github/scripts/tests/test_git_auth.py: 27 passed.🤖 Generated with Claude Code