[workspace]
git_tag_name = "{{ package }}-{{ version }}"
git_release_name = "{{ package }}-{{ version }}"
git_release_enable = true
git_tag_enable = true
publish = true
semver_check = true
custom_minor_increment_regex = """\
^(๐จ|โก๏ธ|๐ฅ|โจ|๐|๐|๐๏ธ|โฌ๏ธ|โฌ๏ธ|๐|โ|โ|๐ง|๐ฝ๏ธ|๐ฅ|โฟ๏ธ|๐ฌ|๐|๐|๐ธ|๐๏ธ|๐๏ธ|๐งต|๐ฉ)\
"""
pr_name = "๐ Releases"
[changelog]
body = """
## {{ version | trim_start_matches(pat="v") }} - {{ timestamp | date(format="%Y-%m-%d") }}
{% for group, commits in commits | group_by(attribute="group") %}
### {{ group | striptags | trim | upper_first }}
{% for commit in commits %}\
{% set first_line = commit.message | split(pat="\n") | first %}\
{% set parts = first_line | split(pat="||") %}\
{% set subject = parts | first %}\
{% if group is ending_with("Other") %}\
{% set title = subject | upper_first %}\
{% else %}\
{% set title = subject | replace_regex(from="^\\s*(?:โจ|๐|๐ธ|๐|๐|๐ฉน|๐ฅ
|โก|๐|๐ก|โป|๐จ|๐|๐ง|๐|๐|๐ฅ|๐ฅ|๐|โฌ|โฌ|๐|โ|โ|๐|โ
|๐งช|๐ท|๐|๐งต|๐ฆบ|๐ฉ|๐จ|๐ธ|๐ฑ)\\u{FE0F}?\\s+", to="") %}\
{% if title == subject %}{% set title = title | upper_first %}{% endif %}\
{% endif %}\
- {{ title | trim | trim_end_matches(pat=".") }}\
{% if commit.breaking %} (**BREAKING**){% endif %}.\
{% if parts | length > 1 %} {{ parts | last }}{% endif %}
{% endfor %}\
{% endfor %}\
"""
protect_breaking_commits = true
commit_preprocessors = [
{ pattern = ".*", replace_command = "sh -c 'title=$(cat); ref=$(git log -1 --format=%b $COMMIT_SHA 2>/dev/null | grep -oE \"(Fixes|Closes|Resolves).*#[0-9]+\" | grep -oE \"#[0-9]+\" | head -1); if [ -n \"$ref\" ]; then printf \"%s||%s\\n\" \"$title\" \"$ref\"; else printf \"%s\\n\" \"$title\"; fi'" },
{ pattern = ".*", replace_command = "sh -c 'title=$(cat); if git log -1 --format=\"%(trailers:key=Changelog,valueonly)\" $COMMIT_SHA 2>/dev/null | grep -qix skip; then echo changelog-skip; else printf \"%s\\n\" \"$title\"; fi'" },
]
commit_parsers = [
{ message = "^changelog-skip$", skip = true },
{ message = "^[Mm]erge", skip = true },
{ message = "^๐", skip = true },
{ message = "^[\\p{Emoji}\\p{Emoji_Presentation}\\p{Extended_Pictographic}]+$", skip = true },
{ message = "^โจ", group = "<!-- 00 -->โจ Added" },
{ message = "^๐", group = "<!-- 00 -->โจ Added" },
{ message = "^๐ธ", group = "<!-- 00 -->โจ Added" },
{ message = "^๐", group = "<!-- 07 -->๐ Fixed" },
{ message = "^๐", group = "<!-- 07 -->๐ Fixed" },
{ message = "^๐ฉน", group = "<!-- 07 -->๐ Fixed" },
{ message = "^๐ฅ
", group = "<!-- 07 -->๐ Fixed" },
{ message = "^๐ฆบ", group = "<!-- 07 -->๐ Fixed" },
{ message = "^โก", group = "<!-- 09 -->โก๏ธ Performance" },
{ message = "^๐", group = "<!-- 06 -->๐ Documentation" },
{ message = "^๐ก", group = "<!-- 06 -->๐ Documentation" },
{ message = "^๐ธ", group = "<!-- 06 -->๐ Documentation" },
{ message = "^๐ฑ", group = "<!-- 06 -->๐ Documentation" },
{ message = "^โป๏ธ", group = "<!-- 03 -->โป๏ธ Changed" },
{ message = "^๐จ", group = "<!-- 03 -->โป๏ธ Changed" },
{ message = "^๐", group = "<!-- 03 -->โป๏ธ Changed" },
{ message = "^๐ง", group = "<!-- 03 -->โป๏ธ Changed" },
{ message = "^๐๏ธ", group = "<!-- 03 -->โป๏ธ Changed" },
{ message = "^๐", group = "<!-- 03 -->โป๏ธ Changed" },
{ message = "^๐ฉ", group = "<!-- 03 -->โป๏ธ Changed" },
{ message = "^๐งต", group = "<!-- 03 -->โป๏ธ Changed" },
{ message = "^๐ฅ", group = "<!-- 01 -->๐ฅ Breaking" },
{ message = "^๐ฅ", group = "<!-- 10 -->๐ฅ Removed" },
{ message = "^๐๏ธ", group = "<!-- 05 -->๐๏ธ Deprecated" },
{ message = "^โฌ๏ธ", group = "<!-- 04 -->๐ฆ Dependencies" },
{ message = "^โฌ๏ธ", group = "<!-- 04 -->๐ฆ Dependencies" },
{ message = "^๐", group = "<!-- 04 -->๐ฆ Dependencies" },
{ message = "^โ", group = "<!-- 04 -->๐ฆ Dependencies" },
{ message = "^โ", group = "<!-- 04 -->๐ฆ Dependencies" },
{ message = "^๐", group = "<!-- 11 -->๐๏ธ Security" },
{ message = "^โ
", group = "<!-- 12 -->โ
Testing" },
{ message = "^๐งช", group = "<!-- 12 -->โ
Testing" },
{ message = "^๐ท", group = "<!-- 02 -->๐ท CI" },
{ message = "^๐", group = "<!-- 02 -->๐ท CI" },
{ message = "^๐จ", group = "<!-- 02 -->๐ท CI" },
{ message = ".*", group = "<!-- 08 -->โ๏ธ Other" },
]