lib

Core libraries for Radroots
git clone https://radroots.dev/git/lib.git
Log | Files | Refs | README | LICENSE

checks.nix (1131B)


      1 { common, pkgs }:
      2 let
      3   cargoFmt = common.craneLib.cargoFmt common.commonCraneArgs;
      4   cargoCheck = common.craneLib.mkCargoDerivation (
      5     common.commonCraneArgs
      6     // {
      7       inherit (common) cargoArtifacts;
      8       pname = "radroots-cargo-check";
      9       doCheck = false;
     10       buildPhaseCargoCommand = ''
     11         cargo check ${common.coreContractCargoArgs}
     12       '';
     13       installPhaseCommand = "mkdir -p $out";
     14     }
     15   );
     16   cargoTest = common.craneLib.mkCargoDerivation (
     17     common.commonCraneArgs
     18     // {
     19       inherit (common) cargoArtifacts;
     20       pname = "radroots-cargo-test";
     21       doCheck = false;
     22       buildPhaseCargoCommand = ''
     23         cargo test ${common.coreContractCargoArgs}
     24       '';
     25       installPhaseCommand = "mkdir -p $out";
     26     }
     27   );
     28 in
     29 {
     30   cargo-fmt = cargoFmt;
     31   cargo-check = cargoCheck;
     32   cargo-test = cargoTest;
     33 
     34   guards = common.mkRepoCheck {
     35     name = "repo-guards";
     36     runtimeInputs = [
     37       common.xtaskPackage
     38       pkgs.coreutils
     39       pkgs.gitMinimal
     40       pkgs.gnugrep
     41       pkgs.ripgrep
     42     ];
     43     initGit = true;
     44     command = ''
     45       xtask hygiene forbidden-identifiers
     46     '';
     47   };
     48 }