diff --git a/.CI/setup-clang-tidy.sh b/.CI/setup-clang-tidy.sh index 97256d0e..6e45ac37 100755 --- a/.CI/setup-clang-tidy.sh +++ b/.CI/setup-clang-tidy.sh @@ -5,6 +5,7 @@ set -ev; CLANG_TIDY_VERSION=21 CLAZY_VERSION=v1.16 CLAZY_CLANG_TIDY_HASH=6ef467f518304955ef031fb74e74fa16349361919172c7f0fb622dcf4b4b7030 +CHATTERINO_CLANG_TIDY_MODULE_CLANG_TIDY_HASH=0b591a512760d13eb3d089df21991830f1131cfbeac3f1c26d44c267573fb04b # aqt installs into .qtinstall/Qt//gcc_64 # This is doing the same as jurplel/install-qt-action @@ -31,6 +32,11 @@ curl -sSLo build-clang-tidy/clazy.zip \ echo "$CLAZY_CLANG_TIDY_HASH build-clang-tidy/clazy.zip" | sha256sum --check --status unzip build-clang-tidy/clazy.zip -d /usr/lib +curl -sSLo build-clang-tidy/chatterino-clang-tidy-module.zip \ + https://github.com/Chatterino/clang-tidy-module/releases/download/ci/chatterino-clang-tidy-module-clang${CLANG_TIDY_VERSION}.zip +echo "$CHATTERINO_CLANG_TIDY_MODULE_CLANG_TIDY_HASH build-clang-tidy/chatterino-clang-tidy-module.zip" | sha256sum --check --status +unzip build-clang-tidy/chatterino-clang-tidy-module.zip -d /usr/lib + # Run MOC and UIC # This will compile the dependencies # Get the targets using `ninja -t targets | grep autogen` diff --git a/.clang-tidy b/.clang-tidy index 9a2de7a0..88ae90c1 100644 --- a/.clang-tidy +++ b/.clang-tidy @@ -1,6 +1,7 @@ Checks: "-*, clang-diagnostic-*, llvm-*, + chatterino-*, misc-*, -misc-unused-parameters, readability-identifier-naming, diff --git a/.github/workflows/clang-tidy.yml b/.github/workflows/clang-tidy.yml index fe7ddc63..b7578b41 100644 --- a/.github/workflows/clang-tidy.yml +++ b/.github/workflows/clang-tidy.yml @@ -41,13 +41,13 @@ jobs: - name: clang-tidy review timeout-minutes: 20 - uses: ZedThree/clang-tidy-review@v0.22.2 + uses: pajlada/clang-tidy-review@48112868b38447d10d744c10758efa1acde09944 with: build_dir: build-clang-tidy config_file: ".clang-tidy" split_workflow: true exclude: "lib/*,tools/crash-handler/*,mocks/*" - extra_arguments: "-load=/usr/lib/ClazyClangTidy21.so" + extra_arguments: "--load=/usr/lib/ClazyClangTidy21.so --load=/usr/lib/chatterino-clang-tidy-module-21.so" clang_tidy_version: 21 cmake_command: >- ./.CI/setup-clang-tidy.sh diff --git a/CHANGELOG.md b/CHANGELOG.md index 9be398f3..38f5aacd 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -60,6 +60,7 @@ - Dev: Simplified uses of `getMessageSnapshot`. (#6607) - Dev: Disabled `llvm-prefer-static-over-anonymous-namespace` in clang-tidy. (#6610) - Dev: Added Clazy linting in CI. (#6623) +- Dev: Added custom clang-tidy module linting in CI. (#6626) ## 2.5.4