Skip to content

Add GHCR Docker container build for multi-arch binaries#574

Merged
jgarzik merged 2 commits intomainfrom
updates
Apr 3, 2026
Merged

Add GHCR Docker container build for multi-arch binaries#574
jgarzik merged 2 commits intomainfrom
updates

Conversation

@jgarzik
Copy link
Copy Markdown
Contributor

@jgarzik jgarzik commented Apr 3, 2026

Multi-stage Dockerfile (cargo-chef caching, ubuntu:24.04 runtime) packages all 130+ POSIX utilities. CI workflow builds natively on amd64 + arm64 runners, pushes multi-arch manifest to ghcr.io on main/tags.

Multi-stage Dockerfile (cargo-chef caching, ubuntu:24.04 runtime) packages
all 130+ POSIX utilities. CI workflow builds natively on amd64 + arm64
runners, pushes multi-arch manifest to ghcr.io on main/tags.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
@jgarzik jgarzik requested a review from Copilot April 3, 2026 15:25
@jgarzik jgarzik self-assigned this Apr 3, 2026
Copy link
Copy Markdown

Copilot AI left a comment

Choose a reason for hiding this comment

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

Pull request overview

Adds containerization and CI publishing for posixutils-rs so the full workspace can be built into a multi-arch GHCR image suitable for running the project’s utilities in a minimal runtime container.

Changes:

  • Add a multi-stage Dockerfile that builds all workspace binaries and installs them into an Ubuntu 24.04 runtime image.
  • Add a docker-compose service for local interactive use of the container.
  • Add a GitHub Actions workflow to build amd64/arm64 images and publish a multi-arch manifest to GHCR (non-PR events).

Reviewed changes

Copilot reviewed 4 out of 4 changed files in this pull request and generated 4 comments.

File Description
Dockerfile Multi-stage build using cargo-chef; copies all built binaries into a runtime image and sets up basic symlinks/user.
docker-compose.yml Local compose entry to build/run the image interactively with the repo mounted read-only.
.github/workflows/container.yml CI workflow to build per-arch images, upload digests, and merge into a multi-arch manifest with tags.
.dockerignore Shrinks build context by excluding artifacts/VCS/IDE/CI/docs.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
@jgarzik jgarzik merged commit 048ce85 into main Apr 3, 2026
9 checks passed
@jgarzik jgarzik deleted the updates branch April 3, 2026 15:58
@jgarzik jgarzik mentioned this pull request Apr 3, 2026
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