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
# git-cliff configuration for roba
# https://git-cliff.org/docs/configuration
#
# Generates Keep-a-Changelog-shaped entries from conventional commits.
# Used by release-plz to populate CHANGELOG.md.
[]
# The leading header is preserved (release-plz only updates the
# content below it). We keep our existing header.
= ""
# Body template: one section per release, grouped by commit type.
= """
{% if version -%}
## [{{ version | trim_start_matches(pat="v") }}] - {{ timestamp | date(format="%Y-%m-%d") }}
{% else -%}
## [Unreleased]
{% endif -%}
{% for group, commits in commits | group_by(attribute="group") %}
### {{ group | upper_first }}
{% for commit in commits -%}
- {{ commit.message | split(pat="\n") | first | trim }}{% if commit.breaking %} (BREAKING){% endif %}
{% endfor %}
{% endfor %}
"""
= ""
= true
[]
# Parse conventional commits; skip ones that don't match a parser.
= true
= true
= false
= true
# Sort commits oldest-first within a group; sections appear in the
# order the parsers below define.
= "oldest"
= false
# Tag pattern roba uses: v0.2.0, v0.2.1, ...
= "v[0-9].*"
# NB: do NOT set skip_tags / ignore_tags to "". An empty regex matches
# *every* tag, so release-plz's embedded git-cliff skips every release
# ("Skipping release: X") and emits an EMPTY changelog -- which is what
# shipped 0.2.1 with no notes (#173). Leave them unset (no skip/ignore).
# Conventional commit type -> changelog section.
# Order here is the display order in each release body.
# Commits with BREAKING get an extra "(BREAKING)" suffix via the body
# template above; the surrounding group is determined by the message
# prefix (feat -> Added, etc.). Pure docs/test/chore/style/ci land in
# their own sections; they do NOT trigger a release per release_commits
# in release-plz.toml.
= [
{ = "^feat", = "Added" },
{ = "^fix", = "Fixed" },
{ = "^perf", = "Performance" },
{ = "^refactor", = "Changed" },
{ = "^docs", = "Documentation" },
{ = "^test", = "Tests" },
{ = "^chore\\(release\\)", = true },
{ = "^chore\\(deps\\)", = "Dependencies" },
{ = "^chore", = "Maintenance" },
{ = "^ci", = "CI" },
{ = "^build", = "Build" },
{ = "^style", = true },
{ = "^revert", = "Reverted" },
# Anything that didn't match above is dropped.
{ = ".*", = true },
]