构建 Rust 项目
本指南涵盖的内容 #
有关语言版本和其他构建环境特定信息,请访问我们的参考页面
本指南的其余部分介绍了在 Travis CI 中配置 Rust 项目。如果您不熟悉 Travis CI,请先阅读我们的 教程 和 构建配置 指南。
选择 Rust 版本 #
默认情况下,我们在构建开始时下载并安装最新的稳定版 Rust 版本(感谢 rustup
)。使用 minimal
配置文件,其中包含以下语言工具:cargo
、rustc
和 rustup
。
如果您需要其他语言工具,例如 rustfmt
或 clippy
,请在 before_install
中安装它们。
要针对特定 Rust 版本进行测试
language: rust
rust:
- 1.0.0
- 1.1.0
Travis CI 还支持所有三个 Rust 发布渠道:stable
、beta
和 nightly
。
Rust 团队感谢您针对 beta
和 nightly
渠道进行测试,即使您只针对 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 的构建配置格式的更多信息。