Skip to content

ci: add kernel binary size checks#3144

Open
benhillis wants to merge 1 commit intomicrosoft:mainfrom
benhillis:kernel_size_check
Open

ci: add kernel binary size checks#3144
benhillis wants to merge 1 commit intomicrosoft:mainfrom
benhillis:kernel_size_check

Conversation

@benhillis
Copy link
Copy Markdown
Member

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:

  • x64 Main kernel
  • x64 CVM kernel
  • aarch64 Main kernel

@benhillis benhillis requested a review from a team as a code owner March 27, 2026 18:14
Copilot AI review requested due to automatic review settings March 27, 2026 18:14
@benhillis benhillis requested a review from a team as a code owner March 27, 2026 18:14
@benhillis benhillis changed the title ci: add kernel binary size checks to OSS CI ci: add kernel binary size checks Mar 27, 2026
Copy link
Copy Markdown
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

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-size for kernel variants (x64 main, x64 CVM, aarch64 main).
  • Wires the new baseline publishing + PR comparison jobs into the checkin_gates pipeline and regenerates openvmm-ci.yaml accordingly.

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.

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:
- x64 Main kernel
- x64 CVM kernel
- aarch64 Main kernel
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants