restore the "fat" default docker image; publish a "slim" variant#1275
Merged
Conversation
20a2ddb to
5208210
Compare
There was a problem hiding this comment.
Pull request overview
Restores the default pkgxdev/pkgx Debian-based Docker image to include baseline build/development system packages needed to compile inside the container, and introduces a separate minimal :slim variant for runtime-focused usage. Updates the Docker release workflow to publish the new slim variety alongside existing ones.
Changes:
- Reintroduces core build/dev packages in
docker/Dockerfile.debian(the default image) viaapt-get install. - Adds
docker/Dockerfile.slimto publishpkgxdev/pkgx:slimas a minimal Debian image containing onlypkgx/pkgm. - Extends
.github/workflows/cd.docker.ymlpublish matrix to build/push theslimvariety foramd64andarm64.
Reviewed changes
Copilot reviewed 3 out of 3 changed files in this pull request and generated no comments.
| File | Description |
|---|---|
| docker/Dockerfile.slim | Adds a new minimal Debian “slim” image variant that ships only pkgx/pkgm. |
| docker/Dockerfile.debian | Restores baseline build/dev system packages to the default Debian image to enable compilation inside the container. |
| .github/workflows/cd.docker.yml | Publishes the new slim variety in the Docker release matrix for amd64/arm64. |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
The `pkgxdev/pkgx` images were slimmed to bare `debian:stable-slim` + the pkgx/pkgm binaries, dropping the base system dev libraries the hermetic pkgx/brewkit toolchain still links against (libc headers, libstdc++/libgcc). That broke compiling anything in the image — e.g. `bk d b` fails with `stdlib.h: No such file or directory`. Restore those essentials on the default (debian → `latest`) image, and add a `Dockerfile.slim` published as `pkgxdev/pkgx:slim` for the minimal runtime-only case. brewkit pulls the default `pkgxdev/pkgx`, so it gets a working image with no changes on its side. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
5208210 to
56bc6a6
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.
The
pkgxdev/pkgximages were slimmed to baredebian:stable-slim+ the pkgx/pkgm binaries, dropping the base system dev libraries that a hermetic pkgx/brewkit toolchain still links against (libc headers,libstdc++/libgcc, …).That broke compiling anything inside the image — most visibly
bk d b(brewkit-in-docker), which now dies withstdlib.h: No such file or directoryon the first C compile.Changes
Dockerfile.debian(the default →latest) is fat again — restores the base build/dev libs (build-essential libudev-dev netbase ca-certificates) that the old.github/Dockerfilecarried before the "new docker images" rewrite. The compiler itself still comes from pkgx/brewkit; these are the base libs it links against.Dockerfile.slim→pkgxdev/pkgx:slim— the current bare image, for runtime-only use at minimal size. (mirrors thedebian/debian-slim,python/python-slimconvention.)cd.docker.yml— adds theslimvariety to the publish matrix.Notes
brewkitneeds no change:bk d bpulls the defaultpkgxdev/pkgx, which is fat again.ubuntu/archlinux/busyboxvarieties are left as-is.🤖 Generated with Claude Code