### **PR Type** Enhancement ___ ### **Description** - Add CI release workflows - create, update, publish workflows - Integrate git-cliff changelog automation - Introduce PR template guidelines - Remove outdated config files ___ ### Diagram Walkthrough ```mermaid flowchart LR PushMain["Push to main"] --> UpdateChangelog["ci_update_changelog"] UpdateChangelog --> ReleasePR["Release pull request"] ReleasePR --> CreateRelease["ci_create_release"] CreateRelease --> GitHubRelease["GitHub Release created"] GitHubRelease --> Deploy["ci_release deployment"] ``` <details> <summary><h3> File Walkthrough</h3></summary> <table><thead><tr><th></th><th align="left">Relevant files</th></tr></thead><tbody><tr><td><strong>Configuration changes</strong></td><td><details><summary>6 files</summary><table> <tr> <td><strong>CODEOWNERS</strong><dd><code>Remove outdated CODEOWNERS configurations</code> </dd></td> <td><a href="https://github.com/nhost/nhost/pull/3485/files#diff-3d36a1bf06148bc6ba1ce2ed3d19de32ea708d955fed212c0d27c536f0bd4da7">+0/-14</a> </td> </tr> <tr> <td><strong>action.yaml</strong><dd><code>Remove dependency install composite action</code> </dd></td> <td><a href="https://github.com/nhost/nhost/pull/3485/files#diff-342d59190b4737ee45e2062eb625ada477bcea5b4a843b25900ad55d7982f200">+0/-59</a> </td> </tr> <tr> <td><strong>ci_create_release.yaml</strong><dd><code>Create release workflow on PR merge</code> </dd></td> <td><a href="https://github.com/nhost/nhost/pull/3485/files#diff-9f32bd5671fcb04c5f1b35ea33677c4704302536e0c4ff9e06b514dc9b3d4f0c">+90/-0</a> </td> </tr> <tr> <td><strong>ci_release.yaml</strong><dd><code>Add post-release deployment workflow</code> </dd></td> <td><a href="https://github.com/nhost/nhost/pull/3485/files#diff-456777492a189272b53f8abd0ea4e8c333b25cf1673b8b109c0a1834d874bdb5">+64/-0</a> </td> </tr> <tr> <td><strong>ci_update_changelog.yaml</strong><dd><code>Add changelog update workflow on push</code> </dd></td> <td><a href="https://github.com/nhost/nhost/pull/3485/files#diff-399add8ac39ae1cd7ae2f4f8ceb89290f6f43e25b7b2c499da61dd68a5cf2f16">+90/-0</a> </td> </tr> <tr> <td><strong>cliff.toml</strong><dd><code>Add git-cliff configuration</code> </dd></td> <td><a href="https://github.com/nhost/nhost/pull/3485/files#diff-e1372c8b03c40942b5d828a90975054cb8aaed3b38189f434396f922ec41a584">+90/-0</a> </td> </tr> </table></details></td></tr><tr><td><strong>Documentation</strong></td><td><details><summary>1 files</summary><table> <tr> <td><strong>PULL_REQUEST_TEMPLATE.md</strong><dd><code>Add pull request template guidelines</code> </dd></td> <td><a href="https://github.com/nhost/nhost/pull/3485/files#diff-18813c86948efc57e661623d7ba48ff94325c9b5421ec9177f724922dd553a35">+39/-0</a> </td> </tr> </table></details></td></tr><tr><td><strong>Build config</strong></td><td><details><summary>2 files</summary><table> <tr> <td><strong>general.makefile</strong><dd><code>Include release makefile integration</code> </dd></td> <td><a href="https://github.com/nhost/nhost/pull/3485/files#diff-c9e82023881afc6d45e6190871a40f2d137adb43e368fc461560c74a50c15a5d">+2/-0</a> </td> </tr> <tr> <td><strong>release.makefile</strong><dd><code>Add git-cliff changelog targets</code> </dd></td> <td><a href="https://github.com/nhost/nhost/pull/3485/files#diff-119f857b7a496c134136ef627cb83ba58b87363125b483fe25524ab66820dcd2">+25/-0</a> </td> </tr> </table></details></td></tr><tr><td><strong>Additional files</strong></td><td><details><summary>3 files</summary><table> <tr> <td><strong>dashboard_changelog.yaml</strong></td> <td><a href="https://github.com/nhost/nhost/pull/3485/files#diff-f500aa853d257ead7ba7e28d92191a2d18ab32a43c6e121d1e64454513a9de14">+0/-39</a> </td> </tr> <tr> <td><strong>nhost-js_changelog.yaml</strong></td> <td><a href="https://github.com/nhost/nhost/pull/3485/files#diff-f89bdd0c84297962882877ff469844b0541e95cb6437c9247722704af02ca426">+0/-32</a> </td> </tr> <tr> <td><strong>wf_check_changelog.yaml</strong></td> <td><a href="https://github.com/nhost/nhost/pull/3485/files#diff-099ad6009f7d08d3b6534abe4abf8c8a75f6c3761d4117751fc35093affd7456">+0/-64</a> </td> </tr> </table></details></td></tr></tr></tbody></table> </details> ___
91 lines
3.7 KiB
TOML
91 lines
3.7 KiB
TOML
# git-cliff ~ configuration file
|
|
# https://git-cliff.org/docs/configuration
|
|
|
|
|
|
[changelog]
|
|
# A Tera template to be rendered for each release in the changelog.
|
|
# See 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 %}
|
|
"""
|
|
# Remove leading and trailing whitespaces from the changelog's body.
|
|
trim = true
|
|
# Render body even when there are no releases to process.
|
|
render_always = true
|
|
# An array of regex based postprocessors to modify the changelog.
|
|
postprocessors = [
|
|
# Replace the placeholder <REPO> with a URL.
|
|
#{ pattern = '<REPO>', replace = "https://github.com/orhun/git-cliff" },
|
|
]
|
|
# render body even when there are no releases to process
|
|
# render_always = true
|
|
# output file path
|
|
# output = "test.md"
|
|
|
|
[git]
|
|
# Parse commits according to the conventional commits specification.
|
|
# See https://www.conventionalcommits.org
|
|
conventional_commits = true
|
|
# Exclude commits that do not match the conventional commits specification.
|
|
filter_unconventional = false
|
|
# Require all commits to be conventional.
|
|
# Takes precedence over filter_unconventional.
|
|
require_conventional = false
|
|
# Split commits on newlines, treating each line as an individual commit.
|
|
split_commits = false
|
|
# An array of regex based parsers to modify commit messages prior to further processing.
|
|
commit_preprocessors = [
|
|
{ pattern = '^(\w+)\W*(\(\w+\))', replace = '${1}${2}' },
|
|
]
|
|
# Prevent commits that are breaking from being excluded by commit parsers.
|
|
protect_breaking_commits = false
|
|
# An array of regex based parsers for extracting data from the commit message.
|
|
# Assigns commits to groups.
|
|
# Optionally sets the commit's scope and can decide to exclude commits from further processing.
|
|
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 = "^release", skip = true },
|
|
{ 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" },
|
|
{ message = ".*", group = "<!-- 10 -->💼 Other" },
|
|
]
|
|
# Exclude commits that are not matched by any commit parser.
|
|
filter_commits = false
|
|
# An array of link parsers for extracting external references, and turning them into URLs, using regex.
|
|
link_parsers = []
|
|
# Include only the tags that belong to the current branch.
|
|
use_branch_tags = false
|
|
# Order releases topologically instead of chronologically.
|
|
topo_order = false
|
|
# Order releases topologically instead of chronologically.
|
|
topo_order_commits = true
|
|
# Order of commits in each group/release within the changelog.
|
|
# Allowed values: newest, oldest
|
|
sort_commits = "oldest"
|
|
# Process submodules commits
|
|
recurse_submodules = false
|