Releases: microsoft/mu_devops
v5.0.8
What's Changed
Full Changelog: v5.0.7...v5.0.8
v5.0.7
What's Changed
-
Create simple tag generator for ADO pipelines @cfernald (#222)
Change Details
Creates a script and pipeline that allows for automated tagging based on release version and commit messages. This template should be called for an Azure Devops hosted repository. The consumer of this template is expected to ensure the proper permissions for the build agent to be able to create the tag and commit tag notes.
The TagGenerator Script provides the following functionality:
- Scans git history for the most recent matching tag, e.g. 202302.5.10
- Generates the new tag version, incrementing the "major" version based on the presence of breaking changes.
- Generates release notes including commits by type, links to Azure Devops PRs, and contributors.
-
.sync/Version.njk: Update Mu repos to Mu DevOps v5.0.6 (and container) @makubacki (#223)
Change Details
Changes since last release: https://github.com/microsoft/mu_devops/compare/v5.0.4...v5.0.6
General release info: https://github.com/microsoft/mu_devops/releases
- The
ubuntu-22-build
container image is also updated to the latest:3bf70b5
.
- The
Full Changelog: v5.0.6...v5.0.7
v5.0.6
What's Changed
-
Add checkout\_self parameter to prevent additional checkouts @apop5 (#221)
Change Details
A specific container that does checkout prior to running mu_devops runs into problems with multiple checkout statements. It places the repo under multiple directories.
Adding a parameter to prevent checkout of the repo again for the code coverage step.
-
Added fetchdepth to disable default shallow checkout in new pipelines @apop5 (#220)
Change Details
https://learn.microsoft.com/en-us/azure/devops/pipelines/yaml-schema/steps-checkout?view=azure-pipelines#shallow-fetch
New pipelines created after the [September 2022 Azure DevOps sprint 209 update](https://learn.microsoft.com/en-us/azure/devops/release-notes/2022/sprint-209-update) have Shallow fetch enabled by default and configured with a depth of 1. Previously the default was not to shallow fetch. To check your pipeline, view the Shallow fetch setting in the [pipeline settings UI](https://learn.microsoft.com/en-us/azure/devops/pipelines/repos/azure-repos-git#shallow-fetch).
Adding fetchdepth of 0 to disable default of shallow checkout for new pipelines using mu_devops.
Full Changelog: v5.0.5...v5.0.6
v5.0.5
What's Changed
-
Upgrading markdownlint to v0.32.2 for MD051 - link fragments checking @apop5 (#218)
Change Details
Upgrade markdownlint to v0.32.2 for MD051 link checking.
fixes #217
</blockquote> <hr> </details>
-
.sync/Version.njk: Update Mu repos to Mu DevOps v5.0.4 @makubacki (#215)
Change Details
Changes since last release: https://github.com/microsoft/mu_devops/compare/v5.0.1...v5.0.4
General release info: https://github.com/microsoft/mu_devops/releases
- The
ubuntu-22-build
container image is also updated to the latest:ea6d2e6
.
- The
Full Changelog: v5.0.4...v5.0.5
v5.0.4
What's Changed
- GitHub Action: Bump actions/stale from 7 to 8 @dependabot (#153)
- GitHub Action: Bump actions/labeler from 4.1.0 to 4.2.0 @dependabot (#210)
- GitHub Action: Bump release-drafter/release-drafter from 5.23.0 to 5.24.0 @dependabot (#211)
Full Changelog: v5.0.3...v5.0.4
v5.0.3
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
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
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
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.0General 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
andN-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 theReleaseDrafter.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 therelease-draft-config-n.yml
orrelease-draft-config-n-1.yml
is respectively used. This means, if a branch
(likerelease/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
arelease/202208
submission will filter torelease/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 relativeN
andN-1
release
drafter config files that stay in the branch.ReleaseDrafter.yml
uses the default
branch config files so theN
andN-1
config files should match thelatest
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.0General 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
andN-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 theReleaseDrafter.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 therelease-draft-config-n.yml
orrelease-draft-config-n-1.yml
is respectively used. This means, if a branch
(likerelease/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
arelease/202208
submission will filter torelease/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 relativeN
andN-1
release
drafter config files that stay in the branch.ReleaseDrafter.yml
uses the default
branch config files so theN
andN-1
config files should match thelatest
and
previous
values in.sync/Version.njk
.
Full Changelog: v4.0.5...v5.0.0
v4.0.5
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
fromv4
tov4.1.0
.No major known changes that impact Mu DevOps.
Full Changelog: v4.0.4...v4.0.5