chore(ci): tighten riscv64 image guardrails

Signed-off-by: XiaoSeS <87064762+XiaoSeS@users.noreply.github.com>
This commit is contained in:
XiaoSeS 2026-08-24 15:21:54 +08:00
parent 23741764a3
commit 2042ff6502
6 changed files with 12 additions and 9 deletions

View file

@ -4,6 +4,7 @@ on:
pull_request:
paths:
- '.github/workflows/riscv64-images.yml'
- '.github/workflows/publish-images.yml'
- 'server/**'
- 'web/**'
workflow_dispatch:

View file

@ -236,7 +236,9 @@ frontend schema, and fails if the checked-in SDK is stale.
Published runtime images are built by GitHub Actions and pushed to GHCR.
This is the supported path for anyone who wants a ready-to-use local
environment without building the backend or frontend on their machine.
Published images target both `linux/amd64` and `linux/arm64`.
Published server and web images target `linux/amd64`, `linux/arm64`, and
`linux/riscv64`; the scanner image currently targets `linux/amd64` and
`linux/arm64`.
**Quick deployment with curl:**

View file

@ -136,7 +136,8 @@ skillhub/
- 开发路径:`make dev-all`。前后端在宿主机运行,`docker-compose.yml` 只负责 PostgreSQL、Redis、MinIO。
- 交付路径GitHub Actions 构建并发布 `server` / `web` 镜像;用户通过 `compose.release.yml` 在本地一键拉起前后端容器和基础服务。
- 发布镜像为多架构 manifest至少覆盖 `linux/amd64``linux/arm64`
- 发布镜像为多架构 manifest`server` / `web` 覆盖 `linux/amd64``linux/arm64`
`linux/riscv64``scanner` 暂保持 `linux/amd64``linux/arm64`
单机运行时统一入口:
- `http://localhost/` → Web 容器Nginx
@ -169,7 +170,8 @@ skillhub/
- 数据库迁移Flyway
- 认证Spring Security OAuth2 Client一期 GitHub
- 镜像发布GitHub Actions 推送至 GHCR默认维护 `edge` 与语义化版本标签
- 运行时兼容:发布镜像默认输出 `linux/amd64` + `linux/arm64` 多架构 manifest
- 运行时兼容:`server` / `web` 发布镜像默认输出 `linux/amd64` + `linux/arm64` +
`linux/riscv64` 多架构 manifest`scanner` 暂保持 `linux/amd64` + `linux/arm64`
## 11. Repository / Query Boundary 约定

View file

@ -10,7 +10,8 @@
- 单机交付环境:`docker compose --env-file .env.release -f compose.release.yml up -d`
- 前端和后端都运行在容器内
- 使用 GitHub Actions 发布到 GHCR 的镜像
- 默认发布 `linux/amd64``linux/arm64` 多架构镜像
- 默认发布多架构镜像:`server` / `web` 覆盖 `linux/amd64``linux/arm64`
`linux/riscv64``scanner` 暂保持 `linux/amd64``linux/arm64`
- PostgreSQL、Redis 与应用容器一起通过 Compose 启动
不再维护本地构建整套 demo 容器的中间模式,也不再保留 `docker-compose.prod.yml`
@ -205,7 +206,8 @@ Sentinel 配置优先于 Cluster 和单机 `host`/`port`。在 Kubernetes 等 Se
- `ghcr.io/iflytek/skillhub-server`
- `ghcr.io/iflytek/skillhub-web`
5. 写入 `edge` / `vX.Y.Z` / `latest` / `sha-*` 标签
6. 同时发布 `linux/amd64``linux/arm64` manifest避免 Apple Silicon / ARM 主机依赖模拟层
6. 同时发布多架构 manifest`server` / `web` 覆盖 `linux/amd64``linux/arm64`
`linux/riscv64``scanner` 暂保持 `linux/amd64``linux/arm64`
## 7 配置管理

View file

@ -1,5 +1,3 @@
# syntax=docker/dockerfile:1
# Build the architecture-neutral JAR on the Buildx host. This avoids emulating
# the complete Maven build when the target image is linux/riscv64.
FROM --platform=$BUILDPLATFORM eclipse-temurin:21-jdk-alpine AS build

View file

@ -1,5 +1,3 @@
# syntax=docker/dockerfile:1
# The frontend output is static and architecture-neutral. Build it on the
# Buildx host so linux/riscv64 does not depend on a target-architecture Node.js
# image; only the multi-architecture Nginx runtime is target-specific.