Releases: microsoft/mu_devops
v9.0.2
What's Changed
-
Add secureboot objects repo to notebook queries @apop5 (#282)
Change Details
Adding secureboot_objects repo to the queries for issues and pull requests.
-
pull-request-formatting-validator: Use github-script v7 @makubacki (#281)
Change Details
Ensure that the latest version of the action is synced to other repos (v7).
-
.sync/Version.njk: Update Mu repos to Mu DevOps v9.0.1 @Javagedes (#280)
Change Details
Updates the version.njk file to 9.0.1
Full Changelog: v9.0.1...v9.0.2
v9.0.1
What's Changed
-
MuDevOpsWrapper.yml: Bugfix bad value options @Javagedes (#279)
Change Details
the `values` config does not work as variables are not evaluated until the step runs, so what actually gets passed and verified against the `values` config ends up being the string `$(variable_name)`, which always fails as we were saying the value could only be "ado" or "codecov" or ""
This PR updates all yaml files to no longer pass the environment variable as a parameter from
MuDevOpsWrapper
->Jobs/PrGate
->Steps/PrGate
->UploadCodeCoverage
and instead uses the environment variable directly inUploadCodeCoverage
All aforementioned yaml files have been updated with documentation on how to generate code coverage.
Full Changelog: v9.0.0...v9.0.1
v8.0.0
What's Changed
⚠️ Breaking Changes
-
Jobs/PrGate.yml: Update Code Coverage commands @Javagedes (#273)
Change Details
Updates the Code coverage command to also use the following flags:
CC_FLATTEN=TRUE - de-duplicates source file coverage due to the same source file being used by multiple INFs.
CC_FULL=TRUE - inserts coverage data (correct code line count, but zero lines covered) for all source files in the package that are not present in the original coverage report.
Integration Instructions
Pipelines consuming this change must add pygount to their pip-requirements file.
🚀 Features & ✨ Enhancements
-
Jobs/PrGate.yml: Update Code Coverage commands @Javagedes (#273)
Change Details
Updates the Code coverage command to also use the following flags:
CC_FLATTEN=TRUE - de-duplicates source file coverage due to the same source file being used by multiple INFs.
CC_FULL=TRUE - inserts coverage data (correct code line count, but zero lines covered) for all source files in the package that are not present in the original coverage report.
Integration Instructions
Pipelines consuming this change must add pygount to their pip-requirements file.
Full Changelog: v7.3.0...v8.0.0
v7.3.0
What's Changed
🚀 Features & ✨ Enhancements
-
Steps/UploadCodeCoverage.yml: Remove dependency and conditionalize [Rebase \& FF] @makubacki (#274)
Change Details
Contains two changes related to uploading code coverage:
-
Remove edk2toollib dependency
Some repos (like pure Rust repos) are expected not to depend on
pytools. Since the codecov application can simply be run without
RunCmd()
, do that and prevent the need for those repos to depend
on edk2toollib or unnecessary logic in the pipelines to bring it in. -
Conditionalize coverage upload steps on codecov token presence
Some repos may not upload to codecov for various reasons. Those repos
won't set the code coverage token so conditionalize the upload steps
on the token.
Will unblock microsoft/mu_rust_hid#12
-
Full Changelog: v7.2.0...v7.3.0
v7.2.0
What's Changed
-
.sync/Version.njk: Update Mu repos to Mu DevOps v7.1.0 @makubacki (#268)
Change Details
Changes since last release: https://github.com/microsoft/mu_devops/compare/v7.0.1...v7.1.0
General release info: https://github.com/microsoft/mu_devops/releases
This change is necessary when integrating 649a4ba to prevent the following failure:
/.azurepipelines/MuDevOpsWrapper.yml (Line: 92, Col: 30): Unexpected parameter 'calculate_code_coverage'
</blockquote> <hr> </details>
🚀 Features & ✨ Enhancements
-
MuDevOpsWrapper: Allow coverage uploads to ado or codecov.io @Javagedes (#270)
Change Details
## Description
This change reverts the changes made in #266 in favor of performing the reformatting in the HostBasedUnitTestRunner plugin. From there it allows the consumer of
MuDevOpsWrapper
to configure where code coverage data is uploaded to, eitherado
(The azure devops pipeline that is running) orcodecov
(The codecov account associated with the repository).- Uploading to ado remains the same - A final job runs that merges coverage data and uploads it to azure pipelines
- Due to the advanced capabilities, uploading to codecov runs per matrix job and uploads using flags to separate code coverage data between packages.
Integration Instructions
The previous logic remains the default, that is to say code coverage is uploaded to the azure devops pipeline that is running. Should a consumer set
coverage_publish_target
to 'codecov', they must ensure thatCODECOV_TOKEN
is set as a private variable in the pipeline.</blockquote> <hr> </details>
Full Changelog: v7.1.0...v7.2.0
v7.1.0
What's Changed
✨ Enhancements
-
Update Code Coverage Calculations @Javagedes (#266)
Change Details
Update code coverage calculations to have the ability to reorganize the report by INF using `stuart_parse` and `stuart_report.`
I have confirmed this as working using MuDevOpsWrapper for MU_BASECORE PRs:
Windows: Pipelines - Run 20231102.11 (azure.com)
Linux: Pipelines - Run 20231102.11 (azure.com)
Integration Instructions
Code Coverage is now disabled by default for MuDevOpsWrapper.yml. To enable CodeCoverage, set the calculate_code_coverage:
parameter to true
for MuDevOpsWrapper. Code Coverage now requires that your build_file
(typically CISetting.py) subclasses ParseSettingsManager
, which was introduced in edk2-pytool-extensions v0.26.0
Full Changelog: v7.0.2...v7.1.0
v7.0.2
What's Changed
-
.sync/workflows: Pass Rust env tool exclusions in CodeQL flows @makubacki (#265)
Change Details
Excludes tools that are not necessary to be present for CodeQL builds.
Can precede but pairs with BaseTools/Plugin: Add tool exclusion to RustEnvironmentCheck
-
.sync/Version.njk: Update Mu repos to Mu DevOps v7.0.1 @makubacki (#262)
Change Details
Changes since last release: https://github.com/microsoft/mu_devops/compare/v7.0.0...v7.0.1
Also updates the container to the latest version
1082f35
.General release info: https://github.com/microsoft/mu_devops/releases
Full Changelog: v7.0.1...v7.0.2
v7.0.1
What's Changed
-
.sync/Version.njk: Update to Rust 1.73.0 @makubacki (#261)
Change Details
Updates to the latest Rust version currently available to allow code to use the latest features.
Full Changelog: v7.0.0...v7.0.1
v7.0.0
What's Changed
⚠️ Breaking Changes
-
Fix Python minor version and update to Python 3.12 [Rebase \& FF] @makubacki (#259)
Change Details
Because of the way the Python version was managed, pipelines already started picking up [Python 3.12](https://www.python.org/downloads/release/python-3120/).
Also, tool like pytools are releasing 3.12 support. This change fixes
the minor version to prevent unintentional minor version updates in
the future and explicitly sets the minor version to12
.This files synced from this PR should merged into repos after the pytools
release is out with 3.12 support and this mu_basecore change is completed
(microsoft/mu_basecore#586). Though since pipelines
already moved to 3.12 as-is, it won't make much of a practical difference.Three commits:
Fix Python minor version
Set to Python 3.11 (current) but do not allow newer minor versions to
be picked up unless explicitly specified.
Update to Python 3.12
Repos had already started picking up 3.12 because the minor version
was previously not fixed. This change update the Python version to
3.12 to accelerate adoption and ensure compatibility.
.sync/Version.njk: Update Mu repos to Mu DevOps v7.0.0
Changes since last release:
v6.5.1...v7.0.0General release info: https://github.com/microsoft/mu_devops/releases
Full Changelog: v6.5.2...v7.0.0
v6.5.2
What's Changed
-
Add UploadCodeCoverage Template @Javagedes (#258)
Change Details
Add a new template, UploadCodeCoverage, that can be used to upload a code coverage document (such as cobertura) to codecov.io.
Uses the
-Z
flag, which will cause the step to fail if uploading fails for any reason.See: https://dev.azure.com/projectmu/mu/_build/results?buildId=55185&view=results for a working example.
Closed #257 but this should be usable in non-rust environments. I will start uploading all code coverage (such as for mu_basecore) once I have
stuart_report
merged and being used to clean up the code coverage data.
-
.sync/Version.njk: Update Mu repos to Mu DevOps v6.5.1 @makubacki (#255)
Change Details
Changes since last release: https://github.com/microsoft/mu_devops/compare/v6.4.1...v6.5.1
General release info: https://github.com/microsoft/mu_devops/releases
Full Changelog: v6.5.1...v6.5.2