Commit 1edb73a7 authored by piegames's avatar piegames
Browse files

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.
parent 13125524
Loading
Loading
Loading
Loading
+8 −1
Original line number Diff line number Diff line
@@ -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
  ''