Skip to content

Commit 7aa88bd

Browse files
committed
Use a cache in GitHub workflow instead of downloading Vulkan SDK with every CI run
1 parent f0dc115 commit 7aa88bd

1 file changed

Lines changed: 22 additions & 11 deletions

File tree

.github/workflows/linux.yaml

Lines changed: 22 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
name: Build code on Linux
1+
name: Build code
22

33
on:
44
push:
@@ -23,26 +23,37 @@ jobs:
2323
steps:
2424
- uses: actions/checkout@v4
2525

26+
- name: Set Vulkan SDK Version
27+
id: set-version
28+
run: echo "VULKAN_SDK_VERSION=1.4.309.0" >> $GITHUB_ENV
29+
2630
- name: Create Build Environment
2731
run: |
2832
sudo apt update
2933
${{matrix.install}}
3034
cmake -E make_directory ${{runner.workspace}}/build
3135
36+
- name: Cache Vulkan SDK
37+
id: cache-vulkan
38+
uses: actions/cache@v4
39+
with:
40+
path: vulkan_sdk
41+
key: vulkan-sdk-${{env.VULKAN_SDK_VERSION}}
42+
3243
- name: Prepare Vulkan SDK
3344
shell: bash
3445
run: |
35-
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
36-
mkdir -p vulkan_sdk
37-
tar xf vulkansdk.tar.xz -C vulkan_sdk
38-
rm -rf vulkansdk.tar.xz
39-
40-
export VULKAN_SDK=$GITHUB_WORKSPACE/vulkan_sdk/1.4.309.0/x86_64
41-
export PATH=$VULKAN_SDK/bin:$PATH
42-
export LD_LIBRARY_PATH=$VULKAN_SDK/lib:$LD_LIBRARY_PATH
43-
export VK_ICD_FILENAMES=$VULKAN_SDK/etc/vulkan/icd.d
44-
export VK_LAYER_PATH=$VULKAN_SDK/etc/vulkan/layer.d
46+
if [ ! -d "vulkan_sdk/${{env.VULKAN_SDK_VERSION}}/x86_64" ]; then
47+
echo "Vulkan SDK not found in cache. Downloading..."
48+
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
49+
mkdir -p vulkan_sdk
50+
tar xf vulkansdk.tar.xz -C vulkan_sdk
51+
rm -f vulkansdk.tar.xz
52+
else
53+
echo "Using cached Vulkan SDK"
54+
fi
4555
56+
export VULKAN_SDK=$GITHUB_WORKSPACE/vulkan_sdk/${{env.VULKAN_SDK_VERSION}}/x86_64
4657
echo "VULKAN_SDK=$VULKAN_SDK" >> $GITHUB_ENV
4758
echo "PATH=$VULKAN_SDK/bin:$PATH" >> $GITHUB_ENV
4859
echo "LD_LIBRARY_PATH=$VULKAN_SDK/lib:$LD_LIBRARY_PATH" >> $GITHUB_ENV

0 commit comments

Comments
 (0)