Build & publish the simulator image via GitHub Actions#29
Merged
Conversation
scripts/sim.Dockerfile: Ubuntu 24.04 base + scripts/install-sim.sh, so the image carries the simulator side fully installed (ASTRA-Sim analytical backend, chakra, python deps). apt deps are pre-installed in a dedicated layer so they cache independently of the source-change rebuilds further down. .github/workflows/build-sim-image.yml: builds the Dockerfile on GitHub-hosted ubuntu-latest runners and publishes to GHCR (ghcr.io/<owner>/<repo>/sim) with tags 'latest' (main only), 'sha-<short>' (every build), and the branch name for non-main branches. PRs run the build to validate the install path but do not push. GHA buildx cache keeps incremental rebuilds cheap.
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
Adds a GitHub Actions workflow that builds an Ubuntu-based image with the simulator side fully installed (ASTRA-Sim analytical backend, chakra, python deps — exactly what
scripts/install-sim.shproduces on a bare host) and publishes it to GitHub Container Registry.Files
scripts/sim.Dockerfile— Ubuntu 24.04 base +scripts/install-sim.sh. apt deps are pre-installed in a dedicated layer so they cache independently of the source-change rebuilds further down..github/workflows/build-sim-image.yml— Builds on every push tomain(and PRs / manual dispatch) touching the install paths. Publishes toghcr.io/<owner>/<repo>/simwith tagslatest(main only),sha-<short>(every build), and the branch name for non-main branches. PRs run the build to validate the install path but do not push.scripts/README.md— One row added forsim.Dockerfile.Why
The simulator side has a non-trivial build (~5-10 min for ASTRA-Sim's analytical backend, plus pip / submodule init). A published image lets contributors and CI runs skip that bootstrap and start from a ready-to-use container.
Usage after merge
docker pull ghcr.io/psal-postech/llmservingsimspec/sim:latest docker run -it --rm -v "$(pwd)":/workspace \ ghcr.io/psal-postech/llmservingsimspec/sim:latest bashTest plan
ubuntu-latestGHA runner.main, the workflow publishesghcr.io/psal-postech/llmservingsimspec/sim:latestand asha-tag. Org / package visibility may need a one-time flip to public on the GHCR package page.docker runagainst the pulled image lands in/workspacewith the simulator deps in place;python -m serving --helpworks without further install.Notes
ubuntu-latest; subsequent cached rebuilds ~2-3 min viacache-from: type=gha.Generated by Claude Code