Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add Multiple Config Environment Build Support #374

Merged
merged 4 commits into from
Jun 30, 2024

Conversation

os-d
Copy link
Contributor

@os-d os-d commented Jun 28, 2024

Description

This updates the UpdateConfigHdr.py plugin to be able to generate multiple config headers from multiple XML files to support the use case where one PlatformBuild.py file is producing multiple config environments, such as non-secure world and StMM. This is backwards compatible with platforms that only build a single config environment.

For each item, place an "x" in between [ and ] if true. Example: [x].
(you can also check items in the GitHub UI)

  • Impacts functionality?
    • Functionality - Does the change ultimately impact how firmware functions?
    • Examples: Add a new library, publish a new PPI, update an algorithm, ...
  • Impacts security?
    • Security - Does the change have a direct security impact on an application,
      flow, or firmware?
    • Examples: Crypto algorithm change, buffer overflow fix, parameter
      validation improvement, ...
  • Breaking change?
    • Breaking change - Will anyone consuming this change experience a break
      in build or boot behavior?
    • Examples: Add a new library class, move a module to a different repo, call
      a function in a new library class in a pre-existing module, ...
  • Includes tests?
    • Tests - Does the change include any explicit test code?
    • Examples: Unit tests, integration tests, robot tests, ...
  • Includes documentation?
    • Documentation - Does the change contain explicit documentation additions
      outside direct code modifications (and comments)?
    • Examples: Update readme file, add feature readme file, link to documentation
      on an a separate Web page, ...

How This Was Tested

Tested on a platform with multiple config environments and with a single.

Integration Instructions

See docs in this PR.

@github-actions github-actions bot added language:python Pull requests that update Python code impact:non-functional Does not have a functional impact type:documentation Improvements or additions to documentation labels Jun 28, 2024
@os-d os-d changed the title Osde/plugin update Add Multiple Config Environment Build Support Jun 28, 2024
@os-d os-d requested review from Javagedes and apop5 June 28, 2024 17:08
@apop5 apop5 marked this pull request as draft June 28, 2024 20:14
@apop5 apop5 marked this pull request as ready for review June 28, 2024 20:14
@os-d os-d enabled auto-merge (squash) June 30, 2024 15:29
@codecov-commenter
Copy link

Codecov Report

All modified and coverable lines are covered by tests ✅

Project coverage is 35.92%. Comparing base (11f63c3) to head (9d36c4a).

Current head 9d36c4a differs from pull request most recent head 6017244

Please upload reports for the commit 6017244 to get more accurate results.

Additional details and impacted files
@@           Coverage Diff           @@
##             main     #374   +/-   ##
=======================================
  Coverage   35.92%   35.92%           
=======================================
  Files          31       31           
  Lines        6319     6319           
  Branches      669      669           
=======================================
  Hits         2270     2270           
  Misses       4043     4043           
  Partials        6        6           
Flag Coverage Δ
Linux 27.24% <ø> (ø)

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.

