Releases: microsoft/mu_devops
v10.1.0
What's Changed
-
Onboard Mu Rust Helpers to Mu DevOps @makubacki (#350)
Change Details
Mu Rust Helpers (https://github.com/microsoft/mu_rust_helpers) hosts Rust code used to build up other features.
This change sets up file syncing to the repo and adds the repo to the
GitHub notebooks.
-
.sync/codeql: Add retry on GitHub REST Access Failures @makubacki (#349)
Change Details
Attempts sometimes fail on the first try and later succeed when reaching out to the GitHub REST API. To prevent actions from having to be rerun, try up to 5 times waiting 10 seconds between each try.
-
Add CLANGPDB prerequisite steps template @kuqin12 (#348)
Change Details
This change added the prerequisite template for installing CLANGPDB at designated locations.
This is needed so that "make" does not complain about the clang install path has space in it.
-
Onboard Mu Rust PI to Mu DevOps @makubacki (#345)
Change Details
Mu Rust Pi (https://github.com/microsoft/mu_rust_pi) hosts Rust code for the Platform Initialization (PI) Specification.
This change sets up file syncing to the repo and adds the repo to the
GitHub notebooks.
🚀 Features & ✨ Enhancements
-
codeql-platform.yml: Remove arch @makubacki (#347)
Change Details
The `-a` parameter was recently removed from platform pipeline files.
This change follows the pattern of depending on platforms to specify
their default architecture for the build.
Full Changelog: v10.0.0...v10.1.0
v10.0.0
What's Changed
⚠️ Breaking Changes
-
remove `-a` flag on stuart\_build commands @Javagedes (#343)
Change Details
`-a` is not a first class parameter for stuart_build, so mu_devops should not expect that it exists. If a platform has added a necessary `-a` argument, then they can pass it to the command in mu_devops through the `build_flags` for BuildPlatform.yml or ` extra_build_args` for PrGate.yml. Any consumers of PlatformBuild.yml should remove the `build_arch` parameter. If it still needs to be passed, add the `-a ` flag to the `build_flags` parameter.
Full Changelog: v9.2.0...v10.0.0
v9.2.0
What's Changed
-
Steps/BuildPlatform.yml \& Steps/PrGate.yml: Add parameter to install pip modules @pharlikar (#342)
Change Details
SetupPythonPreReqs.yml already has a parameter with default set to true, but the user cannot change it. So, extending the install_pip_modules paramter, so that the user can override it
-
.sync/workflows/codeql: Bump release-downloader from v1.9 to v1.10 @makubacki (#339)
Change Details
Matches latest version synced to repos with dependabot.
🚀 Features & ✨ Enhancements
-
Prevent line ending conversion in repos @makubacki (#333)
Change Details
Unsets the text attribute on all files to prevent their line endings from being normalized.
See https://git-scm.com/docs/gitattributes for background.
This was previously accomplished solely by instructing users to set
core.autocrlf to false. However, that does not translate to pipelines
and setting in a pipeline requires the system level git configuration
to be modified prior to checkout. Git configs cannot be checked into
to a repo and automatically used for security reasons.This is a simple way to check the change into the repo so it applies
for all users including pipelines to prevent line ending conversion.This allows plugins like LineEndingCheck to produce similar results
in pipelines on Linux and Windows agents.
Full Changelog: v9.1.10...v9.2.0
v9.1.10
What's Changed
-
Version.njk: Update Ubuntu 22 container for Rust 1.76.0 @makubacki (#337)
Change Details
Only change is building with Rust 1.76.0 instead of Rust 1.74.0.
Full Changelog: v9.1.9...v9.1.10
v9.1.9
What's Changed
-
.sync/Version.njk: Update Mu repos to Mu DevOps v9.1.9 @makubacki (#335)
Change Details
Changes since last release: https://github.com/microsoft/mu_devops/compare/v9.1.8...v9.1.9
General release info: https://github.com/microsoft/mu_devops/releases
This change is needed to finishing syncing the Rust version update change.
-
.sync/Version.njk: Update to Rust 1.76 @makubacki (#331)
Change Details
Routine update.
Tested builds in Rust repos with 1.76.0.
-
Update mu\_devops to 9.1.8 @Javagedes (#329)
Change Details
Updates mu_devops to 9.1.8 to take use the most recent rustup changes.
Full Changelog: v9.1.8...v9.1.9
v9.1.8
What's Changed
-
Prevent rustup self update @Javagedes (#327)
Change Details
By default `rusup` performs a self-update when installing a new rustc toolchain, Sometimes, the files are locked by windows, and the self update can fail as described here: https://github.com/rust-lang/rustup/issues/2441
Since this is a pipeline run, we have no need to update rustup, and can rely on the version provided by the runner. By disabling the self update, the file conflict
The process cannot access the file because it is being used by another process
no longer appears as seen in this test PR: https://dev.azure.com/projectmu/mu/_build/results?buildId=65795&view=results
Full Changelog: v9.1.7...v9.1.8
v9.1.7
What's Changed
-
codeql-platform.yml @Javagedes (#326)
Change Details
Removes the -t and -a command flags for the codeql-platform.yml workflow when executing stuart_build. Neither of these command line arguments are provided by the edk2_platform_build invocable. the target is set via TARGET= for platforms, and the architecture is not set at all, as platforms hardcode the required architectures.
Sets the target via the expected way, TARGET=DEBUG.
-
.sync/Version.njk: Update Mu repos to Mu DevOps v9.1.6 @makubacki (#324)
Change Details
Changes since last release: https://github.com/microsoft/mu_devops/compare/v9.1.5...v9.1.6
General release info: https://github.com/microsoft/mu_devops/releases
Includes:
- Sync RustSetupSteps.yml to use cargo-binstall to install cargo binary tools (#320)
- Update RustSetupSteps.yml (#321)
- Repo File Sync: synced file(s) with microsoft/mu_devops (#322)
- .sync/workflows/codeql: Use Version.njk cargo-make version (#323)
In particular, including #320 in this tag allows downstream repos to use the changes.
Full Changelog: v9.1.6...v9.1.7
v9.1.6
What's Changed
-
.sync/workflows/codeql: Use Version.njk cargo-make version @makubacki (#323)
Change Details
Most of the workflow can stay intact with GitHub caching working as-is but the cargo-make version now needs to match the version that is being synced to repos (i.e. matches rust-toolchain.toml).
Note: We can consider using cargo binstall in the future but right now
only cargo-make is needed, and it is simple to directly cache that binary
as-is with existing code.
-
Update RustSetupSteps.yml @Javagedes (#321)
Change Details
Updates RustSetupSteps.yml to use the correct variable names for the file sync to work properly.
Full Changelog: v9.1.5...v9.1.6
v9.1.5
What's Changed
-
Use cargo-binstall to sync rust tool versions @Javagedes (#319)
Change Details
Update RustSetupSteps to download cargo-binstall and use it to download all other rust tools. This is to make it easy for CI to pass the updated RustEnvironmentCheck (https://github.com/microsoft/mu_basecore/pull/737) by downloading the exact tool versions as specified in the rust-toolchain.toml file.
-
Change NuGetAuthenticate task to version 1. @apop5 (#296)
Change Details
Need to switch mu_devops to use NuGetAuthenticate@1 tasks. NuGetAuthenticate@0 is being depreciated, in some pipelines, starting 2024.01.31.
https://learn.microsoft.com/en-us/azure/devops/pipelines/tasks/reference/nuget-authenticate-v0?view=azure-pipelines
https://learn.microsoft.com/en-us/azure/devops/pipelines/tasks/reference/nuget-authenticate-v1?view=azure-pipelinesFixes #289
-
Add pipeline to cache cargo binstall @Javagedes (#318)
Change Details
Adds a pipeline to cache cargo binstall.
Adds
.tgz
(short for.tar.gz
) support to the DownloadCargoBinaryFromGitHub.py script. Also fixes a logic error in the conditional that decides which assets to download.See successful pipeline run: https://dev.azure.com/projectmu/mu/_build/results?buildId=64211&view=logs&j=402df595-8a03-57d0-41e1-0654a1932349
Full Changelog: v9.1.4...v9.1.5
v9.1.4
What's Changed
-
.sync/workflows/codeql-platform: Update irrelevant plugin removal dir [Rebase \& FF] @makubacki (#317)
Change Details
Two commits. One to prepare `codeql-platform.yml` for 202311 and the other to expand contextual comments in both CodeQL workflow files.
.sync/workflows/codeql-platform: Update irrelevant plugin removal dir
Updates the directory used for irrelevant plugin removal in this
workflow to match codeql.yml which using the pytool directory rather
than the directory the CodeQL plugin is found in.This is important because the CodeQL plugin moved from .pytool to
BaseTools in Mu release 202311 so the plugin dir needs to be fixed
rather than relative to the CodeQL plugin location.
.sync/workflows/codeql: Add more inline documentation
Updates and adds some additional comments to the CodeQL workflow
files to give better context.
Full Changelog: v9.1.3...v9.1.4