upgraded clang-tidy/clazy in github actions

- upgraded clang to 14 (from clang 13)
 - upgraded clazy-standalone to 1.11 (from 1.10)
 - enabled new clazy 1.11 checks use-arrow-operator-instead-of-data,
   unexpected-flag-enumerator-value, and qt6-deprecated-api-fixes
This commit is contained in:
silverqx
2022-04-29 14:34:49 +02:00
parent ba66bf1f65
commit 2baf2449a2
+20 -20
View File
@@ -25,27 +25,27 @@ jobs:
sudo add-apt-repository -y ppa:ubuntu-toolchain-r/test
sudo add-apt-repository -y ppa:beineri/opt-qt-5.15.2-focal
- name: add-apt-repository Clang 13
- name: add-apt-repository Clang 14
run: |
wget -O - https://apt.llvm.org/llvm-snapshot.gpg.key | sudo apt-key add -
sudo add-apt-repository -y "deb http://apt.llvm.org/focal/ llvm-toolchain-focal-13 main"
sudo add-apt-repository -y "deb http://apt.llvm.org/focal/ llvm-toolchain-focal-14 main"
- name: apt update
run: |
sudo apt update
- name: apt install clang-13, lld, g++-11, clang-tidy-13, Qt 5.15.2 base, and ccache
- name: apt install clang-14, lld, g++-11, clang-tidy-14, Qt 5.15.2 base, and ccache
run: |
sudo apt install -y clang-13 lld g++-11 clang-tidy-13 qt515base ccache
sudo apt install -y clang-14 lld g++-11 clang-tidy-14 qt515base ccache
- name: ninja install latest version
uses: seanmiddleditch/gha-setup-ninja@master
with:
destination: ${{ runner.workspace }}/../ninja-build
- name: TinyORM create build folder (clang13-cmake-debug)
- name: TinyORM create build folder (clang14-cmake-debug)
run: |
mkdir -p ../TinyORM-builds-cmake/build-clang13-cmake-debug
mkdir -p ../TinyORM-builds-cmake/build-clang14-cmake-debug
- name: ccache setup 🕺
uses: Chocobo1/setup-ccache-action@v1
@@ -64,16 +64,16 @@ jobs:
echo 'VCPKG_DEFAULT_TRIPLET=x64-linux-dynamic' >> $GITHUB_ENV
echo 'VCPKG_MAX_CONCURRENCY=2' >> $GITHUB_ENV
- name: TinyORM cmake configure (clang13-cmake-debug)
- name: TinyORM cmake configure (clang14-cmake-debug)
run: >-
source .github/resources/qt5env.sh
cmake
-S .
-B ../TinyORM-builds-cmake/build-clang13-cmake-debug
-B ../TinyORM-builds-cmake/build-clang14-cmake-debug
-G Ninja
-D CMAKE_CXX_COMPILER_LAUNCHER=/usr/bin/ccache
-D CMAKE_CXX_COMPILER:FILEPATH=/usr/bin/clang++-13
-D CMAKE_CXX_COMPILER:FILEPATH=/usr/bin/clang++-14
-D CMAKE_TOOLCHAIN_FILE:FILEPATH="$VCPKG_INSTALLATION_ROOT/scripts/buildsystems/vcpkg.cmake"
-D CMAKE_DISABLE_PRECOMPILE_HEADERS:BOOL=ON
-D CMAKE_EXPORT_COMPILE_COMMANDS:BOOL=ON
@@ -84,10 +84,10 @@ jobs:
-D BUILD_TESTS:BOOL=ON
-D TOM_EXAMPLE:BOOL=ON
- name: TinyORM cmake build ✨ (clang13-cmake-debug)
- name: TinyORM cmake build ✨ (clang14-cmake-debug)
run: |
source .github/resources/qt5env.sh
cmake --build ../TinyORM-builds-cmake/build-clang13-cmake-debug --target all --parallel 2
cmake --build ../TinyORM-builds-cmake/build-clang14-cmake-debug --target all --parallel 2
- name: clazy-standalone install
run: >-
@@ -102,10 +102,10 @@ jobs:
run: |
echo 'TINY_CLANG_TIDY_EXECUTED=true' >> $GITHUB_ENV
ln -s ../TinyORM-builds-cmake/build-clang13-cmake-debug/compile_commands.json \
ln -s ../TinyORM-builds-cmake/build-clang14-cmake-debug/compile_commands.json \
compile_commands.json
run-clang-tidy-13 '(?:src\/|tests\/).+\/(?!mocs_)[\w_\-\+]+\.cpp$'
run-clang-tidy-14 '(?:src\/|tests\/).+\/(?!mocs_)[\w_\-\+]+\.cpp$'
- name: TinyORM execute clazy-standalone 🚀
if: env.TINY_CLANG_TIDY_EXECUTED == 'true' && (success() || failure())
@@ -116,14 +116,14 @@ jobs:
'assert-with-side-effects,container-inside-loop,detaching-member,'\
'heap-allocated-small-trivial-type,ifndef-define-typo,isempty-vs-count,jni-signatures,'\
'qhash-with-char-pointer-key,qproperty-type-mismatch,qrequiredresult-candidates,'\
'qstring-varargs,qt6-fwd-fixes,qt6-header-fixes,qt6-qhash-signature,'\
'raw-environment-function,reserve-candidates,signal-with-return-value,thread-with-slots,'\
'tr-non-literal,'\
`# Will be added in Clazy 1.11`\
`# 'unexpected-flag-enumerator-value,'`\
'qstring-varargs,qt6-deprecated-api-fixes,qt6-fwd-fixes,qt6-header-fixes,'\
'qt6-qhash-signature,raw-environment-function,reserve-candidates,'\
'signal-with-return-value,thread-with-slots,tr-non-literal,'\
`# New in Clazy 1.11`\
'unexpected-flag-enumerator-value,'\
'unneeded-cast,'\
`# Will be added in Clazy 1.11`\
`# 'use-arrow-operator-instead-of-data,'`\
`# New in Clazy 1.11`\
'use-arrow-operator-instead-of-data,'`\
'use-chrono-in-qtimer,'\
`# Checks Excluded from level2`\
'no-copyable-polymorphic,no-ctor-missing-parent-argument,no-function-args-by-ref,'\