Skip to content

Commit 7c5247a

Browse files
sjarmakclaude
andcommitted
fix: repair 20 Dockerfiles with broken git clone, missing python3, and missing ca-certificates
Three categories of fixes across 20 task Dockerfiles + their artifact_only variants: 1. Replace --filter=blob:none --no-checkout with git init + git fetch --depth 1 by SHA (10 tasks): the blobless clone strategy fails for non-HEAD commits. Special cases: envoy-duplicate-headers uses depth 2 for parent checkout, cilium-api-doc uses sparse-checkout, envoy-migration-doc uses two shallow tag clones instead of worktrees. 2. Add python3 to apt-get install (7 tasks): test.sh verifiers call python3 for scoring but the Dockerfiles only installed git + ca-certificates. 3. Add ca-certificates to apt-get install (12 tasks): ubuntu:22.04 with --no-install-recommends doesn't include ca-certificates, causing SSL verification failures on HTTPS git operations. Also adds scripts/validate_artifact_golden.py for golden-solution validation. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
1 parent 0804902 commit 7c5247a

File tree

41 files changed

+658
-86
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

41 files changed

+658
-86
lines changed

benchmarks/ccb_debug/envoy-duplicate-headers-debug-001/environment/Dockerfile

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,7 @@ RUN apt-get update && apt-get install -y --no-install-recommends \
77
git \
88
curl \
99
python3 \
10+
ca-certificates \
1011
&& rm -rf /var/lib/apt/lists/*
1112

1213
# Clone Envoy at the target commit (before router header mutation fix)
@@ -15,8 +16,10 @@ RUN apt-get update && apt-get install -y --no-install-recommends \
1516
# finalizeResponseHeaders() call. We check out the parent to get the broken state.
1617
# The bug was introduced by PR #39534 which moved finalizeResponseHeaders()
1718
# into the modify_headers_ callback, causing double processing on local replies.
18-
RUN git clone --filter=blob:none --no-checkout https://github.com/envoyproxy/envoy.git . && \
19-
git checkout 25f893b~1 && \
19+
RUN git init && \
20+
git remote add origin https://github.com/envoyproxy/envoy.git && \
21+
git fetch --depth 2 origin 25f893b44c9ac785d57f21399fb5aff540f0bef7 && \
22+
git checkout 25f893b44c9ac785d57f21399fb5aff540f0bef7~1 && \
2023
git config user.email "agent@example.com" && \
2124
git config user.name "Agent"
2225

benchmarks/ccb_debug/envoy-duplicate-headers-debug-001/environment/Dockerfile.artifact_only

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,7 @@ RUN apt-get update && apt-get install -y --no-install-recommends \
1212
git \
1313
curl \
1414
python3 \
15+
ca-certificates \
1516
&& rm -rf /var/lib/apt/lists/*
1617

1718
# Clone Envoy at the target commit (before router header mutation fix)
@@ -20,8 +21,10 @@ RUN apt-get update && apt-get install -y --no-install-recommends \
2021
# finalizeResponseHeaders() call. We check out the parent to get the broken state.
2122
# The bug was introduced by PR #39534 which moved finalizeResponseHeaders()
2223
# into the modify_headers_ callback, causing double processing on local replies.
23-
RUN git clone --filter=blob:none --no-checkout https://github.com/envoyproxy/envoy.git . && \
24-
git checkout 25f893b~1 && \
24+
RUN git init && \
25+
git remote add origin https://github.com/envoyproxy/envoy.git && \
26+
git fetch --depth 2 origin 25f893b44c9ac785d57f21399fb5aff540f0bef7 && \
27+
git checkout 25f893b44c9ac785d57f21399fb5aff540f0bef7~1 && \
2528
git config user.email "agent@example.com" && \
2629
git config user.name "Agent"
2730

benchmarks/ccb_debug/istio-xds-destrul-debug-001/environment/Dockerfile

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -7,15 +7,18 @@ RUN apt-get update && apt-get install -y --no-install-recommends \
77
git \
88
curl \
99
python3 \
10+
ca-certificates \
1011
&& rm -rf /var/lib/apt/lists/*
1112

1213
# Clone Istio at the pre-fix commit for the DestinationRule dependency bug.
1314
# PR #38088 (merge commit 9fcfe231) fixes the bug where merged DestinationRules
1415
# lose the metadata of contributing DRs, causing xDS pushes to be silently
1516
# skipped when a non-surviving DR is updated.
1617
# We check out the parent commit (f8c9b973) to get the broken state.
17-
RUN git clone --filter=blob:none --no-checkout https://github.com/istio/istio.git . && \
18-
git checkout f8c9b973900a13a898348c010ae3cad2de08693b && \
18+
RUN git init && \
19+
git remote add origin https://github.com/istio/istio.git && \
20+
git fetch --depth 1 origin f8c9b973900a13a898348c010ae3cad2de08693b && \
21+
git checkout FETCH_HEAD && \
1922
git config user.email "agent@example.com" && \
2023
git config user.name "Agent"
2124

benchmarks/ccb_debug/istio-xds-destrul-debug-001/environment/Dockerfile.artifact_only

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -12,15 +12,18 @@ RUN apt-get update && apt-get install -y --no-install-recommends \
1212
git \
1313
curl \
1414
python3 \
15+
ca-certificates \
1516
&& rm -rf /var/lib/apt/lists/*
1617

1718
# Clone Istio at the pre-fix commit for the DestinationRule dependency bug.
1819
# PR #38088 (merge commit 9fcfe231) fixes the bug where merged DestinationRules
1920
# lose the metadata of contributing DRs, causing xDS pushes to be silently
2021
# skipped when a non-surviving DR is updated.
2122
# We check out the parent commit (f8c9b973) to get the broken state.
22-
RUN git clone --filter=blob:none --no-checkout https://github.com/istio/istio.git . && \
23-
git checkout f8c9b973900a13a898348c010ae3cad2de08693b && \
23+
RUN git init && \
24+
git remote add origin https://github.com/istio/istio.git && \
25+
git fetch --depth 1 origin f8c9b973900a13a898348c010ae3cad2de08693b && \
26+
git checkout FETCH_HEAD && \
2427
git config user.email "agent@example.com" && \
2528
git config user.name "Agent"
2629

benchmarks/ccb_debug/terraform-phantom-update-debug-001/environment/Dockerfile

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,7 @@ RUN apt-get update && apt-get install -y --no-install-recommends \
77
git \
88
curl \
99
python3 \
10+
ca-certificates \
1011
&& rm -rf /var/lib/apt/lists/*
1112

1213
# Clone Terraform at the pre-fix commit for the sensitive marks bug.
@@ -15,8 +16,10 @@ RUN apt-get update && apt-get install -y --no-install-recommends \
1516
# ReadResource / PlanResourceChange, causing phantom diffs and incomplete
1617
# sensitive_attributes in state.
1718
# We check out the parent commit (9658f9df) to get the broken state.
18-
RUN git clone --filter=blob:none --no-checkout https://github.com/hashicorp/terraform.git . && \
19-
git checkout 9658f9df6b24bd6d2c267c07cffd4c97cf8b9b40 && \
19+
RUN git init && \
20+
git remote add origin https://github.com/hashicorp/terraform.git && \
21+
git fetch --depth 1 origin 9658f9df6b24bd6d2c267c07cffd4c97cf8b9b40 && \
22+
git checkout FETCH_HEAD && \
2023
git config user.email "agent@example.com" && \
2124
git config user.name "Agent"
2225

benchmarks/ccb_debug/terraform-phantom-update-debug-001/environment/Dockerfile.artifact_only

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,7 @@ RUN apt-get update && apt-get install -y --no-install-recommends \
1212
git \
1313
curl \
1414
python3 \
15+
ca-certificates \
1516
&& rm -rf /var/lib/apt/lists/*
1617

1718
# Clone Terraform at the pre-fix commit for the sensitive marks bug.
@@ -20,8 +21,10 @@ RUN apt-get update && apt-get install -y --no-install-recommends \
2021
# ReadResource / PlanResourceChange, causing phantom diffs and incomplete
2122
# sensitive_attributes in state.
2223
# We check out the parent commit (9658f9df) to get the broken state.
23-
RUN git clone --filter=blob:none --no-checkout https://github.com/hashicorp/terraform.git . && \
24-
git checkout 9658f9df6b24bd6d2c267c07cffd4c97cf8b9b40 && \
24+
RUN git init && \
25+
git remote add origin https://github.com/hashicorp/terraform.git && \
26+
git fetch --depth 1 origin 9658f9df6b24bd6d2c267c07cffd4c97cf8b9b40 && \
27+
git checkout FETCH_HEAD && \
2528
git config user.email "agent@example.com" && \
2629
git config user.name "Agent"
2730

benchmarks/ccb_document/cilium-api-doc-gen-001/environment/Dockerfile

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -3,17 +3,19 @@ FROM ubuntu:22.04
33
RUN apt-get update && apt-get install -y --no-install-recommends \
44
git \
55
python3 \
6+
ca-certificates \
67
&& rm -rf /var/lib/apt/lists/*
78

89
WORKDIR /workspace
910

1011
# Clone Cilium at specific commit (main 2026-02-16)
11-
RUN git clone --filter=blob:none --no-checkout https://github.com/cilium/cilium.git repo && \
12+
RUN git init repo && \
1213
cd repo && \
13-
git checkout ad6b298dbdcb9b828a247c54a477a9cfa43eff00 && \
14+
git remote add origin https://github.com/cilium/cilium.git && \
1415
git sparse-checkout init --cone && \
1516
git sparse-checkout set pkg/bpf pkg/maps pkg/datapath/maps && \
16-
git checkout
17+
git fetch --depth 1 origin ad6b298dbdcb9b828a247c54a477a9cfa43eff00 && \
18+
git checkout FETCH_HEAD
1719

1820
# Agent writes documentation.md to /workspace/
1921
# Verifier: /tests/test.sh scores against /tests/ground_truth.json

benchmarks/ccb_document/cilium-api-doc-gen-001/environment/Dockerfile.artifact_only

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -8,17 +8,19 @@ FROM ubuntu:22.04
88
RUN apt-get update && apt-get install -y --no-install-recommends \
99
git \
1010
python3 \
11+
ca-certificates \
1112
&& rm -rf /var/lib/apt/lists/*
1213

1314
WORKDIR /workspace
1415

1516
# Clone Cilium at specific commit (main 2026-02-16)
16-
RUN git clone --filter=blob:none --no-checkout https://github.com/cilium/cilium.git repo && \
17+
RUN git init repo && \
1718
cd repo && \
18-
git checkout ad6b298dbdcb9b828a247c54a477a9cfa43eff00 && \
19+
git remote add origin https://github.com/cilium/cilium.git && \
1920
git sparse-checkout init --cone && \
2021
git sparse-checkout set pkg/bpf pkg/maps pkg/datapath/maps && \
21-
git checkout
22+
git fetch --depth 1 origin ad6b298dbdcb9b828a247c54a477a9cfa43eff00 && \
23+
git checkout FETCH_HEAD
2224

2325
# Agent writes documentation.md to /workspace/
2426
# Verifier: /tests/test.sh scores against /tests/ground_truth.json

benchmarks/ccb_document/envoy-migration-doc-gen-001/environment/Dockerfile

Lines changed: 4 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -3,18 +3,13 @@ FROM ubuntu:22.04
33
RUN apt-get update && apt-get install -y --no-install-recommends \
44
git \
55
python3 \
6+
ca-certificates \
67
&& rm -rf /var/lib/apt/lists/*
78

89
WORKDIR /workspace
910

10-
# Clone Envoy repo with blob filtering for fast clone
11-
RUN git clone --filter=blob:none --no-checkout https://github.com/envoyproxy/envoy.git envoy-repo
11+
# Clone Envoy at v1.30 and v1.31 tags
12+
RUN git clone --depth 1 --branch v1.30.0 https://github.com/envoyproxy/envoy.git envoy-v1.30
13+
RUN git clone --depth 1 --branch v1.31.0 https://github.com/envoyproxy/envoy.git envoy-v1.31
1214

13-
# Create worktrees for v1.30.0 and v1.31.0
14-
WORKDIR /workspace/envoy-repo
15-
RUN git worktree add ../envoy-v1.30 50ea83e602d5da162df89fd5798301e22f5540cf
16-
RUN git worktree add ../envoy-v1.31 7b8baff1758f0a584dcc3cb657b5032000bcb3d7
17-
18-
# Keep main clone (worktrees reference its .git directory)
19-
# Set working directory to workspace root
2015
WORKDIR /workspace

benchmarks/ccb_document/envoy-migration-doc-gen-001/environment/Dockerfile.artifact_only

Lines changed: 4 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -8,20 +8,15 @@ FROM ubuntu:22.04
88
RUN apt-get update && apt-get install -y --no-install-recommends \
99
git \
1010
python3 \
11+
ca-certificates \
1112
&& rm -rf /var/lib/apt/lists/*
1213

1314
WORKDIR /workspace
1415

15-
# Clone Envoy repo with blob filtering for fast clone
16-
RUN git clone --filter=blob:none --no-checkout https://github.com/envoyproxy/envoy.git envoy-repo
16+
# Clone Envoy at v1.30 and v1.31 tags
17+
RUN git clone --depth 1 --branch v1.30.0 https://github.com/envoyproxy/envoy.git envoy-v1.30
18+
RUN git clone --depth 1 --branch v1.31.0 https://github.com/envoyproxy/envoy.git envoy-v1.31
1719

18-
# Create worktrees for v1.30.0 and v1.31.0
19-
WORKDIR /workspace/envoy-repo
20-
RUN git worktree add ../envoy-v1.30 50ea83e602d5da162df89fd5798301e22f5540cf
21-
RUN git worktree add ../envoy-v1.31 7b8baff1758f0a584dcc3cb657b5032000bcb3d7
22-
23-
# Keep main clone (worktrees reference its .git directory)
24-
# Set working directory to workspace root
2520
WORKDIR /workspace
2621
# --- artifact_only mode ---
2722
# Sentinel flag for artifact-based verification.

0 commit comments

Comments
 (0)