Skip to content

Lint workflow

I'm pleased that we have improved our workflow around hlint (#20507 (closed)). However, we still have similar problems around plain old lint!

Take a look at https://gitlab.haskell.org/ghc/ghc/-/jobs/846983 (from !6905 (closed)). It tells me that I have a missing file-ending EOL in one of my test cases. First off, I'm a little surprised we're checking for this (in a test case -- not actual GHC code), but maybe checking for this reduces wibbles. But this problem means I've lost an opportunity for CI feedback. As I grouse about elsewhere (#20498 (closed)), I'm unable to easily get testsuite feedback locally, and now this means I am doomed to wait a longish time before getting the news I need to be able to land a patch.

Can we please do one of the following? These are listed in order of my preference.

  1. Move all linters to run in parallel with validation, like hlint does now.
  2. Move all (quick) linters to run, synchronously, on every push. That is, we just reject the push (even to a wip branch) if it fails lint. Then, contributors can correct right away.
  3. Have a dead-easy-to-run, reliable process that contributors can run locally to catch these kinds of problems before pushing.

Many thanks!

To upload designs, you'll need to enable LFS and have an admin enable hashed storage. More information