Skip to content

Commit 10b76b9

Browse files
build: filter release notes to useful categories (#16)
1 parent 297d858 commit 10b76b9

File tree

3 files changed

+33
-0
lines changed

3 files changed

+33
-0
lines changed

templates/.macros.j2

Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,20 @@
1+
{%- macro render_type_commits(type_commits) -%}
2+
{%- for type_ in ("breaking", "feature", "performance", "fix", "documentation") -%}
3+
{%- if type_ in type_commits %}
4+
### {{ type_ | capitalize }}
5+
{% for commit in type_commits[type_] %}
6+
* {{ commit["descriptions"][0] }} ([`{{ commit.short_hash }}`]({{ commit.hexsha | commit_hash_url }}))
7+
{% set ns = namespace(skip_line=false) -%}
8+
{%- for line in commit["descriptions"][1:] -%}
9+
{# skip co-author annotations in commit messages and internal notes #}
10+
{%- if "---------" in line -%}
11+
{%- set ns.skip_line = true -%}
12+
{%- elif not ns.skip_line %}
13+
{{ line | indent(2, first=True, blank=True)}}
14+
{% endif -%}
15+
{%- endfor %}
16+
{%- endfor -%}
17+
{%- endif %}
18+
{%- endfor -%}
19+
{%- endmacro -%}
20+

templates/.release_notes.md.j2

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
{% import '.macros.j2' as macros -%}
2+
# {{ version.as_tag() }} ({{ release.tagged_date.strftime("%Y-%m-%d") }})
3+
{{ macros.render_type_commits(release["elements"]) }}

templates/CHANGELOG.md.j2

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
{% import '.macros.j2' as macros -%}
2+
# CHANGELOG
3+
{%- if context.history.unreleased | length > 0 %}
4+
## Unreleased
5+
{{ macros.render_type_commits(context.history.unreleased) }}
6+
{%- endif %}
7+
{%- for version, release in context.history.released.items() %}
8+
## {{ version.as_semver_tag() }} ({{ release.tagged_date.strftime("%Y-%m-%d") }})
9+
{{ macros.render_type_commits(release["elements"]) }}
10+
{%- endfor %}

0 commit comments

Comments
 (0)