@@ -289,27 +289,27 @@ jobs:
289289 throw "Windows Kits not found at : $kitsRoot"
290290 }
291291
292- # Find installed SDK versions
293- $versions = Get-ChildItem -Directory $kitsRoot | Select-Object -ExpandProperty Name
294- Write-Host "Installed Windows SDK versions:"
295- $versions | Sort-Object | ForEach-Object { Write-Host " - $_" }
292+ $all = Get-ChildItem -Directory $kitsRoot | Select-Object -ExpandProperty Name
296293
297- # Pick the newest one
298- $selected = ($versions | Sort-Object {[version]$_} | Select-Object -Last 1)
299- if (-not $selected) { throw "Could not determine installed Windows SDK version." }
294+ Write-Host "Installed Windows SDK entries:"
295+ $all | Sort-Object | ForEach-Object { Write-Host " - $_" }
300296
297+ # Keep only semantic SDK version folders like 10.0.22621.0, skip 'wdf'
298+ $versions = $all | Where-Object { $_ -match '^\d+\.\d+\.\d+\.\d+$' }
299+ if (-not $versions -or $versions.Count -eq 0) {
300+ throw "No Windows SDK version folders found under : $kitsRoot"
301+ }
302+
303+ $selected = ($versions | Sort-Object {[version]$_} | Select-Object -Last 1).Trim()
301304 Write-Host "Selected Windows SDK version : $selected"
302305
303- # CMake/VS tooling often expects a trailing backslash in WindowsSDKVersion
304- " WindowsSDKVersion=$selected\" | Out-File -Append -Encoding utf8 $env:GITHUB_ENV
306+ if ([version]$selected -lt [version]"10.0.20348.0") {
307+ throw "Selected SDK $selected is < 10.0.20348.0 (OBS requirement)."
308+ }
305309
306- # Also help CMake explicitly
310+ # Tooling typically expects trailing backslash
311+ " WindowsSDKVersion=$selected\" | Out-File -Append -Encoding utf8 $env:GITHUB_ENV
307312 " CMAKE_SYSTEM_VERSION=$selected" | Out-File -Append -Encoding utf8 $env:GITHUB_ENV
308-
309- # Sanity check: must be >= 10.0.20348.0
310- if ([version]($selected.TrimEnd("\")) -lt [version]"10.0.20348.0") {
311- throw "Selected SDK $selected is still < 10.0.20348.0"
312- }
313313
314314 - name : Install Ninja
315315 shell : pwsh
0 commit comments