Current Behavior
The GitHub Actions workflow (.github/workflows/docker-build-push.yml) only builds a single Docker image with Ruby 3.4.7, tagged as:
landovsky/claude-sandbox:0.1.1 (semantic version)
landovsky/claude-sandbox:latest
Expected Behavior
The workflow should build separate images for each Ruby version defined in ruby-versions.yaml, matching the local build behavior:
landovsky/claude-sandbox:ruby-3.2 (Ruby 3.2.6)
landovsky/claude-sandbox:ruby-3.3 (Ruby 3.3.6)
landovsky/claude-sandbox:ruby-3.4 (Ruby 3.4.7)
landovsky/claude-sandbox:latest (→ ruby-3.4)
Impact
Current workaround: Projects using Ruby 3.4.x will work fine.
Limitation: Projects requiring Ruby 3.2 or 3.3 cannot use remote sandbox sessions, as the launcher will attempt to pull non-existent image tags (e.g., landovsky/claude-sandbox:ruby-3.2).
Root Cause
The local build script (bin/claude-sandbox build) correctly parses ruby-versions.yaml and builds multiple images (lines 406-451), but the CI/CD workflow hardcodes a single build.
Fix
Update the workflow to:
- Parse
ruby-versions.yaml (could use yq or parse in bash)
- Use a matrix strategy to build each Ruby version
- Push all version-specific tags plus semantic version tags
References
- Local build logic:
bin/claude-sandbox lines 419-437
- Local push logic:
bin/claude-sandbox lines 467-479
- Current workflow:
.github/workflows/docker-build-push.yml
Status: Known limitation. The maintainer currently uses Ruby 3.4.7, so this isn't blocking immediate work, but will be addressed for broader compatibility.
Current Behavior
The GitHub Actions workflow (
.github/workflows/docker-build-push.yml) only builds a single Docker image with Ruby 3.4.7, tagged as:landovsky/claude-sandbox:0.1.1(semantic version)landovsky/claude-sandbox:latestExpected Behavior
The workflow should build separate images for each Ruby version defined in
ruby-versions.yaml, matching the local build behavior:landovsky/claude-sandbox:ruby-3.2(Ruby 3.2.6)landovsky/claude-sandbox:ruby-3.3(Ruby 3.3.6)landovsky/claude-sandbox:ruby-3.4(Ruby 3.4.7)landovsky/claude-sandbox:latest(→ ruby-3.4)Impact
Current workaround: Projects using Ruby 3.4.x will work fine.
Limitation: Projects requiring Ruby 3.2 or 3.3 cannot use remote sandbox sessions, as the launcher will attempt to pull non-existent image tags (e.g.,
landovsky/claude-sandbox:ruby-3.2).Root Cause
The local build script (
bin/claude-sandbox build) correctly parsesruby-versions.yamland builds multiple images (lines 406-451), but the CI/CD workflow hardcodes a single build.Fix
Update the workflow to:
ruby-versions.yaml(could useyqor parse in bash)References
bin/claude-sandboxlines 419-437bin/claude-sandboxlines 467-479.github/workflows/docker-build-push.ymlStatus: Known limitation. The maintainer currently uses Ruby 3.4.7, so this isn't blocking immediate work, but will be addressed for broader compatibility.