github actions 突破 6 小时限制编译超大项目
資深大佬 : AoEiuV020 6
最近在试着编译第三方 chromium,发现 kiwi browser 有在 actions 上编译,虽然脚本没有维护已经 4 个月没有成功编译了,但还是有参考价值,
自己跟着编译了下发现,github actions 单次 6 小时完全不够用,就这一半都没编译好,
研究了下 kiwi 怎么实现的,发现是用 ccache 缓存编译结果,用 rclone 保存到他自己的服务器上,
别人访问不了他的缓存,自然无法快速编译,
于是花了好几天的时间,一点一点调整,最终实现分步编译,每一步编译完成将 ccache 缓存传到另一个 github 仓库上,
超过 5 小时没成功编译直接打断,保存当前缓存,然后每 6 小时开启一个新的 actions 继续编译,
最终全部完成缓存之后一次编译打包只要一小时多点,
之后就可以试着修改代码了,我想搞一个安卓端支持拓展同时支持谷歌的第三方 chromium,
https://github.com/AoEiuV020/kiwibrowser-build/blob/main/.github/workflows/build.yml
https://github.com/AoEiuV020/kiwibrowser-ccache-arm64/commits/main
自己跟着编译了下发现,github actions 单次 6 小时完全不够用,就这一半都没编译好,
研究了下 kiwi 怎么实现的,发现是用 ccache 缓存编译结果,用 rclone 保存到他自己的服务器上,
别人访问不了他的缓存,自然无法快速编译,
于是花了好几天的时间,一点一点调整,最终实现分步编译,每一步编译完成将 ccache 缓存传到另一个 github 仓库上,
超过 5 小时没成功编译直接打断,保存当前缓存,然后每 6 小时开启一个新的 actions 继续编译,
最终全部完成缓存之后一次编译打包只要一小时多点,
之后就可以试着修改代码了,我想搞一个安卓端支持拓展同时支持谷歌的第三方 chromium,
https://github.com/AoEiuV020/kiwibrowser-build/blob/main/.github/workflows/build.yml
https://github.com/AoEiuV020/kiwibrowser-ccache-arm64/commits/main
大佬有話說 (5)