迁移自 mu-ref/est-ci-reusable(模板三修复版:est-bundle CA、verify 解释器 无关、build-arg 无内嵌引号、revision-arg-name、install+quality 单容器、 verdaccio add-host)+ Est-Infra 的 source-policy/REGISTER/ci-stats 上移; 全部去项目专名。架构依据 coordination runbooks/ci-repo-architecture.md。
38 lines
1.9 KiB
Markdown
38 lines
1.9 KiB
Markdown
# est/ci-workflows
|
||
|
||
公司级 CI 共享资产(est org)——跨项目复用的 reusable workflow 模板与工具。
|
||
架构决策与铁律见 coordination `runbooks/ci-repo-architecture.md`(2026-08-27 用户拍板)。
|
||
|
||
## 内容
|
||
|
||
| 路径 | 用途 |
|
||
|---|---|
|
||
| `.gitea/workflows/reusable/checkout.yml` | 统一 checkout(mu-ref/actions-checkout + CA + HEAD==SHA 守卫;host job 专用) |
|
||
| `.gitea/workflows/reusable/node-quality.yml` | node 质量门(digest helper、持久缓存、rank 源序) |
|
||
| `.gitea/workflows/reusable/oci-build-push-verify.yml` | 镜像构建+推送+verify-command 校验链 |
|
||
| `tools/ci/source-policy.sh` | 唯一选源实现(公司级 canonical) |
|
||
| `tools/ci/helper/REGISTER.md` | ci-node-* helper 镜像 digest 注册 |
|
||
| `tools/ci/stats.sh` | Gitea Actions 运行统计(REPOS 必填) |
|
||
|
||
## 铁律
|
||
|
||
1. 本仓**不得出现项目专名**(reef/seabed 等)与任何 secrets——项目参数(矩阵、build args、verify 期望值)一律由调用方 `with:`/`secrets: inherit` 传入。
|
||
2. workflow 文件只保留 `workflow_call` 触发(不可直接触发);`has_actions=false`。
|
||
3. **版本化调用**:调用方一律 `uses: est/ci-workflows/.gitea/workflows/reusable/<name>.yml@vN`;重大变更升新 tag 并逐项目回归。
|
||
4. 可见性:limited(org 成员可读,匿名不可读)。跨仓 reusable 读取按触发用户 token 校验——调用方触发者须为 est org 成员。
|
||
|
||
## 调用样例
|
||
|
||
```yaml
|
||
jobs:
|
||
quality:
|
||
uses: https://git.moneywood.site/est/ci-workflows/.gitea/workflows/reusable/node-quality.yml@v1
|
||
with: { ... }
|
||
secrets: inherit
|
||
```
|
||
|
||
## 迁移与同步
|
||
|
||
- 2026-08-27 自 mu-ref/est-ci-reusable(已删)与 est/Est-Infra 上移建立;Est-Infra 留 README 指针。
|
||
- helper Dockerfile 的可复现 bake 与 ops 巡检脚本仍属项目级(Est-Infra / gitea-host-setup)。
|