1
1
mirror of https://github.com/orhun/git-cliff.git synced 2024-11-29 15:52:49 +03:00
git-cliff/config/cliff.toml

80 lines
3.0 KiB
TOML
Raw Normal View History

# git-cliff ~ default configuration file
# https://git-cliff.org/docs/configuration
#
# Lines starting with "#" are comments.
# Configuration options are organized into tables and keys.
# See documentation for more information on available options.
[changelog]
# template for the changelog header
header = """
# Changelog\n
2021-06-09 02:38:11 +03:00
All notable changes to this project will be documented in this file.\n
"""
2021-05-25 20:39:14 +03:00
# template for the changelog body
# https://keats.github.io/tera/docs/#introduction
body = """
{% 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 | striptags | trim | upper_first }}
{% for commit in commits %}
- {% if commit.scope %}*({{ commit.scope }})* {% endif %}\
{% if commit.breaking %}[**breaking**] {% endif %}\
{{ commit.message | upper_first }}\
{% endfor %}
{% endfor %}\n
"""
# template for the changelog footer
footer = """
2021-06-14 23:20:21 +03:00
<!-- generated by git-cliff -->
"""
# remove the leading and trailing s
trim = true
# postprocessors
postprocessors = [
# { pattern = '<REPO>', replace = "https://github.com/orhun/git-cliff" }, # replace repository URL
]
[git]
# parse the commits based on https://www.conventionalcommits.org
conventional_commits = true
# filter out the commits that are not conventional
filter_unconventional = true
# process each line of a commit as an individual commit
split_commits = false
# regex for preprocessing the commit messages
commit_preprocessors = [
feat(github)!: support integration with GitHub repos (#363) See <https://git-cliff.org/docs/integration/github> Squashed history: * feat(github): support integration with GitHub repos * fix(changelog): fix generation logic * refactor(github): use verbose logging for errors * fix(test): update tests accordingly to the render parameters * feat(github): support deriving upstream URL from the repo * docs(lib): update the description of the error module * chore(github): add disclaimer for the github feature * chore(config): filter the contributors in the github example * fix(github): make GitHub login field optional * chore(github): increase the logging verbosity for remote info * refactor(git): reduce the log level for upstream remote * feat(github): log the request error * feat(args): add `--github-repo` argument * feat(github): add caching for network requests * feat(github): add progress bar for the network requests * refactor(github): gate the implementation behind github feature flag * fix(github): use the local cache for HTTP requests * feat(github): set TCP keepalive value for HTTP client * chore(cargo): create update-informer feature * docs(website): add documentation about available features * docs(website): reorder installation sections * fix(config): skip serializing secret * docs(website): add documentation about GitHub integration * chore(example): update the style of GitHub config * docs(website): add github example * test(fixture): add test fixture for GitHub integration * test(fixture): run the GitHub integration test * fix(changelog): print header before fetching GitHub * feat(github): allow using remote values without fetching GitHub * chore(example): simplify Keep a Changelog example * feat(example): add github-keepachangelog example * chore(example): update the examples in default config * chore(ci): test all features * test(github): add unit tests for GitHub integration * chore(ci): set upstream remote for tests * chore(ci): show the current git status for test step * chore(ci): skip git upstream test * chore(ci): run tests without default features * chore(ci): skip test with full name * docs(website): add note about github-keepachangelog format * chore(ci): skip the faulty git test for all test steps * refactor(error): update the error type for logger
2023-12-26 22:52:31 +03:00
# Replace issue numbers
#{ pattern = '\((\w+\s)?#([0-9]+)\)', replace = "([#${2}](<REPO>/issues/${2}))"},
# Check spelling of the commit with https://github.com/crate-ci/typos
# If the spelling is incorrect, it will be automatically fixed.
#{ pattern = '.*', replace_command = 'typos --write-changes -' },
]
# regex for parsing and grouping commits
commit_parsers = [
{ message = "^feat", group = "<!-- 0 -->🚀 Features" },
{ message = "^fix", group = "<!-- 1 -->🐛 Bug Fixes" },
{ message = "^doc", group = "<!-- 3 -->📚 Documentation" },
{ message = "^perf", group = "<!-- 4 -->⚡ Performance" },
{ message = "^refactor", group = "<!-- 2 -->🚜 Refactor" },
{ message = "^style", group = "<!-- 5 -->🎨 Styling" },
{ message = "^test", group = "<!-- 6 -->🧪 Testing" },
{ message = "^chore\\(release\\): prepare for", skip = true },
{ message = "^chore\\(deps.*\\)", skip = true },
{ message = "^chore\\(pr\\)", skip = true },
{ message = "^chore\\(pull\\)", skip = true },
{ message = "^chore|^ci", group = "<!-- 7 -->⚙️ Miscellaneous Tasks" },
{ body = ".*security", group = "<!-- 8 -->🛡️ Security" },
{ message = "^revert", group = "<!-- 9 -->◀️ Revert" },
]
# filter out the commits that are not matched by commit parsers
filter_commits = false
# sort the tags topologically
topo_order = false
# sort the commits inside sections by oldest/newest order
sort_commits = "oldest"