From 37232f71ee7207bb521e7e6a7e7d6088cf27c744 Mon Sep 17 00:00:00 2001 From: Kevin Morris Date: Tue, 19 Oct 2021 08:57:43 -0700 Subject: [PATCH] feat: add git-cliff configuration git-cliff is a tool which allows us to generate changelog based off of conventional commits in the repository. This commit provides an initial cliff.toml configuration file which formats changelog output with tables and branch state metadata. Upstream: https://github.com/orhun/git-cliff Signed-off-by: Kevin Morris --- cliff.toml | 75 ++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 75 insertions(+) create mode 100644 cliff.toml diff --git a/cliff.toml b/cliff.toml new file mode 100644 index 00000000..b71ea672 --- /dev/null +++ b/cliff.toml @@ -0,0 +1,75 @@ +# configuration file for git-cliff (0.1.0) + +[changelog] +# changelog header +header = """ +# Changelog +All notable feature additions, bug fixes and changes to this project will be \ +documented in this file.\n +""" +# template for the changelog body +# https://tera.netlify.app/docs/#introduction +body = """ +{% if version %}\ + #### Release [{{ version | trim_start_matches(pat="v") }}] - {{ timestamp | date(format="%Y-%m-%d") }} +{% else %}\ + {% set head = commits | last %}\ + | Branch | HEAD | Status | Coverage | + |--------|------|--------|----------| + | [pu](https://gitlab.archlinux.org/archlinux/aurweb/-/tree/pu) | [{{ head.id | truncate(length=8, end="") }}](https://gitlab.archlinux.org/archlinux/aurweb/-/commits/{{ head.id }}) | ![pipeline](https://gitlab.archlinux.org/archlinux/aurweb/badges/pu/pipeline.svg?key_text=build) | ![coverage](https://gitlab.archlinux.org/archlinux/aurweb/badges/pu/coverage.svg) | +{% endif %}\ +{% for group, commits in commits | group_by(attribute="group") %} + ### {{ group | lower }} + | Commit | Message | + |--------|---------| \ + {% for commit in commits %} + | [{{ commit.id | truncate(length=8, end="") }}](https://gitlab.archlinux.org/archlinux/aurweb/-/commit/{{ commit.id }}) | {{ commit.message }} |\ + {% endfor %} +{% endfor %}\n +""" +# remove the leading and trailing whitespaces from the template +trim = true +# changelog footer +footer = """ +## Notes + +See a general project status overview at \ +https://gitlab.archlinux.org/archlinux/aurweb/-/wikis/Home. + +To contribute with testing of the modern aurweb FastAPI port development, visit \ +https://gitlab.archlinux.org/archlinux/aurweb/-/wikis/Testing-Guide. + +To file a bug, create an issue using the Bug template by following the link: \ +https://gitlab.archlinux.org/archlinux/aurweb/-/issues/new?issuable_template=Bug. + +To provide feedback, create an issue using the Feedback template by following +the link: \ +https://gitlab.archlinux.org/archlinux/aurweb/-/issues/new?issuable_template=Feedback. + + +""" + +[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 = "^change", group = "Changes" }, + { 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 = "v[0-9]*" +# regex for skipping tags +skip_tags = "v0.1.0-beta.1"