前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >让 Rust 的 CI 加速 2~3倍速度

让 Rust 的 CI 加速 2~3倍速度

原创
作者头像
非凸科技ft.tech
发布2022-05-05 12:36:56
4130
发布2022-05-05 12:36:56
举报
文章被收录于专栏:欢迎加入非凸科技

作者花了几天时间调整 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取决于您的代码基础和测试套件。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档