Skip to content

Releases: microsoft/mu_devops

v5.0.3

30 Jun 23:09
456f06b
Compare
Choose a tag to compare

What's Changed

  • .sync/dependabot: Ignore additional submodules with versioned releases @makubacki (#209)
    Change Details
      Adds more Project Mu repos to the dependabot submodule ignore list that have transitioned to versioned releases.

    These will automatically be picked up by the Submoodule Release
    Updater action which tracks release information. Dependabot only
    looks at raw commit diffs instead of release points.

    Added a note to the beginning of the file that this dependabot
    configuration expects submodules at these paths relative to the
    workspace to ignore them properly.




Full Changelog: v5.0.2...v5.0.3

v5.0.2

27 Jun 22:39
ea6d2e6
Compare
Choose a tag to compare

What's Changed

  • Add CPP alternative to ubuntu container. @cfernald (#208)
    Change Details
      Adds missing alternatives for the cpp tool which is used when building TF-A.

Full Changelog: v5.0.1...v5.0.2

v5.0.1

22 Jun 01:53
Compare
Choose a tag to compare

What's Changed

🐛 Bug Fixes

  • ReleaseDrafter.yml: Set Mu branches in all cases [Rebase & FF] @makubacki (#206)
    Change Details
      The `*_mu_branch` workflow variables were not set in some cases to reduce workflow execution time but logically the variables should be set to ensure the step conditionals work as expected.

Full Changelog: v5.0.0...v5.0.1

v5.0.0

21 Jun 15:25
Compare
Choose a tag to compare

What's Changed

Note: #201 will also update Mu DevOps repos to v5.0.0.

Repos were moved to v4.0.5 after the release was made (before this release).


  • .sync/Version.njk: Update Mu repos to Mu DevOps v4.0.5 @makubacki (#203)
    Change Details
      Changes since last release: https://github.com/microsoft/mu_devops/compare/v4.0.0...v4.0.5

    General release info: https://github.com/microsoft/mu_devops/releases

    In particular, this rolls out an update to the issue labeler action
    to bring it up to latest.




⚠️ Breaking Changes

  • Add N, N-1, and main branch release drafting support [Rebase \& FF] @makubacki (#201)
    Change Details
      Resolves #197

    Two commits.

    Add N, N-1, and main branch release drafting

    Updates the ReleaseDrafter.yml workflow to filter the base ref to
    use when composing the release draft based on the GitHub trigger
    context. This allows simultaneous release drafting in repos that
    use release branches while repos with non-release branches (e.g.
    main branch) are not impacted.

    Adds a variable to Version.njk to track the previous Mu release
    branch name. This files continues to serve as a single location
    where the release branches are defined.

    Updates the file sync process to sync the release drafter config
    file as needed for the corresponding repo.

    .sync/Version.njk: Update Mu repos to Mu DevOps v5.0.0

    Changes since last release:
    v4.0.5...v5.0.0

    General release info: https://github.com/microsoft/mu_devops/releases

    A major release is being made because of a change in the file names of
    config files passed to the release drafter workflow.

    Note: v5.0.0 is used in anticipation of the version created by this
    change (since it will roll the major version).


    How This Supports Ongoing Mu Release Branches

    As of this PR, the following branches are N and N-1:

    • N: release/202302
    • N-1: release/202208

    Each of those branches in each repo currently has a synced release-drafter.yml
    file that sets up a branch push trigger for its branch name. This will cause pushes
    (PR completions) to that branch to trigger the ReleaseDrafter.yml workflow here
    in Mu DevOps.

    This workflow compares the latest values for latest_mu_release_branch and
    previous_mu_release_branch in .sync/Version.njk to the triggering branch (github.ref)
    to determine if there's a match. If there is, either the release-draft-config-n.yml
    or release-draft-config-n-1.yml is respectively used. This means, if a branch
    (like release/202208) eventually becomes "N-2", it will simply not match and no
    longer have release notes/versioning auto drafted.

    Those release drafter config files are specially templatized during syncing to specify
    commitish base refs (the branch name) to filter for drafting the notes. This means
    a release/202208 submission will filter to release/202208 changes.

    Since the file sync is always active for the "current branch" in a repo. This means that
    over time, each release branch in a repo will have its own relative N and N-1 release
    drafter config files that stay in the branch. ReleaseDrafter.yml uses the default
    branch config files so the N and N-1 config files should match the latest and
    previous values in .sync/Version.njk.




🚀 Features & ✨ Enhancements

  • Add N, N-1, and main branch release drafting support [Rebase \& FF] @makubacki (#201)
    Change Details
      Resolves #197

    Two commits.

    Add N, N-1, and main branch release drafting

    Updates the ReleaseDrafter.yml workflow to filter the base ref to
    use when composing the release draft based on the GitHub trigger
    context. This allows simultaneous release drafting in repos that
    use release branches while repos with non-release branches (e.g.
    main branch) are not impacted.

    Adds a variable to Version.njk to track the previous Mu release
    branch name. This files continues to serve as a single location
    where the release branches are defined.

    Updates the file sync process to sync the release drafter config
    file as needed for the corresponding repo.

    .sync/Version.njk: Update Mu repos to Mu DevOps v5.0.0

    Changes since last release:
    v4.0.5...v5.0.0

    General release info: https://github.com/microsoft/mu_devops/releases

    A major release is being made because of a change in the file names of
    config files passed to the release drafter workflow.

    Note: v5.0.0 is used in anticipation of the version created by this
    change (since it will roll the major version).


    How This Supports Ongoing Mu Release Branches

    As of this PR, the following branches are N and N-1:

    • N: release/202302
    • N-1: release/202208

    Each of those branches in each repo currently has a synced release-drafter.yml
    file that sets up a branch push trigger for its branch name. This will cause pushes
    (PR completions) to that branch to trigger the ReleaseDrafter.yml workflow here
    in Mu DevOps.

    This workflow compares the latest values for latest_mu_release_branch and
    previous_mu_release_branch in .sync/Version.njk to the triggering branch (github.ref)
    to determine if there's a match. If there is, either the release-draft-config-n.yml
    or release-draft-config-n-1.yml is respectively used. This means, if a branch
    (like release/202208) eventually becomes "N-2", it will simply not match and no
    longer have release notes/versioning auto drafted.

    Those release drafter config files are specially templatized during syncing to specify
    commitish base refs (the branch name) to filter for drafting the notes. This means
    a release/202208 submission will filter to release/202208 changes.

    Since the file sync is always active for the "current branch" in a repo. This means that
    over time, each release branch in a repo will have its own relative N and N-1 release
    drafter config files that stay in the branch. ReleaseDrafter.yml uses the default
    branch config files so the N and N-1 config files should match the latest and
    previous values in .sync/Version.njk.




Full Changelog: v4.0.5...v5.0.0

v4.0.5

21 Jun 01:12
ab3bf35
Compare
Choose a tag to compare

What's Changed

  • .github/workflows/Labeler.yml: Update workflows @makubacki (#202)
    Change Details
      Updates `github/issue-labeler` from `v2.5` to `v3.1`.

    Includes the following fixes (occassionally impacting Mu PRs):

    • Issue labels that do not match a regex will no longer be removed
    • Support empty body and only remove existing labels

    Updates actions/labeler from v4 to v4.1.0.

    No major known changes that impact Mu DevOps.




Full Changelog: v4.0.4...v4.0.5

v4.0.4

20 Jun 03:39
47beda0
Compare
Choose a tag to compare

What's Changed

  • Remove the azure user path work-around. @cfernald (#200)
    Change Details
      1. Updates the container to include container fix for azure pipeline path 2. Removes the path work-around from the pipeline files

  • Add the azure container user local bin to container path @cfernald (#199)
    Change Details
      This removes the need for pipeline files to add this path, and simplified use of the container.

Full Changelog: v4.0.3...v4.0.4

v4.0.3

08 Jun 03:20
b2e7224
Compare
Choose a tag to compare

What's Changed

  • Publish coverage on even with skipped builds @kuqin12 (#198)
    Change Details
      Current pipeline job for publishing coverage will skip the jobs if there are a few jobs being skipped. However, some skips are expected, such as some jobs that should be run on selfhosted agents, but no agents are available on the public site.

    This change will update the publish coverage job's condition to ignore the skipped conditions, such that it will always run the job as long as there the previous job(s) not failing or being cancelled.




  • Notebooks/PullRequests.github-issues: Bump completed PR start date @makubacki (#194)
    Change Details
      Updates the year from `2022` to `2023` to reduce the total number of PRs returned (which is limited by GitHub).

  • .sync/dependabot: Update PIP modules weekly @makubacki (#195)
    Change Details
      Checks for PIP module updates weekly instead of daily. The number of updates was too frequent for CI resources and reviewer overhead.

    Also explicitly sets the submodule weekly update day to Tuesday so
    PIP and submodules updates can both be available Wednesday morning
    for review and merge.




Full Changelog: v4.0.2...v4.0.3

v4.0.2

02 Jun 14:40
d9bd295
Compare
Choose a tag to compare

What's Changed

  • .sync/Files.yml: Sync SECURITY.md to mu\_devops @makubacki (#189)
    Change Details
      Additionally syncs the file to mu_devops since it is missing. Also prevents the `microsoft-github-policy-service` bot from creating PRs to add a SECURITY.md file.

🐛 Bug Fixes

  • Fixing the sync file being empty and update the version to be used @kuqin12 (#188)
    Change Details
      This change fixed an issue on auto-populated sync files by adding raw text tags around the applicable sections.

    It also updated the tag version to v4.0.0 to pick up the latest change of supporting self-hosted agents.




Full Changelog: v4.0.1...v4.0.2

v4.0.1

01 Jun 19:14
c46c379
Compare
Choose a tag to compare

What's Changed

🐛 Bug Fixes

  • .sync/azure\_pipelines/MuDevOpsWrapper.yml: Fix Version.njk path @makubacki (#185)
    Change Details
      Update the relative path for the proper number of parent directories.

Full Changelog: v4.0.0...v4.0.1

v4.0.0

31 May 22:11
9868552
Compare
Choose a tag to compare

What's Changed

  • .sync/Version.njk: Update Mu repos to Mu DevOps v3.0.0 @makubacki (#183)
    Change Details
      Changes since last release: https://github.com/microsoft/mu_devops/compare/v2.5.3...v3.0.0

    General release info: https://github.com/microsoft/mu_devops/releases

    A major release is being made because of a change in the container
    images used in Project Mu pipelines.




⚠️ Breaking Changes

  • Adding support for self-hosted pools @kuqin12 (#154)
    Change Details
      This change added support for self-hosted agent pools for potentially onboarding Windows on ARM systems as there is no plan for Microsoft hosted Windows ARM agents as of today.

    The main change is around the flag of installing tools or not. The existing routine will expect the incoming flag being a boolean type, which does not work when this parameter is being populated using a variable (string). This change will update the flag to string type as well.

    After changing, the only file being synced to individual repos is MuDevOpsWrapper.yml. And each repo can configure their own build matrix for build target, architecture list, run on selfhost agents or not, etc.

    This is considered a breaking change, due to:

    1. Steps/PrGate.yml updated the extra_install_steps to be invoked before stuart_setup and stuart_update. But this change does not knowingly break the existing consumers.
    2. Jobs/PrGate.yml updated the parameters to accept parameters.build_matrix, which needs the consumers to update top level yaml script to comply with the updated template.

🚀 Features & ✨ Enhancements

  • Adding support for self-hosted pools @kuqin12 (#154)
    Change Details
      This change added support for self-hosted agent pools for potentially onboarding Windows on ARM systems as there is no plan for Microsoft hosted Windows ARM agents as of today.

    The main change is around the flag of installing tools or not. The existing routine will expect the incoming flag being a boolean type, which does not work when this parameter is being populated using a variable (string). This change will update the flag to string type as well.

    After changing, the only file being synced to individual repos is MuDevOpsWrapper.yml. And each repo can configure their own build matrix for build target, architecture list, run on selfhost agents or not, etc.

    This is considered a breaking change, due to:

    1. Steps/PrGate.yml updated the extra_install_steps to be invoked before stuart_setup and stuart_update. But this change does not knowingly break the existing consumers.
    2. Jobs/PrGate.yml updated the parameters to accept parameters.build_matrix, which needs the consumers to update top level yaml script to comply with the updated template.

Full Changelog: v3.0.0...v4.0.0