ZedThree / clang-tidy-review

Create a pull request review based on clang-tidy warnings
MIT License
88 stars 44 forks source link

Add support for clang-tidy-17 and cmake 3.27 #101

Open audio-engineer opened 10 months ago

audio-engineer commented 10 months ago

@ZedThree Hi, I thought I could add support for clang-tidy-17 by adding the official LLVM repository to apt and do the same with cmake by adding its official repository. My solution mostly follows the official instructions, but is slightly adopted for Docker. See LLVM and Kitware respectively.

audio-engineer commented 7 months ago

@ZedThree Any thoughts on this?

ZedThree commented 7 months ago

I am a little bit wary of this, because I'd prefer to keep the base image as a LTS OS if possible, as that would give the widest compatibility.

We could install the latest CMake via pip, that would remove the dependency on the Kitware repo. Is there an LLVM repo for Ubuntu 23.04?

Ideally, we'd somehow either remove the docker image entirely or make it customisable. I rather suspect the only way to do that would be to rewrite the whole thing in javascript.

daljit46 commented 6 months ago

I'd prefer to keep the base image as a LTS OS if possible

But Ubuntu 23.04 is not an LTS OS, right? I still agree with the idea though.

audio-engineer commented 6 months ago

@ZedThree I am not sure if I understand what you mean.

I'd prefer to keep the base image as a LTS OS if possible, as that would give the widest compatibility

Widest compatibility with what? This is a GitHub Actions Docker image and will thus run on the Docker engine on the GitHub servers. If the engine is able to create a container from the image, you have already achieved the maximum compatibility for the purpose.

We could install the latest CMake via pip

Ok, sure, but if you are already using a ubuntu base image, which includes apt, why not just use apt? In fact, pip is even installed manually on top of the base image.

Is there an LLVM repo for Ubuntu 23.04

You mean an APT source? Yeah, it's what I added in my commit. Also see the instructions in the link I provided in my first comment.

Ideally, we'd somehow either remove the docker image entirely or make it customisable.

I am not sure how you plan to install and run Clang/LLVM and related tools during a GitHub Actions run without Docker.