Releases: microsoft/mu_devops
v1.4.0
What's Changed
-
GitHub Action: Bump stefanbuck/github-issue-parser from 2 to 3 [Rebase \& FF] @dependabot (#69)
Change Details
Bumps [stefanbuck/github-issue-parser](https://github.com/stefanbuck/github-issue-parser) from 2 to 3.
Release notes
Sourced from stefanbuck/github-issue-parser's releases.
v3.0.0
3.0.0 (2022-10-19)
Bug Fixes
- deps: bump
@actions/core
from 1.9.1 to 1.10.0 (284e5eb) - Ensure releases can be pinned to SHAs #23 (#39) (428eec3)
Features
BREAKING CHANGES
- Add
issue-body
argument which is required from v3 onwards
To mitigate script injection attacks, github-issue-parser v3 will require workflow authors to pass the issue body as an argument. By doing so you will follow GitHub's Good practices for mitigating script injection attacks
- uses: stefanbuck/github-issue-parser@v3 id: issue-parser with: issue-body: ${{ github.event.issue.body }} # required template-path: .github/ISSUE_TEMPLATE/bug-report.yml # optional but recommended
The previous checkbox output produced this:
{ "laravel": true, "svelte": true, }
whereas the new output will be an array like this
{ "fav_frameworks": ["Laravel", "Svelte"] }
... (truncated)
Commits
2e4d854
build55281d1
build(deps-dev): bump jest from 29.2.2 to 29.3.13c9c1c3
build(deps-dev): bump jest from 29.1.2 to 29.2.2 (#49)741688b
feat: add issue-body default (#47)de423fc
docs: Add migration section0b27d4a
feat: mitigating script injection attacks by passing issue body as env var (#42)1d341cb
feat: parse checkboxes (#21)284e5eb
fix(deps): bump@actions/core
from 1.9.1 to 1.10.0- See full diff in compare view
Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting
@dependabot rebase
.
Dependabot commands and options
You can trigger Dependabot actions by commenting on this PR:
@dependabot rebase
will rebase this PR@dependabot recreate
will recreate this PR, overwriting any edits that have been made to it@dependabot merge
will merge this PR after your CI passes on it@dependabot squash and merge
will squash and merge this PR after your CI passes on it@dependabot cancel merge
will cancel a previously requested merge and block automerging@dependabot reopen
will reopen this PR if it is closed@dependabot close
will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually@dependabot ignore this major version
will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)@dependabot ignore this minor version
will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)@dependabot ignore this dependency
will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
- deps: bump
🚀 Features & ✨ Enhancements
-
Add auto approval for auto merge @makubacki (#68)
Change Details
The auto merge process needs two reviews to meet Project Mu branch protection policy requirements. This change auto approves dependency update pull requests so they can be auto merged.
Signed-off-by: Michael Kubacki michael.kubacki@microsoft.com
Full Changelog: v1.3.1...v1.4.0
v1.3.1
What's Changed
-
.sync/workflows: Add file sync notice to some files @makubacki (#67)
Change Details
These files were added without the notice in the copyright area that states the files should be updated in mu_devops.
This change adds the notice.
Signed-off-by: Michael Kubacki michael.kubacki@microsoft.com
-
.sync: Set recent workflows to a fixed version of mu\_devops @makubacki (#66)
Change Details
When some workflows were added recently, the reusable workflow file that the leaf files depend on in mu_devops did not exist yet.
Therefore, those leaf files depended on the
main
branch instead
of a mu_devops release tag as the files would be in themain
branch as soon as the PR was merged.Now that all of the reusable workflows are in a tagged release
(as of thev1.3.0
release), this change sets them to a fixed version
of Mu DevOps as well.Signed-off-by: Michael Kubacki michael.kubacki@microsoft.com
-
.sync/Version.njk: Update Mu repos to Mu DevOps v1.3.0 @makubacki (#65)
Change Details
Changes since last release: https://github.com/microsoft/mu_devops/compare/v1.1.1...v1.3.0
General release info:
https://github.com/microsoft/mu_devops/releasesSigned-off-by: Michael Kubacki michael.kubacki@microsoft.com
📖 Documentation Updates
-
Add pull-request best practices guide @Erich-McMillan (#70)
Change Details
# Description
Adds pull request best practices to CONTRIBUTING.md and references this document + pull request best practices in the pull_request_template.md so all contributors are confronted with this guide before they open a pull request rather than afterward by the bot.
TODO:
-
ensure the relative path to CONTRIBUTING.md in pull_request_template.md is correct since dependent repos have different layout
-
Full Changelog: v1.3.0...v1.3.1
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 michael.kubacki@microsoft.com
-
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 michael.kubacki@microsoft.com
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 michael.kubacki@microsoft.com
-
.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 michael.kubacki@microsoft.com
🐛 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 michael.kubacki@microsoft.com
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 michael.kubacki@microsoft.com
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