-
Notifications
You must be signed in to change notification settings - Fork 107
/
release-drafter.yml
183 lines (168 loc) · 4.86 KB
/
release-drafter.yml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
# Configuration for automatic Zebra CHANGELOGs and PR tagging
#
# Based on:
# https://github.com/marketplace/actions/release-drafter#example
# Automatically label PRs based on their branch, title, or changed files.
# This helps categorise PRs in the CHANGELOG.
autolabeler:
- label: 'C-security'
branch:
- '/secur/i'
title:
- '/secur/i'
- '/crash/i'
- '/destr/i'
- '/unsafe/i'
- label: 'C-deprecated'
branch:
- '/deprecat/i'
title:
- '/deprecat/i'
- label: 'extra-reviews'
branch:
- '/remov/i'
- '/deprecat/i'
title:
- '/remov/i'
- '/deprecat/i'
- '/crash/i'
- '/destr/i'
- '/unsafe/i'
- label: 'C-feature'
branch:
- '/feat/i'
title:
- '/feat/i'
- label: 'C-bug'
branch:
- '/bug/i'
title:
- '/bug/i'
# Changes that are almost always trivial for users
- label: 'C-trivial'
branch:
- '/clean/i'
- '/chore/i'
- '/clippy/i'
- '/test/i'
title:
- '/clean/i'
- '/chore/i'
- '/clippy/i'
- '/test/i'
- '/(ci)/i'
- '/(cd)/i'
- '/job/i'
- '/patch/i'
- '/actions/i'
files:
# Regular changes that don't need to go in the CHANGELOG
- 'CHANGELOG.md'
- 'zebra-consensus/src/checkpoint/*-checkpoints.txt'
# Developer-only changes
- '.gitignore'
- '.dockerignore'
# Test-only changes
- 'zebra-test'
- '.cargo/config.toml'
- 'clippy.toml'
# CI-only changes
- '.github'
- '.codespellrc'
- 'codecov.yml'
- 'deny.toml'
# The release name, tag, and settings for the draft CHANGELOG.
name-template: 'Zebra $RESOLVED_VERSION'
tag-template: 'v$RESOLVED_VERSION'
tag-prefix: 'v'
prerelease: true
# Categories in rough order of importance to users.
# Based on https://keepachangelog.com/en/1.0.0/
category-template: '### $TITLE'
categories:
- title: 'Security'
labels:
- 'C-security'
# Other labels that are usually security issues
- 'I-invalid-data'
- 'I-consensus'
- 'I-crash'
- 'I-destructive'
- 'I-hang'
- 'I-lose-funds'
- 'I-privacy'
- 'I-remote-node-overload'
- 'I-unbounded-growth'
- 'I-memory-safety'
- title: 'Removed'
labels:
- 'C-removal'
- title: 'Deprecated'
labels:
- 'C-deprecation'
# TODO: when release drafter has per-category templates, add this to the Deprecated category template:
# 'These features might be removed in Zebra $NEXT_MINOR_VERSION'
- title: 'Added'
labels:
- 'C-feature'
- title: 'Changed'
labels:
- 'C-enhancement'
- title: 'Fixed'
labels:
- 'C-bug'
# Other labels that are usually bugs
- 'I-build-fail'
- 'I-integration-fail'
- 'I-panic'
# TODO: if we're happy with the trivial PRs, use "exclude-labels:" instead
- title: 'Trivial *TODO:* put this in a PR comment, not the CHANGELOG'
labels:
- 'C-trivial'
- 'C-cleanup'
# The next release's $RESOLVED_VERSION, based on the labels of the PRs in the release.
#
# In Zebra, we use major versions for mainnet network upgrades,
# and minor versions for less significant breaking changes.
version-resolver:
# We increment the major release version manually
#major:
# labels:
#labels can not be an empty list, or empty strings
# - # network upgrade release PRs
minor:
labels:
- 'C-feature'
- 'C-breaking'
- 'C-removal'
- 'C-deprecation'
# We increment the patch version for every release
default: patch
# How PR names get turned into CHANGELOG entries.
change-template: '- $TITLE ([#$NUMBER]($URL))'
sort-by: title
sort-direction: ascending
# Characters escaped when converting PR titles to CHANGELOG entries.
# Add ` to disable code blocks.
change-title-escapes: '\<*_&#@'
# Strip PR series numbers, leading spaces, and conventional commit prefixes from PR titles.
replacers:
- search: '/- [0-9\. ]*([a-zA-Z0-9\(\)!]+:)?/'
replace: '- '
# The list of contributors to each release.
exclude-contributors:
- 'dependabot' # 'dependabot[bot]'
- 'mergifyio' # 'mergify[bot]'
# The template for the draft CHANGELOG.
template: |
## [Zebra $RESOLVED_VERSION](https://github.com/ZcashFoundation/zebra/releases/tag/v$RESOLVED_VERSION) - *TODO*: date
This release *TODO*: a summary of the significant user-visible changes in the release
### Breaking Changes
This release has the following breaking changes:
- *TODO*: Check the `Removed` and `Deprecated` sections for any breaking changes
- *TODO*: Add a short description of the user impact of each breaking change, and any actions users need to take
$CHANGES
### Contributors
Thank you to everyone who contributed to this release, we couldn't make Zebra without you:
$CONTRIBUTORS
# the trailing newlines in the template are deliberate