Skip to content

NOISSUE - use golang:1.26 builder to support riscv64 platform#204

Open
JeffMboya wants to merge 5 commits into
absmach:mainfrom
JeffMboya:fix/dockerfile-riscv64-builder
Open

NOISSUE - use golang:1.26 builder to support riscv64 platform#204
JeffMboya wants to merge 5 commits into
absmach:mainfrom
JeffMboya:fix/dockerfile-riscv64-builder

Conversation

@JeffMboya
Copy link
Copy Markdown
Contributor

@JeffMboya JeffMboya commented May 6, 2026

What type of PR is this?

Bug fix: multi-platform Docker build failing for riscv64.

What does this do?

  • Switches builder from golang:1.26-bookworm to golang:1.26 (bookworm has no riscv64 manifest).
  • Adds debian:sid-slim as the final stage for riscv64 (distroless/cc-debian12 has no riscv64 manifest).
  • Sets CGO_ENABLED=0 for manager on riscv64wasmtime-go/v44 does not bundle a prebuilt libwasmtime.a for riscv64.
  • Skips registry push on PR runs to avoid denied: installation not allowed to Write organization package.

Which issue(s) does this PR fix/relate to?

No related issue.

Have you included tests for your changes?

No tests needed; these are build and CI configuration changes only.

Did you document any new/modified features?

No documentation needed.

Notes

golang:1.26 defaults to bookworm for amd64/arm64, so runtime behaviour is unchanged there.

⚠️ Caveat: wasm plugin system is disabled on riscv64

The manager's wasm plugin feature relies on wasmtime-go/v44, which embeds prebuilt libwasmtime.a C libraries. Although wasmtime v44.0.0 itself ships a riscv64gc-linux-c-api release asset, wasmtime-go/v44 does not bundle it — the Go binding's build/ directory only includes:

Platform Bundled in wasmtime-go
linux/amd64
linux/arm64
macos/amd64
macos/arm64
windows/amd64
linux/riscv64 ❌ (library exists upstream, not bundled)

References:

On riscv64, the manager builds with CGO_ENABLED=0 and any call to LoadWasm returns:
wasm plugin support requires CGO; rebuild with CGO_ENABLED=1

All other manager functionality (task scheduling, proplet management, MQTT, HTTP API) is unaffected.

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.

1 participant