Skip to content

Build sim image via install-sim.sh, drop GHA buildx cache#42

Merged
YWHyuk merged 1 commit into
mainfrom
claude/sim-image-simplify
May 19, 2026
Merged

Build sim image via install-sim.sh, drop GHA buildx cache#42
YWHyuk merged 1 commit into
mainfrom
claude/sim-image-simplify

Conversation

@YWHyuk
Copy link
Copy Markdown

@YWHyuk YWHyuk commented May 19, 2026

Summary

  • Collapse scripts/sim.Dockerfile from two stages with inlined pip/build steps to a single stage that just runs scripts/install-sim.sh — the image build path is now identical to the bare-metal install path.
  • Drop the cache-from: type=gha / cache-to: type=gha,mode=max directives from .github/workflows/build-sim-image.yml (PR-verify and main-publish steps).

Why

The multi-stage Dockerfile + inlined pip install was hard to trace when the buildx GHA cache appeared to serve stale layers (scope was only the platform key, shared across all branches). Even if the cache was technically content-addressable, it created a class of "image rebuilt but still has old behaviour" mystery that wasn't worth keeping. With install-sim.sh driving both paths, what works on bare metal works in the image, full stop.

Test plan

  • CI build (Build simulator image workflow on this PR) completes for both linux/amd64 and linux/arm64.
  • Locally: docker build -f scripts/sim.Dockerfile -t llmservingsim-sim . succeeds.
  • docker run --rm llmservingsim-sim python3 -c "import chakra.src.converter.converter" exits 0.
  • python -m serving smoke run inside the image (e.g. serving/spec_compression_stress.sh baseline with small NUM_REQ) completes.

Generated by Claude Code

The multi-stage Dockerfile + inlined pip install was hard to trace when
the buildx GHA cache appeared to serve stale layers (cache-from/cache-to
scoped only by platform, shared across all branches). Collapse to a
single stage that just runs scripts/install-sim.sh — the same path used
for bare-metal install — so the image build is the install script, full
stop.

Also drop the cache-from/cache-to directives from build-sim-image.yml.
The image build is short enough without them, and removing the cache
eliminates the class of "image rebuilt but still has old behaviour"
mystery the multi-stage layout enabled.
@YWHyuk YWHyuk force-pushed the claude/sim-image-simplify branch from 411dc6c to d2f403c Compare May 19, 2026 08:11
@YWHyuk YWHyuk merged commit 9e7f45d into main May 19, 2026
2 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants