184 lines
4.9 KiB
YAML
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
|