Skip to content

.github: Add Mu PR Validation workflow#1737

Merged
makubacki merged 1 commit intomicrosoft:release/202511from
makubacki:add_mu_pr_val
Apr 8, 2026
Merged

.github: Add Mu PR Validation workflow#1737
makubacki merged 1 commit intomicrosoft:release/202511from
makubacki:add_mu_pr_val

Conversation

@makubacki
Copy link
Copy Markdown
Member

@makubacki makubacki commented Apr 1, 2026

Description

Adds workflows to run QEMU-based platform validation on pull requests to mu_basecore. This includes:

  • mu-pr-validation.yml: The main workflow that performs the actual QEMU validation, including building and booting.

  • mu-pr-validation-pending.yml: A workflow that posts an immediate "pending" notification on a pull request when it's pushed, indicating that QEMU validation is waiting for CI to complete. This is broken out to its own workflow to use the pull_request_target trigger (access to secrets on PRs from public forks) while minimizing the amount of code that runs with those elevated permissions.

  • mu-pr-validation-post.yml: A workflow that posts the results of the QEMU validation run to the pull request once the validation is complete.


Notes

  1. Depends on Repo File Sync: Add EDKII CLANGPDB CI Workflow #1734 to be completed first since the CLANGPDB Package CI workflow is a trigger upon its completion.
  2. The workflows here will call a reusable workflow on the add_mu_pr_val_workflow_e2e_val branch on mu_devops during this initial rollout period. This allows any necessary adjustments to be made quickly based on observations and feedback.

  • Impacts functionality?
  • Impacts security?
  • Breaking change?
  • Includes tests?
  • Includes documentation?

How This Was Tested

Ran the workflow under various conditions on my mu_basecore fork. Some examples of output are shown below.

Note that the "boot times" are not precise. They are the total time for the --flashonly step to run including stuart overhead. However, they are not too far off from the boot time and provide the ability to get a relative sense of perf impact.


PENDING STATE (when the workflow is waiting for CI to finish)

image image

IN PROGRESS (building / booting QEMU FW with the change)

image

Granular status updates (see ending text):

image image image image

BUILD FAILURE

image

Status check result:

image

BOOT FAILURE

image

SUCCESS

image

Integration Instructions

  • N/A - Only impacts PR validation in this repo

@makubacki makubacki requested review from Javagedes, apop5 and os-d April 1, 2026 23:49
@makubacki makubacki self-assigned this Apr 1, 2026
@codecov-commenter
Copy link
Copy Markdown

codecov-commenter commented Apr 2, 2026

Codecov Report

✅ All modified and coverable lines are covered by tests.
⚠️ Please upload report for BASE (release/202511@eca2e6e). Learn more about missing BASE report.

Additional details and impacted files
@@                Coverage Diff                @@
##             release/202511    #1737   +/-   ##
=================================================
  Coverage                  ?    2.21%           
=================================================
  Files                     ?     1632           
  Lines                     ?   419626           
  Branches                  ?     4949           
=================================================
  Hits                      ?     9308           
  Misses                    ?   410243           
  Partials                  ?       75           
Flag Coverage Δ
FmpDevicePkg 9.53% <ø> (?)
MdeModulePkg 1.58% <ø> (?)
MdePkg 5.44% <ø> (?)
NetworkPkg 0.55% <ø> (?)
PolicyServicePkg 30.42% <ø> (?)
SecurityPkg 1.61% <ø> (?)
UefiCpuPkg 4.78% <ø> (?)
UnitTestFrameworkPkg 11.70% <ø> (?)

Flags with carried forward coverage won't be shown. Click here to find out more.

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.

@makubacki
Copy link
Copy Markdown
Member Author

Note: Waiting until all clangpdb-ci.yml changes are in to merge: microsoft/mu_devops#553

Adds workflows to run QEMU-based platform validation on pull requests
to mu_basecore. This includes:

- `mu-pr-validation.yml`: The main workflow that performs the actual
  QEMU validation, including building and booting.

- `mu-pr-validation-pending.yml`: A workflow that posts an immediate
  "pending" notification on a pull request when it's pushed,
  indicating that QEMU validation is waiting for CI to complete. This
  is broken out to its own workflow to use the `pull_request_target`
  trigger (access to secrets on PRs from public forks) while
  minimizing the amount of code that runs with those elevated
  permissions.

- `mu-pr-validation-post.yml`: A workflow that posts the results of
  the QEMU validation run to the pull request once the validation is
  complete.

Signed-off-by: Michael Kubacki <michael.kubacki@microsoft.com>
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.

5 participants