Releases: microsoft/mu_devops
v17.0.1
What's Changed
-
Rust setup: Use UID / GID @Javagedes (#484)
Change Details
Depending on the pipeline runner, the account name created in the container may be `azure_pipelines_docker` or `docker_azpcontainer`, leading to issues in setting the permissions that allow us to create or move files for rust setup / rust testing. It was seen that regardless of the name, the actual UID / GID that they are using is always 1001, so we instead hardcode the UID/GID value instead of the name.
This has proven to work here:
-
Update mu\_devops version for pipelines @Javagedes (#482)
Change Details
Step 7 to fully update the rust version to 1.85 to 1.89 as defined in
Full Changelog: v17.0.0...v17.0.1
v17.0.0
What's Changed
-
Remove mu\_tiano\_platforms from rust CI sync. @apop5 (#478)
Change Details
Do not sync rust CI files to mu_tiano_platforms.
mu_tiano_platforms will deprecate the current rust support during next file sync.
⚠️ Breaking Changes
-
Update container to 737aacc @Javagedes (#481)
Change Details
Step 4 to fully update the rust version to 1.85 to 1.89 as defined in [ReadMe#steps-for-updating-rust-toolchain](https://github.com/microsoft/mu_devops/?tab=readme-ov-file#steps-for-updating-rust-tool-chain).
-
Update rust version to 1.89 @Javagedes (#479)
Change Details
Step 1 to fully update the rust version to 1.85 to 1.89 as defined in [ReadMe#steps-for-updating-rust-toolchain](https://github.com/microsoft/mu_devops/?tab=readme-ov-file#steps-for-updating-rust-tool-chain).
Full Changelog: v16.0.1...v17.0.0
v16.0.1
What's Changed
-
Version.njk: Update Ubuntu-24 container to 71390ed @makubacki (#477)
Change Details
Updates to the latest container build with the components included for the Hafnium build.
-
Containers/Ubuntu-22: Add disutils for QEMU build @makubacki (#476)
Change Details
Install distutils to resolve the following issue building QEMU:
39.05 python determined to be '/usr/bin/python3' 39.05 python version: Python 3.12.11 39.16 mkvenv: Creating non-isolated virtual environment at 'pyvenv' 39.42 39.42 *** Ouch! *** 39.42 39.42 found no usable distlib, please install it
Note: Ubuntu-22 build verified with these changes here https://github.com/microsoft/mu_devops/actions/runs/17243889671/job/48928359995.
-
Version.njk: Update the Mu DevOps version to v16.0.0 @makubacki (#474)
Change Details
Updates Mu repos to use the latest Mu DevOps release.
Full Changelog: v16.0.0...v16.0.1
v16.0.0
What's Changed
⚠️ Breaking Changes
-
Rust CI Updates [Rebase \& FF] @makubacki (#471)
Change Details
Series of changes to reduce file sync overhead, increase Rust testing across Mu repos, and improve consistency of Rust environment configuration across repos.
.sync/Files.yml: Remove some Rust file syncs
- Removes RustSetupSteps.yml and SetupPythonPreReqs.yml from being
synced. They will be referenced as templates in mu_devops. - Removes Rust related files from being synced to mu_basecore since
it does not have any Rust code and this will reduce file sync
overhead and overall maintenance complexity in the repo.
.sync/Files.yml: Sync Rust config files to all Rust repos
Ensure consistency in Mu repos with Rust code by syncing the
following files to all repos:- rust-toolchain.toml
- rustfmt.toml
- Makefile.toml
- .cargo/config.toml
Makefile.toml: Add new cargo make tasks
Add the following tasks:
doc
- To build docs.doc-open
- To build and open docs.fmt
- To run fmt.all
- To run all cargo make tasks used in CI.
Update Rust Cargo Steps
- Delete the workflow being synced to merge the checks into existing
pipeline flows. - Call
RustCargoSteps.yml
from PrGate.yml. - Allow task specifics to be controlled via the
cargo make all
command in a given repo and simply call that from the pipeline.
.sync/rust-toolchain.toml: Add common components
Add common Rust components to be installed with the toolchain.
- Removes RustSetupSteps.yml and SetupPythonPreReqs.yml from being
Full Changelog: v15.0.4...v16.0.0
v15.0.4
What's Changed
-
Adding missing components from docker images @kuqin12 (#473)
Change Details
This change adds 5 main components to the docker image to support Hafnium building:
clang, device-tree-compiler, libssl-dev, lld, llvm
This is tested with
docker build
, then pulled down top of main in mu_tiano_platforms from the built docker, build and run QemuSbsaPkg successfully.</blockquote> <hr> </details>
-
Add RustCargoSteps workflow @magravel (#468)
Change Details
Adds a Rust workflow that makes sure the code is well formatted, doesn't have Clippy errors, and that tests that are passing and validate the documentation.
This workflow is synced with these repositories:
- microsoft/mu_basecore
- microsoft/mu_plus
- microsoft/mu_rust_helpers
- microsoft/mu_rust_hid
- microsoft/mu_rust_pi
- microsoft/mu_tiano_platforms
This has been tested on a dummy repository.
Example: When fmt fails, we want other checks to still run in that case.
</blockquote> <hr> </details>
-
Update actions/checkout from v4 to v5 @apop5 (#470)
Change Details
Update actions/checkout@v4 to actions/checkout@v5
This will take place of the dependabot updates that are scattered throughout the repos.
</blockquote> <hr> </details>
-
Move crypto\_release out of Dev/Release file sync @apop5 (#467)
Change Details
mu_crypto_release is moving to a main branch.
Update file sync to no longer sync the
-
Update rustfmt to use local repo version instead of mu\_devops version. @apop5 (#466)
Change Details
Some downstream repos updated to 2024 rustfmt.
Update the synced version of rustfmt to remove specifying a format. This way, the edition will use the repo's Cargo.toml.
-
Add to the dependenabot ignore subrepos the TFA and HAF repos @apop5 (#465)
Change Details
mu_tiano_platforms added Silicon/Arm/TFA and Silicon/Arm/HAF as submodules.
Dependabot was creating PRs to update.
Add these repos to the ignore list for dependabot.
-
codeql: Go back to pull\_request @makubacki (#464)
Change Details
b9c5931 moved to pull_request_target to use the GitHub app to derive auth tokens. This may not allow GitHub to have the propoer context for the changes in the PR. This goes back to pull_request. Since only read permission is needed for the token, this sets uses the default token to make authenticated API calls.
🐛 Bug Fixes
-
codeql: Add raw markers for Nunjucks @makubacki (#463)
Change Details
Marks GitHub variables as raw sections to prevent Nunjucks from interfering with them during file sync.
Full Changelog: v15.0.3...v15.0.4
v15.0.3
What's Changed
-
Update Mu DevOps version to 15.0.3 @makubacki (#461)
Change Details
Includes:
- codeql: Use app token for API requests
- Use the GitHub app token for writing
Bumps the version for an upcoming release.
-
Use the GitHub app token for writing @makubacki (#458)
Change Details
Remove uses of the default GitHub token with write permission and instead use the GitHub app derived token which has write access.
-
Removes setting the default token to have write access.
-
Uses
pull_request_target
for the pull request triggered workflow to allow the secrets to be passed to the action used to derive the GitHub app token.
-
-
codeql: Use app token for API requests [Rebase & FF] @makubacki (#460)
Change Details
Two changes for the CodeQL workflows:
codeql: Use app token for API requests
Make authenticated requests to prevent relying on the GitHub
anonymous API limit from potentially causing requests to
fail.
codeql: Always download cargo make
Temporarily always download cargo make instead of using the workflow
cache as loading from the cache has failed recently in some repos
and a root cause needs to be found for that issue.Tracked in #459
-
Version.njk: Update to Mu DevOps v15.0.2 @makubacki (#454)
Change Details
Updates repos to use the latest Mu DevOps release.
Full Changelog: v15.0.2...v15.0.3
v15.0.2
What's Changed
-
Use pull\_request instead of pull\_request\_target trigger @makubacki (#453)
Change Details
Use pull_request to not run workflow changes on PRs from forks.
Note: Tested on fork in this PR makubacki/mu_basecore#99
Full Changelog: v15.0.1...v15.0.2
v15.0.1
What's Changed
-
Update Version.njk to prepare for 15.0.1 release @Javagedes (#451)
Change Details
Need a 15.0.1 release so that the syncer will update all MuDevopsWrapper.yml to 15.0.1
-
Update container to latest with rust 1.85 @Javagedes (#450)
Change Details
-
containers: Sync rust related versions from Version.njk @Javagedes (#448)
Change Details
Sync's the rust toolchain version and cargo_make / cargo_tarpaulin version from the Version.njk file instead of needing to be updated manually.
🐛 Bug Fixes
-
submbodule-release-updater.yml: End raw sections with `endraw` @makubacki (#447)
Full Changelog: v15.0.0...v15.0.1
v15.0.0
What's Changed
-
PullRequests.github-issues: Add mu-automation to bot list @makubacki (#442)
Change Details
Excludes `mu-automation[bot]` account PRs in the human list.
-
Update container version to 4d8e1b7 to use QEMU 10 @kuqin12 (#441)
Change Details
The new container incorporates QEMU v10.0.0 to support hafnium v2.13.
⚠️ Breaking Changes
-
Update rust to 1.85.0 @Javagedes (#444)
Change Details
Updates the rust version to 1.85.0
🐛 Bug Fixes
-
submodule-release-updater.yml: Treat GitHub vars as raw Nunjucks values @makubacki (#443)
Change Details
Prevents `{{` and `}}` from being interpreted as Nunjucks substitutions.
Full Changelog: v14.0.2...v15.0.0
v14.0.2
What's Changed
-
Update docker image to build QEMU v10 @kuqin12 (#439)
Change Details
This change picks up QEMU v10 for docker images, which has a timer feature for AArch64 that is needed by hafnium build v2.13.
-
Update Version.njk for mu\_devops 14.0.1 @apop5 (#436)
Change Details
Update Version.njk to mu_devops v14.0.1
https://github.com/microsoft/mu_devops/releases/tag/v14.0.1
Specifically this is to pull in the autobackport label for filesync, dependabot PRs.
Full Changelog: v14.0.1...v14.0.2