Skip to content

Commit 405bae7

Browse files
simonrosenbergDebug Agentclaude
authored
fix(commit0): drop the forked agent-layer Dockerfile, build through the shared phased pipeline (#778)
* fix(commit0): drop the forked agent-layer Dockerfile, build through the shared phased pipeline Dockerfile.agent-layer-commit0 re-implemented the SDK's base-image-minimal setup (runtime packages, user creation, ACP install) instead of inheriting it, and had silently drifted onto stale/dead ACP pins (codex-acp pointed at the abandoned @zed-industries pre-migration package). The SDK's base-image-minimal target already handles raw upstream apt-based images (exactly commit0's case) via its package-manager case statement — this is the same mechanism SWE-Bench already uses successfully against its own raw upstream (docker.io/swebench/*) base images. Route commit0 through the same three-phase pipeline as SWE-Bench: builder -> base-image-minimal -> Dockerfile.agent-layer. Image tags now use the shared get_phased_image_tag_prefix() scheme (content-hash-qualified) instead of a commit0-only Dockerfile-hash prefix. Relates to OpenHands/software-agent-sdk#4643 (opportunity 1). #4805's cross-repo Dockerfile/acp_providers.py parity test cannot reach into this repo, which is why deletion (not re-pinning) is the fix. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com> * ci(commit0): expose --max-retries in build-commit0-images.yml Mirrors build-swebench-images.yml's existing max-retries input/env/CLI wiring. commit0's build_images.py already accepts --max-retries via the shared args parser (default 3); the workflow just never exposed it. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com> --------- Co-authored-by: Debug Agent <debug@example.com> Co-authored-by: Claude Sonnet 5 <noreply@anthropic.com>
1 parent f60e4ed commit 405bae7

7 files changed

Lines changed: 190 additions & 469 deletions

File tree

‎.github/workflows/build-commit0-images.yml‎

Lines changed: 9 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -51,6 +51,11 @@ on:
5151
required: false
5252
default: '4'
5353
type: string
54+
max-retries:
55+
description: 'Retries per image build'
56+
required: false
57+
default: '5'
58+
type: string
5459
n-limit:
5560
description: 'Limit number of repos to build (for testing). Leave blank for no limit.'
5661
required: false
@@ -87,6 +92,7 @@ env:
8792
SPLIT: test
8893
REPO_SPLIT: lite
8994
MAX_WORKERS: '4'
95+
MAX_RETRIES: '2'
9096
N_LIMIT: ''
9197
INSTANCE_IDS: ''
9298
SELECT_FILE: ''
@@ -142,6 +148,7 @@ jobs:
142148
if [ -n "${{ inputs.split }}" ]; then echo "SPLIT=${{ inputs.split }}" >> "$GITHUB_ENV"; fi
143149
if [ -n "${{ inputs.repo-split }}" ]; then echo "REPO_SPLIT=${{ inputs.repo-split }}" >> "$GITHUB_ENV"; fi
144150
if [ -n "${{ inputs.max-workers }}" ]; then echo "MAX_WORKERS=${{ inputs.max-workers }}" >> "$GITHUB_ENV"; fi
151+
if [ -n "${{ inputs.max-retries }}" ]; then echo "MAX_RETRIES=${{ inputs.max-retries }}" >> "$GITHUB_ENV"; fi
145152
if [ -n "${{ inputs.n-limit }}" ]; then echo "N_LIMIT=${{ inputs.n-limit }}" >> "$GITHUB_ENV"; else echo "N_LIMIT=" >> "$GITHUB_ENV"; fi
146153
if [ -n "${{ inputs.instance-ids }}" ]; then echo "INSTANCE_IDS=${{ inputs.instance-ids }}" >> "$GITHUB_ENV"; fi
147154
if [ -n "${{ inputs.sdk-commit }}" ]; then echo "SDK_COMMIT=${{ inputs.sdk-commit }}" >> "$GITHUB_ENV"; fi
@@ -209,7 +216,8 @@ jobs:
209216
--repo-split '${REPO_SPLIT}' \
210217
--image ghcr.io/openhands/eval-agent-server \
211218
--push \
212-
--max-workers '${MAX_WORKERS}'"
219+
--max-workers '${MAX_WORKERS}' \
220+
--max-retries '${MAX_RETRIES}'"
213221
214222
if [ -n "${N_LIMIT}" ]; then
215223
CMD="$CMD --n-limit '${N_LIMIT}'"

0 commit comments

Comments
 (0)