-
Notifications
You must be signed in to change notification settings - Fork 1.2k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
enable golangci-lint for supported platforms #4411
Conversation
eb01b1d
to
01ed1a5
Compare
Signed-off-by: CrazyMax <[email protected]>
Signed-off-by: CrazyMax <[email protected]>
Signed-off-by: CrazyMax <[email protected]>
01ed1a5
to
88f3b82
Compare
Just so I'm clear, it looks like a single lint takes 20 minutes anyway, so there's not much room for gains on GHA anyway? I note that this run took 24 minutes for lint-default, while the final run in #4261 took 20 minutes for the entire lint task. Either that, or the GHA runner can't actually run all the lint Or it's something I'm not familiar-enough with to spot, like this extensive runtime being a cold cache problem that goes away in future runs, or we're just being unlucky in GHA task scheduling or something. |
@crazy-max I think we probably want to matrix the platforms as well? The problem with the linting is that it's cpu-intensive and uses multiple cores (I have no idea why, maybe something to dig into sometime 😢). To parallelize, we'd need to spin up a linting job for each platform. |
It does run the steps for different platforms in parallel but
We could be that would increase the number of jobs in our pipeline quite heavily and therefore increase queue for other runs. From 5 |
I know golangci-lint is always aggressively trying to do as many things in parallel as possible, which can be great to make use of all available resources, but I recall we had to tweak their Also don't forget build-tags and |
Follow-up: as discussed with @jedevc we could look at grouping |
follow-up #4261 (comment)