Skip to content

CI: Split up some builds to a new job#3388

Open
smalis-msft wants to merge 13 commits intomicrosoft:mainfrom
smalis-msft:new-linux-job
Open

CI: Split up some builds to a new job#3388
smalis-msft wants to merge 13 commits intomicrosoft:mainfrom
smalis-msft:new-linux-job

Conversation

@smalis-msft
Copy link
Copy Markdown
Contributor

@smalis-msft smalis-msft commented Apr 28, 2026

This PR introduces the concept of a "shared" artifact build job, in addition to our preexisting for-vmm-test and not-for-vmm-test jobs. This new job takes over building artifacts used by VMM tests on multiple platforms, while the for-vmm-test jobs are relegated to only building artifacts used by VMM tests on that particular platform. This spreads the load out, cleans up our job dependency graph, and hopefully should allow VMM tests to begin running slightly sooner.

The end result is that every "run VMM tests job" now always depends on:
build "shared" artifacts (both linux and windows)
build "for VMM tests" artifacts on same OS for architecture

...and optionally, if it runs OpenHCL tests:
build OpenHCL for architecture

We now also always run a "build "for VMM tests" artifacts for aarch64-linux" job even though we have no VMM tests on aarch64-linux yet, to ensure that these artifacts still build properly. We could consider removing this job until it is needed.

As a result of this split I needed to move the installation of the "build-essential" package to be required by all cargo build invocations, which is probably where it should've been to begin with.

Before:
image

After:
image

Copilot AI review requested due to automatic review settings April 28, 2026 16:18
@smalis-msft smalis-msft requested review from a team as code owners April 28, 2026 16:18
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

Introduces a new “shared” Linux build job to move select cross-platform VMM-test dependencies out of the larger Linux build job, aiming to unblock VMM test execution earlier in CI.

Changes:

  • Added a new Linux “(shared)” job to build artifacts consumed by multiple VMM test jobs (e.g., tmks, guest_test_uefi, tpm_guest_tests, musl pipette/tmk_vmm, musl openvmm/openvmm_vhost).
  • Renamed/re-scoped the existing Linux artifacts job to focus on Linux VMM test needs and removed some dependencies from it.
  • Adjusted artifact wiring so Windows and Linux VMM test jobs consume the newly shared artifacts.

Comment thread flowey/flowey_hvlite/src/pipelines/checkin_gates.rs Outdated
Comment thread flowey/flowey_hvlite/src/pipelines/checkin_gates.rs Outdated
@babayet2
Copy link
Copy Markdown
Collaborator

this is nice

if you find that this works, but queue times are higher after the shuffling, it may be that we need to change the distribution of warm images. @tjones60 and I are hacking around the infra now, we can coordinate

@smalis-msft smalis-msft changed the title [EXPERIMENT] CI: Split up some linux builds to a new job CI: Split up some linux builds to a new job Apr 28, 2026
@github-actions
Copy link
Copy Markdown

@chris-oo
Copy link
Copy Markdown
Member

how much time are we saving?

@smalis-msft
Copy link
Copy Markdown
Contributor Author

We're still doing the sameish total amount of work, so not necessarily saving any total run time. But hopefully this lets the VMM test jobs start up maybe a few minutes earlier.

Copilot AI review requested due to automatic review settings April 29, 2026 17:37
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

Copilot reviewed 1 out of 5 changed files in this pull request and generated 2 comments.

Comment thread flowey/flowey_hvlite/src/pipelines/checkin_gates.rs Outdated
Comment thread flowey/flowey_hvlite/src/pipelines/checkin_gates.rs Outdated
@github-actions
Copy link
Copy Markdown

Copilot AI review requested due to automatic review settings May 1, 2026 16:02
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

Copilot reviewed 1 out of 5 changed files in this pull request and generated 2 comments.

Comment thread flowey/flowey_hvlite/src/pipelines/checkin_gates.rs Outdated
Comment thread flowey/flowey_hvlite/src/pipelines/checkin_gates.rs Outdated
Copilot AI review requested due to automatic review settings May 1, 2026 16:30
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

Copilot reviewed 1 out of 5 changed files in this pull request and generated 2 comments.

Comment thread flowey/flowey_hvlite/src/pipelines/checkin_gates.rs Outdated
Comment thread flowey/flowey_hvlite/src/pipelines/checkin_gates.rs
@smalis-msft smalis-msft changed the title CI: Split up some linux builds to a new job CI: Split up some builds to a new job May 1, 2026
@smalis-msft smalis-msft changed the title CI: Split up some builds to a new job WIP: CI: Split up some builds to a new job May 1, 2026
Copilot AI review requested due to automatic review settings May 1, 2026 16:51
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

Copilot reviewed 1 out of 5 changed files in this pull request and generated 2 comments.

Comment thread flowey/flowey_hvlite/src/pipelines/checkin_gates.rs
Comment thread flowey/flowey_hvlite/src/pipelines/checkin_gates.rs
@smalis-msft smalis-msft changed the title WIP: CI: Split up some builds to a new job CI: Split up some builds to a new job May 1, 2026
Copilot AI review requested due to automatic review settings May 4, 2026 21:06
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

Copilot reviewed 6 out of 10 changed files in this pull request and generated 2 comments.

Comment thread flowey/flowey_hvlite/src/pipelines/checkin_gates.rs Outdated
Comment thread flowey/flowey_hvlite/src/pipelines/checkin_gates.rs
@github-actions
Copy link
Copy Markdown

github-actions Bot commented May 4, 2026

Copilot AI review requested due to automatic review settings May 5, 2026 21:24
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

Copilot reviewed 6 out of 10 changed files in this pull request and generated 2 comments.

Comment thread flowey/flowey_hvlite/src/pipelines/checkin_gates.rs Outdated
Comment thread flowey/flowey_hvlite/src/pipelines/checkin_gates.rs Outdated
Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>
Copilot AI review requested due to automatic review settings May 5, 2026 21:39
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

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

Comment thread flowey/flowey_hvlite/src/pipelines/checkin_gates.rs Outdated
Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>
Copilot AI review requested due to automatic review settings May 5, 2026 21:52
@smalis-msft smalis-msft enabled auto-merge (squash) May 5, 2026 21:52
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

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

Comment thread flowey/flowey_hvlite/src/pipelines/checkin_gates.rs
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

release-ci-required Add to a PR to trigger PR gates in release mode

Projects

None yet

Development

Successfully merging this pull request may close these issues.

5 participants