From ae9fba15320136d7cc1626eed5d214c7132edf6c Mon Sep 17 00:00:00 2001 From: Dana Robinson Date: Tue, 18 Nov 2025 22:57:20 -0700 Subject: [PATCH 01/19] Add a cmake-lint GitHub action --- .github/workflows/cmake-lint.yml | 30 ++++++++++++++++++++++++++++++ 1 file changed, 30 insertions(+) create mode 100644 .github/workflows/cmake-lint.yml diff --git a/.github/workflows/cmake-lint.yml b/.github/workflows/cmake-lint.yml new file mode 100644 index 0000000..906eeec --- /dev/null +++ b/.github/workflows/cmake-lint.yml @@ -0,0 +1,30 @@ +# Run cmake-lint over all the repo's CMake files +name: cmake-lint +on: pull_request +permissions: + contents: read +jobs: + cmake-lint: + runs-on: ubuntu-latest + steps: + - name: Checkout repository + uses: actions/checkout@ff7abcd0c3c05ccf6adc123a8cd1fd4fb30fb493 #v4.1.7 + + - name: Set up Python + run: | + python3 -m venv venv + source venv/vin/activate + pip3 install --upgrade pip + pip3 install cmake-lint + + - name: Lint all CMake files + run: | + FILES=$(find . -type f \( -name "CMakeLists.txt" -o -name "*.cmake" \)) + if [ -z "$FILES" ]; then + echo "No CMake files found!" + exit -1 + fi + echo "Linting the following files:" + echo "$FILES" + cmake-lint "$FILES" + From dc828a31c28efa5fe3f7dd57d3afafe65a368bc8 Mon Sep 17 00:00:00 2001 From: Dana Robinson Date: Tue, 18 Nov 2025 23:01:48 -0700 Subject: [PATCH 02/19] Fix typo --- .github/workflows/cmake-lint.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/cmake-lint.yml b/.github/workflows/cmake-lint.yml index 906eeec..4be8c5d 100644 --- a/.github/workflows/cmake-lint.yml +++ b/.github/workflows/cmake-lint.yml @@ -13,7 +13,7 @@ jobs: - name: Set up Python run: | python3 -m venv venv - source venv/vin/activate + source venv/bin/activate pip3 install --upgrade pip pip3 install cmake-lint From f1305d528d31ab3ca6ad57254636514f7be42088 Mon Sep 17 00:00:00 2001 From: Dana Robinson Date: Tue, 18 Nov 2025 23:07:58 -0700 Subject: [PATCH 03/19] Try setting up Python a different way --- .github/workflows/cmake-lint.yml | 13 +++++++------ 1 file changed, 7 insertions(+), 6 deletions(-) diff --git a/.github/workflows/cmake-lint.yml b/.github/workflows/cmake-lint.yml index 4be8c5d..a1a9e77 100644 --- a/.github/workflows/cmake-lint.yml +++ b/.github/workflows/cmake-lint.yml @@ -10,12 +10,13 @@ jobs: - name: Checkout repository uses: actions/checkout@ff7abcd0c3c05ccf6adc123a8cd1fd4fb30fb493 #v4.1.7 - - name: Set up Python - run: | - python3 -m venv venv - source venv/bin/activate - pip3 install --upgrade pip - pip3 install cmake-lint + - name: Set up Python + uses: actions/setup-python@v6 + with: + python-version: '3.x' + + - name: Set up cmake-lint + run: pip install cmake-lint - name: Lint all CMake files run: | From 37566e2a12d2fedf41461017213773ad30e50f04 Mon Sep 17 00:00:00 2001 From: Dana Robinson Date: Tue, 18 Nov 2025 23:10:15 -0700 Subject: [PATCH 04/19] Use xargs --- .github/workflows/cmake-lint.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/cmake-lint.yml b/.github/workflows/cmake-lint.yml index a1a9e77..a7119fc 100644 --- a/.github/workflows/cmake-lint.yml +++ b/.github/workflows/cmake-lint.yml @@ -27,5 +27,5 @@ jobs: fi echo "Linting the following files:" echo "$FILES" - cmake-lint "$FILES" + echo "$FILES" | xargs cmake-lint From 8264bffa1837ab76edb670972852b3f6dd87cddb Mon Sep 17 00:00:00 2001 From: Dana Robinson Date: Tue, 18 Nov 2025 23:11:24 -0700 Subject: [PATCH 05/19] Correct error return code --- .github/workflows/cmake-lint.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/cmake-lint.yml b/.github/workflows/cmake-lint.yml index a7119fc..e68cb9c 100644 --- a/.github/workflows/cmake-lint.yml +++ b/.github/workflows/cmake-lint.yml @@ -23,7 +23,7 @@ jobs: FILES=$(find . -type f \( -name "CMakeLists.txt" -o -name "*.cmake" \)) if [ -z "$FILES" ]; then echo "No CMake files found!" - exit -1 + exit 1 fi echo "Linting the following files:" echo "$FILES" From e67b8ac607c2db8442454f8c5dcee029a74a9bb5 Mon Sep 17 00:00:00 2001 From: Dana Robinson Date: Tue, 18 Nov 2025 23:16:05 -0700 Subject: [PATCH 06/19] Fix indenting --- .github/workflows/cmake-lint.yml | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/.github/workflows/cmake-lint.yml b/.github/workflows/cmake-lint.yml index e68cb9c..616a85d 100644 --- a/.github/workflows/cmake-lint.yml +++ b/.github/workflows/cmake-lint.yml @@ -10,10 +10,10 @@ jobs: - name: Checkout repository uses: actions/checkout@ff7abcd0c3c05ccf6adc123a8cd1fd4fb30fb493 #v4.1.7 - - name: Set up Python - uses: actions/setup-python@v6 - with: - python-version: '3.x' + - name: Set up Python + uses: actions/setup-python@v6 + with: + python-version: '3.x' - name: Set up cmake-lint run: pip install cmake-lint From 15e25b5762e84c6569b01951ad307ff6f4814d94 Mon Sep 17 00:00:00 2001 From: Dana Robinson Date: Tue, 18 Nov 2025 23:19:31 -0700 Subject: [PATCH 07/19] Pin to Python 3.10 --- .github/workflows/cmake-lint.yml | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/.github/workflows/cmake-lint.yml b/.github/workflows/cmake-lint.yml index 616a85d..d692c7a 100644 --- a/.github/workflows/cmake-lint.yml +++ b/.github/workflows/cmake-lint.yml @@ -10,10 +10,11 @@ jobs: - name: Checkout repository uses: actions/checkout@ff7abcd0c3c05ccf6adc123a8cd1fd4fb30fb493 #v4.1.7 + # Update the version to '3.x' when cmake-lint updates - name: Set up Python uses: actions/setup-python@v6 with: - python-version: '3.x' + python-version: '3.10' - name: Set up cmake-lint run: pip install cmake-lint From b236e730c0530bb5c1483d78f72a6e7cddfb0fce Mon Sep 17 00:00:00 2001 From: Dana Robinson Date: Tue, 18 Nov 2025 23:21:17 -0700 Subject: [PATCH 08/19] Add SHA --- .github/workflows/cmake-lint.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/cmake-lint.yml b/.github/workflows/cmake-lint.yml index d692c7a..c71106e 100644 --- a/.github/workflows/cmake-lint.yml +++ b/.github/workflows/cmake-lint.yml @@ -12,7 +12,7 @@ jobs: # Update the version to '3.x' when cmake-lint updates - name: Set up Python - uses: actions/setup-python@v6 + uses: actions/setup-python@e797f83bcb11b83ae66e0230d6156d7c80228e7c #v6.0.0 with: python-version: '3.10' From 919ad49002771035af52f8ceea8eaea09c2dbfa2 Mon Sep 17 00:00:00 2001 From: Dana Robinson Date: Tue, 18 Nov 2025 23:25:44 -0700 Subject: [PATCH 09/19] Install cmakelang --- .github/workflows/cmake-lint.yml | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/.github/workflows/cmake-lint.yml b/.github/workflows/cmake-lint.yml index c71106e..983d601 100644 --- a/.github/workflows/cmake-lint.yml +++ b/.github/workflows/cmake-lint.yml @@ -17,7 +17,9 @@ jobs: python-version: '3.10' - name: Set up cmake-lint - run: pip install cmake-lint + run: | + python -m pip install --upgrade pip + python -m pip install cmake-lint - name: Lint all CMake files run: | From b2d6100a17974ad0941baa41f07db2784ec7ae97 Mon Sep 17 00:00:00 2001 From: Dana Robinson Date: Tue, 18 Nov 2025 23:29:05 -0700 Subject: [PATCH 10/19] Oops python package, fix xargs --- .github/workflows/cmake-lint.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/cmake-lint.yml b/.github/workflows/cmake-lint.yml index 983d601..3484391 100644 --- a/.github/workflows/cmake-lint.yml +++ b/.github/workflows/cmake-lint.yml @@ -19,7 +19,7 @@ jobs: - name: Set up cmake-lint run: | python -m pip install --upgrade pip - python -m pip install cmake-lint + python -m pip install cmakelang - name: Lint all CMake files run: | @@ -30,5 +30,5 @@ jobs: fi echo "Linting the following files:" echo "$FILES" - echo "$FILES" | xargs cmake-lint + cmake-lint $FILES From 8a4bbd888e8d9e7cc4b3167c7fec5aa2675e686e Mon Sep 17 00:00:00 2001 From: Dana Robinson Date: Thu, 20 Nov 2025 18:04:42 -0700 Subject: [PATCH 11/19] Use cmakelint instead of cmake-lint --- .github/workflows/cmake-lint.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/cmake-lint.yml b/.github/workflows/cmake-lint.yml index 3484391..17baa6d 100644 --- a/.github/workflows/cmake-lint.yml +++ b/.github/workflows/cmake-lint.yml @@ -30,5 +30,5 @@ jobs: fi echo "Linting the following files:" echo "$FILES" - cmake-lint $FILES + cmakelint $FILES From 9d2e6da4b8c622655f9f09ed997a28c24f46107e Mon Sep 17 00:00:00 2001 From: Dana Robinson Date: Thu, 20 Nov 2025 18:08:46 -0700 Subject: [PATCH 12/19] Fix cmakelint setup --- .github/workflows/cmake-lint.yml | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/.github/workflows/cmake-lint.yml b/.github/workflows/cmake-lint.yml index 17baa6d..f7c22c4 100644 --- a/.github/workflows/cmake-lint.yml +++ b/.github/workflows/cmake-lint.yml @@ -13,13 +13,11 @@ jobs: # Update the version to '3.x' when cmake-lint updates - name: Set up Python uses: actions/setup-python@e797f83bcb11b83ae66e0230d6156d7c80228e7c #v6.0.0 - with: - python-version: '3.10' - - name: Set up cmake-lint + - name: Set up cmakelint run: | python -m pip install --upgrade pip - python -m pip install cmakelang + python -m pip install cmakelint - name: Lint all CMake files run: | From c53cbb0df6c0fdeed2966dccc458a7ac41a91e28 Mon Sep 17 00:00:00 2001 From: Dana Robinson Date: Fri, 21 Nov 2025 10:35:07 -0700 Subject: [PATCH 13/19] Remove obsolete comment --- .github/workflows/cmake-lint.yml | 1 - 1 file changed, 1 deletion(-) diff --git a/.github/workflows/cmake-lint.yml b/.github/workflows/cmake-lint.yml index f7c22c4..1cafde3 100644 --- a/.github/workflows/cmake-lint.yml +++ b/.github/workflows/cmake-lint.yml @@ -10,7 +10,6 @@ jobs: - name: Checkout repository uses: actions/checkout@ff7abcd0c3c05ccf6adc123a8cd1fd4fb30fb493 #v4.1.7 - # Update the version to '3.x' when cmake-lint updates - name: Set up Python uses: actions/setup-python@e797f83bcb11b83ae66e0230d6156d7c80228e7c #v6.0.0 From bcc5fc4ced259f0cbad558a2854e80293f222b36 Mon Sep 17 00:00:00 2001 From: Dana Robinson Date: Fri, 21 Nov 2025 11:16:35 -0700 Subject: [PATCH 14/19] Rename cmake-lint to cmakelint --- .github/workflows/{cmake-lint.yml => cmakelint.yml} | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) rename .github/workflows/{cmake-lint.yml => cmakelint.yml} (92%) diff --git a/.github/workflows/cmake-lint.yml b/.github/workflows/cmakelint.yml similarity index 92% rename from .github/workflows/cmake-lint.yml rename to .github/workflows/cmakelint.yml index 1cafde3..35b69e7 100644 --- a/.github/workflows/cmake-lint.yml +++ b/.github/workflows/cmakelint.yml @@ -1,5 +1,5 @@ -# Run cmake-lint over all the repo's CMake files -name: cmake-lint +# Run cmakelint over all the repo's CMake files +name: cmakelint on: pull_request permissions: contents: read From 08592ff229ec0cf57a15979d9d9a104e54bccf0f Mon Sep 17 00:00:00 2001 From: Dana Robinson Date: Fri, 21 Nov 2025 12:08:13 -0700 Subject: [PATCH 15/19] Filter action based on CMake files changing --- .github/workflows/cmakelint.yml | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/.github/workflows/cmakelint.yml b/.github/workflows/cmakelint.yml index 35b69e7..445386e 100644 --- a/.github/workflows/cmakelint.yml +++ b/.github/workflows/cmakelint.yml @@ -1,6 +1,10 @@ # Run cmakelint over all the repo's CMake files name: cmakelint -on: pull_request +on: + pull_request: + paths: + - '**.cmake' + - 'CMakeLists.txt' permissions: contents: read jobs: From 581eb53a131c63fa71744f98075acde1fc1d2a12 Mon Sep 17 00:00:00 2001 From: Dana Robinson Date: Fri, 21 Nov 2025 12:14:11 -0700 Subject: [PATCH 16/19] CUfile --> cuFile in root CMakeLists.txt So the cmakelint action is prompted to run --- CMakeLists.txt | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index ef32405..12e52f4 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -195,7 +195,7 @@ else() message(NOTICE "find_package did NOT find hip") endif() -# Find the CUfile library and headers on NVIDIA +# Find the cuFile library and headers on NVIDIA if(CMAKE_HIP_PLATFORM STREQUAL "nvidia") find_package(CUDAToolkit REQUIRED) @@ -210,7 +210,7 @@ if(CMAKE_HIP_PLATFORM STREQUAL "nvidia") find_library(CUFILE_LIBRARY cufile PATHS ${CUDAToolkit_LIBRARY_DIR}) if(NOT CUFILE_LIBRARY) - message(FATAL_ERROR "CUfile library not found") + message(FATAL_ERROR "cuFile library not found") endif() endif() From 4c35fc89a0558c41734f0efbf80b647f07efff9d Mon Sep 17 00:00:00 2001 From: Dana Robinson Date: Fri, 21 Nov 2025 12:59:10 -0700 Subject: [PATCH 17/19] Fix file filter --- .github/workflows/cmakelint.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/cmakelint.yml b/.github/workflows/cmakelint.yml index 445386e..737c53d 100644 --- a/.github/workflows/cmakelint.yml +++ b/.github/workflows/cmakelint.yml @@ -4,7 +4,7 @@ on: pull_request: paths: - '**.cmake' - - 'CMakeLists.txt' + - '**/CMakeLists.txt' permissions: contents: read jobs: From 26676bdb341f002b54d7f4ff404b17e33f9162bb Mon Sep 17 00:00:00 2001 From: Dana Robinson Date: Fri, 21 Nov 2025 13:03:33 -0700 Subject: [PATCH 18/19] Fix quoting --- .github/workflows/cmakelint.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/cmakelint.yml b/.github/workflows/cmakelint.yml index 737c53d..3e07c9e 100644 --- a/.github/workflows/cmakelint.yml +++ b/.github/workflows/cmakelint.yml @@ -31,5 +31,5 @@ jobs: fi echo "Linting the following files:" echo "$FILES" - cmakelint $FILES + cmakelint "$FILES" From 9c5ec8b0b6beaacbdecdf95f170d801d754373fd Mon Sep 17 00:00:00 2001 From: Dana Robinson Date: Fri, 21 Nov 2025 13:44:37 -0700 Subject: [PATCH 19/19] Unquote files --- .github/workflows/cmakelint.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/cmakelint.yml b/.github/workflows/cmakelint.yml index 3e07c9e..737c53d 100644 --- a/.github/workflows/cmakelint.yml +++ b/.github/workflows/cmakelint.yml @@ -31,5 +31,5 @@ jobs: fi echo "Linting the following files:" echo "$FILES" - cmakelint "$FILES" + cmakelint $FILES