@@ -39,17 +39,47 @@ jobs:
3939 if : contains(matrix.os, 'windows')
4040 shell : pwsh
4141 run : |
42+ function Find-GlslangValidator {
43+ $cmd = Get-Command glslangValidator -ErrorAction SilentlyContinue
44+ if ($cmd) { return $cmd.Source }
45+
46+ $candidates = @()
47+ if ($env:VULKAN_SDK) {
48+ $candidates += (Join-Path $env:VULKAN_SDK 'Bin\glslangValidator.exe')
49+ }
50+ $candidates += @(
51+ 'C:\VulkanSDK\*\Bin\glslangValidator.exe',
52+ 'C:\Program Files\VulkanSDK\*\Bin\glslangValidator.exe',
53+ "$env:USERPROFILE\VulkanSDK\*\Bin\glslangValidator.exe",
54+ 'C:\ProgramData\chocolatey\lib\vulkan-sdk\tools\**\glslangValidator.exe'
55+ )
56+
57+ foreach ($pattern in $candidates) {
58+ $found = Get-ChildItem -Path $pattern -File -Recurse -ErrorAction SilentlyContinue |
59+ Sort-Object FullName -Descending | Select-Object -First 1
60+ if ($found) { return $found.FullName }
61+ }
62+ return $null
63+ }
64+
4265 $ErrorActionPreference = 'Continue'
4366 choco install vulkan-sdk -y
44- if ($LASTEXITCODE -ne 0) {
45- Write-Host "Chocolatey install failed, falling back to winget..."
67+ $ErrorActionPreference = 'Stop'
68+
69+ $validator = Find-GlslangValidator
70+ if (-not $validator) {
71+ Write-Host "glslangValidator not found after Chocolatey install, falling back to winget..."
4672 winget install --id KhronosGroup.VulkanSDK --accept-package-agreements --accept-source-agreements --disable-interactivity
73+ $validator = Find-GlslangValidator
4774 }
48- $ErrorActionPreference = 'Stop'
49- $sdkDir = Get-ChildItem 'C:\VulkanSDK' -Directory | Sort-Object Name -Descending | Select-Object -First 1
50- if (-not $sdkDir) { throw "Vulkan SDK not found under C:\VulkanSDK" }
51- "$($sdkDir.FullName)\Bin" | Out-File -FilePath $env:GITHUB_PATH -Encoding utf8 -Append
52- glslangValidator --version
75+
76+ if (-not $validator) {
77+ throw "glslangValidator.exe not found after Vulkan SDK installation."
78+ }
79+
80+ Write-Host "Using glslangValidator: $validator"
81+ (Split-Path -Parent $validator) | Out-File -FilePath $env:GITHUB_PATH -Encoding utf8 -Append
82+ & $validator --version
5383
5484 - name : Build Desktop
5585 run : python3 scripts/build.py desktop
0 commit comments