Releases: microsoft/mu_devops
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
v4.0.4
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
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
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
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
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:
Steps/PrGate.yml
updated theextra_install_steps
to be invoked beforestuart_setup
andstuart_update
. But this change does not knowingly break the existing consumers.Jobs/PrGate.yml
updated the parameters to acceptparameters.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:
Steps/PrGate.yml
updated theextra_install_steps
to be invoked beforestuart_setup
andstuart_update
. But this change does not knowingly break the existing consumers.Jobs/PrGate.yml
updated the parameters to acceptparameters.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
v3.0.0
What's Changed
⚠️ Breaking Changes
-
.sync/Version.njk: Switch to Project Mu Ubuntu 22 containers @makubacki (#182)
Change Details
Updates the default Linux build container from Fedora 37 to Ubuntu 22.
The container feed switched from
ghcr.io/tianocore/containers
toghcr.io/microsoft/mu_devops
.Note: This is marked as a breaking change because of the distro change
from Fedora to Ubuntu. Commands run inside the container such as those
interacting with the package manager need to be reviewed and updated.
Full Changelog: v2.5.4...v3.0.0