workflows/check-nix-format: show command to fix

When some files are not formatted properly, this shows how people can
fix the problem.

This notably uses the shell.nix introduced in the parent commit to
ensure that the nixfmt version matches what CI expects.
This commit is contained in:
Silvan Mosberger 2024-06-26 01:08:17 +02:00
parent a70ab58960
commit 53b517c685

View File

@ -56,6 +56,7 @@ jobs:
NIX_FMT_PATHS_BUILD_SUPPORT_PHP: pkgs/build-support/php
# Iterate over all environment variables beginning with NIX_FMT_PATHS_.
run: |
unformattedPaths=()
for env_var in "${!NIX_FMT_PATHS_@}"; do
readarray -t paths <<< "${!env_var}"
if [[ "${paths[*]}" == "" ]]; then
@ -64,7 +65,12 @@ jobs:
fi
echo "Checking paths: ${paths[@]}"
if ! nixfmt --check "${paths[@]}"; then
echo "Error: nixfmt failed."
exit 1
unformattedPaths+=("${paths[@]}")
fi
done
if (( "${#unformattedPaths[@]}" > 0 )); then
echo "Some required Nix files are not properly formatted"
echo "Please run the following in \`nix-shell\`:"
echo "nixfmt ${unformattedPaths[*]@Q}"
exit 1
fi