GitHub Actions 与 GitHub Pages 自动发布
仓库内置 workflow 监听 source、projects 和 versions.json 的变化。它把“配置可解析”“PDF 环境可用”“所有版本可以构建”“产物能部署”拆成可观察的阶段,而不是在最后一步才发现问题。
工作流阶段
Job 或步骤 |
责任 |
结果 |
|---|---|---|
validate-versions |
安装 Python 3.11 与依赖,运行 build.py --validate |
阻止无效版本配置进入构建 |
build-docs |
安装 XeLaTeX、字体和 locale,验证 PDF 环境 |
为每个版本生成 HTML 和 PDF |
upload-artifact |
上传 source/source_build/html |
Pull Request 上可下载并人工验收 |
deploy-docs |
仅在 main 或 master 下载 Artifact 并发布 |
GitHub Pages 更新到孤儿分支 |
PR 与默认分支的行为差异
Pull Request 会运行校验和构建,但不会部署;这给评审者一个可下载 Artifact,用来检查导航、语言切换、搜索和 PDF。合并到 main 或 master 后,deploy-docs 通过 peaceiris/actions-gh-pages 发布同一份 Artifact,并以 force_orphan 保持发布分支只保存静态站点。
发布前检查清单
versions.json 已通过 build.py --validate。
无 PDF 的本地构建已通过,且深层页面和图片可访问。
在具备 XeLaTeX 与精确字体的环境中已完成完整 PDF 构建。
英文和中文页面都检查过搜索与切换回退。
Artifact 内容与 Pages 入口版本一致。
触发条件和环境安装命令在 .github/workflows/build-docs.yml 中;不建议把关键依赖只安装在本地而遗漏 CI。