Skip to content

Commit f3b6ddb

Browse files
committed
test
Signed-off-by: Ludvig Liljenberg <4257730+ludfjig@users.noreply.github.com>
1 parent 4843473 commit f3b6ddb

4 files changed

Lines changed: 76 additions & 35 deletions

File tree

.github/workflows/ValidatePullRequest.yml

Lines changed: 26 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -89,17 +89,15 @@ jobs:
8989
# See: https://github.com/actions/runner/issues/2205
9090
if: ${{ !cancelled() && !failure() }}
9191
strategy:
92-
fail-fast: true
92+
fail-fast: false
9393
matrix:
94-
hypervisor: [hyperv, 'hyperv-ws2025', mshv3, kvm]
95-
cpu: [amd, intel]
94+
pool: ['hld-win2022-intel', 'hld-win2025-intel', 'windows-2025-test-intel']
9695
config: [debug, release]
9796
uses: ./.github/workflows/dep_build_test.yml
9897
secrets: inherit
9998
with:
10099
docs_only: ${{ needs.docs-pr.outputs.docs-only }}
101-
hypervisor: ${{ matrix.hypervisor }}
102-
cpu: ${{ matrix.cpu }}
100+
pool: ${{ matrix.pool }}
103101
config: ${{ matrix.config }}
104102

105103
# Run examples - needs guest artifacts, runs in parallel with build-test
@@ -112,19 +110,36 @@ jobs:
112110
# See: https://github.com/actions/runner/issues/2205
113111
if: ${{ !cancelled() && !failure() }}
114112
strategy:
115-
fail-fast: true
113+
fail-fast: false
116114
matrix:
117-
hypervisor: [hyperv, 'hyperv-ws2025', mshv3, kvm]
118-
cpu: [amd, intel]
115+
pool: ['hld-win2022-intel', 'hld-win2025-intel', 'windows-2025-test-intel']
119116
config: [debug, release]
120117
uses: ./.github/workflows/dep_run_examples.yml
121118
secrets: inherit
122119
with:
123120
docs_only: ${{ needs.docs-pr.outputs.docs-only }}
124-
hypervisor: ${{ matrix.hypervisor }}
125-
cpu: ${{ matrix.cpu }}
121+
pool: ${{ matrix.pool }}
126122
config: ${{ matrix.config }}
127123

124+
# Run benchmarks on existing and new win2025 pools to compare
125+
benchmarks:
126+
needs:
127+
- docs-pr
128+
- build-guests
129+
if: ${{ !cancelled() && !failure() }}
130+
strategy:
131+
fail-fast: false
132+
matrix:
133+
pool: ['hld-win2022-intel', 'hld-win2025-intel', 'windows-2025-test-intel']
134+
uses: ./.github/workflows/dep_benchmarks.yml
135+
secrets: inherit
136+
with:
137+
docs_only: ${{ needs.docs-pr.outputs.docs-only }}
138+
hypervisor: hyperv-ws2025
139+
cpu: intel
140+
pool: ${{ matrix.pool }}
141+
retention_days: 5
142+
128143
fuzzing:
129144
needs:
130145
- docs-pr
@@ -166,6 +181,7 @@ jobs:
166181
- code-checks
167182
- build-test
168183
- run-examples
184+
- benchmarks
169185
- fuzzing
170186
- spelling
171187
- license-headers

.github/workflows/dep_benchmarks.yml

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -56,6 +56,11 @@ on:
5656
required: false
5757
type: number
5858
default: 5
59+
pool:
60+
description: Override 1ES pool name (bypasses hypervisor/cpu pool logic)
61+
required: false
62+
type: string
63+
default: ""
5964

