
* try this reviewer * test the reviewer with a very bad piece of code * it can't handle spaces * run cmake to find all the files * file go brr haha * cmake needs qt installed * rename file once again * use windows * also doesn't like brackets * can't use windows * install qt the linux way * try using cmake this way * cmon cmake * install qt before running cmake * forgot catch2 * need to install as root * add build dir * delete test file * fix 3 warnings * enable clazy * Revert "fix 3 warnings" This reverts commit 7e64d4a546c397b5b69554ccf6765bf0a068f695. * disable 3 warnings * add a bracket for readability * install clazy before * get qt 5 real * try lukkas cmake modules * dupe courtroom again to test clang-tidy * courtroom.cpp was a mistake * remove magic number warning
71 lines
2.2 KiB
YAML
71 lines
2.2 KiB
YAML
name: clang-tidy-review
|
|
|
|
on: [pull_request]
|
|
|
|
jobs:
|
|
compile:
|
|
name: ${{matrix.buildname}}
|
|
runs-on: ${{matrix.os}}
|
|
strategy:
|
|
fail-fast: false
|
|
matrix:
|
|
include:
|
|
- os: ubuntu-latest
|
|
buildname: 'clang-tidy'
|
|
triplet: x64-linux
|
|
compiler: clang_64
|
|
qt: '5.15.2'
|
|
|
|
steps:
|
|
- uses: actions/checkout@v2
|
|
|
|
- name: Restore Qt cache
|
|
uses: actions/cache@v2.1.7
|
|
id: cache-qt
|
|
with:
|
|
path: ${{github.workspace}}/Qt/${{matrix.qt}}
|
|
key: ${{matrix.os}}-qt-${{matrix.qt}}-cache
|
|
|
|
- name: Install Qt
|
|
uses: jurplel/install-qt-action@v2
|
|
with:
|
|
version: ${{matrix.qt}}
|
|
dir: ${{github.workspace}}
|
|
cached: ${{steps.cache-qt.outputs.cache-hit}}
|
|
aqtversion: '==1.1.2'
|
|
|
|
- name: Install Catch2
|
|
shell: bash
|
|
run: |
|
|
curl -L https://github.com/catchorg/Catch2/archive/v2.13.4.tar.gz -o catch2.tar.gz
|
|
tar xvf catch2.tar.gz
|
|
cd Catch2-2.13.4
|
|
cmake -Bbuild -H. -DBUILD_TESTING=OFF
|
|
sudo cmake --build build/ --target install
|
|
|
|
- name: Use CMake 3.20.1
|
|
uses: lukka/get-cmake@v3.20.1
|
|
|
|
- name: Generate compile_commands.json
|
|
uses: lukka/run-cmake@v3
|
|
with:
|
|
cmakeListsOrSettingsJson: CMakeListsTxtAdvanced
|
|
cmakeListsTxtPath: '${{github.workspace}}/CMakeLists.txt'
|
|
buildDirectory: '${{github.workspace}}/build'
|
|
cmakeAppendedArgs: >-
|
|
-DCMAKE_GLOBAL_AUTOGEN_TARGET=ON
|
|
-DCMAKE_EXPORT_COMPILE_COMMANDS=ON
|
|
-DENABLE_CLAZY:BOOL=ON
|
|
buildWithCMakeArgs: >-
|
|
--target autogen
|
|
|
|
- uses: ZedThree/clang-tidy-review@v0.8.2
|
|
id: review
|
|
with:
|
|
build_dir: 'build'
|
|
clang_tidy_checks: '-*,performance-*,readability-*,bugprone-*,clang-analyzer-*,cppcoreguidelines-*,mpi-*,misc-*,-cppcoreguidelines-owning-memory,-cppcoreguidelines-pro-bounds-constant-array-index,-cppcoreguidelines-init-variables,-cppcoreguidelines-pro-type-member-init,-cppcoreguidelines-avoid-magic-numbers'
|
|
apt_packages: 'pkg-config,libzip-dev,libglu1-mesa-dev,libpulse-dev'
|
|
# If there are any comments, fail the check
|
|
- if: steps.review.outputs.total_comments > 0
|
|
run: exit 1
|