Skip to content

Bump step-security/harden-runner from 2.15.1 to 2.16.0 #769

Bump step-security/harden-runner from 2.15.1 to 2.16.0

Bump step-security/harden-runner from 2.15.1 to 2.16.0 #769

Workflow file for this run

# 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@fa2e9d605c4eeb9fcad4c99c224cee0c6c7f3594 # v2.16.0
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}}" mfcmapi.sln
- name: Find vstest.console.exe
if: matrix.platform != 'ARM64' && matrix.platform != 'ARM64EC'
run: |
$VSDevTestCmd = & "${env:ProgramFiles(x86)}\Microsoft Visual Studio\Installer\vswhere" -latest -prerelease -products * -find Common7\IDE\Extensions\TestPlatform\vstest.console.exe
if (!$VSDevTestCmd) { exit 1 }
echo "Using VSDevTestCmd: ${VSDevTestCmd}"
Add-Content $env:GITHUB_ENV "VSDevTestCmd=$VSDevTestCmd"
- name: MFCMAPI UnitTests
if: matrix.platform != 'ARM64' && matrix.platform != 'ARM64EC'
run: cmd /c "$env:VSDevTestCmd" /Parallel /EnableCodeCoverage /Logger:trx "${{github.workspace}}\\bin\\${{matrix.platform}}\\UnitTest\\${{matrix.configuration}}\\UnitTest.dll"
# - name: Upload Event File
# uses: actions/upload-artifact@bbbca2ddaa5d8feaa63e36b76fdaad77386f024f # v7.0.0
# with:
# name: Event File (${{ matrix.platform }} - ${{ matrix.configuration }})
# path: ${{ github.event_path }}
- name: Upload Test Result Files
uses: actions/upload-artifact@bbbca2ddaa5d8feaa63e36b76fdaad77386f024f # v7.0.0
if: always() && matrix.platform != 'ARM64' && matrix.platform != 'ARM64EC'
with:
name: Test Results (${{ matrix.platform }} - ${{ matrix.configuration }})
path: ${{github.workspace}}/**/TestResults/**/*
- name: Upload ARM64 Binaries
uses: actions/upload-artifact@bbbca2ddaa5d8feaa63e36b76fdaad77386f024f # v7.0.0
if: matrix.platform == 'ARM64' && matrix.configuration == 'Release_Unicode'
with:
name: ARM64 Release Binaries
path: |
${{github.workspace}}/bin/ARM64/MFCMapi/Release_Unicode/*.exe
${{github.workspace}}/bin/ARM64/MrMAPI/Release_Unicode/*.exe
- name: Upload ARM64EC Binaries
uses: actions/upload-artifact@bbbca2ddaa5d8feaa63e36b76fdaad77386f024f # v7.0.0
if: matrix.platform == 'ARM64EC' && matrix.configuration == 'Release_Unicode'
with:
name: ARM64EC Release Binaries
path: |
${{github.workspace}}/bin/ARM64EC/MFCMapi/Release_Unicode/*.exe
${{github.workspace}}/bin/ARM64EC/MrMAPI/Release_Unicode/*.exe
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@fa2e9d605c4eeb9fcad4c99c224cee0c6c7f3594 # v2.16.0
with:
egress-policy: audit
- name: Download Artifacts
uses: actions/download-artifact@3e5f45b2cfb9172054b4087a40e8e0b5a5461e7c # v8.0.1
with:
path: artifacts
- name: Publish Test Results
uses: EnricoMi/publish-unit-test-result-action@c950f6fb443cb5af20a377fd0dfaa78838901040 # v2.23.0
with:
files: "artifacts/**/*.trx"