关于rust:让-Rust-的-CI-加速-23倍速度

作者花了几天工夫调整 Nushell 的 GitHub Actions CI pipeline,后果失去了回报: CI过来大概须要30分钟,当初靠近10分钟。

次要通过以下伎俩减速:
(1)应用 Rust cache
GitHub 构建运行器很慢,但 GitHub 为每个 repo 提供了10GB 的缓存空间。rust-cache利用了这一点,会在 CI 运行中为你的构建依赖项缓存临时文件,所以如果你有很多依赖项,就可能会看到性能大幅晋升。

(2)将 build 和 test 离开
在“测试模式”中构建输入可能不同,这对缓存有影响。另外,并行运行构建和测试更快,GitHub 收费提供了 20 个构建运行器,无妨应用它们。

(3)在 cargo build 之后再运行 clippy
之前咱们在 cargo build 之前运行Clippy。只有扭转他们的订单,每次测试就会缩小5分钟。看起来Clippy能够重用来自cargo build 的构建工件,但反之则不行。

(4)应用 cargo nextest
在CI中装置它非常简单,而且通常比cargo test更快。咱们并没有从中看到微小的益处(兴许30-40秒更快?),但这是因为咱们的CI工夫次要是由编译管制的;YMMV取决于您的代码根底和测试套件。

评论

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

这个站点使用 Akismet 来减少垃圾评论。了解你的评论数据如何被处理