mirror of
https://github.com/iflytek/skillhub.git
synced 2026-08-27 11:14:59 +00:00
Some checks failed
Security / Dependency Review (push) Waiting to run
Security / CodeQL (java-kotlin) (push) Waiting to run
Security / CodeQL (javascript-typescript) (push) Waiting to run
Security / CodeQL (python) (push) Waiting to run
Deploy Docs / build (push) Has been cancelled
Deploy Docs / Deploy (push) Has been cancelled
* 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>
51 lines
2.2 KiB
Markdown
51 lines
2.2 KiB
Markdown
# 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:
|
|
|
|
```bash
|
|
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.
|