diff --git a/default.nix b/default.nix index e25fe2ac521..0677b4c94b5 100644 --- a/default.nix +++ b/default.nix @@ -46,6 +46,7 @@ let styles = recurseIntoAttrs { check-nixfmt = callPackage ./nix/check-nixfmt.nix { }; check-stylish = callPackage ./nix/check-stylish.nix { }; + check-stylish-network = callPackage ./nix/check-stylish-network.nix { }; }; }; diff --git a/nix/check-stylish-network.nix b/nix/check-stylish-network.nix new file mode 100644 index 00000000000..e5888bfa69e --- /dev/null +++ b/nix/check-stylish-network.nix @@ -0,0 +1,18 @@ +{ runCommand, fd, lib, stylish-haskell }: + +runCommand "check-stylish-network" { + meta.platforms = with lib.platforms; [ linux ]; + buildInputs = [ fd stylish-haskell ]; + src = ./..; +} '' + unpackPhase + cd $sourceRoot + fd -p io-sim -e hs -E Setup.hs -X stylish-haskell -c .stylish-haskell-network.yaml -i + fd -p io-classes -e hs -E Setup.hs -X stylish-haskell -c .stylish-haskell-network.yaml -i + fd -p strict-stm -e hs -E Setup.hs -X stylish-haskell -c .stylish-haskell-network.yaml -i + fd -p typed-protocols -e hs -E Setup.hs -X stylish-haskell -c .stylish-haskell-network.yaml -i + fd -p network-mux -e hs -E Setup.hs -E network-mux/src/Network/Mux/Bearer/Pipe.hs -E network-mux/src/Network/Mux/Channel.hs -X stylish-haskell -c .stylish-haskell-network.yaml -i + fd -p ouroboros-network* -e hs -E Setup.hs -X stylish-haskell -c .stylish-haskell-network.yaml -i + fd -p cardano-client -e hs -E Setup.hs -X stylish-haskell -c .stylish-haskell-network.yaml -i + echo $? >> $out +'' diff --git a/release.nix b/release.nix index 6b68d32d861..d28a2fba816 100644 --- a/release.nix +++ b/release.nix @@ -110,7 +110,7 @@ let ])) ++ (testsPaths [ "ouroboros-network" "cddl" ]) ++ (checksPaths [ "ouroboros-network" "cddl" ]) ++ (exesPaths [ "network-mux" "cardano-ping" ]) - ++ (stylePaths [ "check-nixfmt" "check-stylish" ]) + ++ (stylePaths [ "check-nixfmt" "check-stylish" "check-stylish-network" ]) ++ onlyBuildOnDefaultSystem; # Remove build jobs for which cross compiling does not make sense. diff --git a/scripts/ci/check-stylish-network.sh b/scripts/ci/check-stylish-network.sh index 0b802463fde..f689e4c9b89 100755 --- a/scripts/ci/check-stylish-network.sh +++ b/scripts/ci/check-stylish-network.sh @@ -2,13 +2,13 @@ set -euo pipefail -stylish-haskell -c .stylish-haskell-network.yaml -i $(git ls-files -- 'io-sim/*.hs' | grep -v -e 'Setup.hs') -stylish-haskell -c .stylish-haskell-network.yaml -i $(git ls-files -- 'io-classes/*.hs' | grep -v -e 'Setup.hs') -stylish-haskell -c .stylish-haskell-network.yaml -i $(git ls-files -- 'strict-stm/*.hs' | grep -v -e 'Setup.hs') -stylish-haskell -c .stylish-haskell-network.yaml -i $(git ls-files -- 'typed-protocols*/*.hs' | grep -v -e 'Setup.hs') +fd -p io-sim -e hs -E Setup.hs -X stylish-haskell -c .stylish-haskell-network.yaml -i +fd -p io-classes -e hs -E Setup.hs -X stylish-haskell -c .stylish-haskell-network.yaml -i +fd -p strict-stm -e hs -E Setup.hs -X stylish-haskell -c .stylish-haskell-network.yaml -i +fd -p typed-protocols -e hs -E Setup.hs -X stylish-haskell -c .stylish-haskell-network.yaml -i # TODO CPP pragmas in export lists are not supported by stylish-haskell -stylish-haskell -c .stylish-haskell-network.yaml -i $(git ls-files -- 'network-mux/*.hs' | grep -v -e 'Setup.hs' -e 'Network/Mux/Bearer/Pipe\.hs' -e 'Network/Mux/Channel\.hs') -stylish-haskell -c .stylish-haskell-network.yaml -i $(git ls-files -- 'ouroboros-network*/*.hs' | grep -v -e 'Setup.hs') -stylish-haskell -c .stylish-haskell-network.yaml -i $(git ls-files -- 'cardano-client/*.hs' | grep -v -e 'Setup.hs') +fd -p network-mux -e hs -E Setup.hs -E network-mux/src/Network/Mux/Bearer/Pipe.hs -E network-mux/src/Network/Mux/Channel.hs -X stylish-haskell -c .stylish-haskell-network.yaml -i +fd -p ouroboros-network* -e hs -E Setup.hs -X stylish-haskell -c .stylish-haskell-network.yaml -i +fd -p cardano-client -e hs -E Setup.hs -X stylish-haskell -c .stylish-haskell-network.yaml -i git diff --exit-code