GitHub Actions 规划
GitHub Actions 工作流应自动构建并部署 MkDocs 文档站点。
这个 workflow 的职责很窄:只发布文档,不跑题解生成。题解生成依赖本地 merged_problems.json、Ollama 服务和大模型硬件,不适合放到 GitHub-hosted runner 中执行。
触发规则
推荐触发方式:
main分支中与文档站点相关的文件变化时触发。- 支持
workflow_dispatch手动部署。
工作流不应因为无关代码变化而运行。路径过滤建议包含:
docs-site/**.github/workflows/docs.yml- 必要的文档入口文件
构建步骤
- 检出仓库代码。
- 设置 Python。
- 安装 MkDocs 和插件。
- 执行
mkdocs build --strict。 - 上传构建产物。
- 部署到 GitHub Pages。
部署边界
flowchart LR
A[Push docs-site 或 workflow] --> B[GitHub Actions]
B --> C[安装 docs-site/requirements.txt]
C --> D[mkdocs build --strict]
D --> E[上传 Pages artifact]
E --> F[GitHub Pages]
G[本地 Ollama 题解生成] -.不在 Actions 中执行.-> B
路径过滤的意图是减少无关运行:修改生成器代码不一定需要重新部署文档;修改 docs-site/** 或 .github/workflows/docs.yml 才需要触发站点构建。
权限
使用 GitHub Pages 所需的最小权限:
contents: readpages: writeid-token: write
这些权限只覆盖读取仓库、写 Pages artifact 和使用 OIDC 部署。workflow 不需要仓库写权限,也不需要访问模型服务。