Build sim image via install-sim.sh, drop GHA buildx cache#42
Merged
Conversation
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.
411dc6c to
d2f403c
Compare
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.
Summary
scripts/sim.Dockerfilefrom two stages with inlined pip/build steps to a single stage that just runsscripts/install-sim.sh— the image build path is now identical to the bare-metal install path.cache-from: type=gha/cache-to: type=gha,mode=maxdirectives 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
Build simulator imageworkflow on this PR) completes for bothlinux/amd64andlinux/arm64.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 servingsmoke run inside the image (e.g.serving/spec_compression_stress.sh baselinewith small NUM_REQ) completes.Generated by Claude Code