github-continuous-integration #383
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', 'ARM64', 'ARM64EC' ] | |
| exclude: | |
| # ARM64/ARM64EC only need Unicode builds | |
| - platform: ARM64 | |
| configuration: Release | |
| - platform: ARM64 | |
| configuration: Debug | |
| - platform: ARM64EC | |
| configuration: Release | |
| - platform: ARM64EC | |
| configuration: Debug | |
| steps: | |
| - name: Harden Runner | |
| uses: step-security/harden-runner@58077d3c7e43986b6b15fba718e8ea69e387dfcc # v2.15.1 | |
| 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: | | |
| & "${{ github.workspace }}\scripts\install-winsdk.ps1" | |
| - name: "Build" | |
| shell: pwsh | |
| run: | | |
| $vsPath = & "${env:ProgramFiles(x86)}\Microsoft Visual Studio\Installer\vswhere.exe" -latest -property installationPath | |
| $msbuildPath = Join-Path $vsPath "MSBuild\Current\Bin\amd64\msbuild.exe" | |
| & $msbuildPath /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@58077d3c7e43986b6b15fba718e8ea69e387dfcc # v2.15.1 | |
| with: | |
| egress-policy: audit | |
| - name: Download Artifacts | |
| uses: actions/download-artifact@70fc10c6e5e1ce46ad2ea6f2b72d43f7d47b13c3 # v8.0.0 | |
| with: | |
| path: artifacts | |
| - name: Publish Test Results | |
| uses: EnricoMi/publish-unit-test-result-action@c950f6fb443cb5af20a377fd0dfaa78838901040 # v2.23.0 | |
| with: | |
| files: "artifacts/**/*.trx" |