Issue 9189: Enhance WiX support for VS2026 and fix CA DLL issues #2009
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
| name: Build WiX Toolset v8 | |
| on: | |
| push: | |
| branches: | |
| - main | |
| tags: | |
| - v** | |
| pull_request: | |
| branches: | |
| - main | |
| workflow_dispatch: | |
| env: | |
| DOTNET_NOLOGO: true | |
| DOTNET_SKIP_FIRST_TIME_EXPERIENCE: true | |
| DOTNET_CLI_TELEMETRY_OPTOUT: true | |
| NUGET_XMLDOC_MODE: skip | |
| jobs: | |
| build: | |
| name: Build | |
| runs-on: windows-2025-vs2026 | |
| env: | |
| RepoOrg: ${{ github.repository_owner }} | |
| SignBuild: ${{ github.repository_owner == 'wixtoolset' && startsWith(github.ref, 'refs/tags/v') }} | |
| WixOfficialBuild: ${{ github.repository_owner == 'wixtoolset' && startsWith(github.ref, 'refs/tags/v') }} | |
| permissions: | |
| packages: write | |
| id-token: write | |
| steps: | |
| - name: Checkout code | |
| uses: actions/checkout@v4 | |
| with: | |
| fetch-depth: 0 | |
| # - name: Configure Visual Studio | |
| # shell: cmd | |
| # run: ./src/vs_config.cmd | |
| - name: Install sign tool | |
| if: ${{ env.SignBuild == 'true' }} | |
| shell: cmd | |
| run: dotnet tool install --tool-path build\.tools sign --version 0.9.1-beta.26102.1 | |
| - name: Configure automated logging and crash dumps | |
| shell: cmd | |
| run: | | |
| reg add HKLM\Software\Policies\Microsoft\Windows\Installer /t REG_SZ /v Logging /d voicewarmupx /f | |
| reg add HKLM\Software\WOW6432Node\Policies\Microsoft\Windows\Installer /t REG_SZ /v Logging /d voicewarmupx /f | |
| reg add "HKLM\SOFTWARE\Microsoft\Windows\Windows Error Reporting\LocalDumps" /t REG_EXPAND_SZ /v DumpFolder /d "%CD%\build\logs\crashdumps" /f | |
| reg add "HKLM\SOFTWARE\Microsoft\Windows\Windows Error Reporting\LocalDumps" /t REG_DWORD /v DumpCount /d 10 /f | |
| reg add "HKLM\SOFTWARE\Microsoft\Windows\Windows Error Reporting\LocalDumps" /t REG_DWORD /v DumpType /d 1 /f | |
| reg add "HKLM\SOFTWARE\WOW6432Node\Microsoft\Windows\Windows Error Reporting\LocalDumps" /t REG_EXPAND_SZ /v DumpFolder /d "%CD%\build\logs\crashdumps" /f | |
| reg add "HKLM\SOFTWARE\WOW6432Node\Microsoft\Windows\Windows Error Reporting\LocalDumps" /t REG_DWORD /v DumpCount /d 10 /f | |
| reg add "HKLM\SOFTWARE\WOW6432Node\Microsoft\Windows\Windows Error Reporting\LocalDumps" /t REG_DWORD /v DumpType /d 1 | |
| - name: 'Az CLI login' | |
| if: ${{ env.SignBuild == 'true' }} | |
| uses: azure/login@a457da9ea143d694b1b9c7c869ebb04ebe844ef5 # tag: v2.3.0 | |
| with: | |
| allow-no-subscriptions: true | |
| client-id: ${{ secrets.WIX_SIGNING_CLIENTID }} | |
| tenant-id: ${{ secrets.WIX_SIGNING_TENANTID }} | |
| - name: Build wix8 | |
| shell: cmd | |
| run: ./src/build_official.cmd | |
| env: | |
| RuntimeTestsEnabled: true | |
| AZURE_CLIENT_ID: ${{ env.SignBuild == 'true' && secrets.WIX_SIGNING_CLIENTID || '' }} | |
| AZURE_TENANT_ID: ${{ env.SignBuild == 'true' && secrets.WIX_SIGNING_TENANTID || '' }} | |
| SigningKeyVaultUri: ${{ env.SignBuild == 'true' && secrets.WIX_SIGNING_VAULTURI || '' }} | |
| SigningCertName: ${{ env.SignBuild == 'true' && secrets.WIX_SIGNING_CERTNAME || '' }} | |
| - name: Validate test results | |
| shell: cmd | |
| run: 7z a build\testresults.zip @src\testresultfilelist.txt | |
| - name: Save build | |
| uses: actions/upload-artifact@v4 | |
| with: | |
| name: artifacts | |
| path: build/artifacts/ | |
| - name: Collect integration test logs | |
| if: ${{ !cancelled() }} | |
| shell: cmd | |
| run: 7z a "build\logs\test_burn_%GITHUB_RUN_ID%.zip" "%TEMP%\*.log" "%TEMP%\..\*.log" | |
| - name: Export Application event log | |
| if: ${{ !cancelled() }} | |
| shell: cmd | |
| run: wevtutil epl Application build\logs\Application.evtx /q:"Event/System/TimeCreated[timediff(@SystemTime) <= 86400000]" | |
| - name: Export System event log | |
| if: ${{ !cancelled() }} | |
| shell: cmd | |
| run: wevtutil epl System build\logs\System.evtx /q:"Event/System/TimeCreated[timediff(@SystemTime) <= 86400000]" | |
| # Do NOT publish logs on `official builds` (version tagged builds) as they may contain secrets in them. | |
| - name: Save logs | |
| if: ${{ env.SignBuild != 'true' && !cancelled() }} | |
| uses: actions/upload-artifact@v4 | |
| with: | |
| name: logs_${{ github.run_id }} | |
| path: build/logs/ | |
| - name: Push to GitHub Packages | |
| if: ${{ github.event_name == 'push' && github.repository_owner == 'wixtoolset' && (env.WixOfficialBuild == 'true' || github.ref == 'refs/heads/main') }} | |
| run: dotnet nuget push "build/artifacts/**/*.nupkg" --source https://nuget.pkg.github.com/wixtoolset/index.json --api-key ${{ secrets.GITHUB_TOKEN }} --skip-duplicate |