diff --git a/deploy/container/Containerfile b/deploy/container/Containerfile index 94c9d05..b86163f 100644 --- a/deploy/container/Containerfile +++ b/deploy/container/Containerfile @@ -9,7 +9,7 @@ ENV PORT=8080 ENV AGENTRUN_CODEX_COMMAND=/app/node_modules/.bin/codex RUN HTTP_PROXY="$HTTP_PROXY" HTTPS_PROXY="$HTTPS_PROXY" NO_PROXY="$NO_PROXY" http_proxy="$HTTP_PROXY" https_proxy="$HTTPS_PROXY" no_proxy="$NO_PROXY" \ - apk add --no-cache ca-certificates kubectl nodejs + apk add --no-cache ca-certificates git kubectl nodejs openssh-client COPY package.json tsconfig.json ./ RUN HTTP_PROXY="$HTTP_PROXY" HTTPS_PROXY="$HTTPS_PROXY" NO_PROXY="$NO_PROXY" http_proxy="$HTTP_PROXY" https_proxy="$HTTPS_PROXY" no_proxy="$NO_PROXY" \ diff --git a/src/selftest/cases/50-hwlab-manual-dispatch.ts b/src/selftest/cases/50-hwlab-manual-dispatch.ts index fd6e249..d93cb37 100644 --- a/src/selftest/cases/50-hwlab-manual-dispatch.ts +++ b/src/selftest/cases/50-hwlab-manual-dispatch.ts @@ -13,6 +13,8 @@ import { assertNoSecretLeak, type SelfTestCase, type SelfTestContext } from "../ const execFile = promisify(execFileCallback); const selfTest: SelfTestCase = async (context) => { + const containerfile = await readFile(path.join(context.root, "deploy/container/Containerfile"), "utf8"); + assert.ok(containerfile.includes(" git ") && containerfile.includes(" openssh-client"), "runtime image must include git and openssh-client for ResourceBundleRef checkout"); const fakeKubectl = path.join(context.tmp, "fake-kubectl-hwlab.js"); const createdManifest = path.join(context.tmp, "created-hwlab-runner-job.json"); await writeFile(fakeKubectl, `#!/usr/bin/env bun