6065
env:
6166
CARGO_TERM_COLOR: always
@@ -72,7 +77,7 @@ jobs:
7277
run-benchmarks:
7378
if: ${{ inputs.docs_only == 'false' }}
7479
timeout-minutes: 30
75-
runs-on: ${{ fromJson(
80+
runs-on: ${{ inputs.pool != '' && fromJson(format('["self-hosted", "1ES.Pool={0}"]', inputs.pool)) || fromJson(
7681
format('["self-hosted", "{0}", "X64", "1ES.Pool=hld-{1}-{2}"]',
7782
(inputs.hypervisor == 'hyperv' || inputs.hypervisor == 'hyperv-ws2025') && 'Windows' || 'Linux',
7883
inputs.hypervisor == 'hyperv' && 'win2022' || inputs.hypervisor == 'hyperv-ws2025' && 'win2025' || inputs.hypervisor == 'mshv3' && 'azlinux3-mshv' || inputs.hypervisor,
@@ -134,7 +139,7 @@ jobs:
134139

135140
- uses: actions/upload-artifact@v7
136141
with:
137-
name: benchmarks_${{ runner.os }}_${{ inputs.hypervisor }}_${{ inputs.cpu }}
142+
name: benchmarks_${{ runner.os }}_${{ inputs.pool != '' && inputs.pool || format('{0}_{1}', inputs.hypervisor, inputs.cpu) }}
138143
path: ./target/criterion/
139144
if-no-files-found: error
140145
retention-days: ${{ inputs.retention_days }}

.github/workflows/dep_build_test.yml

Lines changed: 22 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -10,18 +10,14 @@ on:
1010
required: false
1111
type: string
1212
default: "false"
13-
hypervisor:
14-
description: Hypervisor for this run (passed from caller matrix)
13+
pool:
14+
description: 1ES pool name for this run
1515
required: true
1616
type: string
1717
config:
1818
description: Build configuration for this run (passed from caller matrix)
1919
required: true
2020
type: string
21-
cpu:
22-
description: CPU architecture for the build (passed from caller matrix)
23-
required: true
24-
type: string
2521

2622
env:
2723
CARGO_TERM_COLOR: always
@@ -38,14 +34,28 @@ jobs:
3834
build-and-test:
3935
if: ${{ inputs.docs_only == 'false' }}
4036
timeout-minutes: 45
41-
runs-on: ${{ fromJson(
42-
format('["self-hosted", "{0}", "X64", "1ES.Pool=hld-{1}-{2}"]',
43-
(inputs.hypervisor == 'hyperv' || inputs.hypervisor == 'hyperv-ws2025') && 'Windows' || 'Linux',
44-
inputs.hypervisor == 'hyperv' && 'win2022' || inputs.hypervisor == 'hyperv-ws2025' && 'win2025' || inputs.hypervisor == 'mshv3' && 'azlinux3-mshv' || inputs.hypervisor,
45-
inputs.cpu)) }}
37+
runs-on: ["self-hosted", "Windows", "X64", "1ES.Pool=${{ inputs.pool }}"]
4638
steps:
4739
- uses: actions/checkout@v6
4840

41+
- name: Diagnose Hyper-V status
42+
if: runner.os == 'Windows'
43+
shell: powershell
44+
run: |
45+
Write-Host "=== Windows Version ==="
46+
cmd /c ver
47+
Write-Host "`n=== Hyper-V Features ==="
48+
Get-WindowsOptionalFeature -Online | Where-Object {$_.FeatureName -match 'Hyper-V|HypervisorPlatform|VirtualMachinePlatform'} | Format-Table
49+
Write-Host "`n=== Hyper-V Services ==="
50+
Get-Service -Name vmcompute,vmms -ErrorAction SilentlyContinue | Format-Table Name,Status,StartType
51+
Write-Host "`n=== WHP API Check ==="
52+
$whpDll = "$env:SystemRoot\System32\WinHvPlatform.dll"
53+
if (Test-Path $whpDll) { Write-Host "WinHvPlatform.dll found: $((Get-Item $whpDll).VersionInfo.FileVersion)" } else { Write-Host "WinHvPlatform.dll NOT FOUND" }
54+
Write-Host "`n=== Hypervisor Present (firmware) ==="
55+
(Get-WmiObject Win32_ComputerSystem).HypervisorPresent
56+
Write-Host "`n=== BCDEdit hypervisor launch type ==="
57+
bcdedit /enum '{current}' | Select-String -Pattern 'hypervisor'
58+
4959
- uses: hyperlight-dev/ci-setup-workflow@v1.8.0
5060
with:
5161
rust-toolchain: "1.89"
@@ -103,7 +113,7 @@ jobs:
103113
if: runner.os == 'Linux'
104114
run: |
105115
# with only one driver enabled (kvm/mshv3 features are unix-only, no-op on Windows)
106-
just test ${{ inputs.config }} ${{ inputs.hypervisor == 'mshv3' && 'mshv3' || 'kvm' }}
116+
just test ${{ inputs.config }}
107117
108118
- name: Run Rust Gdb tests
109119
env:

.github/workflows/dep_run_examples.yml

Lines changed: 21 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -10,18 +10,14 @@ on:
1010
required: false
1111
type: string
1212
default: "false"
13-
hypervisor:
14-
description: Hypervisor for this run (passed from caller matrix)
13+
pool:
14+
description: 1ES pool name for this run
1515
required: true
1616
type: string
1717
config:
1818
description: Build configuration for this run (passed from caller matrix)
1919
required: true
2020
type: string
21-
cpu:
22-
description: CPU architecture for the build (passed from caller matrix)
23-
required: true
24-
type: string
2521

2622
env:
2723
CARGO_TERM_COLOR: always
@@ -38,14 +34,28 @@ jobs:
3834
run-examples:
3935
if: ${{ inputs.docs_only == 'false' }}
4036
timeout-minutes: 15
41-
runs-on: ${{ fromJson(
42-
format('["self-hosted", "{0}", "X64", "1ES.Pool=hld-{1}-{2}"]',
43-
(inputs.hypervisor == 'hyperv' || inputs.hypervisor == 'hyperv-ws2025') && 'Windows' || 'Linux',
44-
inputs.hypervisor == 'hyperv' && 'win2022' || inputs.hypervisor == 'hyperv-ws2025' && 'win2025' || inputs.hypervisor == 'mshv3' && 'azlinux3-mshv' || inputs.hypervisor,
45-
inputs.cpu)) }}
37+
runs-on: ["self-hosted", "Windows", "X64", "1ES.Pool=${{ inputs.pool }}"]
4638
steps:
4739
- uses: actions/checkout@v6
4840

41+
- name: Diagnose Hyper-V status
42+
if: runner.os == 'Windows'
43+
shell: powershell
44+
run: |
45+
Write-Host "=== Windows Version ==="
46+
cmd /c ver
47+
Write-Host "`n=== Hyper-V Features ==="
48+
Get-WindowsOptionalFeature -Online | Where-Object {$_.FeatureName -match 'Hyper-V|HypervisorPlatform|VirtualMachinePlatform'} | Format-Table
49+
Write-Host "`n=== Hyper-V Services ==="
50+
Get-Service -Name vmcompute,vmms -ErrorAction SilentlyContinue | Format-Table Name,Status,StartType
51+
Write-Host "`n=== WHP API Check ==="
52+
$whpDll = "$env:SystemRoot\System32\WinHvPlatform.dll"
53+
if (Test-Path $whpDll) { Write-Host "WinHvPlatform.dll found: $((Get-Item $whpDll).VersionInfo.FileVersion)" } else { Write-Host "WinHvPlatform.dll NOT FOUND" }
54+
Write-Host "`n=== Hypervisor Present (firmware) ==="
55+
(Get-WmiObject Win32_ComputerSystem).HypervisorPresent
56+
Write-Host "`n=== BCDEdit hypervisor launch type ==="
57+
bcdedit /enum '{current}' | Select-String -Pattern 'hypervisor'
58+
4959
- uses: hyperlight-dev/ci-setup-workflow@v1.8.0
5060
with:
5161
rust-toolchain: "1.89"

0 commit comments

Comments
 (0)