Open
Conversation
Contributor
There was a problem hiding this comment.
Pull request overview
Adds OpenHCL kernel binary size regression checks to the OSS GitHub CI, mirroring the existing openvmm_hcl (usermode) size-check pattern by publishing merge baselines and comparing PR outputs against them via xtask verify-size.
Changes:
- Introduces a new kernel baseline artifact publisher node (
artifact_openhcl_kernel_sizecheck) and a CI job node to publish kernel baselines on post-merge CI. - Adds a PR job node to download the last-merge baseline artifact and run
xtask verify-sizefor kernel variants (x64 main, x64 CVM, aarch64 main). - Wires the new baseline publishing + PR comparison jobs into the
checkin_gatespipeline and regeneratesopenvmm-ci.yamlaccordingly.
Reviewed changes
Copilot reviewed 7 out of 8 changed files in this pull request and generated no comments.
Show a summary per file
| File | Description |
|---|---|
| flowey/flowey_lib_hvlite/src/lib.rs | Exposes the new kernel sizecheck artifact module. |
| flowey/flowey_lib_hvlite/src/artifact_openhcl_kernel_sizecheck.rs | New node to copy the resolved kernel binary into an artifact directory for publishing. |
| flowey/flowey_lib_hvlite/src/_jobs/mod.rs | Registers the new job nodes for kernel baseline publish + PR size verification. |
| flowey/flowey_lib_hvlite/src/_jobs/check_openhcl_kernel_size.rs | New PR job to fetch last-merge baseline artifact and run xtask verify-size against the currently resolved kernel. |
| flowey/flowey_lib_hvlite/src/_jobs/build_and_publish_openhcl_kernel_baseline.rs | New CI job to resolve the kernel binary and publish it as a baseline artifact. |
| flowey/flowey_hvlite/src/pipelines/checkin_gates.rs | Adds kernel baseline publishing (CI) and kernel verify-size jobs (PR) to the pipeline graph. |
| .github/workflows/openvmm-ci.yaml | Regenerated workflow to publish the new kernel baseline artifacts from CI jobs. |
5d5100d to
44a963e
Compare
Member
Author
|
Still looking at this, don't think I want one runner per kernel type. |
44a963e to
2386d79
Compare
2386d79 to
c125586
Compare
c125586 to
ecbe39c
Compare
benhillis
pushed a commit
to benhillis/openvmm
that referenced
this pull request
Apr 20, 2026
Address review feedback on PR microsoft#3144: 1. Replace overly broad wildcard fallback with explicit match arms: - (Err, Err): both unparseable → raw file size comparison (e.g. aarch64 Image) - (Err, Ok) or (Ok, Err): mismatched formats → error with file path context 2. Fix integer division truncation in raw size comparison: - Use div_ceil when computing KiB differences for the threshold check - This prevents up to 1023 bytes from silently slipping through the 50 KiB tolerance Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Extend the existing openhcl binary size check infrastructure to also compare kernel binaries between PRs and the last successful main merge. Kernels checked per architecture: - x64: Main, CVM - aarch64: Main The kernel baselines are included in the existing per-arch openhcl-baseline artifact (alongside the usermode binary), and the comparisons run in the existing 'verify openhcl binary size' jobs. No new CI jobs, artifacts, or files are added.
4c80c97 to
5f88248
Compare
benhillis
pushed a commit
to benhillis/openvmm
that referenced
this pull request
Apr 20, 2026
Address review feedback on PR microsoft#3144: 1. Replace overly broad wildcard fallback with explicit match arms: - (Err, Err): both unparseable → raw file size comparison (e.g. aarch64 Image) - (Err, Ok) or (Ok, Err): mismatched formats → error with file path context 2. Fix integer division truncation in raw size comparison: - Use div_ceil when computing KiB differences for the threshold check - This prevents up to 1023 bytes from silently slipping through the 50 KiB tolerance Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
benhillis
pushed a commit
to benhillis/openvmm
that referenced
this pull request
Apr 20, 2026
Address review feedback on PR microsoft#3144: 1. Replace overly broad wildcard fallback with explicit match arms: - (Err, Err): both unparseable → raw file size comparison (e.g. aarch64 Image) - (Err, Ok) or (Ok, Err): mismatched formats → error with file path context 2. Fix integer division truncation in raw size comparison: - Use div_ceil when computing KiB differences for the threshold check - This prevents up to 1023 bytes from silently slipping through the 50 KiB tolerance Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
5f88248 to
daf6193
Compare
benhillis
pushed a commit
to benhillis/openvmm
that referenced
this pull request
Apr 20, 2026
Address review feedback on PR microsoft#3144: 1. Replace overly broad wildcard fallback with explicit match arms: - (Err, Err): both unparseable → raw file size comparison (e.g. aarch64 Image) - (Err, Ok) or (Ok, Err): mismatched formats → error with file path context 2. Fix integer division truncation in raw size comparison: - Use div_ceil when computing KiB differences for the threshold check - This prevents up to 1023 bytes from silently slipping through the 50 KiB tolerance Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
daf6193 to
62ff083
Compare
Address review feedback on PR microsoft#3144: 1. Replace overly broad wildcard fallback with explicit match arms: - (Err, Err): both unparseable → raw file size comparison (e.g. aarch64 Image) - (Err, Ok) or (Ok, Err): mismatched formats → error with file path context 2. Fix integer division truncation in raw size comparison: - Use div_ceil when computing KiB differences for the threshold check - This prevents up to 1023 bytes from silently slipping through the 50 KiB tolerance Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
62ff083 to
7abd4f4
Compare
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Add size regression checks for OpenHCL kernel binaries in the OSS CI pipeline, matching the pattern used for the usermode openvmm_hcl binary.
On post-merge CI, kernel baselines are published as artifacts. On PRs, the current kernel is compared against the baseline using xtask verify-size (50 KiB tolerance).
Kernel variants checked: