Loading...
Loading...
Compare original and translation side by side
/release/releasemaingh run list --workflow=ci.yml --branch=main --limit=1 --json status,conclusion --jq '.[0]'conclusionsuccessLAST_TAG=$(git describe --tags --abbrev=0 2>/dev/null || echo "")maingh run list --workflow=ci.yml --branch=main --limit=1 --json status,conclusion --jq '.[0]'conclusionsuccessLAST_TAG=$(git describe --tags --abbrev=0 2>/dev/null || echo "")
Report result as **PASS**, **FAIL**, or **SKIP** (if no changes in those paths).
结果报告为**通过**、**失败**或**跳过**(如果这些路径没有变更)。cargo test --lockedcargo test --lockedcargo clippy -- -D warningscargo clippy -- -D warningscargo fmt --checkcargo fmt --checkLAST_TAG=$(git describe --tags --abbrev=0 2>/dev/null || echo "")
if [ -n "$LAST_TAG" ]; then
git log "$LAST_TAG"..HEAD --oneline --no-merges
figh pr list --state merged --search "<commit-sha>" --json number --jq '.[0].number'LAST_TAG=$(git describe --tags --abbrev=0 2>/dev/null || echo "")
if [ -n "$LAST_TAG" ]; then
git log "$LAST_TAG"..HEAD --oneline --no-merges
figh pr list --state merged --search "<commit-sha>" --json number --jq '.[0].number'docs/content/docs/hrefdocs/content/docs/hrefTODO.mdtodo/TODO.mdtodo/SECURITY_EXCEPTIONS.mdSECURITY_EXCEPTIONS.mdLAST_TAG=$(git describe --tags --abbrev=0 2>/dev/null || echo "")
CONSTRUCT_CHANGED=$(git diff --name-only "$LAST_TAG"..HEAD -- docker/construct/ 2>/dev/null)
RUNTIME_CHANGED=$(git diff --name-only "$LAST_TAG"..HEAD -- docker/runtime/ 2>/dev/null)construct.ymlLAST_TAG=$(git describe --tags --abbrev=0 2>/dev/null || echo "")
CONSTRUCT_CHANGED=$(git diff --name-only "$LAST_TAG"..HEAD -- docker/construct/ 2>/dev/null)
RUNTIME_CHANGED=$(git diff --name-only "$LAST_TAG"..HEAD -- docker/runtime/ 2>/dev/null)construct.ymlRelease Readiness Report
========================
✓ CI: all workflows green
✓ Local tests: N passed, 0 failed
✓ Clippy: no warnings
✓ Format: clean
⚠ Direct commits: N commits since vX.Y.Z not from PRs
- <sha> <message>
✓ Doc links: all valid
✓ TODOs: up to date
? Security exceptions: review required (N items)
✓ Docker: builds pass (or: no changes, skipped)
Result: PASS | REVIEW NEEDED | FAIL发布就绪报告
========================
✓ CI:所有工作流运行成功
✓ 本地测试:N项通过,0项失败
✓ Clippy:无警告
✓ 格式:符合规范
⚠ 直接提交:自vX.Y.Z以来有N项提交未来自PR
- <提交哈希> <提交信息>
✓ 文档链接:全部有效
✓ TODO项:时效性正常
? 安全例外项:需审核(共N项)
✓ Docker:构建通过(或:无变更,已跳过)
结果:通过 | 需审核 | 失败| Check | Failure behavior |
|---|---|
| CI status | BLOCK — cannot release with red CI |
| Local tests | BLOCK — cannot release with failing tests |
| Clippy | BLOCK — cannot release with clippy errors |
| Format | BLOCK — cannot release with fmt violations |
| Direct commits | WARN — show list, do not block |
| Doc links | WARN — show broken links, do not block |
| TODO freshness | WARN — show stale items, do not block |
| Security exceptions | REVIEW — ask user, block only if user says "no" |
| Docker builds | BLOCK if changed and CI failed; SKIP if unchanged |
| 检查项 | 失败行为 |
|---|---|
| CI状态 | 阻塞 — CI失败时无法发布 |
| 本地测试 | 阻塞 — 测试失败时无法发布 |
| Clippy检查 | 阻塞 — Clippy报错时无法发布 |
| 格式检查 | 阻塞 — 格式违规时无法发布 |
| 直接提交 | 警告 — 列出提交,不阻塞 |
| 文档链接 | 警告 — 列出失效链接,不阻塞 |
| TODO项时效性 | 警告 — 列出过期项,不阻塞 |
| 安全例外项 | 需审核 — 询问用户,仅当用户回答“否”时阻塞 |
| Docker构建 | 若有变更且CI失败则阻塞;若无变更则跳过 |