From 2f7d02c7bac60ce70514f97c71d80e497670b854 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Agust=C3=ADn=20Borgna?= <121866228+aborgna-q@users.noreply.github.com> Date: Fri, 11 Oct 2024 11:36:30 +0100 Subject: [PATCH] chore(ci): Inline cliff config into release-plz toml (#1571) Mini-chore: drop the cliff config file, and use inline changelog configuration for release-plz, as recommended by their docs. I'm just copying the config used for `tket2`. `release-plz` only parses the cliff config as backward-compatibility, the configs have diverged sightly since we wrote this `cliff.toml`. --- cliff.toml | 73 ------------------------------------------------ release-plz.toml | 20 +++++++++++-- 2 files changed, 17 insertions(+), 76 deletions(-) delete mode 100644 cliff.toml diff --git a/cliff.toml b/cliff.toml deleted file mode 100644 index 8c3dba1ca..000000000 --- a/cliff.toml +++ /dev/null @@ -1,73 +0,0 @@ -# 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] -# changelog header -header = """ -# Changelog\n -""" -# template for the changelog body -# https://tera.netlify.app/docs -body = """ -{% if version %}\ - ## {{ version }} ({{ timestamp | date(format="%Y-%m-%d") }}) -{% else %}\ - ## Unreleased (XXXX-XX-XX) -{% endif %}\ -{% for group, commits in commits | group_by(attribute="group") %} - ### {{ group | upper_first }} - {% for commit in commits %} - - {% if commit.breaking %}[**breaking**] {% endif %}{{ commit.message | upper_first }}\ - {% endfor %} -{% endfor %}\n -""" -# remove the leading and trailing whitespace from the template -trim = true -# changelog footer -footer = "" - -[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 = [ - { pattern = '\((\w+\s)?#([0-9]+)\)', replace = "([#${2}](https://github.com/CQCL/portgraph/issues/${2}))"}, # replace issue numbers -] -# regex for parsing and grouping commits -commit_parsers = [ - { message = "^feat", group = "Features" }, - { message = "^fix", group = "Bug Fixes" }, - { message = "^docs", group = "Documentation" }, - { message = "^style", group = "Styling" }, - { message = "^refactor", group = "Refactor" }, - { message = "^perf", group = "Performance" }, - { message = "^test", group = "Testing" }, - { message = "^chore\\(release\\): prepare for", skip = true }, - { message = "^chore", group = "Miscellaneous Tasks", skip = true }, - { message = "^revert", group = "Reverted changes", skip = true }, - { message = "^ci", group = "CI", skip = true }, -] -# protect breaking changes from being skipped due to matching a skipping commit_parser -protect_breaking_commits = true -# 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" -# regex for ignoring tags -ignore_tags = "" -# sort the tags topologically -topo_order = false -# sort the commits inside sections by oldest-first/newest-first -sort_commits = "oldest" -# limit the number of commits included in the changelog. -# limit_commits = 42 diff --git a/release-plz.toml b/release-plz.toml index fd8fddc9e..ee72ed9b6 100644 --- a/release-plz.toml +++ b/release-plz.toml @@ -7,9 +7,6 @@ release = false # Open the release PR as a draft pr_draft = true -# Use a custom git-cliff configuration -changelog_config = "cliff.toml" - # Enforce adding the project name in the git tag, to avoid collisions with python. # (This would normally only be enabled once there are multiple packages in the workspace) git_tag_name = "{{ package }}-v{{ version }}" @@ -22,6 +19,23 @@ git_release_name = "{{ package }}: v{{ version }}" # To trigger a release manually, merge a PR from a branch starting with `release-plz-`. release_always = false +[changelog] +sort_commits = "oldest" + +# Allowed conventional commit types +commit_parsers = [ + { message = "^feat", group = "New Features" }, + { message = "^fix", group = "Bug Fixes" }, + { message = "^docs", group = "Documentation" }, + { message = "^style", group = "Styling" }, + { message = "^refactor", group = "Refactor" }, + { message = "^perf", group = "Performance" }, + { message = "^test", group = "Testing" }, + { message = "^chore", group = "Miscellaneous Tasks", skip = true }, + { message = "^revert", group = "Reverted changes", skip = true }, + { message = "^ci", group = "CI", skip = true }, +] + [[package]] name = "hugr" changelog_include = ["hugr-core", "hugr-passes"]