Releases: microsoft/mu_devops
v1.3.0
What's Changed
🚀 Features & ✨ Enhancements
-
Add reusable Auto Merge workflow @makubacki (#60)
Change Details
Adds a new workflow that automatically merges pull requests in Project Mu repos under certain conditions.
As automated bots pick up mundane tasks like syncing PIP module
updates, submodules, files, and so on, an increasing number of
pull requests can accumulate that essentially update dependencies
we expect to be updated over time. In most cases, we simply care
that the new update passes CI checks.This workflow is currently configured to automerge dependabot and
uefibot pull requests.Files added:
.github/workflows/AutoMerger.yml
- Reusable workflow to auto
merge pull requests that meet given criteria..sync/workflows/leaf/auto-merge.yml
- Leaf workflow file to
auto merge pull requests in a given repo.
Signed-off-by: Michael Kubacki [email protected]
-
Add Issue Triage workflow @makubacki (#55)
Change Details
Closes #54
Adds a new workflow and accompanying configuration files that
apply labels to new issues based on options chosen by the submitter
in an issue form..github/IssueTriager.yml
- Single reusable workflow to apply
labels to issues based on user input in issue forms..sync/workflows/config/triage-issues/advanced-issue-labeler.yml
-
Configures how labels are applied to issues based on issue form
input..sync/workflows/leaf/triage-issues.yml
- A leaf workflow that can
be synced to repos to trigger the reusable workflow in Mu DevOps.
This change also enables file syncing of this action to all repos
that issue forms are currently being synced to.Signed-off-by: Michael Kubacki [email protected]
Full Changelog: v1.2.0...v1.3.0
v1.2.0
What's Changed
🚀 Features & ✨ Enhancements
-
Add container logic for matrix builds and enable containers for others @cfernald (#59)
Change Details
- Add logic to use container build for GCC matrix dependent builds - Enable container build on all GCC CI pipelines - Add devcontainer file to file sync
Depends on:
microsoft/mu_basecore#199
microsoft/mu_common_intel_min_platform#80
microsoft/mu_plus#118
microsoft/mu_silicon_arm_tiano#32
microsoft/mu_silicon_intel_tiano#29
microsoft/mu_tiano_plus#67
🐛 Bug Fixes
-
Fix incorrect changes to mu\_feature\_config custom Ubuntu-GCC5 pipeline @cfernald (#61)
Change Details
Fixes an incorrect change that resulted in an invalid pipeline file.
Full Changelog: v1.1.2...v1.2.0
v1.1.2
What's Changed
-
InstallMarkdownLint.yml: Update to markdownlint-cli 0.31.1 @makubacki (#15)
Change Details
Updates to the latest markdownlint-cli to stay current. 0.31.1 was released on 2/9/2022 per the version history:
https://www.npmjs.com/package/markdownlint-cli
Note: 0.32 introduces new failures in some repos that would need to be
addressed before moving to 0.32.x. 0.32.2 was specifically tested.Signed-off-by: Michael Kubacki [email protected]
-
.sync/Version.njk: Update Mu repos to Mu DevOps v1.1.1 @makubacki (#53)
Change Details
Changes since last release: https://github.com/microsoft/mu_devops/compare/v0.1.0...v1.1.1
General release info:
https://github.com/microsoft/mu_devops/releasesSigned-off-by: Michael Kubacki [email protected]
🐛 Bug Fixes
-
.sync/azure-pipelines: Swap CLANGPDB VM image name @makubacki (#56)
Change Details
After this change: - `Ubuntu-CLANGPDB.yml` - Uses: `tool-chain-clangpdb-ubuntu-vm-image` - `Windows-CLANGPDB.yml` - Uses: `tool-chain-clangpdb-windows-vm-image`
These were previously reversed.
Signed-off-by: Michael Kubacki [email protected]
Full Changelog: v1.1.1...v1.1.2
v1.1.1
What's Changed
🐛 Bug Fixes
-
label-issues: Invert functional impact label logic @makubacki (#48)
Change Details
Fixes #47
The checkbox exposed to contributors in a PR to determine whether
the PR has a functional impact states:"Impacts functionality?"
This uses positive logic to simplify understanding by the user.
Currently the
impact:non-functional
label is applied if the
checkbox is checked.This change inverts the logic to apply the label as expected.
Signed-off-by: Michael Kubacki [email protected]
Full Changelog: v1.1.0...v1.1.1
v1.1.0
What's Changed
🚀 Features & ✨ Enhancements
-
Add Semantic Versioning Release workflow [Rebase \& FF] @makubacki (#49)
Change Details
Closes #50
Adds a new workflow and accompanying configuration files that allow
releases to automatically be drafted in repos as pull requests are
completed.Semantic versioning is automatically determined based on the standard
set of Project Mu labels associated with the pull request.The types of changes (e.g. bug fix, new feature, etc.) are
automatically categorized in the pull request based on the labels as
well.This makes tracking the new Semantic Version based on the type of
changes automatic and a release is always ready. In between releases,
the draft is a nice way to see a high-level delta since the last
release..github/ReleaseDrafter.yml
- Single reusable workflow to maintain
a release draft as pull requests complete..github/ReleaseDraft.yml
- Configuration file for the
ReleaseDrafter workflow. Defines label meanings for releases and
how releases should be drafted..sync/workflows/leaf/release-draft.yml
- A leaf workflow that can
be synced to repos to trigger the reusable workflow in Mu DevOps.
Project Mu repos can easily opt into consistent release drafting by
including this leaf workflow via file sync.
I decided to allow dependabot changes into release and just not include
file sync changes since those are dev ops related and already tracked in
the mu_devops releases where they're more relevant.
Full Changelog: v1.0.0...v1.1.0
v1.0.0
About This Release
This release is incrementing the major version to baseline the version before moving to a model that will update releases as pull requests are submitted.
The main functional change since v0.1.0 in this release was setting the dependencies in Project Mu repos to a fixed version of this repo.
What's Changed
- ReadMe.rst: Add file sync status badge by @makubacki in #43
- Fix Mu DevOps Version Used on Release Version [Rebase & FF] by @makubacki in #45
- Repo File Sync: Synced file(s) with microsoft/mu_devops by @uefibot in #46
Full Changelog: v0.1.0...v1.0.0
v0.1.0
About This Release
This is the first Mu DevOps release 🎉
Currently, Mu DevOps serves common build content across Project Mu repos. The goal is to centralize most of the CI and build related files needed to manage the repos.
One of these components are Azure Pipelines files (see Jobs and Steps). The actual Project Mu repos have very minimal wrappers around these templates and they access the templates via a repository resource.
This is done as follows:
resources:
repositories:
- repository: mu_devops
type: github
endpoint: microsoft
name: microsoft/mu_devops
ref: main
A key reason to label this repo is to control fixed updates by setting ref
to the release tag (v0.1.0
for this release) instead of main
. Because main
is a "floating" dependency, it provides rapid adoption of changes, but we'd prefer to update in fixed increments after the repo absorbing the new mu_devops update can test the change in a pull request (that updates the ref
value).
Releases can be useful for other purposes as well. The version follows Semantic Versioning and the plan is to increment the major version on any backward incompatible change to:
- An Azure Pipelines template file
- Files presently in the
Jobs
orSteps
directory of this repo
- Files presently in the
- A GitHub reusable workflow file
- Files presently in the
.github/workflows
directory of this repo
- Files presently in the
These are the two main sources of dependencies on the content of this repo from external files at this time. The cause of major version changes in the future may change as new files and features are introduced to the repo.
What's Changed
- Add initial content by @makubacki in #1
- Steps/PrGate.yml: Add pkg_count condition to build steps by @makubacki in #3
- PrGate.yml: Add do_pr_eval template parameter by @makubacki in #2
- Jobs/PrGate.yml: Pass do_pr_eval value to step template by @makubacki in #4
- Add CodeQL reusable GitHub workflow by @makubacki in #5
- Add Project Mu status notebooks by @makubacki in #6
- Add initial support for containers in PrGate job by @cfernald in #9
- ApplyAdoBranchNameWorkaround.yml: Add file by @makubacki in #10
- Steps/ApplyAdoBranchNameWorkaround.yml: Fix error from conflict resolution by @makubacki in #11
- Allow additional build artifacts to be upload for platform build by @cfernald in #12
- Fix PR gates for CI and platform build by @cfernald in #13
- SetNodeVersion.yml: Use Node.js 19.x by @makubacki in #14
- Steps/PrGate.yml: Add extra install step parameter by @makubacki in #17
- PrGate.yml: Add support for publishing code coverage results by @makubacki in #16
- Simplify job names by @makubacki in #18
- Fix PR Eval typo (present since 201911) by @makubacki in #19
- Update code to align with previous isOutput bug behavior by @makubacki in #20
- Add support for platform build using containers by @cfernald in #21
- Revert container updates in 5f3c041 by @makubacki in #22
- Switch to simple boolean for using container build by @cfernald in #24
- SetupPythonPreReqs.yml: Upgrade pip and install wheel and setuptools by @makubacki in #25
- Add reusable Stale GitHub workflow by @makubacki in #27
- Add reusable GitHub Label Sync workflow by @makubacki in #30
- Update Project Mu GitHub Automation [Rebase & FF] by @makubacki in #32
- FileSyncer.yml: Add microsoft prefix to review team by @makubacki in #36
- CONTRIBUTING.md: Fix long line for markdownlint by @makubacki in #37
- Repo File Sync: Synced file(s) with microsoft/mu_devops by @uefibot in #35
- .sync/markdownlint.yaml: Templatize allowed HTML elements by @makubacki in #38
- .sync/markdownlint.yaml: Update brace syntax by @makubacki in #41
New Contributors
- @makubacki made their first contribution in #1
- @cfernald made their first contribution in #9
- @uefibot made their first contribution in #35
Full Changelog: https://github.com/microsoft/mu_devops/commits/v0.1.0