跳至內容

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 快取 以了解支援的編譯、驗證方式以及如何確認复用。

建構洞察#

在儀表板中開啟 Builds,查看你的建構耗時並比較本機構建與 CI。選擇一個建構以找出編譯時間最長的 crate,並檢查其警告和錯誤。

編譯器計時是針對 crate,而非個別原始碼檔案。請參閱 Rust 建構洞察 以了解更多關於閱讀建構報告的內容。

測試洞察#

照常執行你的測試:

bash
tuist cargo test --workspace

在儀表板中開啟 Tests,查看通過、失敗和忽略的測試,包括 doctest。Cargo 會報告套件持續時間,但穩定的 libtest 並未公開每個測試的計時。

如要只執行 doctest:

bash
tuist cargo test --doc

請參閱 Rust 測試洞察 和 Rust 不穩定測試 以了解更多。