ci/parse: Fail on warning

Lix simply emits all warnings to stderr. All warnings it emits are
deprecation warnings which we would like to turn into hard errors in the
future, but are still too widespread in use, including in Nixpkgs. If we
don't hard-error on these too, then regressions will continue being
introduced and we will never be able to turn these into hard errors.

(cherry picked from commit 1edb73a7fe)
This commit is contained in:
piegames
2026-04-20 21:08:52 +02:00
committed by github-actions[bot]
parent 9e663c9dd5
commit a2e02bc8bd

View File

@@ -28,7 +28,14 @@ runCommand "nix-parse-${nix.name}"
# the other CI jobs will report in more detail. This job is about checking parsing
# across different implementations / versions, not about providing the best DX.
# Returning all parse errors requires significantly more resources.
find . -type f -iname '*.nix' | xargs -P $(nproc) nix-instantiate --parse >/dev/null
find . -type f -iname '*.nix' | xargs -P $(nproc) nix-instantiate --parse 2>&1 >/dev/null | {
# Also fail on (deprecation) warnings printed to stderr.
if grep "warning"; then
echo "Failing due to warnings in stderr" >&2
exit 1
fi
}
touch $out
''