~miikka/clj-branca

ab5eac33622fca51905678f034830a6458702c9e — Miikka Koskinen 2 years ago b691219
chore: use Conventional Commits and git-cliff
4 files changed, 80 insertions(+), 0 deletions(-)

M CHANGELOG.md
M README.md
A bin/update-changelog.sh
A cliff.toml
M CHANGELOG.md => CHANGELOG.md +5 -0
@@ 1,3 1,8 @@
# Changelog

<!-- Autogenerated; run bin/update-changelog.sh to update. -->


## 0.1.1 (2020-10-11)

* Add pom.xml to the jar file, fixing cljdoc API reference

M README.md => README.md +4 -0
@@ 31,6 31,10 @@ This library implements encoding and decoding [Branca] tokens in Clojure.
;; "Hello, world!"
```

## Contributing

* We use [Conventional Commits](https://www.conventionalcommits.org/en/v1.0.0/) for commit messages.

## License

Copyright Miikka Koskinen.

A bin/update-changelog.sh => bin/update-changelog.sh +3 -0
@@ 0,0 1,3 @@
#!/usr/bin/env bash

git cliff b691219db85033aca512193b7e042759ab214128.. > CHANGELOG.md

A cliff.toml => cliff.toml +68 -0
@@ 0,0 1,68 @@
# configuration file for git-cliff (0.1.0)

[changelog]
# changelog header
header = """
# Changelog

<!-- Autogenerated; run bin/update-changelog.sh to update. -->

"""
# template for the changelog body
# https://tera.netlify.app/docs/#introduction
body = """
{% if version %}\
    ## {{ version | trim_start_matches(pat="v") }} - {{ timestamp | date(format="%Y-%m-%d") }}
{% else %}\
    ## Unreleased
{% endif %}\
{% if previous %}\
    {% if previous.commit_id %}
        [{{ previous.commit_id | truncate(length=7, end="") }}]({{ previous.commit_id }})...\
            [{{ commit_id | truncate(length=7, end="") }}]({{ commit_id }})
    {% endif %}\
{% endif %}\
{% for group, commits in commits | group_by(attribute="group") %}
    ### {{ group | upper_first }}
    {% for commit in commits %}
        - {{ commit.message | upper_first }} ([{{ commit.id | truncate(length=7, end="") }}](https://git.sr.ht/~miikka/clj-branca/commit/{{ commit.id }}))\
    {% endfor %}
{% endfor %}\n
"""
# remove the leading and trailing whitespaces from the template
trim = true
# changelog footer
footer = """

## 0.1.1 (2020-10-11)

* Add pom.xml to the jar file, fixing cljdoc API reference

## 0.1.0 (2020-10-10)

* Initial release
"""

[git]
# allow only conventional commits
# https://www.conventionalcommits.org
conventional_commits = true
# regex for parsing and grouping commits
commit_parsers = [
    { message = "^feat", group = "Features"},
    { message = "^fix", group = "Bug Fixes"},
    { message = "^doc", group = "Documentation"},
    { message = "^perf", group = "Performance"},
    { message = "^refactor", group = "Refactor"},
    { message = "^style", group = "Styling"},
    { message = "^test", group = "Testing"},
    { message = "^chore\\(release\\): prepare for", skip = true},
    { message = "^chore", group = "Miscellaneous Tasks"},
    { body = ".*security", group = "Security"},
]
# filter out the commits that are not matched by commit parsers
filter_commits = false
# glob pattern for matching git tags
tag_pattern = "[0-9]*"
# regex for skipping tags
skip_tags = "v0.1.0-beta.1"