Skip to content

[Dev] Use pre-commit-hook instead of "archery lint" for all lints #40417

@kou

Description

@kou

Describe the enhancement requested

We use archery lint ... to run linters. It's convenient because we don't need to know linters details but we need to install archery[lint] and we need to write Python code to add a new linter. They're a bit annoying.

How about using pre-commit https://pre-commit.com/ for all linters? If we use pre-commit:

  • We don't need to write Python code for new linter and changing linter behavior (We need to write YAML instead)
  • C++: We don't need to install clang-format-14 separately (pre-commit can do it automatically)
  • C++: We don't need to run CMake to run clang-format-14
  • We can get easy to read lint failure messages (archery docker run ubuntu-lint outputs many unrelated messages)

Note that we already have some pre-commit configuration: https://github.com/apache/arrow/blob/main/.pre-commit-config.yaml

Sub issues:

Component(s)

Developer Tools

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions