最近调整博客网站的整体架构,打算给将我修改的主题直接作为submodule,从而跳过CD过程中修改博客配置的流程,简化操作。
实际体验时发现使用的主题仓库由于追踪了许多二进制文件,加上其早期似乎并不是作为一个正经的主题来开发,因此导致如今仓库尺寸膨胀,不利于我在自己的gitea中进行托管。于是在权衡之后重新开启了一个仓库,删除了一些无用的二进制文件和历史记录,并将新增的二进制文件作为LFS进行追踪后,仓库顿时小了不少(当然版权信息我也是保留了的)。遂开始调整工作流以简化部署。
直到调整了部署工作流开始测试时发现根本不能构建成功,会报错git-lfs: api error: Authentication required: Unauthorized
。关闭LFS倒是能部署成功,但是所有图标都变成指针文件的内容了。
排查几天后,我认为这应该是gitea的问题,因此提交了一个issue相对详细地描述了此情况。
经过几天的思考以及和AI进行紧张刺激PVA后,发现可以通过将过程拆分成多步来手动规避错误。简单来说就是不让action/checkout
帮助自动下载补全submodule,而是手动下载所有submodule然后拉取LFS文件,也就是以下过程:
1 |
|
这个过程就是clone仓库时没有设置递归clone,于是在克隆完毕后不得不手动clone submodule,然后再为每个子submodule拉取LFS文件的情况。写成workflow是这样子的:
1 |
|
这样可以暂时性地解决此问题。但是还是应该等待官方回应具体情况比较好。