feat(nix): add an MSRV build to CI

Having a build that uses the actual version of Rust specified in
Cargo.toml should allow us to catch issues with breaking MSRV compat
more easily.

Signed-off-by: Kent Overstreet <kent.overstreet@linux.dev>
This commit is contained in:
Thomas Mühlbacher 2025-03-21 16:34:02 +00:00 committed by Kent Overstreet
parent 00dd889d33
commit 3bf9a19571
2 changed files with 17 additions and 1 deletions

View File

@ -3,7 +3,7 @@ name = "bcachefs-tools"
version = "1.25.0"
authors = ["Yuxuan Shui <yshuiv7@gmail.com>", "Kayla Firestack <dev@kaylafire.me>", "Kent Overstreet <kent.overstreet@linux.dev>" ]
edition = "2021"
rust-version = "1.77"
rust-version = "1.77.0"
[[bin]]
name = "bcachefs"

View File

@ -253,6 +253,22 @@
}
);
# cargo clippy with the current minimum supported rust version
# according to Cargo.toml
checks.msrv =
let
rustVersion = cargoToml.package.rust-version;
common = pkgs.callPackage mkCommon { inherit crane rustVersion; };
in
common.craneLib.cargoClippy (
common.args
// {
pname = "msrv";
inherit (common) cargoArtifacts;
cargoClippyExtraArgs = "--all-targets --all-features -- --deny warnings";
}
);
devShells.default = pkgs.mkShell {
inputsFrom = [
config.packages.default