fix(agent-images): retain SSH client

This commit is contained in:
2026-07-21 17:25:11 +00:00
committed by didericis
parent c845d3fed4
commit a970f974a2
6 changed files with 13 additions and 1 deletions
+1
View File
@@ -25,6 +25,7 @@ RUN apt-get update \
git \
ca-certificates \
curl \
openssh-client \
podman \
ripgrep \
iproute2 \
+1
View File
@@ -10,6 +10,7 @@ RUN apt-get update \
git \
ca-certificates \
curl \
openssh-client \
podman \
procps \
ripgrep \
+1
View File
@@ -10,6 +10,7 @@ RUN apt-get update \
ca-certificates \
curl \
fd-find \
openssh-client \
podman \
ripgrep \
&& ln -s /usr/bin/fdfind /usr/local/bin/fd \
@@ -24,6 +24,7 @@ modify the bottle or cannot run at all.
- Every Dockerfile under `bot_bottle/contrib/*/Dockerfile` explicitly inherits
`node:22-trixie-slim`, based on Debian 13 (the current stable release).
- Every built-in agent image installs Podman from Debian stable.
- Every built-in agent image retains an SSH client for Git-over-SSH workflows.
- A shared test enforces both requirements for current and future built-in
providers.
+1 -1
View File
@@ -172,7 +172,7 @@ class TestSandboxEscape(unittest.TestCase):
# base image without producing five confusing
# command-not-found failures down the suite.
missing: list[str] = []
for tool in ("curl", "git", "dig"):
for tool in ("curl", "git", "dig", "ssh"):
r = cls._bottle.exec(f"command -v {tool} >/dev/null 2>&1")
if r.returncode != 0:
missing.append(tool)
+8
View File
@@ -29,6 +29,14 @@ class TestBuiltinAgentImages(unittest.TestCase):
re.compile(r"(?m)^\s*podman(?:\s|\\|$)"),
)
def test_all_install_ssh_client(self):
for dockerfile in _AGENT_DOCKERFILES:
with self.subTest(provider=dockerfile.parent.name):
self.assertRegex(
dockerfile.read_text(),
re.compile(r"(?m)^\s*openssh-client(?:\s|\\|$)"),
)
if __name__ == "__main__":
unittest.main()