GitHub Actions构建失败排查记
当本网站长时间没有更新时,根本原因是 GitHub Actions 构建失败,新文章 push 上去之后,自动构建流程一直在报错,所以网站内容没有更新。
修复了四个问题
1. Python 版本过旧
ci.yml 里指定的是 python 3.7,但 GitHub Actions 的运行环境已经不再提供 3.7,最低只有 3.10,导致构建直接失败。
→ 改成 python-version: "3.10" 解决。
2. Actions 依赖版本过旧
actions/checkout@v2、actions/setup-python@v1 以及部署用的 docker://peaceiris/gh-pages:v2 都是几年前的旧版本,与现在的 runner 环境不兼容。
→ 全部升级到最新版本解决。
3. Submodule 拉取没有认证
Maverick 是以 git submodule 方式引入的,checkout@v4 默认不带认证 token 去拉取子模块,导致 git 报 exit code 128 错误。
→ 在 checkout 步骤加上 submodules: recursive 和 token: ${{ secrets.PERSONAL_TOKEN }} 解决。
4. PERSONAL_TOKEN 已过期
仓库里存的 token 已经失效,导致认证始终不通过。
→ 在 GitHub 重新生成 token 并更新 Secret 解决。
经验总结
以后如果网站又没更新,第一步就去 https://github.com/jerfo0/9i57/actions 看 Actions 有没有报错,能省很多排查时间。
再次感谢 Claude 强大的功能,膜拜!!!