Skip to content

v5.0.0

Compare
Choose a tag to compare
@github-actions github-actions released this 21 Jun 15:25
· 164 commits to refs/heads/main since this release

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