# git-cliff ~ configuration file for the HELM CHART changelog # https://git-cliff.org/docs/configuration # # The chart releases on its own version line, so it needs its own changelog — # see .taskfiles/release.yaml (release:chart:bump). This file exists rather # than reusing cliff.toml with flags because the templates differ — its own # header wording, and headings that drop the chart-v tag prefix — and because # commit_parsers differs, which git-cliff exposes neither as a CLI flag nor as # an env override (GIT_CLIFF__GIT__COMMIT_PARSERS rejects the array). The # templates are shaped like cliff.toml's; keep the two in sync. [changelog] header = """ # Changelog\n All notable changes to the Streamline Helm chart are documented in this file. The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/), and this chart adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).\n """ body = """ {% if version -%} ## [{{ version | trim_start_matches(pat="chart-v") }}] - {{ timestamp | date(format="%Y-%m-%d") }} {% else -%} ## [Unreleased] {% endif -%} {% for group, commits in commits | group_by(attribute="group") %} ### {{ group | upper_first }} {% for commit in commits %} - {% if commit.breaking %}**BREAKING** {% endif %}\ {%- if commit.scope %}{{ commit.scope }}: {% endif %}\ {{- commit.message | split(pat="\n") | first | upper_first | trim }}\ {% endfor %} {% endfor %}\n """ footer = """ {% for release in releases -%} {% if release.version -%} {% if release.previous.version -%} [{{ release.version | trim_start_matches(pat="chart-v") }}]: \ https://github.com/{{ remote.github.owner }}/{{ remote.github.repo }}\ /compare/{{ release.previous.version }}..{{ release.version }} {% else -%} [{{ release.version | trim_start_matches(pat="chart-v") }}]: \ https://github.com/{{ remote.github.owner }}/{{ remote.github.repo }}\ /tree/{{ release.version }} {% endif -%} {% else -%} [unreleased]: https://github.com/{{ remote.github.owner }}/{{ remote.github.repo }}\ /compare/{{ release.previous.version }}..HEAD {% endif -%} {% endfor %} """ trim = true [remote.github] owner = "datahearth" repo = "streamline" [git] # The mirror of cliff.toml's pattern: chart releases are chart-v*, and without # this the app's v* tags would slice the chart's history into app releases. tag_pattern = "^chart-v[0-9]+\\.[0-9]+\\.[0-9]+" conventional_commits = true filter_unconventional = false # Where this diverges from cliff.toml: a chart release is very often nothing # but chore commits — a values/template tidy-up, or renovate moving a subchart # pin. cliff.toml skips every chore, which for the chart would produce a # release section with a heading and nothing under it. The invocation is already # path-filtered to the chart, so any chore(deps) reaching this config touched # the chart by definition and is worth listing. commit_parsers = [ { message = "^\\s*$", skip = true }, # The bump commit is what the tag points at, so it lands inside its own # section — "helm: Chart v2.2.0" as the entry for release 2.2.0. { message = "^chore\\(helm\\): chart v[0-9]", skip = true }, { message = "^feat", group = "Added" }, { message = "^fix", group = "Fixed" }, { message = "^revert", group = "Removed" }, { message = "^chore\\(helm\\)", group = "Changed" }, { message = "^chore\\(deps\\)", group = "Changed" }, { message = "^docs", skip = true }, { message = "^test", skip = true }, { message = "^chore", skip = true }, { message = "^ci", skip = true }, { message = "^style", skip = true }, { message = "^.*", group = "Changed" }, ] filter_commits = false topo_order = false sort_commits = "oldest"