Avoid Core Lint failures from filling up CI logs
This CI log failed due to numerous Core Lint errors. While I'm glad that each error is reported, the problem is that the entirely of each error is dumped, which takes up a ton of log space. So much space, in fact, that the log cuts off at 16,384,000 bytes. This is a problem, because that means I cannot see the itemized list of libraries that failed to build at the end of log, which is what I need to see in order to debug the remaining build failures.
I don't know if GHC itself has a flag to make the output of -dcore-lint
less verbose; if so, enabling that would be one way forward. Alternatively, it may be worth considering some way to scrape only the beginning parts of each Core Lint error and discarding the rest. In other words, only print this part:
*** Core Lint errors : in result of Desugar (before optimization) ***
Data/Primitive/Array.hs:379:11: warning:
Invalid runRW# application
In the RHS of runArray# :: forall a.
(forall s. ST s (MutableArray s a)) -> Array# a
In the body of lambda with binder a_a8g6 :: *
In the body of lambda with binder m_a7Cy :: forall s.
ST s (MutableArray s a_a8g6)
Substitution: [TCvSubst
In scope: InScope {a_a8g6}
Type env: [a8g6 :-> a_a8g6]
Co env: []]
And deliberately omit everything after *** Offending Program ***
.