Skip to content

flowey: disable unused dev kernel IGVM variants#3986

Merged
benhillis merged 8 commits into
microsoft:mainfrom
benhillis:user/benhill/disable-dev-kernel-v2
Jul 23, 2026
Merged

flowey: disable unused dev kernel IGVM variants#3986
benhillis merged 8 commits into
microsoft:mainfrom
benhillis:user/benhill/disable-dev-kernel-v2

Conversation

@benhillis

@benhillis benhillis commented Jul 20, 2026

Copy link
Copy Markdown
Member

Motivation

OpenHCL retains separate dev Linux kernel IGVM recipe variants, but the dev branch no longer represents long-lived feature work that needs a permanently separate set of OpenVMM artifacts. Kernel changes are promoted to main, and the current VMM test pipelines do not consume the dev-kernel IGVM artifacts.

The check-in pipelines nevertheless build and publish dev variants for standard x64, Linux-direct, CVM, and aarch64 configurations. These builds add cost without providing distinct test coverage.

Changes

  • Make the configured dev-kernel version optional and disable it by default.
  • Omit dev-kernel recipes from the OSS check-in pipeline matrices while disabled.
  • Stop exposing dev-kernel packages and build arguments from the Nix shell.
  • Keep the existing kernel kinds, recipes, CLI values, resolver routing, and Petri artifact identities so the variants can be restored without reconstructing their plumbing.
  • Return a clear error when a published dev kernel is explicitly requested while no dev version is configured. Custom local kernel packages continue to work.
  • Regenerate the affected CI workflows.

Re-enabling the dev variants

  1. Set OPENHCL_KERNEL_DEV_VERSION to Some("<VERSION>").
  2. Set enableDevKernel in shell.nix to true and update the dev version and hashes in nix/openhcl_kernel.nix.
  3. Regenerate the Flowey pipelines.
  4. Restore or add targeted dev-kernel test coverage that justifies the separate variants.

Validation

  • cargo clippy --all-targets -p flowey_lib_hvlite -p flowey_hvlite
  • cargo doc --no-deps -p flowey_lib_hvlite -p flowey_hvlite
  • cargo xtask fmt --fix

Copilot AI review requested due to automatic review settings July 20, 2026 23:30
@benhillis
benhillis requested review from a team as code owners July 20, 2026 23:30
@benhillis benhillis changed the title flowey: disable unused dev kernel build lanes flowey: disable unused dev kernel IGVM variants Jul 20, 2026

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Pull request overview

This PR reduces CI and developer-environment cost by disabling the unused OpenHCL “dev kernel” build lanes by default, while keeping the dev-kernel plumbing intact so it can be re-enabled later without rework.

Changes:

  • Make the dev-kernel version optional (OPENHCL_KERNEL_DEV_VERSION: Option<&str> = None) and only configure dev versions when set.
  • Remove dev-kernel IGVM recipes from the OSS check-in gate matrices when the dev version is unset.
  • Stop exposing dev-kernel build args and kernel paths in the Nix dev shell unless explicitly enabled.

Reviewed changes

Copilot reviewed 9 out of 9 changed files in this pull request and generated 1 comment.

Show a summary per file
File Description
shell.nix Gates dev-kernel env vars/build args behind an explicit enableDevKernel toggle (default off).
flowey/flowey_lib_hvlite/src/resolve_openhcl_kernel_package.rs Adds an explicit error when a dev kernel is requested but no dev version is configured.
flowey/flowey_lib_hvlite/src/build_openhcl_igvm_from_recipe.rs Adds uses_dev_kernel() helper to identify dev-kernel recipes for filtering.
flowey/flowey_lib_hvlite/src/_jobs/cfg_versions.rs Makes dev kernel version optional and conditionally injects dev versions into the resolver config.
flowey/flowey_hvlite/src/pipelines/checkin_gates.rs Filters dev-kernel recipes out of check-in gates when dev version is unset.
ci-flowey/openvmm-pr.yaml Regenerated pipeline YAML removing dev-kernel artifact publication and updating node indices.
.github/workflows/openvmm-pr.yaml Regenerated GitHub Actions workflow removing dev-kernel artifacts/steps and updating step ordering.
.github/workflows/openvmm-pr-release.yaml Regenerated PR-release workflow removing dev-kernel artifacts/steps and updating step ordering.
.github/workflows/openvmm-ci.yaml Regenerated CI workflow removing dev-kernel artifacts/steps and updating step ordering.

Comment thread flowey/flowey_lib_hvlite/src/resolve_openhcl_kernel_package.rs
Copilot AI review requested due to automatic review settings July 20, 2026 23:37

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Pull request overview

Copilot reviewed 9 out of 9 changed files in this pull request and generated 1 comment.

Comment thread flowey/flowey_lib_hvlite/src/resolve_openhcl_kernel_package.rs Outdated
@github-actions

Copy link
Copy Markdown

Copilot AI review requested due to automatic review settings July 21, 2026 01:01

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Pull request overview

Copilot reviewed 9 out of 9 changed files in this pull request and generated no new comments.

Comments suppressed due to low confidence (1)

