Repository navigation
Test MSHV 6.18 weekly and benchmark it daily - #1941
Conversation
Add WeeklyMshv618.yml, which runs the mshv3 build-test, examples, and
benchmarks on the hld-azlinux3-mshv-6.18-{amd,intel} pools every Monday.
A failure opens or updates a release-blocking issue labeled
area/ci-periodics-mshv-6.18.
Add an optional mshv_kernel input to dep_build_test, dep_run_examples,
and dep_benchmarks. It selects the hld-azlinux3-mshv-<kernel>-<vendor>
pool. Callers that omit it keep the existing pools.
The run keeps hypervisor mshv3, so it uses the mshv3 feature, Justfile
recipes, and Rust cache keys. Both pools run Azure Linux 3.
Signed-off-by: Ludvig Liljenberg <4257730+ludfjig@users.noreply.github.com>
This comment has been minimized.
This comment has been minimized.
Move the MSHV 6.18 benchmarks from WeeklyMshv618.yml to a separate DailyBenchmarks.yml job. Daily runs measure 6.6 and 6.18 on the same commit, in the same mode, at about the same time. A separate job keeps a 6.18 failure from cancelling the existing fail-fast matrix. Name benchmark artifacts benchmarks_<OS>_<hypervisor>-<kernel>_<vendor> when mshv_kernel is set, so 6.18 results do not collide with the 6.6 artifacts in the same run. bench-report reads the new label as its own hypervisor, so 6.6 results never match a 6.18 baseline. Signed-off-by: Ludvig Liljenberg <4257730+ludfjig@users.noreply.github.com>
Signed-off-by: Ludvig Liljenberg <4257730+ludfjig@users.noreply.github.com>
There was a problem hiding this comment.
🟢 Approval recommended
The scoped workflow changes preserve default behavior, isolate benchmark artifacts, and have no identified blocking issues.
0 open findings
What changed in this PR
Adds scheduled MSHV 6.18 coverage on Azure Linux 3 while preserving existing runner pools for other callers.
Changes:
- Runs tests and examples weekly on AMD and Intel pools.
- Runs daily benchmarks with kernel-specific artifact names.
- Documents benchmark coverage and the dedicated weekly failure label.
| File | Description |
|---|---|
| docs/github-labels.md | Documents the weekly failure label. |
| docs/benchmarking-hyperlight.md | Documents daily MSHV 6.18 benchmarks. |
| .github/workflows/WeeklyMshv618.yml | Schedules tests, examples, and failure reporting. |
| .github/workflows/dep_run_examples.yml | Supports kernel-specific example runner pools. |
| .github/workflows/dep_build_test.yml | Supports kernel-specific test runner pools. |
| .github/workflows/dep_benchmarks.yml | Supports kernel-specific pools and artifact names. |
| .github/workflows/DailyBenchmarks.yml | Adds MSHV 6.18 benchmarks and failure notification wiring. |
🧠 Review effort: Balanced
💡 Add a code-review agent skill or configure MCP servers for context-aware, tailored reviews. Learn more in the docs.
Benchmark ResultsMeasured commit: kvm / amd (Linux) (➖ stable)No benchmark improved or regressed. Benchmark Resultsfunction_call_codec
payload_allocation
sandboxes
slot_pool
snapshot_files
virtq_readonly
virtq_readwrite
kvm / intel (Linux) (➖ stable)No benchmark improved or regressed. Benchmark Resultsfunction_call_codec
payload_allocation
sandboxes
slot_pool
snapshot_files
virtq_readonly
virtq_readwrite
mshv3 / amd (Linux) (➖ stable)No benchmark improved or regressed. Benchmark Resultsfunction_call_codec
payload_allocation
sandboxes
slot_pool
snapshot_files
virtq_readonly
virtq_readwrite
mshv3 / intel (Linux) (➖ stable)No benchmark improved or regressed. Benchmark Resultsfunction_call_codec
payload_allocation
sandboxes
slot_pool
snapshot_files
virtq_readonly
virtq_readwrite
hyperv-ws2025 / amd (Windows) (➖ stable)No benchmark improved or regressed. Benchmark Resultsfunction_call_codec
payload_allocation
sandboxes
slot_pool
snapshot_files
virtq_readonly
virtq_readwrite
hyperv-ws2025 / intel (Windows) (➖ stable)No benchmark improved or regressed. Benchmark Resultsfunction_call_codec
payload_allocation
sandboxes
slot_pool
snapshot_files
virtq_readonly
virtq_readwrite
Reported by |
Tests MSHV 6.18 weekly and benchmarks it daily on Azure Linux 3 with the released MSHV 6.18 kernel
WeeklyMshv618.ymljob to run tests and examplesbenchmarks-mshv-6-18job toDailyBenchmarks.ymlmshv_kernelinput todep_build_test.yml,dep_run_examples.yml, anddep_benchmarks.yml. When it is set, mshv3 jobs run onhld-azlinux3-mshv-<mshv_kernel>-<vendor>. Existing callers do not pass it and keep their pools.mshv_kernelis set, benchmark artifacts are namedbenchmarks_Linux_mshv3-<mshv_kernel>_<vendor>. This avoids a name collision with the 6.6 artifacts in the same daily run.bench-reportreads the label as its own hypervisor, so 6.6 results never match a 6.18 baseline.The new pools
hld-azlinux3-mshv-6.18-amdandhld-azlinux3-mshv-6.18-intelhold up max 3 VMs each to save azure quota. This is suffient since we don't run per prpassed runs: https://github.com/hyperlight-dev/hyperlight/actions/runs/38781317655?pr=1941