the linters are killing me slowly

Moritz Angermann moritz.angermann at
Thu Feb 10 03:29:34 UTC 2022

Just to add to this. I think we should *optimize* for people not working
full time on GHC.
Anything that's going to be smooth for people working only a few hours a
week on GHC
will implicitly improve the situation for those working more hours on GHC
as well. As in
what is pleasant for someone with little time should also make it pleasant
for someone
with lots of time.

I don't see why marge would be an issue though? If we allow all failures,
why would
someone assign something to marge that still *has* failures? Isn't the idea
that you
assign to marge once you've cleaned up all failures?

I mean ideally we'd want to get a summary of all failures (without the

The only drawback I can see is this: if we allow all failures, and then end
up with lots
of MRs, we might run into build constraints (e.g. you are going to wait
hours for your
MR to even be picked up by the fleat of CI machines). I don't see this
immediately.  And maybe if this happens we can get ~7k EUR / year form the
That's about as much as the builders I provide cost per year.


On Thu, 10 Feb 2022 at 10:04, Ben Gamari <ben at> wrote:

> Richard Eisenberg <lists at> writes:
> > Hi devs,
> >
> Hi Richard,
> > Can we please, please not have the linters stop more useful output
> > during CI? Over the past few months, I've lost several days of
> > productivity due to the current design.
> Mmm, yes, this doesn't sound good. I'm sorry it's been such a hassle.
> > Why several days? Because I typically end up with only 1.5-2 hours for
> > GHC work in a day, and when I have to spend half of that recreating
> > test results (which, sometimes, don't work, especially if I use
> > Hadrian, as recommended), I often decide to prioritize other tasks
> > that I have a more reasonable chance of actually finishing.
> >
> > It was floated some time ago that "Draft" MRs could skip linters. But
> > I actually have a non-Draft MR now, and it failed the new Notes
> > linter. (Why, actually, is that even a separate pass? I thought there
> > was a test case for that, which I'm thrilled with.)
> >
> It's a separate pass to help the contributor distinguish
> > It just feels to me that the current workflow is optimized for those
> > of us who work on GHC close to 100% of the time. This is not the way
> > to get new contributors.
> >
> Yes, I am sympathetic with this concern. One alternative design that we
> could try is to rather allow linters to fail *except* in Marge jobs.
> This would mean that we would need to be very careful not to pass jobs
> with failing lints to Marge as doing so would spoil the entire Marge
> batch. However, it would also mean that it would make contribution in a
> less-than-full-time setting a bit easier. How does this sound?
> If we had more devops capacity we could mitigate the Marge-spoilage
> problem by teaching Marge not to consider MRs which are failing lints.
> However, at the moment I don't think we have the bandwidth to implement
> this.
> Cheers,
> - Ben
> _______________________________________________
> ghc-devs mailing list
> ghc-devs at
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <>

More information about the ghc-devs mailing list