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.
- Move all linters to run in parallel with validation, like hlint does now.
- 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. - Have a dead-easy-to-run, reliable process that contributors can run locally to catch these kinds of problems before pushing.
Many thanks!