zebra/.github/release-drafter.yml

184 lines
4.9 KiB
YAML

# 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