Releases: microsoft/mu_devops
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
v2.5.4
What's Changed
-
.sync/Files.yml: Sync release drafter to additional repos @makubacki (#181)
Change Details
More repos with `release` branches are moving to versioned releases so the release drafter workflow is synced to them in this change.
New repos:
- microsoft/mu_common_intel_min_platform
- microsoft/mu_oem_sample
- microsoft/mu_plus
- microsoft/mu_silicon_arm_tiano
- microsoft/mu_silicon_intel_tiano
- microsoft/mu_tiano_plus
Full Changelog: v2.5.3...v2.5.4
v2.5.3
What's Changed
-
.sync/Version.njk: Update latest Mu release branch to 202302 @makubacki (#179)
Change Details
Updates the `latest_mu_release_branch` value substituted into sync templates from `release/202208` to `release/202302`.
-
Add a dependabot label and exclude it from release notes @makubacki (#177)
Change Details
The `release-drafter` GitHub action has an `exclude-contributors` configuration option that excludes usernames from the final contributors. This does not appear to work for dependabot.
The
exclude-labels
configuration option does work. This change
adds a new labeltype:dependabot
to dependabot PRs (via the
dependabot config file) and uses theexclude-labels
option in
therelease-drafter
config file to exclude those PRs from release
notes.Submodules are currently updated by either
dependabot
or the
submodule-release-updater
GitHub action local to mu_devops. Since
submodules are recursive to repo consumers and to keep those
consistently in the release notes, thetype:dependabot
label is
not added to dependabot submodule updates keeping those updates in
the release notes.
-
Initial check-in for MU Linux container and pipelines @cfernald (#175)
Change Details
Creates a Ubuntu-22 based image for building Project MU. These changes are largely based on the infrastructure from [tianocore/containers](https://github.com/tianocore/containers).
Sizes:
Build - 2.74 Gb
Test - 3.63 Gb
Dev - 3.63 Gb
-
.sync/dependabot: Ignore additional submodules with versioned releases @makubacki (#176)
Change Details
The following repos recently moved to semantic versioning so they can be updated by their versioned releases now instead of dependabot checking for the latest commit hash.
📖 Documentation Updates
-
Readme.rst: Reorganize and refresh content @makubacki (#180)
Change Details
1. Add a Table of Contents 2. Update Conventions section 3. Add a Containers section 4. Add missing workflow sections 5. Sort workflow sections so they're easier to find in the Table of Contents 6. Other minor miscellaneous updates
Full Changelog: v2.5.2...v2.5.3