Skip to content

Commit b5bc594

Browse files
authored
Update release drafter for dev branches (#1224)
## Description This change is currently being prototyped in Mu Basecore. Further changes may be made before syncing to other repos. During this time anyone making releases should pay careful attention to the versions and notes drafted and report any issues. The `release-drafter` action takes some inputs by config file so a couple new config files are added. These originate from a single copy (template) of the file in mu_devops so we'd still only be maintaining one actual release drafter config file. --- A release will be drafted for the dev branch and the release branch. The releases are differentiated by both their release title and tag. - Release Branch - Title: `release-v<version>` - Tag: `v<version>` - Dev Branch - Title: `dev-v<version>` - Tag: `dev-v<version>` Note that the tag for the release branch follows the same convention as existing release tags. The "release branch" release includes all pull requests made to the dev branch with the `type:backport` label since the last "dev branch" release. For this reason, the "dev branch" and "release branch" should be released at the same time. Then, this effectively results in the "release branch" having all relevant changes since the last release. The "dev branch" release will be based at the same point in history as the "release branch" release but include all changes not just those with the `type:backport` label. The "release branch" release for the current release branch should be marked as "latest". For example, if "release/202311" and "release/202405" exist, the "release/202405" "release branch" release should be marked as latest when making the release. When making releases, the "dev branch" release should be made first and then the "release branch" release. - [ ] Impacts functionality? - [ ] Impacts security? - [ ] Breaking change? - [ ] Includes tests? - [ ] Includes documentation? - [ ] Backport to release branch? ## How This Was Tested - Generate "dev branch" and "release branch" on fork with various combinations of changes. ## Integration Instructions N/A Signed-off-by: Michael Kubacki <[email protected]>
1 parent 91f14ee commit b5bc594

File tree

5 files changed

+214
-9
lines changed

5 files changed

+214
-9
lines changed
Lines changed: 100 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,100 @@
1+
# Defines the configuration used for drafting new releases.
2+
#
3+
# IMPORTANT: Only use labels defined in the .github/Labels.yml file in this repo.
4+
#
5+
# NOTE: `semver:major`, `semver:minor`, and `semver:patch` can be used to force that
6+
# version to roll regardless of other labels.
7+
#
8+
# NOTE: This file is automatically synchronized from Mu DevOps. Update the original file there
9+
# instead of the file in this repo.
10+
#
11+
# - Mu DevOps Repo: https://github.com/microsoft/mu_devops
12+
# - File Sync Settings: https://github.com/microsoft/mu_devops/blob/main/.sync/Files.yml
13+
#
14+
# Copyright (c) Microsoft Corporation.
15+
# SPDX-License-Identifier: BSD-2-Clause-Patent
16+
#
17+
# For more information, see:
18+
# https://github.com/release-drafter/release-drafter
19+
20+
name-template: 'dev-v$RESOLVED_VERSION'
21+
tag-template: 'dev-v$RESOLVED_VERSION'
22+
23+
commitish: refs/heads/dev/202311
24+
filter-by-commitish: true
25+
26+
template: |
27+
# What's Changed
28+
29+
$CHANGES
30+
31+
**Full Changelog**: https://github.com/$OWNER/$REPOSITORY/compare/$PREVIOUS_TAG...v$RESOLVED_VERSION
32+
33+
categories:
34+
- title: '⚠️ Breaking Changes'
35+
labels:
36+
- 'impact:breaking-change'
37+
- title: '🚀 Features & ✨ Enhancements'
38+
labels:
39+
- 'type:design-change'
40+
- 'type:enhancement'
41+
- 'type:feature-request'
42+
- title: '🐛 Bug Fixes'
43+
labels:
44+
- 'type:bug'
45+
- title: '🔐 Security Impacting'
46+
labels:
47+
- 'impact:security'
48+
- title: '📖 Documentation Updates'
49+
labels:
50+
- 'type:documentation'
51+
- title: '🛠️ Submodule Updates'
52+
labels:
53+
- 'type:submodules'
54+
55+
change-template: >-
56+
<ul>
57+
<li>
58+
$TITLE @$AUTHOR (#$NUMBER)
59+
<br>
60+
<details>
61+
<summary>Change Details</summary>
62+
<blockquote>
63+
<!-- Non-breaking space to have content if body is empty -->
64+
&nbsp; $BODY
65+
</blockquote>
66+
<hr>
67+
</details>
68+
</li>
69+
</ul>
70+
71+
change-title-escapes: '\<*_&@' # Note: @ is added to disable mentions
72+
73+
# Maintenance: Keep labels organized in ascending alphabetical order - easier to scan, identify duplicates, etc.
74+
version-resolver:
75+
major:
76+
labels:
77+
- 'impact:breaking-change'
78+
- 'semver:major'
79+
minor:
80+
labels:
81+
- 'semver:minor'
82+
- 'type:design-change'
83+
- 'type:enhancement'
84+
- 'type:feature-request'
85+
patch:
86+
labels:
87+
- 'impact:non-functional'
88+
- 'semver:patch'
89+
- 'type:bug'
90+
- 'type:documentation'
91+
default: patch
92+
93+
exclude-labels:
94+
- 'type:dependabot'
95+
- 'type:file-sync'
96+
- 'type:notes'
97+
- 'type:question'
98+
99+
exclude-contributors:
100+
- 'uefibot'

.github/release-draft-config-n-1.yml

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -17,11 +17,12 @@
1717
# For more information, see:
1818
# https://github.com/release-drafter/release-drafter
1919

20-
name-template: 'v$RESOLVED_VERSION'
21-
tag-template: 'v$RESOLVED_VERSION'
20+
name-template: 'dev-v$RESOLVED_VERSION'
21+
tag-template: 'dev-v$RESOLVED_VERSION'
2222

23-
commitish: refs/heads/release/202311
23+
commitish: refs/heads/dev/202311
2424
filter-by-commitish: true
25+
include-labels: ["type:backport"]
2526

2627
template: |
2728
# What's Changed
Lines changed: 100 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,100 @@
1+
# Defines the configuration used for drafting new releases.
2+
#
3+
# IMPORTANT: Only use labels defined in the .github/Labels.yml file in this repo.
4+
#
5+
# NOTE: `semver:major`, `semver:minor`, and `semver:patch` can be used to force that
6+
# version to roll regardless of other labels.
7+
#
8+
# NOTE: This file is automatically synchronized from Mu DevOps. Update the original file there
9+
# instead of the file in this repo.
10+
#
11+
# - Mu DevOps Repo: https://github.com/microsoft/mu_devops
12+
# - File Sync Settings: https://github.com/microsoft/mu_devops/blob/main/.sync/Files.yml
13+
#
14+
# Copyright (c) Microsoft Corporation.
15+
# SPDX-License-Identifier: BSD-2-Clause-Patent
16+
#
17+
# For more information, see:
18+
# https://github.com/release-drafter/release-drafter
19+
20+
name-template: 'dev-v$RESOLVED_VERSION'
21+
tag-template: 'dev-v$RESOLVED_VERSION'
22+
23+
commitish: refs/heads/dev/202405
24+
filter-by-commitish: true
25+
26+
template: |
27+
# What's Changed
28+
29+
$CHANGES
30+
31+
**Full Changelog**: https://github.com/$OWNER/$REPOSITORY/compare/$PREVIOUS_TAG...v$RESOLVED_VERSION
32+
33+
categories:
34+
- title: '⚠️ Breaking Changes'
35+
labels:
36+
- 'impact:breaking-change'
37+
- title: '🚀 Features & ✨ Enhancements'
38+
labels:
39+
- 'type:design-change'
40+
- 'type:enhancement'
41+
- 'type:feature-request'
42+
- title: '🐛 Bug Fixes'
43+
labels:
44+
- 'type:bug'
45+
- title: '🔐 Security Impacting'
46+
labels:
47+
- 'impact:security'
48+
- title: '📖 Documentation Updates'
49+
labels:
50+
- 'type:documentation'
51+
- title: '🛠️ Submodule Updates'
52+
labels:
53+
- 'type:submodules'
54+
55+
change-template: >-
56+
<ul>
57+
<li>
58+
$TITLE @$AUTHOR (#$NUMBER)
59+
<br>
60+
<details>
61+
<summary>Change Details</summary>
62+
<blockquote>
63+
<!-- Non-breaking space to have content if body is empty -->
64+
&nbsp; $BODY
65+
</blockquote>
66+
<hr>
67+
</details>
68+
</li>
69+
</ul>
70+
71+
change-title-escapes: '\<*_&@' # Note: @ is added to disable mentions
72+
73+
# Maintenance: Keep labels organized in ascending alphabetical order - easier to scan, identify duplicates, etc.
74+
version-resolver:
75+
major:
76+
labels:
77+
- 'impact:breaking-change'
78+
- 'semver:major'
79+
minor:
80+
labels:
81+
- 'semver:minor'
82+
- 'type:design-change'
83+
- 'type:enhancement'
84+
- 'type:feature-request'
85+
patch:
86+
labels:
87+
- 'impact:non-functional'
88+
- 'semver:patch'
89+
- 'type:bug'
90+
- 'type:documentation'
91+
default: patch
92+
93+
exclude-labels:
94+
- 'type:dependabot'
95+
- 'type:file-sync'
96+
- 'type:notes'
97+
- 'type:question'
98+
99+
exclude-contributors:
100+
- 'uefibot'

.github/release-draft-config-n.yml

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -17,11 +17,12 @@
1717
# For more information, see:
1818
# https://github.com/release-drafter/release-drafter
1919

20-
name-template: 'v$RESOLVED_VERSION'
21-
tag-template: 'v$RESOLVED_VERSION'
20+
name-template: 'dev-v$RESOLVED_VERSION'
21+
tag-template: 'dev-v$RESOLVED_VERSION'
2222

23-
commitish: refs/heads/release/202405
23+
commitish: refs/heads/dev/202405
2424
filter-by-commitish: true
25+
include-labels: ["type:backport"]
2526

2627
template: |
2728
# What's Changed

.github/workflows/release-draft.yml

Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -23,14 +23,17 @@ name: Update Release Draft
2323
on:
2424
push:
2525
branches:
26-
- release/202405
26+
- dev/202405
2727

2828
jobs:
29-
draft:
29+
dev_draft:
30+
name: Draft Releases
3031

3132
permissions:
3233
contents: write
3334
pull-requests: write
3435

35-
uses: microsoft/mu_devops/.github/workflows/[email protected]
36+
# The "release_drafter_update_for_release_branches" branch is temporarily being used to test release
37+
# drafter changes on that branch in Mu Basecore before merging them into the main branch.
38+
uses: microsoft/mu_devops/.github/workflows/ReleaseDrafter.yml@release_drafter_update_for_release_branches
3639
secrets: inherit

0 commit comments

Comments
 (0)