-
-
Notifications
You must be signed in to change notification settings - Fork 367
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
Freeze version of hlint used to lint ghcide #2143
Comments
The script ultimately calls on to https://github.com/ndmitchell/neil/blob/master/misc/run.sh. If you want to pin a version I think the right thing to do is read an optional external variable like I'd be happy to add such a feature. |
Why not refer to an exact commit? Seems simpler than adding an environment variable |
If you want a precompiled binary (which you probably do) then you want to be pointing at a binary release. Those are by version number. Note that the script itself doesn't change, it's just driven by the GitHub releases, and currently always grabs the latest. |
The ci is throwing ocasional errors trying to get the hlint script (https://github.com/jneira/haskell-language-server/runs/3532327041?check_suite_focus=true):
So i wonder if we should host directly it to make it more reliable |
Also, there is a possibility to use GitHub action for it. Benefits would be:
Downsides: I currently do not know other downsides.
But it is definitely good to run the check once per CI set, as such 20-times-for-1-change frequently hit access/request quotas & GitHub, Docker, Travis, Nix CDN & such love to block those kinds of spammy/DDoS-alike requests. I am the one that does a lot of atomic commits (was 1-3 in commits (most of them semi-manual) in my country not so far ago), one who loves constantly push to remote as a backup, and retroactively clean-up & improve commits, all that during big activity triggers CI rebuilds all the time & causes to hit those types of quotas semi-regularly even being cautious. |
@Anton-Latukha thanks for the detailed analysis, the use of a dedicated action looks great and maybe we could create a dedicated job in the test workflow to run hlint on only 3 ghcs and one so (linux) if we want more coverage per ghc. We had a new issue recently running hlint: #2214 (comment) and i created an issue upstream ndmitchell/neil#55 but maybe it is due the anti-DDoS as you mention What do you think about contributing in the repo changing the way we use hlint? It could follow my suggestion (add one job in test workflow per 3 major ghc versions, it should throw an error and no continue with the existing workflow) if you think it makes sense |
Neil is of course the best person to create an official HLint action. |
Yes, it is a thing I also wanted to propose & motivated to do. Depending on Mitchell response I can prioritize actions accordingly (do the HLS CI config change, or if As you also proposed it to me - the second part (submit CI config restructure) is already agreed. Upon configuration work going to reach out in the nearest days in IRC/Matrix, to make it under maintainer team requirements. |
The #2537 solves the topic. There it pins to |
This looks like it is solved. @Anton-Latukha has switched to a GitHub actions plugin, which is being attempted to be merged with the Haskell github action, so that all seems like we're sorted now. |
Solved by #2357 |
Every time that @ndmitchell releases a new hint, our CI becomes blocked (the most recent one is #2116 (comment))
To prevent this, we should change the lint script to stick to a fixed version of hlint. This will probably imply forking Neil's script:
haskell-language-server/fmt.sh
Lines 1 to 3 in a800b9d
The text was updated successfully, but these errors were encountered: