-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathaction.yaml
79 lines (65 loc) · 2.56 KB
/
action.yaml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
name: Install VkBootstrap
on:
workflow-dispatch:
inputs:
vulkan-version:
required: true
description: Version of the VulkanSDK to try to install.
vulkan-components:
required: false
default: Vulkan-Headers, Vulkan-Loader, Glslang
description: The components to install (Does nothing on linux)
vulkan-cache:
required: false
default: true
description: Whether or not to cache the VulkanSDK installation
cmake-configure-args:
required: false
default: ''
description: Additional arguments to pass to the CMake configure step for VkBootstrap
clone-dir:
required: false
default: '../vkbootstrap'
description: 'Relative path under $GITHUB_WORKSPACE to place the repository'
build-dir:
required: false
default: '../vkbootstrap/build'
description: 'Relative path under $GITHUB_WORKSPACE to build the repository'
install-dir:
required: false
default: 'install'
description: 'Relative path under $GITHUB_WORKSPACE to install the repository'
runs:
using: 'composite'
steps:
- if: runner.os == 'Linux'
name: Install Linux Dependencies
shell: bash
run: |
sudo apt update
sudo apt install -y glibc-source libxrandr-dev libxinerama-dev libxcursor-dev libxi-dev libxext-dev libwayland-dev libxkbcommon-dev libstdc++6
- if: runner.os == 'Linux'
name: Install VulkanSDK (Linux)
uses: humbletim/install-vulkan-sdk@v1.1.1
with:
version: ${{inputs.vulkan-version}}
cache: ${{inputs.vulkan-cache}}
- if: ${{ ! runner.os == 'Linux' }}
name: Install VulkanSDK (Others)
uses: humbletim/setup-vulkan-sdk@v1.2.0
with:
vulkan-install-version: ${{inputs.vulkan-version}}
vulkan-use-cache: ${{inputs.vulkan-cache}}
vulkan-components: ${{inputs.vulkan-components}}
- name: Clone VkBootstrap
uses: actions/checkout@v4.1.7
with:
repository: KhrySystem/VkBootstrap3
submodules: recursive
path: ${{inputs.clone-dir}}
clean: false
- name: Build VkBootstrap
shell: bash
run: |
cmake -S ${{github.workspace}}/${{inputs.clone-dir}} -B ${{github.workspace}}/${{inputs.build-dir}} -DVKB_BUILD_TOOLS:BOOL=ON -DVKB_BUILD_EXAMPLES:BOOL=ON -DCMAKE_INSTALL_PREFIX:PATH=${{github.workspace}}/${{inputs.install-dir}} -DBUILD_SHARED_LIBS:BOOL=TRUE
cmake --build ${{github.workspace}}/${{inputs.build-dir}} --target install --config Release