From eec563ac8b75a8b4e86ae74202dd8bfa6f3be4a2 Mon Sep 17 00:00:00 2001 From: Arseniy Obolenskiy Date: Mon, 4 Aug 2025 06:53:38 +0200 Subject: [PATCH] Retrigger all files check if .clang-tidy file is modified --- .github/actions/clang-tidy-native/action.yml | 19 +++++++++++++++++-- modules/task/tests/.clang-tidy | 2 +- modules/util/include/func_test_util.hpp | 14 +++++++++++++- modules/util/include/util.hpp | 1 - 4 files changed, 31 insertions(+), 5 deletions(-) diff --git a/.github/actions/clang-tidy-native/action.yml b/.github/actions/clang-tidy-native/action.yml index 19e2d36e..6e54d9a0 100644 --- a/.github/actions/clang-tidy-native/action.yml +++ b/.github/actions/clang-tidy-native/action.yml @@ -31,9 +31,24 @@ runs: run: | git config --global --add safe.directory $GITHUB_WORKSPACE git fetch origin ${{ github.event.pull_request.base.ref }} - CHANGED_FILES=$(git diff --name-only \ + + # Check if .clang-tidy files were changed + CLANG_TIDY_CHANGED=$(git diff --name-only \ origin/${{ github.event.pull_request.base.ref }}...HEAD \ - -- '*.cpp' '*.hpp' '*.c' '*.h' | grep -v '^${{ inputs.exclude }}/' || true) + -- '.clang-tidy' '**/.clang-tidy' || true) + + if [ -n "$CLANG_TIDY_CHANGED" ]; then + echo "Clang-tidy configuration changed, analyzing all files" + # Get all C++ files in the repo (excluding specified directories) + CHANGED_FILES=$(find . -name "*.cpp" -o -name "*.hpp" -o -name "*.c" -o -name "*.h" | \ + grep -v "^\./${{ inputs.exclude }}/" | sed 's|^\./||' || true) + else + # Only analyze changed C++ files + CHANGED_FILES=$(git diff --name-only \ + origin/${{ github.event.pull_request.base.ref }}...HEAD \ + -- '*.cpp' '*.hpp' '*.c' '*.h' | grep -v '^${{ inputs.exclude }}/' || true) + fi + echo "changed_files<> $GITHUB_OUTPUT echo "$CHANGED_FILES" >> $GITHUB_OUTPUT echo "EOF" >> $GITHUB_OUTPUT diff --git a/modules/task/tests/.clang-tidy b/modules/task/tests/.clang-tidy index ef43b7aa..9e502745 100644 --- a/modules/task/tests/.clang-tidy +++ b/modules/task/tests/.clang-tidy @@ -10,4 +10,4 @@ Checks: > CheckOptions: - key: readability-function-cognitive-complexity.Threshold - value: 50 # Relaxed for tests + value: 100 # Relaxed for tests diff --git a/modules/util/include/func_test_util.hpp b/modules/util/include/func_test_util.hpp index 9977ca97..472abea2 100644 --- a/modules/util/include/func_test_util.hpp +++ b/modules/util/include/func_test_util.hpp @@ -92,14 +92,26 @@ class BaseRunFuncTests : public ::testing::TestWithParam& test_param) { task_ = std::get(test_param)(GetTestInputData()); + ValidateTask(); + ExecuteTaskPipeline(); + VerifyOutput(); + } + + private: + void ValidateTask() { EXPECT_TRUE(task_->Validation()); + } + + void ExecuteTaskPipeline() { EXPECT_TRUE(task_->PreProcessing()); EXPECT_TRUE(task_->Run()); EXPECT_TRUE(task_->PostProcessing()); + } + + void VerifyOutput() { EXPECT_TRUE(CheckTestOutputData(task_->GetOutput())); } - private: ppc::task::TaskPtr task_; }; diff --git a/modules/util/include/util.hpp b/modules/util/include/util.hpp index b914bcae..f8136a39 100644 --- a/modules/util/include/util.hpp +++ b/modules/util/include/util.hpp @@ -4,7 +4,6 @@ #include #include #include -#include #include #include #ifdef __GNUG__