# PR #45865 完整报告

- 仓库：`vllm-project/vllm`
- 标题：[CI] Run pre-commit on self-hosted vllm-runners
- 合并时间：2026-06-17 10:49
- 原文链接：http://prhub.com.cn/vllm-project/vllm/pull/45865

---

# 执行摘要

- 一句话：pre-commit 迁移到自托管 vllm-runners
- 推荐动作：该 PR 是基础设施迁移的简单变更，值得关注的是如何使用 actionlint 配置自定义运行器标签以及通过 shellcheck-py 避免环境依赖问题。对于其他团队的自托管迁移有参考价值。

# 功能与动机

为了将 pre-commit 任务迁移到自托管运行器组 vllm-runners，以减少对 GitHub 托管运行器的依赖，并统一基础设施。PR body 明确说明“Run the pre-commit job on the self-hosted vllm-runners runner group instead of GitHub-hosted ubuntu-latest”，并指出安全由 pre-run-check 门控机制保障。

# 实现拆解

1. **修改 pre-commit 工作流 **（`.github/workflows/pre-commit.yml`）：将 `runs-on` 从 `ubuntu-latest` 改为 `[self-hosted, linux, x64, vllm-runners]`，使作业定向到自托管运行器。
2. **安装 shellcheck-py**：在步骤中新增 `python -m pip install shellcheck-py==0.10.0.1`，避免自托管镜像上因缺少 `wget`/`xz` 而无法执行 shellcheck 脚本。
3. **新增 actionlint 配置 **（`.github/actionlint.yaml`）：声明自定义运行器标签 `vllm-runners`，使 actionlint 不会在 CI 检查中将其标记为未知标签。

关键文件：
- `.github/workflows/pre-commit.yml`（模块 CI 配置；类别 infra；类型 infrastructure）: 核心变更文件：将 runs-on 改为自托管运行器，并添加 shellcheck-py 安装步骤。
- `.github/actionlint.yaml`（模块 ActionLint 配置；类别 infra；类型 infrastructure）: 新增文件：声明自托管运行器标签，避免 actionlint 误报。

关键符号：未识别

## 关键源码片段

### `.github/actionlint.yaml`

新增文件：声明自托管运行器标签，避免 actionlint 误报。

```yaml
# .github/actionlint.yaml
# 自定义自托管运行器标签（例如自动伸缩的 vllm-runners 池），
# 使 actionlint 不会在 `runs-on` 中将其标志为未知。
self-hosted-runner:
  labels:
    - vllm-runners

```

# 评论区精华

无 review 评论。说明变更直接、无争议。

- 暂无高价值评论线程

# 风险与影响

- 风险：**安全风险**：自托管运行器执行不受信任的 PR 代码，但已通过 pre-run-check 门控（需 `ready`/`verified` 标签或作者有 ≥4 个合并 PR）降低风险。**功能风险**：若自托管运行器镜像缺少 Python 3.12 或 git，作业可能失败，但 PR 文档中已明确提出依赖。**潜在性能影响**：减轻对 GitHub 公共运行器的依赖，提高 vLLM 基础设施的自主可控性。
- 影响：影响范围限于 CI 基础设施：pre-commit 检查将不再使用 GitHub 托管运行器，而是使用 vLLM 自托管资源。对用户无直接影响，但对 vLLM 维护者而言，需要确保自托管运行器满足软件依赖。
- 风险标记：依赖自托管运行器环境 , 安全门控依赖 pre-run-check

# 关联脉络

- 暂无明显关联 PR