Skip to content

restore the "fat" default docker image; publish a "slim" variant#1275

Merged
jhheider merged 1 commit into
mainfrom
restore-fat-docker
Jul 3, 2026
Merged

restore the "fat" default docker image; publish a "slim" variant#1275
jhheider merged 1 commit into
mainfrom
restore-fat-docker

Conversation

@jhheider

@jhheider jhheider commented Jul 3, 2026

Copy link
Copy Markdown
Contributor

The pkgxdev/pkgx images were slimmed to bare debian: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 with stdlib.h: No such file or directory on 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/Dockerfile carried before the "new docker images" rewrite. The compiler itself still comes from pkgx/brewkit; these are the base libs it links against.
  • New Dockerfile.slimpkgxdev/pkgx:slim — the current bare image, for runtime-only use at minimal size. (mirrors the debian/debian-slim, python/python-slim convention.)
  • cd.docker.yml — adds the slim variety to the publish matrix.

Notes

  • brewkit needs no change: bk d b pulls the default pkgxdev/pkgx, which is fat again.
  • Scope is intentionally the default (debian) + slim; ubuntu/archlinux/busybox varieties are left as-is.

🤖 Generated with Claude Code

Copilot AI review requested due to automatic review settings July 3, 2026 18:27
@jhheider jhheider force-pushed the restore-fat-docker branch from 20a2ddb to 5208210 Compare July 3, 2026 18:27

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

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) via apt-get install.
  • Adds docker/Dockerfile.slim to publish pkgxdev/pkgx:slim as a minimal Debian image containing only pkgx/pkgm.
  • Extends .github/workflows/cd.docker.yml publish matrix to build/push the slim variety for amd64 and arm64.

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.

Copilot AI review requested due to automatic review settings July 3, 2026 18:29

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Copilot reviewed 3 out of 3 changed files in this pull request and generated no new comments.

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>
@jhheider jhheider force-pushed the restore-fat-docker branch from 5208210 to 56bc6a6 Compare July 3, 2026 18:56
@jhheider jhheider merged commit 614dca6 into main Jul 3, 2026
7 checks passed
@jhheider jhheider deleted the restore-fat-docker branch July 3, 2026 18:58
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants