构建 Rust 项目

本指南涵盖的内容 #

有关语言版本和其他构建环境特定信息,请访问我们的参考页面

本指南的其余部分介绍了在 Travis CI 中配置 Rust 项目。如果您不熟悉 Travis CI,请先阅读我们的 教程构建配置 指南。

选择 Rust 版本 #

默认情况下,我们在构建开始时下载并安装最新的稳定版 Rust 版本(感谢 rustup)。使用 minimal 配置文件,其中包含以下语言工具:cargorustcrustup

如果您需要其他语言工具,例如 rustfmtclippy,请在 before_install 中安装它们。

要针对特定 Rust 版本进行测试

language: rust
rust:
  - 1.0.0
  - 1.1.0

Travis CI 还支持所有三个 Rust 发布渠道stablebetanightly

Rust 团队感谢您针对 betanightly 渠道进行测试,即使您只针对 stable。完整的配置如下所示

language: rust
rust:
  - stable
  - beta
  - nightly
jobs:
  allow_failures:
    - rust: nightly
  fast_finish: true

这将在所有三个渠道上运行您的测试,但 nightly 中的任何中断都不会导致构建的其余部分失败。

依赖项管理 #

Travis CI 使用 Cargo 安装您的依赖项

cargo build --verbose

您可以缓存您的依赖项,以便仅在它们或编译器升级时重新编译它们

cache: cargo

这会将以下目录添加到缓存中

  • $TRAVIS_HOME/.cache/sccache
  • $TRAVIS_HOME/.cargo/
  • $TRAVIS_HOME/.rustup/
  • target

此外,它还将以下命令添加到作业的 before_cache 阶段,以减小缓存大小

rm -rf "$TRAVIS_HOME/.cargo/registry/src"

这意味着,如果您出于其他原因覆盖了 before_cache 步骤,则应添加上面的步骤以减小缓存大小

before_cache:
  - rm -rf "$TRAVIS_HOME/.cargo/registry/src"
   # rest of your existing "before_cache"

默认构建脚本 #

Travis CI 使用 Cargo 运行您的构建,默认命令为

cargo test --verbose

如果需要,您始终可以配置不同的命令。例如,如果您的项目是 工作区,则应将 --workspace 传递给构建命令以构建和测试所有成员板条箱

language: rust
script:
  - cargo build --verbose --workspace
  - cargo test --verbose --workspace

环境变量 #

.travis.yml 中指定的 Rust 版本在构建期间在 TRAVIS_RUST_VERSION 环境变量中可用。

构建配置参考 #

您可以在我们的 Travis CI 构建配置参考 中找到有关 Rust 的构建配置格式的更多信息。