Skip to content

Release Switchify PC #32

Release Switchify PC

Release Switchify PC #32

Workflow file for this run

name: Keyboard UIAccess qualification only
on:
workflow_dispatch:
permissions:
contents: read
jobs:
qualify:
runs-on: [self-hosted, Windows, X64, switchify-signing]
environment: production
timeout-minutes: 10
env:
SWITCHIFY_CERTUM_CERT_THUMBPRINT: ${{ vars.CERTUM_CERT_THUMBPRINT }}
steps:
- uses: actions/checkout@d23441a48e516b6c34aea4fa41551a30e30af803
- name: Compile qualification executable
shell: powershell
run: |
$ErrorActionPreference = 'Stop'
$framework = "$env:WINDIR\Microsoft.NET\Framework64\v4.0.30319"
$references = Get-ChildItem 'C:\Program Files (x86)\Reference Assemblies\Microsoft\Framework\.NETFramework' -Directory | Sort-Object Name -Descending | Select-Object -First 1
if (-not $references) { throw 'No .NET Framework reference assemblies found.' }
$wpf = $references.FullName
if (-not (Test-Path "$wpf\UIAutomationClient.dll")) { $wpf = Join-Path $references.FullName WPF }
foreach ($assembly in @('UIAutomationClient.dll','UIAutomationTypes.dll','WindowsBase.dll')) {
if (-not (Test-Path (Join-Path $wpf $assembly))) { throw "Missing reference assembly: $assembly" }
}
& "$framework\csc.exe" /nologo /target:winexe /platform:x64 /out:SwitchifyKeyboardQualification.exe /win32manifest:tools/keyboard-qualification/WindowsProbe.manifest /r:System.Windows.Forms.dll /r:System.Drawing.dll /r:System.Core.dll "/r:$wpf\UIAutomationClient.dll" "/r:$wpf\UIAutomationTypes.dll" "/r:$wpf\WindowsBase.dll" tools/keyboard-qualification/WindowsProbe.cs
if ($LASTEXITCODE -ne 0) { throw 'Qualification compilation failed.' }
./scripts/Sign-Windows.ps1 SwitchifyKeyboardQualification.exe
if ((Get-AuthenticodeSignature SwitchifyKeyboardQualification.exe).Status -ne 'Valid') { throw 'Qualification signature verification failed.' }
- uses: actions/upload-artifact@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a
with:
name: keyboard-uiaccess-qualification
path: SwitchifyKeyboardQualification.exe
if-no-files-found: error
retention-days: 7