Skip to content

render: Fix light quadtree updating #1453

render: Fix light quadtree updating

render: Fix light quadtree updating #1453

Workflow file for this run

name: Argus
on: [push, pull_request]
jobs:
Build:
strategy:
fail-fast: false
matrix:
os: [ubuntu-22.04, ubuntu-24.04, windows-2022, windows-2025, macos-14, macos-15]
profile: [dev, release]
runs-on: ${{ matrix.os }}
steps:
- name: Set env vars for current matrix configuration
shell: pwsh
run: |
$os_name = "${{ runner.os }}".ToLower()
echo "OS_NAME=$os_name" >> "$env:GITHUB_ENV"
$runner_name = "${{ matrix.os }}".Replace("-", "").Replace(".", "").ToLower()
echo "RUNNER_NAME=$runner_name" >> "$env:GITHUB_ENV"
$profile_name = "${{ matrix.profile }}".ToLower()
$config_name = if ($profile_name -eq "dev") { "debug" } else { "release" }
echo "CONFIG_NAME=$config_name" >> "$env:GITHUB_ENV"
$profile_name = "${{ matrix.profile }}".ToLower()
$config_name = if ($profile_name -eq "dev") { "debug" } else { "release" }
echo "CONFIG_NAME=$config_name" >> "$env:GITHUB_ENV"
$exe_ext = if ($os_name -eq "windows") { ".exe" } else { "" }
echo "EXE_EXT=$exe_ext" >> "$env:GITHUB_ENV"
# windows-2022 runner has broken header detection with MSBuild
if ("${{ matrix.os }}" -eq "windows-2022") {
echo "CMAKE_GENERATOR=Ninja" >> "$env:GITHUB_ENV"
}
- uses: actions/checkout@v4
with:
submodules: recursive
- name: Install dependencies (Ubuntu Jammy)
run: |
sudo apt-get update
sudo apt-get install \
libvulkan-dev \
libsdl2-dev \
glslang-dev \
spirv-tools
sudo apt-get remove \
libclang1-15
if: matrix.os == 'ubuntu-22.04'
- name: Install dependencies (Ubuntu Noble)
run: |
sudo apt-get update
sudo apt-get install \
libvulkan-dev \
libsdl2-dev \
glslang-dev \
glslang-tools \
spirv-tools \
libfreetype-dev
if: matrix.os == 'ubuntu-24.04'
- name: Install dependencies (macOS)
run: |
brew install \
glslang \
spirv-tools
if: startsWith(matrix.os, 'macos-')
- name: Install dependencies (Windows)
run: |
choco install ninja
if: startsWith(matrix.os, 'windows-')
- name: Setup Vulkan SDK (Windows)
run: |
$ver = (Invoke-WebRequest -Uri "https://vulkan.lunarg.com/sdk/latest.json" | ConvertFrom-Json).windows
echo Version $ver
$ProgressPreference = 'SilentlyContinue'
Invoke-WebRequest -Uri "https://sdk.lunarg.com/sdk/download/$ver/windows/vulkansdk-windows-X64-$ver.exe" -OutFile VulkanSDK.exe
echo Downloaded
.\VulkanSDK.exe --root C:\VulkanSDK --accept-licenses --default-answer --confirm-command install
echo "VULKAN_SDK=C:\VulkanSDK\" >> "$env:GITHUB_ENV"
if: startsWith(matrix.os, 'windows')
- uses: ruby/setup-ruby@v1
with:
bundler-cache: true
ruby-version: 3.4
- name: Build
run: cargo build --profile ${{ matrix.profile }} --features argus/opengl,argus/vulkan
- name: Generate Lua bindings
run: |
cd tools/gen_binding_spec_lua
cargo run "../../target/${{ env.CONFIG_NAME }}/argus.spec.lua"
- name: Archive
uses: actions/upload-artifact@v4
with:
name: argus_bootstrap-${{ env.RUNNER_NAME }}-${{ env.CONFIG_NAME }}
path: |
target/${{ env.CONFIG_NAME }}/argus_bootstrap${{ env.EXE_EXT }}
target/${{ env.CONFIG_NAME }}/argus_bootstrap.pdb
target/${{ env.CONFIG_NAME }}/argus.spec.lua