-
Notifications
You must be signed in to change notification settings - Fork 1.1k
stickler-ci is shutting down #1722
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
Comments
Pycodestyle returns line item results we could pipe that to an artifact. No preference between this and flake8 i also notice there are many GitHub actions for python code style checking. IDK if any will offer the same level of feedback, but maybe?
|
Yay, no more annoying stickler error messages!! :) |
I'm ok with the custom action, but my preference is to embrace the dark side and go black. I don't expect consensus on this and I'm not going to push it today. I just want to use this opportunity to plant a seed in your minds :) See details below for our new AI overlord's vision of a world in black (Verse 1) (Chorus) (Verse 2) (Chorus) (Bridge) (Verse 3) (Chorus) (Outro) |
There are some things that Black doesn't do it seems: e.g., flagging unused variables or imports |
Good point Adam. We can use one or more of black, ruff, flake8, isort, pydocstyle, etc. metpy's multi-tool linting workflow looks interesting in part because they're piping the output of the linters into reviewdog. Unidata/MetPy#2967 suggests that their goal is to consolidate most linting into ruff as it gains more features. |
I’m curious if anyone investigated just using an off the shelf marketplace action like the ones I linked in this comment before writing custom code in #1786 that we’ll have to maintain? |
I looked at the flake8 options in the actions marketplace and felt they don't contribute much toward writing a CI workflow that only lints changed lines. There appear to be two kinds of flake8 actions available on the marketplace. The first kind installs and runs flake8 using any custom arguments we provide, and then captures flake8's output to create annotations on the pull request. The second kind only sets up the tool that captures flake8's output for annotations and requires us to install and run flake8. To use these actions, we need to write a workflow file in this repository that calls them, and it is only a few more lines of code to reimplement their functionality ourselves. The first kind of action does not support linting changed lines only. The easiest way to lint changed lines is to pipe the output of The second kind of action does so little that reimplementing its functionality is more maintainable. All the implementation details are in one place. The implementation is writing a JSON file that defines how flake8's output should be mapped to annotations and then registering this JSON file with the CI workflow. |
Uh oh!
There was an error while loading. Please reload this page.
It seems the stickler-ci service is shutting down: https://stickler-ci.com/shutting-down
That website seems to suggest that it should still be working for the moment, but @AdamRJensen noticed that it's not reporting a status to #1395, so it might be inactive already for us.
Thinking about how we might replace it: instead of using an external service, pvanalytics and twoaxistracking both DIY with a custom flake8 action. This approach doesn't comment in-line like stickler does, which is a downside especially for new contributors. Probably there are nicer pre-built linter services we could switch to.
The text was updated successfully, but these errors were encountered: