Skip to content

fix(app): support ImGui Vulkan backend API for both pre- and post-1.91.9 #79

fix(app): support ImGui Vulkan backend API for both pre- and post-1.91.9

fix(app): support ImGui Vulkan backend API for both pre- and post-1.91.9 #79

Workflow file for this run

name: CI
on:
push:
branches-ignore:
- main
pull_request:
branches:
- main
jobs:
# ──────────────────────────────────────────────
# Windows (primary platform)
# ──────────────────────────────────────────────
build-windows:
name: Windows / MSVC 2022
runs-on: windows-latest
steps:
- uses: actions/checkout@v4
- name: Cache Vulkan SDK
id: vulkan-cache
uses: actions/cache@v4
with:
path: C:\VulkanSDK
key: vulkan-sdk-windows-1.3.290.0
- name: Install Vulkan SDK
if: steps.vulkan-cache.outputs.cache-hit != 'true'
shell: pwsh
run: |
$version = "1.3.290.0"
Write-Host "Downloading Vulkan SDK $version..."
Invoke-WebRequest `
-Uri "https://sdk.lunarg.com/sdk/download/$version/windows/VulkanSDK-$version-Installer.exe" `
-OutFile "$env:TEMP\VulkanSDK-Installer.exe"
Write-Host "Installing (silent)..."
$p = Start-Process "$env:TEMP\VulkanSDK-Installer.exe" `
-ArgumentList "--accept-licenses","--accept-messages","--confirm-command","install" `
-Wait -PassThru
Write-Host "Installer exit code: $($p.ExitCode)"
- name: Set Vulkan SDK environment
shell: pwsh
run: |
$version = "1.3.290.0"
echo "VULKAN_SDK=C:\VulkanSDK\$version" | Out-File -FilePath $env:GITHUB_ENV -Append
echo "C:\VulkanSDK\$version\Bin" | Out-File -FilePath $env:GITHUB_PATH -Append
- name: Setup vcpkg
uses: lukka/run-vcpkg@v11
with:
vcpkgGitCommitId: 57987637aac17d62bac535bc839baca3754490e6
- name: Cache vcpkg installed packages
uses: actions/cache@v4
with:
path: build/vcpkg_installed
key: vcpkg-windows-x64-${{ hashFiles('vcpkg.json') }}-57987637
- name: Configure CMake
env:
VCPKG_BINARY_SOURCES: "clear"
run: >
cmake -B build
-G "Visual Studio 17 2022" -A x64
-DCMAKE_TOOLCHAIN_FILE="$env:VCPKG_ROOT/scripts/buildsystems/vcpkg.cmake"
- name: Build
run: cmake --build build --config Release --parallel
- name: Test
run: ctest --test-dir build -C Release --output-on-failure
# ──────────────────────────────────────────────
# Linux
# ──────────────────────────────────────────────
build-linux:
name: Linux / GCC
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: Install Vulkan SDK and build tools
run: |
wget -qO- https://packages.lunarg.com/lunarg-signing-key-pub.asc \
| sudo tee /etc/apt/trusted.gpg.d/lunarg.asc
sudo wget -qO /etc/apt/sources.list.d/lunarg-vulkan-noble.list \
https://packages.lunarg.com/vulkan/lunarg-vulkan-noble.list
sudo apt-get update
sudo apt-get install -y \
vulkan-sdk \
ninja-build \
libxinerama-dev \
libxcursor-dev \
xorg-dev \
libglu1-mesa-dev \
pkg-config
- name: Setup vcpkg
uses: lukka/run-vcpkg@v11
with:
vcpkgGitCommitId: 57987637aac17d62bac535bc839baca3754490e6
- name: Cache vcpkg installed packages
uses: actions/cache@v4
with:
path: build/vcpkg_installed
key: vcpkg-linux-x64-${{ hashFiles('vcpkg.json') }}-57987637
- name: Configure CMake
env:
VCPKG_BINARY_SOURCES: "clear"
run: >
cmake -B build -G Ninja
-DCMAKE_BUILD_TYPE=Release
-DCMAKE_TOOLCHAIN_FILE="$VCPKG_ROOT/scripts/buildsystems/vcpkg.cmake"
- name: Build
run: cmake --build build --parallel
- name: Test
run: ctest --test-dir build --output-on-failure