Skip to content

Releases: microsoft/mu_devops

v15.0.2

19 Jun 01:35
d192116
Compare
Choose a tag to compare

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

31 May 02:22
22a0b4b
Compare
Choose a tag to compare

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)
    Change Details
      Corrects a replacement typo in 0480efb to use `%endraw%` to end the raw sections.

Full Changelog: v15.0.0...v15.0.1

v15.0.0

29 May 18:07
8a1b11d
Compare
Choose a tag to compare

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

23 May 16:31
a9f7469
Compare
Choose a tag to compare

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.

Full Changelog: v14.0.1...v14.0.2

v14.0.1

29 Apr 15:31
697fd93
Compare
Choose a tag to compare

What's Changed

  • Version.njk Update to 202502, 202405 versions @apop5 (#427)
    Change Details
      Switch n,n-1 to 202502, 202405

  • Backport: use srvaroa/labeler@v1.12.0 instead of github/issue-labeler @apop5 (#434)
    Change Details
      Switch to using srvaroa/labeler instead of github/issue-labeler to allow more configuration options.

    Add backport labels for dependabot created PRs and for filesync operations as well.

    github/issue-labeler did not provide configuration to add labels based on PR author or PR branch target or PR branch name.

    Switching to allow automatically targeting FileSync operations and Dependabot Prs to be labeled backport.




  • FileSyncer.yml: Create app derived token for all repos @makubacki (#432)
    Change Details
      Allow file syncer to access all repos in the owning repo's installation and use the `GH_INSTALLATION_TOKEN` parameter to provide the token as the action differentiates between PATs using `GH_PAT` and apps using `GH_INSTALLATION_TOKEN`.

  • .sync/Version.njk: Update mu\_devops to v14.0.0 @makubacki (#431)
    Change Details
      See the following comparison for details of the changes between these releases:

    v13.0.3...v14.0.0


    The breaking changes are that the Auto Approve and Auto Merge workflows are removed in this release.




Full Changelog: v14.0.0...v14.0.1

v14.0.0

18 Apr 22:07
bb59a4c
Compare
Choose a tag to compare

What's Changed

  • Update non-Default GitHub token usage to Mu GitHub app @makubacki (#430)
    Change Details
      Generates tokens during workflow execution instead of directly depending on PATs.

  • Add microsoft/mu\_feature\_ffa to notebooks @apop5 (#426)
    Change Details
      Add the newly created mu_feature_ffa repo to notebooks for querying issues/pull requests.

  • .sync/codeql: Update robinraju/release-downloader to v1.12 @makubacki (#425)
    Change Details
      Use the latest version in CodeQL workflows.

  • Synchronize files into `mu_feature_ffa` repo @kuqin12 (#424)
    Change Details
      This change onboards the `mu_feature_ffa` repo to be part of the mu repo collection, by synchronizing the necessary files into the repo automatically.

  • Add secureboot\_objects to repos which pull\_request\_template is synced. @apop5 (#423)
    Change Details
      Add pull request template as file synced to secureboot_objects.

  • .sync/Version.njk: Update linux\_build\_container to for 1.84.0 rust toolchain. @apop5 (#422)
    Change Details
      Update Readme.rst to contain details on process for updating rust_toolchain.

  • .sync/Version.njk: Update mu\_devops to v13.0.3 @apop5 (#419)
    Change Details
      See the following comparison for details of the changes between these releases:

    v13.0.0...v13.0.3




⚠️ Breaking Changes

  • Remove Auto Merge workflow @makubacki (#429)
    Change Details
      This workflow has not been used in a long time due to policy change toward merging PRs with automation. Remove it from the repo for now to reduce maintenance burden. It can be pulled from git history if needed in the future.

  • Remove Auto Approve worfklow @makubacki (#428)
    Change Details
      This workflow has not been used in a long time due to policy changes toward automated approval. Remove it from the repo for now to reduce maintenance burden. It can be pulled from git history if needed in the future.

Full Changelog: v13.0.3...v14.0.0

v13.0.3

27 Mar 20:47
bc161dc
Compare
Choose a tag to compare

What's Changed

  • Rust toolchain: Update to 1.84 @antklein (#415)
    Change Details
      Update MU to Rust toolchain 1.84.

Full Changelog: v13.0.2...v13.0.3

v13.0.2

27 Feb 01:55
f97de79
Compare
Choose a tag to compare

What's Changed

  • Always update artifacts\_present variable in artifact publish @MarcChen46 (#414)
    Change Details
      The Binary and Other artifact publish is depending on `artifacts_present` variable, but the variable will only be set to false or true when all previous steps are success.

    In some cases, we want to always upload the artifacts no matter previous steps are pass or failed, and this artifacts_present already be handled well to decide the binary and other artifact should be uploaded or not, hence add the condition: succeededOrFailed() to the step that set the artifacts_present variable




  • .sync/rust-toolchain.toml: Sync cargo-release @makubacki (#411)
    Change Details
      The release GitHub workflow downloads and caches the cargo tools in the rust-toolchain.toml file so sync it.

Full Changelog: v13.0.1...v13.0.2

v13.0.1

10 Feb 22:00
774c2b6
Compare
Choose a tag to compare

What's Changed

  • DownloadCargoBinaryFromGitHub: Find most recent release with assets @makubacki (#410)
    Change Details
      Currently, the `cargo-binstall` most recent release in the binstall repo does not actually have the binstall binary. This change allows the search to find the most recent release that has the expected binaries to handle the case when other releases might also be in release list that do not have the expected binaries.

  • .sync/Version.njk: Update Ubuntu 24.04 container to d412ccd @makubacki (#408)
    Change Details
      Includes the change to allow the CI user account to use pip.

  • Containers/Ubuntu-24: Allow CI user access to venv @makubacki (#407)
    Change Details
      Many of the existing CI workflows expect a pip environment to use. A new user and group are created for the docker user when the container image is initialized in pipelines. This allows that user to use the /opt/venv environment to support existing workflows.

Full Changelog: v13.0.0...v13.0.1

v13.0.0

06 Feb 02:39
200d5f6
Compare
Choose a tag to compare

What's Changed

  • Version.njk: Update to Ubuntu 24.04 container @makubacki (#406)
    Change Details
      Update pipelines and devcontainer files to use the 24.04 container. Also updates Mu DevOps version for the upcoming release.

⚠️ Breaking Changes

  • Version.njk: Update Ubuntu build container version and use Mu Devops 12.4.2 @makubacki (#401)
    Change Details
      - Updates the container to latest `af4ec63` - This container image does not have `python3.12-distutils` - Updates the Mu DevOps version synced from "v12.4.0" to "v12.4.2".

    Marked as breaking change due to the container update that contains a potentially breaking change.




  • Containers/Ubuntu-22: Remove pythonx.x-distutils @makubacki (#400)
    Change Details
      The `pythonx.x-distutils` package provided the standard `distutils` module for our Ubuntu container Python environment.

    In the deadsnakes PPA python3.12.7-1+jammy1 to python3.12.8-1+jammy1 update on 12/04/2024, the following diff was made:

    https://launchpadlibrarian.net/761821028/python3.12_3.12.7-1+jammy1_3.12.8-1+jammy1.diff.gz

    In that, python3.12-distutils is no longer a built package per PEP-0632. Therefore, it is removed from the container using Python 3.12 and some subsequent Python code updates may need to made for compatibility.

    This change is specifically focused on fixing the Ubuntu 22.04 (jammy) container build.


    Marked as a breaking change since distutils will no longer be installed in the container.




🚀 Features & ✨ Enhancements

  • Add Ubuntu 24.04 (Noble Numbat) container build @makubacki (#404)
    Change Details
      Closes #403

    Adds a new dockerfile to build a Ubuntu 24.04 image.

    As we continue to update other Linux dependencies such as our Python installation and various packages, we can maintain better compatibility with pre-compiled binaries and get newer, safer updates by moving to the latest Ubuntu stable release.

    In particular, glibc 2.39 is now included by default which allows us to move ahead to newer binaries being pulled into the build like cargo-make v0.37.24.


    Ubuntu 22.04 image:

    /.cargo/bin/cargo-make: /lib/x86_64-linux-gnu/libc.so.6: version
    `GLIBC_2.39' not found (required by /.cargo/bin/cargo-make)
    

    Ubuntu 24.04 image:

    root@4d1e94a3013a:/src/mu_tiano_platforms# lsb_release -a
    No LSB modules are available.
    Distributor ID: Ubuntu
    Description:    Ubuntu 24.04.1 LTS
    Release:        24.04
    Codename:       noble
    
    root@4d1e94a3013a:/mu_plus# ldd --version
    ldd (Ubuntu GLIBC 2.39-0ubuntu8.3) 2.39
    Copyright (C) 2024 Free Software Foundation, Inc.
    This is free software; see the source for copying conditions.  There is NO
    warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
    Written by Roland McGrath and Ulrich Drepper
    
    root@4d1e94a3013a:/mu_plus# cargo make test
    [cargo-make] INFO - cargo make 0.37.24
    [cargo-make] INFO -
    [cargo-make] INFO - Build File: Makefile.toml
    [cargo-make] INFO - Task: test
    [cargo-make] INFO - Profile: development
    [cargo-make] INFO - Running Task: individual-package-targets
    [cargo-make] INFO - Execute Command: "cargo" "test"
    

    Powershell in the new image:

     root@4d1e94a3013a:/mu_plus# pwsh
     PowerShell 7.5.0
    
      </blockquote>
      <hr>
    </details>
    

🐛 Bug Fixes

  • Update Ubuntu Container iASL [Rebase \& FF] @makubacki (#405)
    Change Details
      **Ubuntu 24.04: Update iasl 20210105.0.6 to 20230628.0.1**

    Updates iasl to the latest built Mu version matching the version
    used in Mu ext deps.


    Fix Ubuntu iasl wrong machine type

    A long standing issue has been that the AARCH64 binary is copied
    to /usr/bin/iasl in the x86-64 container image. This copies the
    x86 binary.


    Before

    root@724459c0de48:/src/mu_tiano_platforms# readelf -h /usr/bin/iasl  
    ELF Header:
      Magic:   7f 45 4c 46 02 01 01 00 00 00 00 00 00 00 00 00 
      Class:                             ELF64
      Data:                              2's complement, little endian
      Version:                           1 (current)
      OS/ABI:                            UNIX - System V
      ABI Version:                       0
      Type:                              EXEC (Executable file)
      Machine:                           AArch64
      Version:                           0x1
      Entry point address:               0x401e08
      Start of program headers:          64 (bytes into file)
      Start of section headers:          1217552 (bytes into file)
      Flags:                             0x0
      Size of this header:               64 (bytes)
      Size of program headers:           56 (bytes)
      Number of program headers:         8
      Size of section headers:           64 (bytes)
      Number of section headers:         36
      Section header string table index: 35
    

    After

    root@e1a9c5ffb3b3:/# readelf -h /usr/bin/iasl 
    ELF Header:
      Magic:   7f 45 4c 46 02 01 01 00 00 00 00 00 00 00 00 00 
      Class:                             ELF64
      Data:                              2's complement, little endian
      Version:                           1 (current)
      OS/ABI:                            UNIX - System V
      ABI Version:                       0
      Type:                              DYN (Position-Independent Executable file)
      Machine:                           Advanced Micro Devices X86-64
      Version:                           0x1
      Entry point address:               0x25b90
      Start of program headers:          64 (bytes into file)
      Start of section headers:          1449448 (bytes into file)
      Flags:                             0x0
      Size of this header:               64 (bytes)
      Size of program headers:           56 (bytes)
      Number of program headers:         13
      Size of section headers:           64 (bytes)
      Number of section headers:         32
      Section header string table index: 31
    
      </blockquote>
      <hr>
    </details>
    

Full Changelog: v12.4.2...v13.0.0