Skip to content

Use push descriptor for one-time, small descriptors (up to 32) commands. #143

Use push descriptor for one-time, small descriptors (up to 32) commands.

Use push descriptor for one-time, small descriptors (up to 32) commands. #143

Workflow file for this run

name: Build
env:
VCPKG_BINARY_SOURCES: "clear;x-gha,readwrite"
on:
push:
paths:
- '**'
- '!README.md'
- '!LICENSE.txt'
- '!docs/**'
jobs:
build:
runs-on: ${{ matrix.os }}
strategy:
fail-fast: false
matrix:
os: [windows-latest, macos-latest, ubuntu-24.04]
steps:
- uses: actions/checkout@v4
- name: Install Vulkan SDK
uses: humbletim/setup-vulkan-sdk@v1.2.0
with:
vulkan-query-version: 1.3.296.0
vulkan-components: Vulkan-Headers, Vulkan-Loader, Glslang, SPIRV-Tools
vulkan-use-cache: true
- name: Install build dependencies (macOS)
if: ${{ matrix.os == 'macos-latest' }}
run: brew install llvm ninja autoconf automake libtool nasm
- name: Install build dependencies (ubuntu-24.04)
if: ${{ matrix.os == 'ubuntu-24.04' }}
run: sudo apt-get install ninja-build libc++-dev libc++abi-dev xorg-dev libtool libltdl-dev
- name: Setup vcpkg (macOS)
if: ${{ matrix.os == 'macos-latest' }}
run: |
git clone https://github.com/microsoft/vcpkg.git --depth 1
cd vcpkg && ./bootstrap-vcpkg.sh
echo "VCPKG_ROOT=${{ github.workspace }}/vcpkg" >> $GITHUB_ENV
- name: Export GitHub Actions cache environment variables
uses: actions/github-script@v7
with:
script: |
core.exportVariable('ACTIONS_CACHE_URL', process.env.ACTIONS_CACHE_URL || '');
core.exportVariable('ACTIONS_RUNTIME_TOKEN', process.env.ACTIONS_RUNTIME_TOKEN || '');
- name: Enable Developer Command Prompt (Windows)
if: ${{ matrix.os == 'windows-latest' }}
uses: ilammy/msvc-dev-cmd@v1
- name: Workaround for CMake bug that cannot find __CMAKE::CXX23 target when using homebrew libc++ (macOS)
if: ${{ matrix.os == 'macos-latest' }}
run: sed -i '' 's|libc++.modules.json|../../c++/libc++.modules.json|g' /opt/homebrew/opt/cmake/share/cmake/Modules/Compiler/Clang-CXX-CXXImportStd.cmake # https://gitlab.kitware.com/cmake/cmake/-/issues/25965#note_1523575
- name: Configure
run: |
mv .github/workflows/scripts/* .
cmake --preset=${{ runner.os }}
- name: Build
run: cmake --build build --config release
- name: Upload Binary as Artifact
uses: actions/upload-artifact@v4
with:
name: ${{ runner.os }}
path: |
build/vk-gltf-viewer
build/vk-gltf-viewer.exe
build/*.dll