Skip to content

Switch clang tools from static binaries to wheels? #364

@shenxianpeng

Description

@shenxianpeng

Is your idea related to an existing feature?

No response

Describe the behavior you would like

Right now, cpp-linter-action still uses clang-tools-pip to install clang-tools-static-binaries.

Previously, cpp-linter-hooks also relied on clang-tools-static-binaries before version v1.0.0. Since v1.0.0 (now at v1.1.6), it has switched to using Clang Tools wheels — this change has proven to work better overall.

Today, I made a small update to cpp-linter-hooks to add CLI support for installing wheels since it already resolves version and installs before (see cpp-linter/cpp-linter-hooks#136), similar to how clang-tools-pip installs binaries.

Example usage:

# Install the package
pip install cpp-linter-hooks

# Install specific version of clang-format
clang-tools-wheel --tool clang-format --version 21
clang-format installed at: /home/sxp/.local/bin/clang-format

# Check clang-format version
/home/sxp/.local/bin/clang-format --version
clang-format version 21.1.2

# Install specific version of clang-tidy
clang-tools-wheel --tool clang-tidy --version 21
clang-tidy installed at: /home/sxp/.local/bin/clang-tidy

# Check clang-tidy version
/home/sxp/.local/bin/clang-tidy --version
LLVM (http://llvm.org/):
  LLVM version 21.1.1
  Optimized build.

Maybe it’s time to switch Clang Tools from static binaries to wheels?

Describe alternatives you have considered

No response

Additional context

No response

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or request

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions