-
Notifications
You must be signed in to change notification settings - Fork 0
Epic: Upstream riscv64 contributions for all Docker stack components #342
Description
Context
The RISE Developers Appreciation Program rejected our Docker fork submission because the program rewards upstream contributions, not fork work. The maintainer's feedback:
We unfortunately do not accept contributions to forks. [...] If any OSS project that Docker depends on requires changes for riscv64, and these are open to contributions upstream, these are good projects to contribute to and we would be very happy to reward these contributions.
This epic tracks upstream contribution opportunities for each component in our Docker riscv64 stack.
Components & Upstream Status
Verified: Already shipping riscv64 upstream (2026-03-12)
These components already include riscv64 in their official release artifacts — no contribution needed:
- runc — ships
runc.riscv64since v1.1.8 - containerd — ships
containerd-*-linux-riscv64.tar.gzsince v2.2.2 - BuildKit — ships
buildkit-*-linux-riscv64.tar.gzsince v0.28.0 - BuildX — ships
buildx-*.linux-riscv64since v0.32.1 - Docker Compose — ships
docker-compose-linux-riscv64since v5.1.0
Issues filed on these repos were closed after verification.
In progress
-
Docker CLI — https://github.com/docker/cli
- Upstream issue: docker/cli#6857
- PR: docker/cli#6858 — add
linux/riscv64tobin-image-cross(one-line change) - Fork: gounthar/cli
- Status: riscv64 already in
_platforms(builds work), just excluded from release image target
-
Moby / Docker Engine — https://github.com/moby/moby
- Upstream issue: moby/moby#44319 (open since 2022, commented 2026-03-12)
- Fork: gounthar/moby
- Status: Dockerfile has riscv64 awareness, but
_platforms,binary-smoketest, andbin-image-crossindocker-bake.hclexclude it. Three-line change needed.
-
Tini — https://github.com/krallin/tini
- Upstream issue: krallin/tini#239 (by someone else, commented 2026-03-12)
- Fork: gounthar/tini
- Status: No riscv64 release binaries, last release 2020 — maintainer may be unresponsive
Not a candidate
- Docker Agent (cagent) — internal Docker Inc. tooling
Strategy
Priority Order
Easiest wins→ Discovered 5/8 already ship riscv64 ✅- Docker CLI → PR submitted, awaiting review
- Moby → Next PR target (three-line
docker-bake.hclchange) - Tini → Wait for maintainer response before investing effort
For Each Component
Check if riscv64 issue already exists upstream✅ Done (2026-03-12)Fork if not already done✅ Done (2026-03-12)- Create branch with minimal changes (CI config, Dockerfile platform list)
- Test on BananaPi F3, document results
- Open upstream PR with test evidence
Evidence to Provide
Each upstream PR should include:
- Build logs from native riscv64 hardware
- Test results (unit tests, integration tests)
- Binary size and basic functionality verification
- Hardware used (BananaPi F3, SpacemiT K1, rv64gc)
Already Done
- Jenkins Docker Agents — PR #1172 merged, released, submitted to RISE
- Docker CLI — PR docker/cli#6858 submitted
Related
- RISE rejection feedback: Docker for RISC-V 64-bit: full stack port with packaging and CI/CD Rise-dev-appreciation/Rise-dev-appreciation#28
- Jenkins Docker Agents success: Jenkins Docker Agents - RISC-V 64-bit Support Rise-dev-appreciation/Rise-dev-appreciation#31
- Docker fork repo: https://github.com/gounthar/docker-for-riscv64