From 10c623a1c41e4bad12ce7b78a5a3338b79c7a59d Mon Sep 17 00:00:00 2001 From: Ray Huang Date: Sat, 14 Feb 2026 23:21:00 +0800 Subject: [PATCH 1/4] ci: test cmake clang-tidy with different components Signed-off-by: Ray Huang --- .github/workflows/lint.yml | 7 +++++++ CMakeLists.txt | 2 +- cpp/binary/pilot/CMakeLists.txt | 3 ++- cpp/binary/pymod_modmesh/CMakeLists.txt | 1 + cpp/modmesh/CMakeLists.txt | 1 + 5 files changed, 12 insertions(+), 2 deletions(-) diff --git a/.github/workflows/lint.yml b/.github/workflows/lint.yml index 616bc9e1c..d293d0277 100644 --- a/.github/workflows/lint.yml +++ b/.github/workflows/lint.yml @@ -215,6 +215,13 @@ jobs: - name: make checktws (check trailing whitespace) run: make checktws + - name: make buildext + run: | + make buildext \ + ${JOB_MAKE_ARGS} \ + CMAKE_BUILD_TYPE=${{ matrix.cmake_build_type }} \ + CMAKE_ARGS="-DPYTHON_EXECUTABLE=$(which python3) -DUSE_PYTEST_HELPER_BINDING=ON" + - name: make pilot run: | make pilot \ diff --git a/CMakeLists.txt b/CMakeLists.txt index e183008aa..921482a6a 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -64,7 +64,7 @@ find_program( ) if(USE_CLANG_TIDY) if(CLANG_TIDY_EXE) - set(DO_CLANG_TIDY "${CLANG_TIDY_EXE}" "-header-filter=/cpp/.\*/modmesh/.\*" "--extra-arg=-std=c++2b") + set(DO_CLANG_TIDY "${CLANG_TIDY_EXE}" "--extra-arg=-std=c++2b") if(LINT_AS_ERRORS) set(DO_CLANG_TIDY "${DO_CLANG_TIDY}" "-warnings-as-errors=*") endif() diff --git a/cpp/binary/pilot/CMakeLists.txt b/cpp/binary/pilot/CMakeLists.txt index 0760941c7..3099f447f 100644 --- a/cpp/binary/pilot/CMakeLists.txt +++ b/cpp/binary/pilot/CMakeLists.txt @@ -76,6 +76,7 @@ target_compile_options( ) if(CLANG_TIDY_EXE AND USE_CLANG_TIDY) + set(DO_CLANG_TIDY "${CLANG_TIDY_EXE}" "-header-filter=/cpp/binary/pilot/.*") set_target_properties( pilot PROPERTIES CXX_CLANG_TIDY "${DO_CLANG_TIDY}" @@ -114,4 +115,4 @@ install(TARGETS pilot RUNTIME DESTINATION "${INSTALL_PILOTDIR}" BUNDLE DESTINATION "${INSTALL_PILOTDIR}" LIBRARY DESTINATION "${INSTALL_PILOTDIR}" -) \ No newline at end of file +) diff --git a/cpp/binary/pymod_modmesh/CMakeLists.txt b/cpp/binary/pymod_modmesh/CMakeLists.txt index b44536493..d7008a2dd 100644 --- a/cpp/binary/pymod_modmesh/CMakeLists.txt +++ b/cpp/binary/pymod_modmesh/CMakeLists.txt @@ -27,6 +27,7 @@ target_compile_options( ) if (CLANG_TIDY_EXE AND USE_CLANG_TIDY) + set(DO_CLANG_TIDY "${CLANG_TIDY_EXE}" "-header-filter=/cpp/binary/pymod_modmesh/.*") set_target_properties( _modmesh PROPERTIES CXX_CLANG_TIDY "${DO_CLANG_TIDY}" diff --git a/cpp/modmesh/CMakeLists.txt b/cpp/modmesh/CMakeLists.txt index a8f776785..5f0916fb3 100644 --- a/cpp/modmesh/CMakeLists.txt +++ b/cpp/modmesh/CMakeLists.txt @@ -142,6 +142,7 @@ endif () # BUILD_QT set_target_properties(modmesh_primary PROPERTIES POSITION_INDEPENDENT_CODE ON) if (CLANG_TIDY_EXE AND USE_CLANG_TIDY) + set(DO_CLANG_TIDY "${CLANG_TIDY_EXE}" "-header-filter=/cpp/modmesh/.*") set_target_properties( modmesh_primary PROPERTIES CXX_CLANG_TIDY "${DO_CLANG_TIDY}" From f17c7c3fc8335483f9fa1d931840ece2c0968bc3 Mon Sep 17 00:00:00 2001 From: Ray Huang Date: Sun, 15 Feb 2026 18:54:25 +0800 Subject: [PATCH 2/4] fix: fix clang-tidy header filter for pilot and buildext Signed-off-by: Ray Huang --- cpp/binary/pilot/CMakeLists.txt | 2 +- cpp/binary/pymod_modmesh/CMakeLists.txt | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/cpp/binary/pilot/CMakeLists.txt b/cpp/binary/pilot/CMakeLists.txt index 3099f447f..92ef6f367 100644 --- a/cpp/binary/pilot/CMakeLists.txt +++ b/cpp/binary/pilot/CMakeLists.txt @@ -76,7 +76,7 @@ target_compile_options( ) if(CLANG_TIDY_EXE AND USE_CLANG_TIDY) - set(DO_CLANG_TIDY "${CLANG_TIDY_EXE}" "-header-filter=/cpp/binary/pilot/.*") + set(DO_CLANG_TIDY "${CLANG_TIDY_EXE}" "-header-filter=/cpp/modmesh/python/.*") set_target_properties( pilot PROPERTIES CXX_CLANG_TIDY "${DO_CLANG_TIDY}" diff --git a/cpp/binary/pymod_modmesh/CMakeLists.txt b/cpp/binary/pymod_modmesh/CMakeLists.txt index d7008a2dd..9f9a46149 100644 --- a/cpp/binary/pymod_modmesh/CMakeLists.txt +++ b/cpp/binary/pymod_modmesh/CMakeLists.txt @@ -27,7 +27,7 @@ target_compile_options( ) if (CLANG_TIDY_EXE AND USE_CLANG_TIDY) - set(DO_CLANG_TIDY "${CLANG_TIDY_EXE}" "-header-filter=/cpp/binary/pymod_modmesh/.*") + set(DO_CLANG_TIDY "${CLANG_TIDY_EXE}" "-header-filter=/cpp/modmesh/python/.*") set_target_properties( _modmesh PROPERTIES CXX_CLANG_TIDY "${DO_CLANG_TIDY}" From e84bf14a383cffad547cde955674ae403920083d Mon Sep 17 00:00:00 2001 From: Ray Huang Date: Sun, 1 Mar 2026 10:52:55 +0800 Subject: [PATCH 3/4] ci: test CXX_CLANG_TIDY with dependency Signed-off-by: Ray Huang --- .github/workflows/lint.yml | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/.github/workflows/lint.yml b/.github/workflows/lint.yml index d293d0277..78e43722f 100644 --- a/.github/workflows/lint.yml +++ b/.github/workflows/lint.yml @@ -215,12 +215,12 @@ jobs: - name: make checktws (check trailing whitespace) run: make checktws - - name: make buildext - run: | - make buildext \ - ${JOB_MAKE_ARGS} \ - CMAKE_BUILD_TYPE=${{ matrix.cmake_build_type }} \ - CMAKE_ARGS="-DPYTHON_EXECUTABLE=$(which python3) -DUSE_PYTEST_HELPER_BINDING=ON" + # - name: make buildext + # run: | + # make buildext \ + # ${JOB_MAKE_ARGS} \ + # CMAKE_BUILD_TYPE=${{ matrix.cmake_build_type }} \ + # CMAKE_ARGS="-DPYTHON_EXECUTABLE=$(which python3) -DUSE_PYTEST_HELPER_BINDING=ON" - name: make pilot run: | From 84128822c082d89d49d4f70c19d47771b271e1db Mon Sep 17 00:00:00 2001 From: Ray Huang Date: Sat, 7 Mar 2026 13:11:42 +0800 Subject: [PATCH 4/4] ci: add changed files --- .github/workflows/lint.yml | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/.github/workflows/lint.yml b/.github/workflows/lint.yml index 78e43722f..8c9054b98 100644 --- a/.github/workflows/lint.yml +++ b/.github/workflows/lint.yml @@ -79,6 +79,13 @@ jobs: run: | echo "github.event_name: ${{ github.event_name }}" + - name: Get changed files + id: changed-files + uses: tj-actions/changed-files@v47 + + - name: Print changed files + run: echo "${{ steps.changed-files.outputs.all_changed_files }}" + - name: Add 8G swap (Ubuntu) # Prevent hitting runner's resource limits when running clang-tidy if: runner.os == 'Linux'