1- name : Static code analysis (clang-tidy)
1+ name : Static code analysis
22
33on :
44 push :
@@ -12,39 +12,38 @@ jobs:
1212 steps :
1313 - uses : actions/checkout@v4
1414
15- # Cache Vulkan SDK
16- - name : Cache Vulkan SDK
17- id : cache-vulkan
18- uses : actions/cache@v4
19- with :
20- path : vulkan_sdk
21- key : vulkan-sdk-1.4.309.0
15+ - name : Set Vulkan SDK Version
16+ id : set-version
17+ run : echo "VULKAN_SDK_VERSION=1.3.283.0" >> $GITHUB_ENV
2218
23- # Install system dependencies
2419 - name : Install system dependencies
2520 run : |
2621 sudo apt update
2722 sudo apt install -y clang-15 clang-tidy-15 cmake parallel libc++-15-dev libc++abi-15-dev
2823
29- # Download Vulkan SDK only if not cached
24+ - name : Check for Vulkan SDK Cache
25+ id : cache-vulkan
26+ uses : actions/cache@v4
27+ with :
28+ path : vulkan_sdk
29+ key : vulkan-sdk-${{env.VULKAN_SDK_VERSION}}
30+
3031 - name : Download Vulkan SDK
3132 if : steps.cache-vulkan.outputs.cache-hit != 'true'
3233 run : |
33- curl -LS -o vulkansdk.tar.xz https://sdk.lunarg.com/sdk/download/1.4.309.0 /linux/vulkansdk-linux-x86_64-1.4.309.0 .tar.xz
34+ curl -LS -o vulkansdk.tar.xz https://sdk.lunarg.com/sdk/download/${{env.VULKAN_SDK_VERSION}} /linux/vulkansdk-linux-x86_64-${{env.VULKAN_SDK_VERSION}} .tar.xz
3435 mkdir -p vulkan_sdk
3536 tar xf vulkansdk.tar.xz -C vulkan_sdk
3637
37- # Set environment variables for Clang and Vulkan SDK
3838 - name : Set environment variables
3939 run : |
4040 echo "CLANG_TIDY=clang-tidy-15" >> $GITHUB_ENV
41- echo "VULKAN_SDK=${GITHUB_WORKSPACE}/vulkan_sdk/1.4.309.0 /x86_64" >> $GITHUB_ENV
42- echo "PATH=${GITHUB_WORKSPACE}/vulkan_sdk/1.4.309.0 /x86_64/bin:$PATH" >> $GITHUB_ENV
43- echo "LD_LIBRARY_PATH=${GITHUB_WORKSPACE}/vulkan_sdk/1.4.309.0 /x86_64/lib:$LD_LIBRARY_PATH" >> $GITHUB_ENV
44- echo "VK_ICD_FILENAMES=${GITHUB_WORKSPACE}/vulkan_sdk/1.4.309.0 /x86_64/etc/vulkan/icd.d" >> $GITHUB_ENV
45- echo "VK_LAYER_PATH=${GITHUB_WORKSPACE}/vulkan_sdk/1.4.309.0 /x86_64/etc/vulkan/layer.d" >> $GITHUB_ENV
41+ echo "VULKAN_SDK=${GITHUB_WORKSPACE}/vulkan_sdk/${{env.VULKAN_SDK_VERSION}} /x86_64" >> $GITHUB_ENV
42+ echo "PATH=${GITHUB_WORKSPACE}/vulkan_sdk/${{env.VULKAN_SDK_VERSION}} /x86_64/bin:$PATH" >> $GITHUB_ENV
43+ echo "LD_LIBRARY_PATH=${GITHUB_WORKSPACE}/vulkan_sdk/${{env.VULKAN_SDK_VERSION}} /x86_64/lib:$LD_LIBRARY_PATH" >> $GITHUB_ENV
44+ echo "VK_ICD_FILENAMES=${GITHUB_WORKSPACE}/vulkan_sdk/${{env.VULKAN_SDK_VERSION}} /x86_64/etc/vulkan/icd.d" >> $GITHUB_ENV
45+ echo "VK_LAYER_PATH=${GITHUB_WORKSPACE}/vulkan_sdk/${{env.VULKAN_SDK_VERSION}} /x86_64/etc/vulkan/layer.d" >> $GITHUB_ENV
4646
47- # Configure the project with CMake
4847 - name : Configure with CMake
4948 run : |
5049 cmake -S . -B build \
@@ -53,15 +52,13 @@ jobs:
5352 -DCMAKE_C_COMPILER=clang-15 \
5453 -DVMA_BUILD_SAMPLES=YES
5554
56- # List files to analyze
5755 - name : Check the files found for clang-tidy
5856 run : |
5957 find src include \
6058 -path '*/_deps/*' -prune -o \
6159 -path '*/build/*' -prune -o \
6260 \( -name '*.cpp' -o -name '*.hpp' \) -print
6361
64- # Run clang-tidy in parallel
6562 - name : Run clang-tidy
6663 run : |
6764 find src include \
7168 parallel -0 clang-tidy -p build {} |
7269 tee output || true
7370
74- # Summarize warnings
7571 - name : Summarize clang-tidy warnings
7672 run : |
7773 grep -hEo '\[[a-z0-9]+-[a-z0-9-]+\]' output \
0 commit comments