From 2808bc034c29fff05ddb0732e2d889177e8aa314 Mon Sep 17 00:00:00 2001 From: Alex Cameron Date: Mon, 16 Feb 2026 00:25:29 +1100 Subject: [PATCH] ci: add lint and format checks to CI pipeline --- .github/workflows/ci.yml | 6 ++++++ CMakeLists.txt | 8 +++++++- 2 files changed, 13 insertions(+), 1 deletion(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index ee40803..9a0c825 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -42,3 +42,9 @@ jobs: - name: Test run: cmake --build build --target check-warpforth + + - name: Check C++ formatting + run: cmake --build build --target check-format + + - name: Ruff check + run: uv run ruff check gpu_test/ && uv run ruff format --check gpu_test/ diff --git a/CMakeLists.txt b/CMakeLists.txt index e8b6bb4..4d0cfe7 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -46,7 +46,8 @@ else() endif() # Add format target to run clang-format on all source files -find_program(CLANG_FORMAT_EXECUTABLE NAMES clang-format) +find_program(CLANG_FORMAT_EXECUTABLE + NAMES clang-format-${LLVM_VERSION_MAJOR} clang-format) if(CLANG_FORMAT_EXECUTABLE) file(GLOB_RECURSE ALL_SOURCE_FILES ${PROJECT_SOURCE_DIR}/include/**/*.h @@ -58,4 +59,9 @@ if(CLANG_FORMAT_EXECUTABLE) COMMENT "Running clang-format on all source files" VERBATIM ) + add_custom_target(check-format + COMMAND ${CLANG_FORMAT_EXECUTABLE} --dry-run --Werror ${ALL_SOURCE_FILES} + COMMENT "Checking clang-format on all source files" + VERBATIM + ) endif()