Conversation
Contributor
|
Claude Security Review: no high-confidence findings. (run) |
Contributor
There was a problem hiding this comment.
AgentCore Harness Review
Verdict: Looks good
Solid, well-scoped test-infra change:
detectContainerToolprobesdocker/podman/finchwithinfo(correctly gates on a reachable daemon, unlike--version) in the same order assrc/core/dev/container.ts.- The failure-line regex matches the exact format emitted by
Supervisor(Agent '<name>' failed to start: ...), so unrecoverable startup errors now fail fast viaNonRetryableErrorinstead of waiting out the invoke timeout. - Switching to
test.foris required to get theskipcontext; the container skip is scoped to the "runs locally" case only, so the "can be added to a project" case still exercises the container template on all hosts.
No changes required.
…t on startup errors The 'py_strands_container' runs locally case has failed on every push to refactor since #2339 landed: neither e2e runner has a usable container daemon (the CodeBuild project runs without privileged mode, and the macos-*-arm64 GitHub images ship no docker/podman/finch). `agentcore dev` reports "failed to start" for that runtime but keeps serving the others, so the test waited out its full retry deadline with no useful message. - probe docker/podman/finch with `<tool> info` and skip local invocation of Container-build templates when no daemon is reachable - record "Agent '<name>' failed to start" lines from dev output and stop retrying immediately with that message instead of waiting for the deadline
Codecov Report✅ All modified and coverable lines are covered by tests. Additional details and impacted files@@ Coverage Diff @@
## refactor #2413 +/- ##
=========================================
Coverage 97.25% 97.25%
=========================================
Files 612 612
Lines 41019 41019
=========================================
Hits 39893 39893
Misses 1126 1126 ☔ View full report in Codecov by Harness. 🚀 New features to boost your workflow:
|
notgitika
force-pushed
the
fix/e2e-container-dev-runtime-skip
branch
from
September 25, 2026 19:18
698b828 to
c0d8c1a
Compare
Contributor
|
Claude Security Review: no high-confidence findings. (run) |
Contributor
|
I believe the CI does have docker based on the latest error showing docker logs: |
This branch has not been deployed
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.
Description
Every
ci.ymlpush run onrefactorsince #2339 landed fails exactly one e2e test on both Linux and macOS:local invocation > 'py_strands_container' runs locally(37/38 pass, including deploy + cloud invoke of the same template). Latest example: run 36069970196.Root cause.
agentcore devrunsbuild: Containerruntimes throughContainerDevRunner, which needs docker, podman, or finch. Neither e2e runner has a usable daemon:agentcore-e2eCodeBuild project, which hasprivilegedMode: false, so the docker CLI in the image has no daemon.macos-26-arm64image, which ships no docker/podman/finch (and cannot run one).The supervisor prints
[py_strands_container] Agent 'py_strands_container' failed to start: 'container runtime' was not found on your PATH. ...on stderr, butdevkeeps serving the other eight agents and never exits. The test only watched for anis running on port Nline and for the process exiting, so it retried until its 162s deadline. #2398 made the full dev output visible in the error; this PR acts on it.Change.
e2eTest/helpers/container.ts: probedocker|podman|finch info(a reachable daemon, unlike--version, which also passes on the CodeBuild image).templates.test.ts: tag each template with itsbuild; theruns locallycase usestest.forandcontext.skip(...)for Container templates when no daemon is reachable. Deploy, cloud invoke, and remove for the container template are unchanged and still run.templates.test.ts+helpers/retry.ts: recordAgent '<name>' failed to start: <reason>lines from dev output and throw aNonRetryableErrorcarrying that reason, so a real startup failure surfaces in seconds with the actual message instead of a timeout.e2eTest/README.md: note the container runtime requirement.Follow-up (not in this PR). To exercise container
devin CI on Linux, enable privileged mode on theagentcore-e2eCodeBuild project. macOS will keep skipping.Related Issue
No tracking issue; follows up on #2394 and #2398.
Documentation PR
Not applicable (e2e README updated here).
Type of Change
Testing
Ran the local-invocation slice of the e2e suite (
-t "can be added|runs locally") against the built CLI on macOS, with a private vitest config that omits the CloudFormation cleanup setup file, in two host configurations:finchstub that exits 1 on PATH): the container case is reported as↓ 'py_strands_container' runs locally 1ms [no container runtime (docker, podman, or finch) is available on this host], and dev's own output shows thefailed to startline. All seven Python runtimes ran and were invoked locally. (The two TypeScript templates failed atnpm installin the add step on my machine, before this code runs; re-runningnpm installin the scaffolded directory succeeded, so that was a transient local issue.)dockerstub where onlyinfoexits 0): the case fails in 504ms withRuntime 'py_strands_container' failed to start: 'container runtime' was not found on your PATH. Install Docker (...), Podman (...), or Finch (...).instead of after 162s with no reason.bun test(3563 pass, 0 fail)bun run test:e2e, or explained why they are not applicable (local-invocation slice as described above; the full suite will run on this branch's push CI)bun run typecheckbun run lint:checkbun run format:checkbun run buildsrc/assets/, I updated affected snapshots withbun test <test-file> --update-snapshotsand committed them (not applicable)Checklist
By submitting this pull request, I confirm that you can use, modify, copy, and redistribute this contribution, under the
terms of your choice.