Skip to content

alpha-ci:bun test (app rolling pin) 缺 !cancelled(),前一步一红它就被折成 skipped #997

Closed as not planned

Description

@jinjunnn

Refs #976

缺陷

.github/workflows/alpha-ci.yml 的 test job 里:

      - name: bun test (app rolling pin, alpha 判据入门)
        if: needs.detect.outputs.code == 'true'          # ← 缺 !cancelled()
        run: bash scripts/bun-test-app.sh
      - name: assert gate files (逐个点名,整包地板抓不到单文件消失)
        if: ${{ !cancelled() && needs.detect.outputs.code == 'true' }}   # ← 有防护
        run: bash scripts/assert-gate-files.sh

GitHub step 的默认条件是 success()。写了自定义 if: 但没带 !cancelled() 时,前一步(bun test (ui-mac))一红,这一步就被折成 skipped —— 而 skipped 在 job 结论里不是红。

⇒ ui-mac 一红,packages/app 那半场的 alpha 判据(53 条逐文件精确条数 + 两轴交叉)就整批不执行,而没有任何地方说它没跑。与 #777 治过的「一步失败带走 77 个登记闸门」同形;同 job 里的 assert gate files 正是那次修好的、带着防护的对照。

修法

给该步补上 !cancelled(),与相邻那一步写法一致:

        if: ${{ !cancelled() && needs.detect.outputs.code == 'true' }}

顺带查一遍同 job 里其余带自定义 if: 的判据步是否有同类缺口(枚举对新成员默认放行,这一类最好由 local-gate-parity.test.ts 从形状上收口:凡「跑判据脚本」的步骤都必须带 !cancelled())。

P2。

Activity

  1. jinjunnn commented on Sep 17, 2026

    @jinjunnn
    OwnerAuthor

    票面清理(2026-09-16):关闭 —— 过度工程,不适合当前项目。

    关闭理由:票里说 CI 的测试任务里,前一步界面测试一失败,后面「前端测试」那一步就被跳过。实查属实,但它不会造成假绿:前一步失败时整个任务已经是红的,合并照样被拦;被跳过的只是「同一轮里顺便看到前端测试的结果」。而且合并前真正依据的是本机门,本机门那一步在前一项失败时同样整体判红。所以不修的代价只是修好界面测试后要再跑一轮才看到前端测试结果,不影响 owner 能看到的任何行为。

    依据:

    • 现状:.github/workflows/alpha-ci.yml:291-293(该步 if 仍无 !cancelled()),对照 :313-314
    • 任务仍红:同 job 前一步 :278-283 失败即 job 失败
    • 本机门:scripts/alpha-check.sh:166-174([5/14] 以 && 串联,任一失败 fail=1)
    • 合并依据是本机门:alpha-work CLAUDE.md《Verify CI locally; never wait on GitHub Actions》

    什么时候重开:出现过一次前端测试的真实失败因为这一跳被拖过了合并。顺带:下次改这个 workflow 文件时补一行 !cancelled() 即可,无需专门开 PR。

    如判断有误,直接重开即可;重开时请在评论里说明新出现的情况。

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions