# PR #26273 完整报告

- 仓库：`sgl-project/sglang`
- 标题：ci: add nightly Docker workflow for experimental sgl-router
- 合并时间：2026-05-25 16:19
- 原文链接：http://prhub.com.cn/sgl-project/sglang/pull/26273

---

# 执行摘要

- 一句话：新增 experimental sgl-router 每日 Docker 构建 CI
- 推荐动作：该 PR 是基础设施增强，值得合并。建议后续考虑多架构构建和镜像版本标签策略。

# 功能与动机

为仍在 experimental/ 目录下孵化的 sgl-router 提供稳定的 nightly 镜像标签，方便下游用户固定版本使用，同时保持与未来正式发布流程分离。

# 实现拆解

1. 新建 `.github/workflows/nightly-experimental-sgl-router-docker.yml` 工作流文件。
2. 配置调度触发器：cron `0 2 * * *`（每天 UTC 02:00）+ `workflow_dispatch` 手动触发。
3. 设置 concurrency 组（按工作流名称）并启用 `cancel-in-progress: true`，避免重复运行。
4. 添加 `if: github.repository == 'sgl-project/sglang'` 守卫，防止 fork 仓库误触发。
5. 使用 `docker/setup-buildx-action@v3` 和 `docker/login-action@v3` 登录 Docker Hub，复用仓库已有的 `DOCKERHUB_USERNAME`/`DOCKERHUB_TOKEN` 密钥。
6. 执行 `docker buildx build` 命令，指定 amd64 平台、复用 `docker/sgl-router.Dockerfile`，推送至 `lmsysorg/sglang-staging:experimental-router-dev` 标签。

关键文件：
- `.github/workflows/nightly-experimental-sgl-router-docker.yml`（模块 CI 配置；类别 infra；类型 infrastructure）: 新增的 nightly CI 工作流，定义了构建和推送 experimental sgl-router Docker 镜像的全部步骤。

关键符号：未识别


# 评论区精华

无 review 讨论。

- 暂无高价值评论线程

# 风险与影响

- 风险：
 1. 若 Docker Hub 密钥失效或仓库不存在，构建推送会失败，但不会影响其他工作流。
 2. 仅构建 amd64，未覆盖多架构（如 arm64），可能限制部分用户。
 3. 镜像标签固定为 `experimental-router-dev`，不保留历史版本，回滚需手动重新构建。
- 影响：
 1. 对用户：提供可用的 nightly 镜像，方便测试和集成。
 2. 对系统：新增 CI 工作流，每天一次构建，资源消耗低。
 3. 对团队：增加 CI 维护点，但工作流简单，风险可控。
 - 风险标记：仅 amd64 架构 , 镜像标签固定，无版本管理 , 依赖 Docker Hub 密钥

# 关联脉络

- PR #25851 sgl-router: experimental Rust HTTP router for SGLang worker pools: 该 PR 引入了 experimental sgl-router，本 PR 为其提供 nightly Docker 构建支持，属于同一功能线。
- PR #26279 fix(docker): generate Cargo.lock in chef stage for sgl-router build: 修复 sgl-router Docker 构建的问题，本 PR 复用了相同的 docker/sgl-router.Dockerfile。