* feat: add initial RISC-V image support Signed-off-by: FenjuFu <92919259+FenjuFu@users.noreply.github.com> * chore(ci): tighten riscv64 image guardrails Signed-off-by: XiaoSeS <87064762+XiaoSeS@users.noreply.github.com> --------- Signed-off-by: FenjuFu <92919259+FenjuFu@users.noreply.github.com> Signed-off-by: XiaoSeS <87064762+XiaoSeS@users.noreply.github.com> Co-authored-by: XiaoSeS <87064762+XiaoSeS@users.noreply.github.com>
2.2 KiB
RISC-V (linux/riscv64) support
Current scope
RISC-V support is incremental. The SkillHub server and web images have
linux/riscv64 build and runtime paths. The security scanner and the complete
Docker Compose deployment are not yet supported on RISC-V.
| Component | linux/riscv64 status |
Notes |
|---|---|---|
skillhub-server |
Supported | The architecture-neutral Java 21 JAR is built on the Buildx host and copied into the target-architecture Eclipse Temurin runtime. |
skillhub-web |
Supported | Static assets are built on the Buildx host and served by a target-architecture Nginx runtime. |
skillhub-scanner |
Not yet verified | Its Python dependency tree still needs a native-extension and runtime audit. |
| PostgreSQL 16 and Redis 7 | Upstream images available | Keep these images explicitly pinned and verify them on the target board before production use. |
| Complete Compose stack | Unsupported | compose.release.yml starts the unverified scanner, so do not deploy it unchanged on RISC-V. |
Build the supported images
Buildx can create both images from an AMD64 or ARM64 host. Register a RISC-V QEMU handler before running these commands when the host is not RISC-V:
docker run --privileged --rm tonistiigi/binfmt --install riscv64
docker buildx create --use --name skillhub-riscv64
docker buildx build \
--platform linux/riscv64 \
--file server/Dockerfile \
--tag skillhub-server:riscv64 \
--load \
server
docker buildx build \
--platform linux/riscv64 \
--file web/Dockerfile \
--tag skillhub-web:riscv64 \
--load \
web
The release workflow publishes linux/amd64, linux/arm64, and
linux/riscv64 variants for skillhub-server and skillhub-web. The scanner
remains limited to its existing AMD64/ARM64 platform list.
Verification boundary
The pull-request workflow builds both supported target images, checks their OCI architecture metadata, and executes the Java and Nginx runtimes under RISC-V emulation. This is a component-image guardrail, not a full-stack integration test. A native RISC-V smoke test with PostgreSQL, Redis, object storage, and a verified scanner remains required before claiming complete deployment support.