Skip to content

feat: make graphics pipeline registry return pipeline abstraction ins… #164

feat: make graphics pipeline registry return pipeline abstraction ins…

feat: make graphics pipeline registry return pipeline abstraction ins… #164

Workflow file for this run

name: ci
on:
push:
pull_request:
concurrency:
group: ci-${{ github.workflow }}-${{ github.event.pull_request.number || github.ref }}
cancel-in-progress: true
jobs:
build:
strategy:
fail-fast: false
matrix:
include:
- os: macos-latest
configure_preset: macos-arm64-debug
- os: macos-latest
configure_preset: macos-x64-debug
- os: ubuntu-latest
configure_preset: linux-x64-gcc-debug
- os: ubuntu-latest
configure_preset: linux-x64-clang-debug
do_format: true
do_tidy: true
- os: windows-latest
configure_preset: windows-x64-msvc-debug
runs-on: ${{ matrix.os }}
steps:
- uses: actions/checkout@v4
- name: Install dependencies (Ubuntu)
if: runner.os == 'Linux'
run: |
sudo apt-get update
sudo apt-get install -y \
ninja-build \
cmake \
g++ \
clang \
libvulkan1 \
mesa-vulkan-drivers \
vulkan-tools \
glslang-tools \
- name: Install dependencies (macOS)
if: runner.os == 'macOS'
run: |
brew update
command -v ninja >/dev/null 2>&1 || brew install ninja
command -v cmake >/dev/null 2>&1 || brew install cmake
command -v glslangValidator >/dev/null 2>&1 || brew install glslang
- name: Set up MSVC dev cmd (Windows)
if: runner.os == 'Windows'
uses: ilammy/msvc-dev-cmd@v1
- name: Install dependencies (Windows)
if: runner.os == 'Windows'
shell: pwsh
run: |
if (-not (Get-Command cmake -ErrorAction SilentlyContinue)) {
choco install -y cmake
}
if (-not (Get-Command ninja -ErrorAction SilentlyContinue)) {
choco install -y ninja
}
if (-not (Get-Command glslangValidator -ErrorAction SilentlyContinue)) {
choco install -y vulkan-sdk
$vulkanBin = Get-ChildItem "C:/VulkanSDK" -Directory -ErrorAction SilentlyContinue |
Sort-Object Name -Descending |
Select-Object -First 1 |
ForEach-Object { Join-Path $_.FullName "Bin" }
if ($vulkanBin -and (Test-Path $vulkanBin)) {
Add-Content -Path $env:GITHUB_PATH -Value $vulkanBin
}
}
- name: Bootstrap vcpkg (macOS/Linux)
if: runner.os != 'Windows'
run: make deps
- name: Bootstrap vcpkg (Windows)
if: runner.os == 'Windows'
shell: pwsh
run: |
git submodule update --init --recursive
if (!(Test-Path "vcpkg\vcpkg.exe")) { cd vcpkg; .\bootstrap-vcpkg.bat; cd .. }
- name: Configure
run: cmake --preset ${{ matrix.configure_preset }} -DQUARK_HEADLESS=ON -DVCPKG_MANIFEST_FEATURES=headless
- name: Build
run: cmake --build --preset ${{ matrix.configure_preset }}