feat: refactor sgclaw around zeroclaw compat runtime

This commit is contained in:
zyl
2026-03-26 16:23:31 +08:00
parent bca5b75801
commit ff0771a83f
1059 changed files with 409460 additions and 23 deletions

View File

@@ -0,0 +1,79 @@
# Actions 源政策
本文档定义了本仓库当前的 GitHub Actions 源代码控制政策。
## 当前政策
- 仓库 Actions 权限:已启用
- 允许的 Actions 模式:已选择
已选白名单质量门控、Beta 发布和稳定发布工作流中当前使用的所有 Actions
| Action | 使用位置 | 目的 |
|--------|---------|---------|
| `actions/checkout@v4` | 所有工作流 | 仓库检出 |
| `actions/upload-artifact@v4` | release、promote-release | 上传构建产物 |
| `actions/download-artifact@v4` | release、promote-release | 下载构建产物用于打包 |
| `dtolnay/rust-toolchain@stable` | 所有工作流 | 安装 Rust 工具链1.92.0 |
| `Swatinem/rust-cache@v2` | 所有工作流 | Cargo 构建/依赖缓存 |
| `softprops/action-gh-release@v2` | release、promote-release | 创建 GitHub Releases |
| `docker/setup-buildx-action@v3` | release、promote-release | Docker Buildx 设置 |
| `docker/login-action@v3` | release、promote-release | GHCR 认证 |
| `docker/build-push-action@v6` | release、promote-release | 多平台 Docker 镜像构建和推送 |
等效的白名单模式:
- `actions/*`
- `dtolnay/rust-toolchain@*`
- `Swatinem/rust-cache@*`
- `softprops/action-gh-release@*`
- `docker/*`
## 工作流
| 工作流 | 文件 | 触发条件 |
|----------|------|---------|
| 质量门控 | `.github/workflows/checks-on-pr.yml` | 指向 `master` 的拉取请求 |
| Beta 发布 | `.github/workflows/release-beta-on-push.yml` | 推送到 `master` |
| 稳定发布 | `.github/workflows/release-stable-manual.yml` | 手动 `workflow_dispatch` |
## 变更控制
记录每个政策变更时包含:
- 变更日期/时间UTC
- 操作者
- 原因
- 白名单变更(新增/移除的模式)
- 回滚说明
使用以下命令导出当前有效政策:
```bash
gh api repos/zeroclaw-labs/zeroclaw/actions/permissions
gh api repos/zeroclaw-labs/zeroclaw/actions/permissions/selected-actions
```
## 护栏
- 任何新增或变更 `uses:` Action 源的 PR 必须包含白名单影响说明。
- 新的第三方 Action 在加入白名单前需要显式的维护者评审。
- 仅为验证过的缺失 Action 扩展白名单;避免宽泛的通配符例外。
## 变更日志
- 2026-03-10重命名工作流 — CI → 质量门控(`checks-on-pr.yml`、Beta 发布 → Release Beta`release-beta-on-push.yml`)、升级发布 → Release Stable`release-stable-manual.yml`)。向质量门控添加了 `lint``security` 作业。添加了跨平台构建(`cross-platform-build-manual.yml`)。
- 2026-03-05完整工作流重构 — 将 22 个工作流替换为 3 个CI、Beta 发布、升级发布)
- 移除不再使用的模式:`DavidAnson/markdownlint-cli2-action@*``lycheeverse/lychee-action@*``EmbarkStudios/cargo-deny-action@*``rustsec/audit-check@*``rhysd/actionlint@*``sigstore/cosign-installer@*``Checkmarx/vorpal-reviewdog-github-action@*``useblacksmith/*`
- 新增:`Swatinem/rust-cache@*`(替代 `useblacksmith/*` rust-cache 分支)
- 保留:`actions/*``dtolnay/rust-toolchain@*``softprops/action-gh-release@*``docker/*`
- 2026-03-05CI 构建优化 — 添加了 mold 链接器、cargo-nextest、CARGO_INCREMENTAL=0
- 由于 GHA 缓存后端不稳定导致构建失败,移除了 sccache
## 回滚
紧急解除阻塞路径:
1. 临时将 Actions 政策设置回 `all`
2. 识别缺失条目后恢复选中的白名单。
3. 记录事件和最终白名单变更。