checks.nix (11469B)
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 --locked --all-targets ${common.publicNativeCargoArgs} 12 cargo check --locked --all-targets ${common.previewCargoArgs} 13 ''; 14 installPhaseCommand = "mkdir -p $out"; 15 } 16 ); 17 cargoTest = common.craneLib.mkCargoDerivation ( 18 common.commonCraneArgs 19 // { 20 inherit (common) cargoArtifacts; 21 pname = "radroots-cargo-test"; 22 doCheck = false; 23 buildPhaseCargoCommand = '' 24 cargo test --locked ${common.coreContractCargoArgs} 25 cargo test --locked ${common.previewCargoArgs} 26 cargo clippy --locked --all-targets ${common.publicNativeCargoArgs} -- -D warnings 27 cargo clippy --locked --all-targets ${common.previewCargoArgs} -- -D warnings 28 ''; 29 installPhaseCommand = "mkdir -p $out"; 30 } 31 ); 32 coreConformance = common.craneLib.mkCargoDerivation ( 33 common.commonCraneArgs 34 // { 35 inherit (common) cargoArtifacts; 36 pname = "radroots-core-conformance"; 37 doCheck = false; 38 buildPhaseCargoCommand = '' 39 cargo check -p radroots_core --all-targets --no-default-features --locked 40 cargo check -p radroots_core --all-targets --no-default-features --features std --locked 41 cargo check -p radroots_core --all-targets --no-default-features --features serde --locked 42 cargo check -p radroots_core --all-targets --locked 43 cargo check -p radroots_core --all-targets --all-features --locked 44 cargo clippy -p radroots_core --all-targets --all-features --locked -- -D warnings 45 cargo test -p radroots_core --all-targets --all-features --locked 46 cargo check -p radroots_core --no-default-features --target wasm32-unknown-unknown --locked 47 cargo check -p radroots_core --no-default-features --features serde --target wasm32-unknown-unknown --locked 48 RUSTDOCFLAGS="-D warnings" cargo doc -p radroots_core --all-features --no-deps --locked 49 cargo test -p radroots_core --all-features --doc --locked 50 ''; 51 installPhaseCommand = "mkdir -p $out"; 52 } 53 ); 54 identityConformance = common.craneLib.mkCargoDerivation ( 55 common.commonCraneArgs 56 // { 57 inherit (common) cargoArtifacts; 58 pname = "radroots-identity-conformance"; 59 doCheck = false; 60 buildPhaseCargoCommand = '' 61 cargo check -p radroots_identity --all-targets --no-default-features --locked 62 cargo check -p radroots_identity --all-targets --no-default-features --features std --locked 63 cargo check -p radroots_identity --all-targets --no-default-features --features serde --locked 64 cargo check -p radroots_identity --all-targets --locked 65 cargo check -p radroots_identity --all-targets --all-features --locked 66 cargo clippy -p radroots_identity --all-targets --no-default-features --locked -- -D warnings 67 cargo clippy -p radroots_identity --all-targets --no-default-features --features serde --locked -- -D warnings 68 cargo clippy -p radroots_identity --all-targets --all-features --locked -- -D warnings 69 cargo test -p radroots_identity --all-targets --no-default-features --locked 70 cargo test -p radroots_identity --all-targets --no-default-features --features std --locked 71 cargo test -p radroots_identity --all-targets --no-default-features --features serde --locked 72 cargo test -p radroots_identity --all-targets --all-features --locked 73 cargo check -p radroots_identity --no-default-features --target wasm32-unknown-unknown --locked 74 cargo check -p radroots_identity --no-default-features --features serde --target wasm32-unknown-unknown --locked 75 RUSTDOCFLAGS="-D warnings" cargo doc -p radroots_identity --all-features --no-deps --locked 76 cargo test -p radroots_identity --all-features --doc --locked 77 ''; 78 installPhaseCommand = "mkdir -p $out"; 79 } 80 ); 81 blossomConformance = common.craneLib.mkCargoDerivation ( 82 common.commonCraneArgs 83 // { 84 inherit (common) cargoArtifacts; 85 pname = "radroots-blossom-conformance"; 86 doCheck = false; 87 buildPhaseCargoCommand = '' 88 cargo check -p radroots_blossom --all-targets --no-default-features --locked 89 cargo check -p radroots_blossom --all-targets --no-default-features --features std --locked 90 cargo check -p radroots_blossom --all-targets --no-default-features --features serde --locked 91 cargo check -p radroots_blossom --all-targets --locked 92 cargo check -p radroots_blossom --all-targets --all-features --locked 93 cargo clippy -p radroots_blossom --all-targets --no-default-features --locked -- -D warnings 94 cargo clippy -p radroots_blossom --all-targets --no-default-features --features serde --locked -- -D warnings 95 cargo clippy -p radroots_blossom --all-targets --all-features --locked -- -D warnings 96 cargo test -p radroots_blossom --all-targets --no-default-features --locked 97 cargo test -p radroots_blossom --all-targets --no-default-features --features std --locked 98 cargo test -p radroots_blossom --all-targets --no-default-features --features serde --locked 99 cargo test -p radroots_blossom --all-targets --all-features --locked 100 cargo check -p radroots_blossom --no-default-features --target wasm32-unknown-unknown --locked 101 cargo check -p radroots_blossom --no-default-features --features serde --target wasm32-unknown-unknown --locked 102 RUSTDOCFLAGS="-D warnings" cargo doc -p radroots_blossom --all-features --no-deps --locked 103 cargo test -p radroots_blossom --all-features --doc --locked 104 ''; 105 installPhaseCommand = "mkdir -p $out"; 106 } 107 ); 108 eventConformance = common.craneLib.mkCargoDerivation ( 109 common.commonCraneArgs 110 // { 111 inherit (common) cargoArtifacts; 112 pname = "radroots-event-conformance"; 113 doCheck = false; 114 buildPhaseCargoCommand = '' 115 cargo check -p radroots_event --all-targets --no-default-features --locked 116 cargo check -p radroots_event --all-targets --no-default-features --features std --locked 117 cargo check -p radroots_event --all-targets --no-default-features --features serde --locked 118 cargo check -p radroots_event --all-targets --no-default-features --features knowledge --locked 119 cargo check -p radroots_event --all-targets --no-default-features --features std,knowledge --locked 120 cargo check -p radroots_event --all-targets --no-default-features --features serde,knowledge --locked 121 cargo check -p radroots_event --all-targets --locked 122 cargo check -p radroots_event --all-targets --all-features --locked 123 cargo clippy -p radroots_event --all-targets --no-default-features --locked -- -D warnings 124 cargo clippy -p radroots_event --all-targets --no-default-features --features std --locked -- -D warnings 125 cargo clippy -p radroots_event --all-targets --no-default-features --features serde --locked -- -D warnings 126 cargo clippy -p radroots_event --all-targets --no-default-features --features knowledge --locked -- -D warnings 127 cargo clippy -p radroots_event --all-targets --no-default-features --features std,knowledge --locked -- -D warnings 128 cargo clippy -p radroots_event --all-targets --no-default-features --features serde,knowledge --locked -- -D warnings 129 cargo clippy -p radroots_event --all-targets --all-features --locked -- -D warnings 130 cargo test -p radroots_event --all-targets --no-default-features --locked 131 cargo test -p radroots_event --all-targets --no-default-features --features std --locked 132 cargo test -p radroots_event --all-targets --no-default-features --features serde --locked 133 cargo test -p radroots_event --all-targets --no-default-features --features knowledge --locked 134 cargo test -p radroots_event --all-targets --no-default-features --features std,knowledge --locked 135 cargo test -p radroots_event --all-targets --no-default-features --features serde,knowledge --locked 136 cargo test -p radroots_event --all-targets --locked 137 cargo test -p radroots_event --all-targets --all-features --locked 138 cargo check -p radroots_event --no-default-features --target wasm32-unknown-unknown --locked 139 cargo check -p radroots_event --no-default-features --features serde --target wasm32-unknown-unknown --locked 140 cargo check -p radroots_event --no-default-features --features knowledge --target wasm32-unknown-unknown --locked 141 cargo check -p radroots_event --no-default-features --features serde,knowledge --target wasm32-unknown-unknown --locked 142 cargo check -p radroots_event --all-features --target wasm32-unknown-unknown --locked 143 RUSTDOCFLAGS="-D warnings" cargo doc -p radroots_event --all-features --no-deps --locked 144 cargo test -p radroots_event --all-features --doc --locked 145 ''; 146 installPhaseCommand = "mkdir -p $out"; 147 } 148 ); 149 mkReplicaSyncLane = 150 { 151 pname, 152 command, 153 }: 154 common.craneLib.mkCargoDerivation ( 155 common.commonCraneArgs 156 // { 157 inherit (common) cargoArtifacts; 158 inherit pname; 159 doCheck = false; 160 buildPhaseCargoCommand = command; 161 installPhaseCommand = "mkdir -p $out"; 162 } 163 ); 164 replicaSyncDefaultCheck = mkReplicaSyncLane { 165 pname = "radroots-replica-sync-default-check"; 166 command = "cargo check -p radroots_replica_sync --all-targets"; 167 }; 168 replicaSyncDefaultTest = mkReplicaSyncLane { 169 pname = "radroots-replica-sync-default-test"; 170 command = "cargo test -p radroots_replica_sync"; 171 }; 172 replicaSyncLegacyCheck = mkReplicaSyncLane { 173 pname = "radroots-replica-sync-legacy-ingest-check"; 174 command = "cargo check -p radroots_replica_sync --all-targets --features legacy-ingest"; 175 }; 176 replicaSyncLegacyTest = mkReplicaSyncLane { 177 pname = "radroots-replica-sync-legacy-ingest-test"; 178 command = "cargo test -p radroots_replica_sync --features legacy-ingest"; 179 }; 180 in 181 { 182 cargo-fmt = cargoFmt; 183 cargo-check = cargoCheck; 184 cargo-test = cargoTest; 185 core-conformance = coreConformance; 186 identity-conformance = identityConformance; 187 blossom-conformance = blossomConformance; 188 event-conformance = eventConformance; 189 replica-sync-default-check = replicaSyncDefaultCheck; 190 replica-sync-default-test = replicaSyncDefaultTest; 191 replica-sync-legacy-ingest-check = replicaSyncLegacyCheck; 192 replica-sync-legacy-ingest-test = replicaSyncLegacyTest; 193 194 architecture = common.craneLib.mkCargoDerivation ( 195 common.commonCraneArgs 196 // { 197 inherit (common) cargoArtifacts; 198 pname = "radroots-architecture"; 199 doCheck = false; 200 buildPhaseCargoCommand = '' 201 cargo run --locked -q -p xtask -- architecture-source-export-ci 202 ''; 203 installPhaseCommand = "mkdir -p $out"; 204 } 205 ); 206 207 guards = common.mkRepoCheck { 208 name = "repo-guards"; 209 runtimeInputs = [ 210 common.xtaskPackage 211 pkgs.coreutils 212 pkgs.gitMinimal 213 pkgs.gnugrep 214 pkgs.ripgrep 215 ]; 216 initGit = true; 217 command = '' 218 xtask hygiene forbidden-identifiers 219 xtask hygiene prototype-contracts 220 ''; 221 }; 222 }