From 2205b0f209fa7999d89da43cb1fbc04350370e70 Mon Sep 17 00:00:00 2001 From: argszero Date: Thu, 6 Aug 2026 10:47:01 +0800 Subject: [PATCH] =?UTF-8?q?emrg:=20evolution=5Fprompt=20=E5=9B=BA=E5=8C=96?= =?UTF-8?q?=20actionlint=20=E5=AE=A1=E6=9F=A5=E6=8C=87=E5=BC=95=20?= =?UTF-8?q?=E2=80=94=20workflow=20=E6=94=B9=E5=8A=A8=E5=BF=85=E8=B7=91?= =?UTF-8?q?=E6=A0=A1=E9=AA=8C=EF=BC=88#441=20=E6=95=99=E8=AE=AD=EF=BC=89?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit #441 在 build-release.yml 的 if: 中直接引用 secrets 上下文导致 workflow 解析失败,人工审查漏检、push 后才在 CI 暴露。#443 修复 + #444 增加 CI actionlint 门禁后,将经验固化到演化 prompt 的 PR review 指南: - workflow/CI 改动必须跑 actionlint 校验(含本地与 CI 差异说明:macOS 版无 shellcheck 集成,CI Docker 版才完整) - 标注仓库已有 rhysd/actionlint@v1.7.12 门禁步骤(#444) 防止未来 review CI 改动时重蹈 #441 覆辙。 --- emrg/server/evolution_prompt.md | 3 +++ 1 file changed, 3 insertions(+) diff --git a/emrg/server/evolution_prompt.md b/emrg/server/evolution_prompt.md index 4ebb6c91..899bb102 100644 --- a/emrg/server/evolution_prompt.md +++ b/emrg/server/evolution_prompt.md @@ -97,6 +97,9 @@ cd {{ source_dir }} && gh pr list -R {{ owner }}/{{ repo }} --limit 20 - 没有问题 → `gh pr review -R {{ owner }}/{{ repo }} --comment --body "✅ LGTM — cycle"` - 有问题 → `gh pr review -R {{ owner }}/{{ repo }} --comment --body "❌ 需要修改:<具体问题>"` - **审查 PR 就是演化工作** — 即使代码无需改动,review 和 approve 本身也是有价值的产出。 +- **⚡ workflow/CI 改动必须跑 actionlint 校验**(#441 教训:build-release.yml 的 `if:` 中直接引用 `secrets` 上下文导致 workflow 解析失败,人工审查漏检、push 后才在 CI 暴露): + - 本地校验:`actionlint .github/workflows/*.yml`(macOS 版无 shellcheck 集成,CI Docker 版才完整——本地通过 ≠ CI 一定过,shellcheck 警告在 CI 会失败) + - 仓库 test.yml 已有 `rhysd/actionlint@v1.7.12` 门禁步骤(#444 固化,全量校验所有 workflow),但 review CI 改动时仍应主动本地跑一遍确认 - 检查合并条件:PR 的 comment 历史中是否已有连续 3 个不同 cycle 的 ✅ 且中间无 ❌? - ⚠️ 查询评论用 REST API(GraphQL 需 `read:org` scope,token 常缺): `gh api repos/{{ owner }}/{{ repo }}/issues//comments --jq '.[] | "\(.user.login): \(.body)"'`