feat: split Docker image into base and full variants#140
Merged
Conversation
Create perry-base image (~1.8GB) with minimal requirements: - Perry runtime (workspace user, sudo, SSH, Docker-in-Docker, Bun, Git) - Essential tools (Neovim, ripgrep, fd, fzf, jq, GitHub CLI) - Node.js (needed for npm packages) - Coding agents (Claude Code, OpenCode) - Tailscale The full perry image extends base and adds: - Go, Python, AWS CLI, Tectonic (LaTeX) - Playwright with Chromium - imagemagick, vim, nano, zsh, luarocks, yarn Users can now extend perry-base directly for smaller custom images.
Comment on lines
175
to
182
| context: ./perry | ||
| platforms: ${{ matrix.platform }} | ||
| labels: ${{ steps.meta.outputs.labels }} | ||
| build-args: | | ||
| BASE_IMAGE=${{ env.REGISTRY }}/${{ env.BASE_IMAGE_NAME }}:${{ needs.merge-base.outputs.version }} | ||
| outputs: type=image,name=${{ env.REGISTRY }}/${{ env.IMAGE_NAME }},push-by-digest=true,name-canonical=true,push=true | ||
| cache-from: type=registry,ref=${{ env.REGISTRY }}/${{ env.IMAGE_NAME }}:buildcache-${{ matrix.arch }} | ||
| cache-to: type=registry,ref=${{ env.REGISTRY }}/${{ env.IMAGE_NAME }}:buildcache-${{ matrix.arch }},mode=max |
This comment was marked as outdated.
This comment was marked as outdated.
Sorry, something went wrong.
| runner: ubuntu-latest | ||
| arch: amd64 | ||
| - platform: linux/arm64 | ||
| runner: ubuntu-24.04-arm |
This comment was marked as outdated.
This comment was marked as outdated.
Sorry, something went wrong.
|
|
||
| RUN curl -fsSL https://claude.ai/install.sh | bash | ||
|
|
||
| RUN curl -fsSL https://opencode.ai/install | bash || echo "OpenCode install failed; will retry on workspace start" |
This comment was marked as outdated.
This comment was marked as outdated.
Sorry, something went wrong.
Owner
Author
|
/rerun |
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
perry-baseimage (~1.8GB) with minimal requirements for Perry to functionperryimage to extend from base (removed Go to reduce size)Base Image Contents (
perry-base)Full Image Additions (
perry)For Users Who Want Custom Images
Users can now extend
perry-basedirectly:Test plan
🤖 Generated with Claude Code