diff --git a/.clang-tidy b/.clang-tidy index 81f2d62596..6507139938 100644 --- a/.clang-tidy +++ b/.clang-tidy @@ -105,6 +105,38 @@ Checks: '*, -readability-redundant-declaration, -readability-static-accessed-through-instance, -readability-static-definition-in-anonymous-namespace, + -altera-struct-pack-align, + -bugprone-easily-swappable-parameters, + -concurrency-mt-unsafe, + -cppcoreguidelines-avoid-const-or-ref-data-members, + -cppcoreguidelines-macro-usage, + -cppcoreguidelines-non-private-member-variables-in-classes, + -hicpp-uppercase-literal-suffix, + -llvm-qualified-auto, + -misc-non-private-member-variables-in-classes, + -misc-use-anonymous-namespace, + -modernize-concat-nested-namespaces, + -readability-const-return-type, + -readability-identifier-length, + -readability-isolate-declaration, + -readability-qualified-auto, + -readability-redundant-access-specifiers, + -cppcoreguidelines-avoid-do-while, + -misc-include-cleaner, + -misc-const-correctness, + -llvm-else-after-return, + -readability-function-cognitive-complexity, + -cppcoreguidelines-init-variables, + -bugprone-reserved-identifier, + -cert-dcl37-c, + -cert-dcl51-cpp, + -modernize-use-nodiscard, + -misc-confusable-identifiers, + -cert-err33-c, + -readability-redundant-inline-specifier, + -readability-uppercase-literal-suffix, + -bugprone-narrowing-conversions, + -cppcoreguidelines-narrowing-conversions, ' WarningsAsErrors: '*' CheckOptions: diff --git a/.github/workflows/clang-tidy.yml b/.github/workflows/clang-tidy.yml index b373c59765..0828e01f91 100644 --- a/.github/workflows/clang-tidy.yml +++ b/.github/workflows/clang-tidy.yml @@ -11,6 +11,7 @@ on: - '**' paths-ignore: - 'docs/**' + jobs: build: runs-on: ubuntu-latest @@ -18,13 +19,22 @@ jobs: - uses: actions/checkout@v4 with: fetch-depth: 0 + fetch-tags: true + + - name: Determine PX4 version for container image + id: px4_version + run: | + echo "px4_version=$(git describe --tags --match 'v[0-9]*')" >> $GITHUB_OUTPUT - name: Testing (clang-tidy) uses: addnab/docker-run-action@v3 with: - image: px4io/px4-dev-clang:2021-09-08 + image: px4io/px4-dev:${{ steps.px4_version.outputs.px4_version }} options: -v ${{ github.workspace }}:/workspace run: | cd /workspace - git config --global --add safe.directory /workspace + apt install clang-tidy-18 -y + update-alternatives --install /usr/bin/clang-tidy clang-tidy /usr/bin/clang-tidy-18 100 + update-alternatives --install /usr/bin/clang clang /usr/bin/clang-18 100 + update-alternatives --install /usr/bin/clang++ clang++ /usr/bin/clang++-18 100 make clang-tidy