Releases: microsoft/mu_devops
v12.3.0
What's Changed
-
Version.njk: Update to container version 4bebc96 @makubacki (#384)
Change Details
Main reason to update is to pick up the latest Ubuntu container build that uses Python 3.12.
A complete list of changes compared to the previous container version (
d1e4ff1
) is in:
-
.sync/Dockerfile: Add Python 3.12 installation steps @makubacki (#383)
Change Details
Some additional steps are needed to move the container build to Python 3.12.
The Deadsnakes PPA is needed to get Python 3.12. Add a step to add that repo and then use apt to install Python 3.12 from it. gnupg is needed to add the key for Deadsnakes. Distutils was removed from Python 3.12 but we still need it to build QEMU so that is added as a separate installation.
Changes tested in #382
🚀 Features & ✨ Enhancements
-
Add release branch backport workflow @makubacki (#386)
Change Details
Closes #372
This new workflow will attempt to automatically cherry-pick marked contributions to a development branch to its corresponding release branch. If a merge conflict occurs, the commit is committed to a new branch with merge markers and then a PR is created into the target branch with those markers. The PR is labeled with
type:release-merge-conflict
to indicate that it needs manual resolution.The PR (if created) is expected to fail compilation and status checks of course due to the merge conflict markers. A human should then checkout the PR branch, resolve the conflicts, and push the changes back to the PR branch.
- To mark a PR going into the development branch so that it should be cherry-picked to the release branch, add the
type:backport
label to the PR.
Notes:
- The workflow is synced to all repos that currently have a
dev
branch. - Each repo that
backport-to-release-branch.yml
is synced to must have aCHERRY_PICK_TOKEN
defined with repo write permission.
- To mark a PR going into the development branch so that it should be cherry-picked to the release branch, add the
Full Changelog: v12.2.0...v12.3.0
v12.2.0
What's Changed
-
Use a Single Python Version Definition [Rebase \& FF] @makubacki (#380)
Change Details
**Define Python version once**
Defines the Python version in a single location
Version.njk
and
syncs that version to other files. Sets the Python version to 3.12
(although 3.13 was recently released) for continued compatibility
with the version already used in Windows pipelines.
.sync/Version.njk: Update to Mu DevOps v12.2.0
See the following comparison for details of the changes
between these releases:v12.0.2...v12.2.0
Note: Testing is in progress.
-
Containers: Update QEMU to version 9.0.0 @cfernald (#377)
Change Details
QEMU Version 9.0.0 is required for SMMU and GIC support on the sbsa-ref machine. This version is already used in the mu_tiano_platforms ext-dep
Full Changelog: v12.1.0...v12.2.0
v12.1.0
What's Changed
-
.sync/Version.njk: Update to Mu DevOps v12.0.2 @makubacki (#375)
Change Details
See the following comparison for details of the changes between these releases:
🚀 Features & ✨ Enhancements
-
PrGate.yml: Add extra\_pre\_build\_steps param @makubacki (#378)
Change Details
Adds a new template parameter called `extra_pre_build_steps` that allows a step list to run before any stuart build related commands are executed.
Full Changelog: v12.0.2...v12.1.0
v12.0.2
What's Changed
-
Version.njk: Update to container version d1e4ff1 @makubacki (#374)
Change Details
Main reason to update is to use the latest Rust versions in Version.njk.
{# The Rust toolchain version to use. #} {% set rust_toolchain = "1.80.0" %} {# Rust tool versions. #} {% set cargo_make = "0.37.9" %} {% set cargo_tarpaulin = "0.31.2" %}
A complete list of changes compared to the previous container
version (0e124c1
) is in:
-
Build-Containers.yml: Trigger on Version.njk change @makubacki (#373)
Change Details
Builds the container on a change to the version file.
Full Changelog: v12.0.1...v12.0.2
v12.0.1
What's Changed
-
.sync: Update codeql to run on dev/\* branches @Javagedes (#371)
Change Details
Updates `codeql.yml` and `codeql-platform.yml` to run on dev/* branches.
Full Changelog: v12.0.0...v12.0.1
v12.0.0
What's Changed
-
.sync/dependabot: Add Features/DEBUGGER to ignore list @makubacki (#369)
Change Details
Let the submodule-release-updater GitHub action handle updates based on versioned GitHub releases.
⚠️ Breaking Changes
-
RustSetupSteps.yml: Update to latest cargo\_tarpaulin 31.2 and Rust Toolchain @antklein (#363)
Change Details
Update to the latest version of cargo_tarpaulin, release 31.2. This change is required to allow tarpaulin to function with Rust toolchain 1.80. Running tarpaulin 27.3 with toolchain 1.80 results in the tool failing with a "Parse error".
Full Changelog: v11.1.0...v12.0.0
v11.1.0
What's Changed
-
Steps/BuildPlatform: Add toggle for stuart\_pr\_eval @Javagedes (#368)
Change Details
Adds a True / False parameter to the BuildPlatform step to allow disabling PR evaluation, similar to that of Steps/PrGate.yml. Default value is True to match current behavior.
-
Minor fix to PR template @zurcher (#367)
Change Details
## Description
Remove redundant
"to complete"
from PR template
-
Update the Rust toolchain to version 1.80.0 @antklein (#362)
Change Details
Update to a newer Rust toolchain in order to incorporate improvements with newer versions. For example, an improvement on the size optimization of output rust binaries.
Full Changelog: v11.0.3...v12.0.0
v11.0.3
What's Changed
-
.sync/version.njk: Update latest Mu branch to 202405 @makubacki (#360)
Change Details
Also updates references to 202302 throughout the repo to prevent the examples from getting too stale over time.
Full Changelog: v11.0.2...v11.0.3
v11.0.2
What's Changed
-
Add extra\_npm\_args for InstallMarkdownLink.yml and InstallSpellCheck @MarcChen46 (#361)
Change Details
Add "extra_npm_args" for InstallMarkdownLint.yml and InstallSpellCheck.yml steps to increase the flexibility to npm actions.
Full Changelog: v11.0.1...v11.0.2
v11.0.1
What's Changed
-
.sync: Simply PR description template @makubacki (#359)
Change Details
- Remove a lot of boilerplate text - Point to checkbox instructions instead of inplace instructions - Points to a single consistent location on the "mu" repo - Update the `CONTRIBUTING.md` file in each repo to elaborate on how to fill out the PR template
There is a follow up item tracked in #358 to make PR descriptions more consistently filled out so they appear as expected in release notes.
-
Set ImageBase to 0 and Subsystem to EFI Boot Services in config.toml @makubacki (#356)
Change Details
Currently sets the ImageBase in the PE/COFF header to `0` as expected for UEFI images.
The cargo config file will be synced to Rust enabled
repos to apply the linker flags regardless of whether
the Rust code is compiled directly or through the
firmware build system.
Full Changelog: v11.0.0...v11.0.1