diff options
author | Thomas Mühlbacher <tmuehlbacher@posteo.net> | 2025-03-21 16:34:02 +0000 |
---|---|---|
committer | Kent Overstreet <kent.overstreet@linux.dev> | 2025-03-21 13:09:15 -0400 |
commit | 3bf9a1957159313d6f10aa08aed3863b0514ad43 (patch) | |
tree | 7868a8c4541d2b4f7f32b193169ed8bf6feb91a8 | |
parent | 00dd889d335fa03c89a8039e9eec3e6cc036818a (diff) |
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>
-rw-r--r-- | Cargo.toml | 2 | ||||
-rw-r--r-- | flake.nix | 16 |
2 files changed, 17 insertions, 1 deletions
@@ -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" @@ -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 |