To "End The Suffering" of "Endless Spinning Pizza" as punishment for merely rolling a commit, hereby the following proposed improvements to pre-commit hooks and CI:
Replace isort and black with ruff (x20 performance!) in pre-commit hook.
Add ruff as linter in pre-commit hook.
Use dmypy (mypy deamon) for much faster repeated Python linting.
Only call Python linter when actual Python files changed (using `lint-staged).
After this ticket, towards the future, I would like to propose:
Switching to pyright for more thorough linting (as it stands, it finds too many actual errors to be even usable).
Consider switching to pre-commit from husky, which automates installing linters.
Only call various GH workflows when relevant components have changed (e.g. no need to lint Python files when only JS files have changed and vice versa).
To "End The Suffering" of "Endless Spinning Pizza" as punishment for merely rolling a commit, hereby the following proposed improvements to pre-commit hooks and CI:
isort
andblack
withruff
(x20 performance!) in pre-commit hook.ruff
as linter in pre-commit hook.dmypy
(mypy deamon) for much faster repeated Python linting.ruff
linting and formatting checks in CI.After this ticket, towards the future, I would like to propose:
pyright
for more thorough linting (as it stands, it finds too many actual errors to be even usable).