@os-d os-d merged commit 50ecba2 into microsoft:main Jun 30, 2024
12 checks passed
@os-d os-d deleted the osde/plugin_update branch June 30, 2024 15:52
ProjectMuBot added a commit to microsoft/mu_tiano_platforms that referenced this pull request Jul 1, 2024
Introduces 13 new commits in [Features/CONFIG](https://github.com/microsoft/mu_feature_config.git).

<details>
<summary>Commits</summary>
<ul>
<li><a href="https://github.com/microsoft/mu_feature_config/commit/8ef6371686e7d112aa057f314925f012c4ccdae8">8ef637</a> pip: bump pytest from 8.2.1 to 8.2.2 (<a href="https://github.com/microsoft/mu_feature_config/pull/360">#360</a>)</li>
<li><a href="https://github.com/microsoft/mu_feature_config/commit/7a3ae631a79584e40c4b575e2d8400c1a44df902">7a3ae6</a> pip: bump edk2-pytool-library from 0.21.5 to 0.21.6 (<a href="https://github.com/microsoft/mu_feature_config/pull/361">#361</a>)</li>
<li><a href="https://github.com/microsoft/mu_feature_config/commit/f6c613ba840996ca7291aef822562a3d1bb648c4">f6c613</a> SetupDataPkg/ConfigKnobShimLib: Correct unit test compilation errors. (<a href="https://github.com/microsoft/mu_feature_config/pull/369">#369</a>)</li>
<li><a href="https://github.com/microsoft/mu_feature_config/commit/28768f9a0b448796b2f26713f1aad2419e50c7bd">28768f</a> pip: bump edk2-pytool-extensions from 0.27.5 to 0.27.6 (<a href="https://github.com/microsoft/mu_feature_config/pull/363">#363</a>)</li>
<li><a href="https://github.com/microsoft/mu_feature_config/commit/c96c22ba1a7636d66110d5a2a485b8a1abc670bd">c96c22</a> pip: bump edk2-pytool-library from 0.21.6 to 0.21.7 (<a href="https://github.com/microsoft/mu_feature_config/pull/364">#364</a>)</li>
<li><a href="https://github.com/microsoft/mu_feature_config/commit/482fa2804c4c03b0758a9b131a060d649e1b4074">482fa2</a> pip: bump flake8 from 7.0.0 to 7.1.0 (<a href="https://github.com/microsoft/mu_feature_config/pull/367">#367</a>)</li>
<li><a href="https://github.com/microsoft/mu_feature_config/commit/ea90da6990711eea485402910a80842eacc4e28e">ea90da</a> Switch to using 202311 branchs of required repos instead of 202302 (<a href="https://github.com/microsoft/mu_feature_config/pull/370">#370</a>)</li>
<li><a href="https://github.com/microsoft/mu_feature_config/commit/da7fa852554e50e29a61551075b77a208f804c63">da7fa8</a> SetupDataPkg/ConfigKnobShimPeiLib: Revert ConfigKnobShimPeiLib change and fix unit test. (<a href="https://github.com/microsoft/mu_feature_config/pull/371">#371</a>)</li>
<li><a href="https://github.com/microsoft/mu_feature_config/commit/ae0f15ad835f8dab6c93fc0052f4ca30abf7ca19">ae0f15</a> pip: bump edk2-pytool-library from 0.21.7 to 0.21.8 (<a href="https://github.com/microsoft/mu_feature_config/pull/372">#372</a>)</li>
<li><a href="https://github.com/microsoft/mu_feature_config/commit/41fd60f624099dffcc4d1e9ef36f1232b7ddf3f9">41fd60</a> SetupDataPkg/Tools/setup.py: Expand script to publish binaries for ReadUefiVarsToConfVarList, WriteConfVarListToUefiVars. (<a href="https://github.com/microsoft/mu_feature_config/pull/368">#368</a>)</li>
<li><a href="https://github.com/microsoft/mu_feature_config/commit/e21d89dd19d04294a1e7d5cfcc694bee626448b7">e21d89</a> Repo File Sync: synced file(s) with microsoft/mu_devops (<a href="https://github.com/microsoft/mu_feature_config/pull/373">#373</a>)</li>
<li><a href="https://github.com/microsoft/mu_feature_config/commit/11f63c34aca9b1365a48662c1acfb45ee08e7516">11f63c</a> Required changes to KnobService and XML Schema to enable per-library header definitions and XML merging (<a href="https://github.com/microsoft/mu_feature_config/pull/357">#357</a>)</li>
<li><a href="https://github.com/microsoft/mu_feature_config/commit/50ecba23b26d41e4c784233f29ed1a5d5f97fa5e">50ecba</a> Add Multiple Config Environment Build Support (<a href="https://github.com/microsoft/mu_feature_config/pull/374">#374</a>)</li>
</ul>
</details>

Signed-off-by: Project Mu Bot <[email protected]>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
impact:non-functional Does not have a functional impact language:python Pull requests that update Python code type:documentation Improvements or additions to documentation
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants