跳到内容

Rust 项目

plaintext
Help me get started with Tuist. Follow the setup at:
https://tuist.dev/en/docs/guides/get-started/rust-project

前置条件#

  • 一个使用 Cargo 构建的 Rust 项目。
  • Tuist CLI 和 Tuist 账户。

Tuist 可与现有的 Cargo 项目配合使用。你无需添加 Rust 依赖或更改项目的构建方式。

连接项目#

安装 Tuist CLI 和 Rust。在仪表板中创建一个项目,并将其构建系统设置为 Cargo (Rust)。在仓库根目录添加 tuist.toml:

toml
project = "account/project"
# url = "https://your-tuist-server.example.com"

使用 tuist auth login 登录,然后通过 Tuist 运行你常用的 Cargo 命令。在 CI 中,将 TUIST_TOKEN 设置为项目令牌。如果你不使用配置文件,也可以设置 TUIST_PROJECT;如果使用自托管服务器,还可以设置 TUIST_URL。

bash
tuist cargo build --workspace
tuist cargo check --all-targets
tuist cargo test --workspace

使用你通常传递给 Cargo 的相同参数,包括功能特性、工具链和测试过滤器。即使 Tuist 无法上传报告,Cargo 仍会保持其常规输出和退出代码。

继续输入 Cargo#

启用 mise 的命令包装器 后,将此内容添加到 mise.toml:

toml
[wrappers.cargo]
command = "tuist"
args = ["cargo"]

添加包装器后运行 mise reshim。然后你可以照常使用 cargo build、cargo check 和 cargo test。Mise 会通过 Tuist 为你运行这些命令。

Coding agents

这在使用编码代理时很有用:它们可以持续运行 cargo build 和 cargo test,而无需提醒添加 tuist 前缀。

编译缓存#

tuist cargo build 会自动缓存符合条件的注册表叶级库,包括本地缓存和通过 Kura 的远程缓存。无需额外的工具或缓存配置。该缓存处于实验阶段,尚未覆盖所有编译或在不同检出路径间的复用。请参阅 Rust 缓存 了解支持的编译、身份验证以及如何验证复用。

构建洞察#

在仪表板中打开 构建,查看构建耗时并将本地构建与 CI 构建进行比较。选择一个构建以找出编译耗时最长的 crate,并检查其警告和错误。

编译器计时针对的是 crate,而非单个源文件。请参阅 Rust 构建洞察 了解更多关于阅读构建报告的信息。

测试洞察#

照常运行测试:

bash
tuist cargo test --workspace

在仪表板中打开 测试,查看通过、失败和忽略的测试,包括文档测试。Cargo 会报告套件持续时间,但稳定的 libtest 不暴露每个测试的耗时。

仅运行文档测试:

bash
tuist cargo test --doc

在 Rust 测试洞察 和 Rust 不稳定测试 中阅读更多内容。