Repository navigation
Conversation
A coding agent in a Session works in its clone with git and the provider's CLI: it opens and reads pull requests and CI runs. The Go runtime image and the Claude harness image carried git but not gh. Both images now install Alpine's github-cli at the one version in go/github-cli.version, bind-mounted into the apk step so the Makefile, CI and a plain docker build read the same pin; apk's ~ accepts any Alpine rebuild of that version. The Claude harness image moves to alpine:3.24, the release go/Dockerfile already uses, so the pin resolves in both. No credential is configured: gh reads GH_TOKEN from its environment when one is given. The e2e runs gh --version and git --version through the shell tool of a Session on the kagent and the Claude harness. Signed-off-by: Timo Derstappen <teemow@gmail.com>
Signed-off-by: Timo Derstappen <teemow@gmail.com>
…sted Signed-off-by: Timo Derstappen <teemow@gmail.com>
Signed-off-by: Timo Derstappen <teemow@gmail.com>
4 tasks done
Member
Author
|
Agent-written note: replaced by #312, the same change on the current base (this line never merges its base into a branch). |
4 tasks done
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Closes #288.
Problem
A coding agent in a workspace Session works in its clone with git and the provider's CLI. The Go runtime image (
go/Dockerfile) and the Claude harness image (go/harness/claude/Dockerfile) carried git but notgh, sogh pr create,gh pr vieworgh run listcould not run in a Session's sandbox on either Harness.Change
github-cliat the version ingo/github-cli.version, the one pin. The file is bind-mounted into theapk addstep, so the Makefile, the CircleCI image jobs and a plaindocker buildall read it without copies.github-cli~<version>accepts any Alpine rebuild (-rN) of that version, so a package rebuild does not break the build.alpine:3.22toalpine:3.24, the releasego/Dockerfilealready uses. Alpine 3.22 ships gh 2.72.0 and 3.24 ships 2.97.0, so one pin needs one Alpine release.ghreadsGH_TOKENfrom its environment when one is given.custom.regexmanager (Alpine 3.24'sgithub-clifrom Repology). Every other manager stays off, as before on this line.TestSessionShellRunsGitAndGitHubCLIrunsgh --version && git --versionthrough the model's shell tool (bashon the kagent Harness,Bashon the Claude Harness) in a Session's sandbox. It asserts that the tool's output carries both versions.go/Dockerfilealso builds the controller image, which therefore carriesghtoo.Overlap
Draft PRs #147 and #126 edit the same
apk addline ofgo/Dockerfile. The conflict is textual only: whichever lands second rebases.Image size
Measured with local
linux/amd64builds of this branch against its base, uncompressed (docker image inspect .Size):go/Dockerfile; the controller image grows the same way)go/harness/claude/Dockerfile, Alpine 3.22 → 3.24)Nearly all of the growth is the statically linked
ghbinary.Acceptance criteria
gh --versionandgit --versionsucceed through thebashtool in a Session's sandbox on thekagentHarness and on theclaudeHarness. The fork e2eTestSessionShellRunsGitAndGitHubCLIpasses onkagentandclaudein the gVisor lane, which buildslinux/amd64. On thekagentHarness the mock model answers only a tool result that containsgh version, and the test asserts both versions in the persisted tool response.linux/arm64is checked on the published release candidate images (gh version 2.97.0,git version 2.54.0).image-scan(scan-ok) is green for both images; the sizes are above.github-cliversion is pinned once (go/github-cli.version) and Renovate (renovate.json5, onecustom.regexmanager, Repologyalpine_3_24/github-cli) tracks it.renovate-config-validator --strictpasses.FORK.mdrow, queued upstream in the fork's upstream queue (row 159).