diff --git a/.github/workflows/test-fma-windows-pr-only.yml b/.github/workflows/test-fma-windows-pr-only.yml index a5e2814d37..6260618a7b 100644 --- a/.github/workflows/test-fma-windows-pr-only.yml +++ b/.github/workflows/test-fma-windows-pr-only.yml @@ -30,7 +30,9 @@ jobs: test-fma-pr-only: env: LOG_LEVEL: ${{ github.event.inputs.log_level || 'info' }} - runs-on: windows-latest + # ARM64 runner so we can validate ARM-native FMAs. x86/x64 FMAs continue to + # install and run here via Windows 11 on ARM's Prism emulation. + runs-on: windows-11-arm steps: - name: Harden Runner @@ -187,7 +189,16 @@ jobs: if: steps.check-windows-apps.outputs.has_windows_apps == 'true' run: | Write-Host "Runner architecture: $env:PROCESSOR_ARCHITECTURE" - curl -L -o osquery.zip "https://github.com/osquery/osquery/releases/download/5.18.1/osquery-5.18.1.windows_x86_64.zip" + # Use the native osquery build for the runner architecture. On + # windows-11-arm this picks the arm64 zip so osqueryi runs natively + # rather than under Prism emulation; x86_64 runners keep the x64 zip. + if ($env:PROCESSOR_ARCHITECTURE -eq "ARM64") { + $osqueryAsset = "osquery-5.18.1.windows_arm64.zip" + } else { + $osqueryAsset = "osquery-5.18.1.windows_x86_64.zip" + } + Write-Host "Downloading osquery asset: $osqueryAsset" + curl -L -o osquery.zip "https://github.com/osquery/osquery/releases/download/5.18.1/$osqueryAsset" Expand-Archive -Path osquery.zip -DestinationPath osquery Get-ChildItem -Recurse osquery | Where-Object { $_.Name -like "*osquery*" -and $_.Extension -eq ".exe" } $osqueryPath = (Get-ChildItem -Recurse osquery | Where-Object { $_.Name -eq "osqueryi.exe" }).Directory.FullName diff --git a/.github/workflows/test-fma-windows.yml b/.github/workflows/test-fma-windows.yml index 2ee52d4fed..c891c8f492 100644 --- a/.github/workflows/test-fma-windows.yml +++ b/.github/workflows/test-fma-windows.yml @@ -26,7 +26,9 @@ jobs: test-fma: env: LOG_LEVEL: ${{ github.event.inputs.log_level || 'info' }} - runs-on: windows-latest + # ARM64 runner so we can validate ARM-native FMAs. x86/x64 FMAs continue to + # install and run here via Windows 11 on ARM's Prism emulation. + runs-on: windows-11-arm steps: - name: Harden Runner @@ -51,7 +53,16 @@ jobs: - name: Install osquery windows run: | Write-Host "Runner architecture: $env:PROCESSOR_ARCHITECTURE" - curl -L -o osquery.zip "https://github.com/osquery/osquery/releases/download/5.18.1/osquery-5.18.1.windows_x86_64.zip" + # Use the native osquery build for the runner architecture. On + # windows-11-arm this picks the arm64 zip so osqueryi runs natively + # rather than under Prism emulation; x86_64 runners keep the x64 zip. + if ($env:PROCESSOR_ARCHITECTURE -eq "ARM64") { + $osqueryAsset = "osquery-5.18.1.windows_arm64.zip" + } else { + $osqueryAsset = "osquery-5.18.1.windows_x86_64.zip" + } + Write-Host "Downloading osquery asset: $osqueryAsset" + curl -L -o osquery.zip "https://github.com/osquery/osquery/releases/download/5.18.1/$osqueryAsset" Expand-Archive -Path osquery.zip -DestinationPath osquery Get-ChildItem -Recurse osquery | Where-Object { $_.Name -like "*osquery*" -and $_.Extension -eq ".exe" } $osqueryPath = (Get-ChildItem -Recurse osquery | Where-Object { $_.Name -eq "osqueryi.exe" }).Directory.FullName