U/sgriffin/vc2026 #327
Workflow file for this run
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| # Continuous integration | |
| name: github-continuous-integration | |
| on: | |
| push: | |
| branches: [ "main" ] | |
| pull_request: | |
| branches: [ "main" ] | |
| workflow_dispatch: | |
| permissions: | |
| contents: read | |
| jobs: | |
| build: | |
| # Use VS 2026 preview runner (GA May 4, 2026, then switch to windows-2025) | |
| runs-on: windows-2025-vs2026 | |
| permissions: | |
| security-events: write | |
| strategy: | |
| fail-fast: false | |
| matrix: | |
| configuration: [ 'Release', 'Debug', 'Release_Unicode', 'Debug_Unicode' ] | |
| platform: [ 'Win32', 'x64', 'ARM64EC' ] | |
| exclude: | |
| # ARM64EC only needs Unicode builds | |
| - platform: ARM64EC | |
| configuration: Release | |
| - platform: ARM64EC | |
| configuration: Debug | |
| steps: | |
| - name: Harden Runner | |
| uses: step-security/harden-runner@5ef0c079ce82195b2a36a210272d6b661572d83e # v2.14.2 | |
| with: | |
| egress-policy: audit | |
| - name: Checkout repository | |
| uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2 | |
| with: | |
| submodules: 'recursive' | |
| - name: Install Windows 11 SDK (10.0.22621.0) | |
| shell: pwsh | |
| run: | | |
| $sdkPath = "${env:ProgramFiles(x86)}\Windows Kits\10\Include\10.0.22621.0" | |
| if (Test-Path $sdkPath) { | |
| Write-Host "Windows SDK 10.0.22621.0 already installed" | |
| exit 0 | |
| } | |
| Write-Host "Downloading Windows 11 SDK 10.0.22621.0..." | |
| $installer = "$env:TEMP\winsdksetup.exe" | |
| Invoke-WebRequest -Uri "https://go.microsoft.com/fwlink/?linkid=2196241" -OutFile $installer | |
| Write-Host "Installing SDK (this may take a few minutes)..." | |
| $proc = Start-Process -FilePath $installer -ArgumentList "/features OptionId.DesktopCPPx64 OptionId.DesktopCPPx86 OptionId.DesktopCPParm64 /quiet /norestart /log $env:TEMP\sdk_install.log" -Wait -PassThru | |
| Write-Host "Installer exit code: $($proc.ExitCode)" | |
| if (Test-Path $sdkPath) { | |
| Write-Host "Windows SDK 10.0.22621.0 installed successfully" | |
| } else { | |
| Write-Host "SDK install log:" | |
| Get-Content "$env:TEMP\sdk_install.log" -ErrorAction SilentlyContinue | Select-Object -Last 50 | |
| Write-Error "Windows SDK installation failed - path not found: $sdkPath" | |
| exit 1 | |
| } | |
| - name: "Build" | |
| shell: pwsh | |
| run: | | |
| $path = & "${env:ProgramFiles(x86)}\Microsoft Visual Studio\Installer\vswhere.exe" -latest -property installationPath | |
| & $path\MSBuild\Current\Bin\amd64\msbuild.exe /m /p:Configuration="${{matrix.configuration}}" /p:Platform="${{matrix.platform}}" mapistub.sln | |
| publish-test-results: | |
| name: "Publish Tests Results" | |
| needs: build | |
| runs-on: ubuntu-latest | |
| permissions: | |
| checks: write | |
| # only needed unless run with comment_mode: off | |
| pull-requests: write | |
| security-events: write | |
| if: always() | |
| steps: | |
| - name: Harden Runner | |
| uses: step-security/harden-runner@5ef0c079ce82195b2a36a210272d6b661572d83e # v2.14.2 | |
| with: | |
| egress-policy: audit | |
| - name: Download Artifacts | |
| uses: actions/download-artifact@37930b1c2abaa49bbe596cd826c3c89aef350131 # v7.0.0 | |
| with: | |
| path: artifacts | |
| - name: Publish Test Results | |
| uses: EnricoMi/publish-unit-test-result-action@27d65e188ec43221b20d26de30f4892fad91df2f # v2.22.0 | |
| with: | |
| files: "artifacts/**/*.trx" |