已迁移:本仓的代码与模板已并入
agent-CI-Infra/dashboard/single-repo。 本仓仅保留在线示例,不再作为新的模板仓维护;门禁模板见agent-CI-Infra/CI-workflow。
本仓是单仓看板模板。 上游
ScienceDiscovery/github-status-board的 OIDC/Bot 采集流程已移到docs/upstream-workflows/,模板使用setup.yml+collect-selfhosted.yml,只需要源仓链接和一份 JSON 配置。 当前 Pages 上是haowenz001/ci-gates-smoke-20261022的 smoke 示例;第一次 Setup dashboard 会把它替换成你的源仓。
给用户 AI 的自动化操作手册:AGENT.md(门禁、Dashboard、用例三步走)。
- 用本仓创建一个新的看板仓(建议 public,Pages 需要)。
- 在 Settings → Pages → Build and deployment 选择 GitHub Actions。
- 在 Actions → Setup dashboard → Run workflow 填写:
source_repository:要展示的代码仓,例如owner/service;config_json(可选):{ "label": "service", "workflows": { "gate": ["^CI$", "CI Gates"], "daily": ["nightly"], "release": ["release"] }, "branch_lines": [{ "key": "main", "ref": "main" }], "review_sla_days": 3, "stale_days": 30 }reset:切换源仓时勾选,清掉旧采集数据。
- 源仓按
source-template/复制门禁工作流、.github/ci-gates.json、scripts/gate/gate.mjs和用例目录,改成自己的 build/lint/test 命令。 - Setup 会写入
board-config.json并触发Collect dashboard data (PAT);采集完成后Deploy dashboard Pages自动发布。 - 源仓的
CI运行上传ci-gates-reports后,看板 CI 页出现「质量门禁」卡片,显示每个 lane 的结论、命令通过数和用例 catalog 的 ready/todo/skipped 数量。
模板默认面向公开源仓 + 公开 Pages:采集使用本仓 GITHUB_TOKEN 读取源仓并提交 site/。私有源仓不要用 Actions 发布到公开 Pages;请在本机运行:
GSB_ALLOW_PRIVATE=1 GITHUB_TOKEN=... python3 publish.py --repo owner/private-repo
python3 server.pyGSB_ALLOW_PRIVATE=1 只允许生成本机 dist/,publish.py --publish-repo 仍会拒绝私有源仓,避免误发到公开 Pages。私有源仓要对外发布,需要私有 Pages、内网 runner 或额外的访问控制,这不是本模板默认提供的。
board-config.json 仍然兼容上游配置格式;docs/ 里的上游文档保留作参考。
静态 GitHub Pages 看板,展示 Issue、PR、门禁、每日构建、版本验证、UT / ST / E2E、标签化测试及 Node.js / Python 覆盖率(可展开到文件)。总览优先列出需要处理的流水线问题;Issue 与 PR 可在表格和本地看板之间切换;CI、E2E 与 Coverage 可在 main 和长期开发分支之间切换查看。采集由看板仓 GitHub Actions 执行;Bot 负责接收 Webhook 和触发刷新。
| 用途 | 数据源 | 站点 |
|---|---|---|
| 正式 | openJiuwen-ai/sciencediscovery | https://sciencediscovery.github.io/github-status-board/ |
| 测试 | ScienceDiscovery/sciencediscovery | https://sciencediscovery.github.io/github-status-board-test/ |
配置完成后,在 Actions → Collect dashboard data (PAT) → Run workflow 手动跑一次;之后每天 UTC 02:17 自动运行。采集提交 site/ 后,Deploy dashboard Pages 通过 workflow_run 自动发布。上游的 collect.yml / collect-on-push.yml 已移到 docs/upstream-workflows/,模板不需要 OIDC Bot。
本地快速预览(Python 3.10+,凭据来自环境或已登录的 gh):
python3 publish.py --repo owner/service
python3 server.py此兼容命令生成有限近期快照;完整历史由 --incremental 模式基于目标仓自己的 .sync/ 续跑。两种模式不要同时写同一站点。
Coverage 页从源仓 GitHub Actions 产物中读取 node-coverage-summary-* 和 python-coverage-summary-* JSON 摘要,分语言展示整仓汇总、趋势、目录树、路径指标与最近 PR 结果;看板本身不运行测试。页面说明见页面与交互。
文档目录 · 增量同步与历史 · Actions 配置 · 测试报告契约 · GitCode 同步记录 · 页面与交互 · CI 分层历史 · 标签化测试 · 分支线
看板的状态、优先级、迭代、备注与列设置保存在本浏览器,按源仓隔离;可导入/导出字段。浏览器不持有 GitHub 凭据,不连接 Bot,也不写回 GitHub。
PYTHONDONTWRITEBYTECODE=1 python3 -m unittest discover -s tests -v
PYTHONDONTWRITEBYTECODE=1 python3 test/journey-rerun-collection.py
node test/sync-e2e.mjs
node .e2e/node_modules/playwright/cli.js test --config test/playwright.config.cjs修改功能时同步更新对应文档。测试使用独立临时数据,禁止将 fixture 发布为真实看板数据。