Skip to content

ci(ops): self-hosted runner 真机 E2E POC(dry-run) - #48

Merged
currycan merged 1 commit into
masterfrom
ops/self-hosted-runner-poc
May 6, 2026
Merged

ci(ops): self-hosted runner 真机 E2E POC(dry-run)#48
currycan merged 1 commit into
masterfrom
ops/self-hosted-runner-poc

Conversation

@currycan

@currycan currycan commented May 6, 2026

Copy link
Copy Markdown
Owner

Summary

  • 新增 .github/workflows/_e2e_dryrun.yml:self-hosted runner 真机 E2E 框架,默认 if: false 不执行;保留 workflow_dispatch 入口供未来手动触发
  • 调研报告 reference/decisions/D-003-self-hosted-runner.md(gitignored):评估 4 方案(家用机+Tailscale / 云真机 / Mac mini 机柜 / 维持现状)后接受方案 D,status=postponed,预埋框架等待触发条件
  • reference/08-ops-runbook.md(gitignored):第 6 节新增「self-hosted runner(实验性)」,含启用条件 / 启用步骤 / 紧急下线 SOP;原第 6 节顺延为第 7 节

Test plan

  • workflow 文件 yaml 语法正确(GitHub UI 渲染时不报红,新 workflow 出现在 Actions 列表)
  • 默认不会触发任何 job(on:workflow_dispatch,且 jobs.e2e.if: false
  • manual_dispatch 入口存在但 job 跳过(GitHub UI 出现 "Run workflow" 按钮 + android_device 输入;触发后 job skipped 不消耗分钟)
  • 不动 test.yml / release.yml(本 PR 仅新增文件)
  • 不暴露任何 token / secrets

决策结论

D-003 = D(维持现状,手工真机回归) — postponed。

主要理由:

  1. A/C 把 runner 开到团队成员个人/办公网络,攻击面(runner 进程权限 + secrets 读取 + adb-over-network)显著大于「滞后 1-7 天」的成本
  2. B(云真机)在大麦风控前等于无效覆盖
  3. W4-03 把 tests/manual/ 标准化成 templates+history(PR test(manual): 真机回归 runbook 标准化 #47),单次回归 30 分钟,人工方案 ROI 比预期高
  4. 当前 issue 队列没有「真机回归滞后导致大量用户阻塞」的实例

预埋而非真启用:保留 workflow + 决策档案,让未来 ops 想推进时不用从零写 yaml。

关联

  • Refs reference/06-test-gap-analysis.md 真机 E2E 长期目标段落
  • 决策档案:reference/decisions/D-003-self-hosted-runner.md(gitignored)
  • 真机回归 SOP:tests/manual/runbook.md(W4-03 已交付)

- 新增 .github/workflows/_e2e_dryrun.yml,默认 if: false,
  仅 workflow_dispatch 入口存在;步骤含 probe + benchmark + artifact upload
- 决策档案 D-003(reference/decisions/,gitignored)评估 4 方案后
  接受方案 D 维持手工真机回归,self-hosted 框架预埋但不启用
- ops-runbook 第 6 节新增「self-hosted runner(实验性)」段,
  描述启用条件、启用步骤、紧急下线 SOP;原第 6 节顺延至 7

不动 release.yml / test.yml;不暴露任何 secrets
Refs reference/06-test-gap-analysis.md 真机 E2E 长期目标
@currycan
currycan merged commit d4b5ea4 into master May 6, 2026
5 checks passed
@currycan
currycan deleted the ops/self-hosted-runner-poc branch July 11, 2026 07:54
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant