mirror of
https://github.com/NixOS/nix.git
synced 2025-11-08 11:36:03 +01:00
This makes the CI fail fast and more explicitly in case the formatting is incorrect and provides a better error messages. This also ensures that we don't burn CI on useless checks for code that wouldn't pass lints anyway.
24 lines
467 B
Bash
Executable file
24 lines
467 B
Bash
Executable file
#!/usr/bin/env bash
|
|
|
|
set -euo pipefail
|
|
|
|
system=$(nix eval --raw --impure --expr builtins.currentSystem)
|
|
|
|
echo "::group::Running pre-commit checks"
|
|
|
|
if nix build ".#checks.$system.pre-commit" -L; then
|
|
echo "::endgroup::"
|
|
exit 0
|
|
fi
|
|
|
|
echo "::error ::Changes do not pass pre-commit checks"
|
|
|
|
cat <<EOF
|
|
The code isn't formatted or doesn't pass lints. You can run pre-commit locally with:
|
|
|
|
nix develop -c ./maintainers/format.sh
|
|
EOF
|
|
|
|
echo "::endgroup::"
|
|
|
|
exit 1
|