fix(app): support ImGui Vulkan backend API for both pre- and post-1.91.9 #79
Workflow file for this run
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| 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 |