flowey/flowey_lib_hvlite/src/resolve_openhcl_kernel_package.rs:144

  • The error text says "dev kernel support is disabled", but this branch still supports dev-kernel builds when callers provide local kernel paths. Consider clarifying that only published dev-kernel packages are disabled (i.e., no dev version is configured), and that supplying local paths is the workaround.
                    anyhow::bail!(
                        "OpenHCL dev kernel support is disabled; provide local kernel paths for \
                         {:?} to enable {:?}",
                        arch,
                        kind,

@github-actions

Copy link
Copy Markdown

Comment thread flowey/flowey_lib_hvlite/src/build_openhcl_igvm_from_recipe.rs Outdated
Comment thread flowey/flowey_lib_hvlite/src/resolve_openhcl_kernel_package.rs Outdated
Copilot AI review requested due to automatic review settings July 21, 2026 16:21

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Pull request overview

Copilot reviewed 9 out of 9 changed files in this pull request and generated no new comments.

@github-actions

Copy link
Copy Markdown

Copilot AI review requested due to automatic review settings July 21, 2026 17:58
@benhillis
benhillis force-pushed the user/benhill/disable-dev-kernel-v2 branch from 77fda90 to 366615c Compare July 21, 2026 17:58

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Pull request overview

Copilot reviewed 9 out of 9 changed files in this pull request and generated no new comments.

Comments suppressed due to low confidence (1)

flowey/flowey_lib_hvlite/src/resolve_openhcl_kernel_package.rs:147

  • The dev-kernel error path reports that support is disabled, but it doesn’t tell the user what to change to re-enable published dev-kernel downloads (vs. providing local overrides). Making the message explicit about the missing dev version should reduce confusion when someone selects a dev recipe from the CLI/pipeline.
                    anyhow::bail!(
                        "OpenHCL dev kernel support is disabled; provide local kernel paths for \
                         {:?} to enable {:?}",
                        arch,
                        kind,

@github-actions

Copy link
Copy Markdown

Copilot AI review requested due to automatic review settings July 22, 2026 16:35
@benhillis
benhillis force-pushed the user/benhill/disable-dev-kernel-v2 branch from 366615c to 2f032a9 Compare July 22, 2026 16:35
@github-actions github-actions Bot added the Guide label Jul 22, 2026

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Pull request overview

Copilot reviewed 11 out of 11 changed files in this pull request and generated no new comments.

Comments suppressed due to low confidence (1)

flowey/flowey_lib_hvlite/src/resolve_openhcl_kernel_package.rs:148

  • The new dev-kernel-disabled error is a bit misleading: it suggests providing local kernel paths is the way to “enable” a dev kind, but doesn’t mention that a dev kernel version can be configured (SetVersion / OPENHCL_KERNEL_DEV_VERSION). Also, local resolution requires both kernel and modules paths, which the message doesn’t mention. Consider rewording to explicitly list the two supported ways to satisfy a dev-kernel request (local paths vs configuring a dev version).
                if kind.is_dev() {
                    anyhow::bail!(
                        "OpenHCL dev kernel support is disabled; provide local kernel paths for \
                         {:?} to enable {:?}",
                        arch,
                        kind,
                    );

Copilot AI review requested due to automatic review settings July 22, 2026 17:26
@benhillis
benhillis force-pushed the user/benhill/disable-dev-kernel-v2 branch from 2f032a9 to 9106bcc Compare July 22, 2026 17:26

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Pull request overview

Copilot reviewed 11 out of 11 changed files in this pull request and generated 1 comment.

Comment thread Guide/src/dev_guide/dev_tools/flowey/nix.md Outdated
@github-actions

Copy link
Copy Markdown

Ben Hillis added 8 commits July 23, 2026 11:17
Keep the dev-kernel recipes and resolver support dormant while the main and dev kernels are identical. Omit dev variants from CI and Nix, and return a clear error for explicit requests until a dev version is configured.

Copilot-Session: c2ea718a-f976-4419-8cb6-0ccca01866ee
Regenerate the GitHub workflows against the latest main branch after rebasing the dev-kernel gating change.

Copilot-Session: c2ea718a-f976-4419-8cb6-0ccca01866ee
Mention local kernel paths as an alternative to configuring a published dev-kernel version.

Copilot-Session: c2ea718a-f976-4419-8cb6-0ccca01866ee
Document the optional dev version beside its declaration and direct runtime errors only toward local kernel paths.

Copilot-Session: c2ea718a-f976-4419-8cb6-0ccca01866ee
Use exhaustive matches for dev-kernel package and recipe classification so new variants require an explicit decision.

Copilot-Session: c2ea718a-f976-4419-8cb6-0ccca01866ee
Explain that packaged dev-kernel variants are disabled by default, local custom kernels remain available, and the Nix variants can be restored when needed.

Copilot-Session: c2ea718a-f976-4419-8cb6-0ccca01866ee
Copilot AI review requested due to automatic review settings July 23, 2026 18:20
@benhillis
benhillis force-pushed the user/benhill/disable-dev-kernel-v2 branch from 9106bcc to 8c0e88f Compare July 23, 2026 18:20

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Pull request overview

Copilot reviewed 11 out of 11 changed files in this pull request and generated no new comments.

@benhillis
benhillis enabled auto-merge (squash) July 23, 2026 19:31
@benhillis
benhillis merged commit 59e4c6a into microsoft:main Jul 23, 2026
69 checks passed
@github-actions

Copy link
Copy Markdown

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants