2022-09-30 22:52:54 +03:00
|
|
|
name: clang-tidy-review
|
|
|
|
|
|
|
|
# You can be more specific, but it currently only works on pull requests
|
|
|
|
on: [pull_request]
|
|
|
|
|
|
|
|
jobs:
|
|
|
|
clang-tidy:
|
|
|
|
runs-on: ubuntu-22.04
|
|
|
|
steps:
|
|
|
|
- uses: actions/checkout@v2
|
|
|
|
with:
|
|
|
|
fetch-depth: 2
|
|
|
|
- name: Install clang-tidy
|
|
|
|
run: |
|
|
|
|
sudo apt-get update
|
|
|
|
sudo apt-get install -y clang-tidy
|
2022-09-30 22:52:54 +03:00
|
|
|
sudo apt-get install -y ninja-build zlib1g-dev texlive-latex-base qtwebengine5-dev qttools5-dev-tools qttools5-dev qtquickcontrols2-5-dev qt5keychain-dev qtdeclarative5-dev qtbase5-dev python3-sphinx libssl-dev libsqlite3-dev libqt5websockets5-dev libqt5svg5-dev pkg-config libkf5archive-dev libcloudproviders-dev libcmocka-dev libdbus-1-dev qtbase5-private-dev qt5-qmake inkscape
|
2022-09-30 22:52:54 +03:00
|
|
|
- name: Prepare compile_commands.json
|
|
|
|
run: |
|
2022-09-30 22:52:54 +03:00
|
|
|
cmake -G Ninja -B build -DCMAKE_EXPORT_COMPILE_COMMANDS=ON -DBUILD_UPDATER=ON -DBUILD_TESTING=1
|
|
|
|
cd build && ninja
|
2022-09-30 22:52:54 +03:00
|
|
|
- name: Create results directory
|
|
|
|
run: |
|
|
|
|
mkdir clang-tidy-result
|
|
|
|
- name: Analyze
|
|
|
|
run: |
|
2022-10-03 22:05:50 +03:00
|
|
|
git diff -U0 HEAD^ | clang-tidy-diff -checks='-*,modernize-use-auto,modernize-use-using,modernize-use-nodiscard,modernize-use-nullptr,modernize-use-override,cppcoreguidelines-pro-type-static-cast-downcast' -p1 -path build -export-fixes clang-tidy-result/fixes.yml
|
2022-09-30 22:52:54 +03:00
|
|
|
- name: Run clang-tidy-pr-comments action
|
|
|
|
uses: platisd/clang-tidy-pr-comments@master
|
|
|
|
with:
|
|
|
|
# The GitHub token (or a personal access token)
|
|
|
|
github_token: ${{ secrets.GITHUB_TOKEN }}
|
|
|
|
# The path to the clang-tidy fixes generated previously
|
|
|
|
clang_tidy_fixes: clang-tidy-result/fixes.yml
|
|
|
|
# Optionally set to true if you want the Action to request
|
|
|
|
# changes in case warnings are found
|
|
|
|
request_changes: true
|
|
|
|
# Optionally set the number of comments per review
|
|
|
|
# to avoid GitHub API timeouts for heavily loaded
|
|
|
|
# pull requests
|
|
|
|
suggestions_per_comment: 10
|