Details
-
Wish
-
Status: Resolved
-
Minor
-
Resolution: Fixed
-
None
-
None
-
None
Description
Mesos currently uses a mix of hand-crafted git commit hooks and mesos-style to perform linting. While this has served us well our current approach also has some drawbacks, e.g.,
- the linter setup is spread between hooks and support/mesos-style.py
- adding new linters can be cumbersome
- mesos-style.py uses a process where it creates a single virtualenv to install linters in which is tie d to the source tree
- linter dependencies are only cached to an extent and it is easy to run into a situation where one needs to update linter dependencies over the network even though one has successfully linted a revision before
- support/mesos-style.py lacks a number of features, e.g., running over only staged files, running linters in parallel for improved throughput, running only specific linters or disabling certain linters, and the parameterization of the linters is strongly coupled to implementation of the style checker itself.
The pre-commit tool solves most of these issues and using it in Mesos would not only allow us to get rid of tooling which is hard to maintain, but also unlock other features. It is licensed under a MIT license. We should consider moving our linting setup over to pre-commit.
Attachments
Issue Links
- is required by
-
MESOS-9974 Remove support/mesos-style.py transition script
- Resolved