Skip to content

Commit 5c5d349

Browse files
committed
added chanelog genreator
1 parent e1d7507 commit 5c5d349

File tree

4 files changed

+113
-0
lines changed

4 files changed

+113
-0
lines changed

.github/workflows/chanelog.yaml

Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,22 @@
1+
name: generate changelog
2+
3+
on: [push]
4+
5+
jobs:
6+
changelog:
7+
name: Generate changelog
8+
runs-on: ubuntu-latest
9+
steps:
10+
- name: Checkout
11+
uses: actions/checkout@v2
12+
with:
13+
fetch-depth: 0
14+
15+
- name: Generate a changelog
16+
uses: orhun/git-cliff-action@v1
17+
id: git-cliff
18+
with:
19+
config: cliff.toml
20+
args: --verbose
21+
env:
22+
OUTPUT: CHANGELOG.md

.github/workflows/release_all.yaml

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,5 @@
1+
name: release all to crates.io
2+
13
on:
24
release:
35
types: [published, released, prereleased]

CHANGELOG.md

Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,23 @@
1+
# Changelog
2+
3+
All notable changes to this project will be documented in this file.
4+
5+
## [1.0.0] - 2022-09-19
6+
7+
### Cli/tui
8+
9+
- Input still needs to be fine tuned/refactored the main body now has up and down scrolling
10+
11+
### Gui
12+
13+
- Removed title bar just using native one moved color theme to status bar
14+
- Now using logger instead of println!()s
15+
16+
### Tui
17+
18+
- Text input is now seamless + has scrolling
19+
- Added threading for ruinning commands
20+
- Finished search part just need to do filter and change files/commits in viewer
21+
- Started working on way to change where in whic commit/file your in
22+
- Edit mode via shift : or : for maximux um campitiblity
23+
- Filters are done and dates should work

cliff.toml

Lines changed: 66 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,66 @@
1+
# configuration file for git-cliff (0.1.0)
2+
3+
[changelog]
4+
# changelog header
5+
header = """
6+
# Changelog\n
7+
All notable changes to this project will be documented in this file.\n
8+
"""
9+
# template for the changelog body
10+
# https://tera.netlify.app/docs/#introduction
11+
body = """
12+
{% if version %}\
13+
## [{{ version | trim_start_matches(pat="v") }}] - {{ timestamp | date(format="%Y-%m-%d") }}
14+
{% else %}\
15+
## [unreleased]
16+
{% endif %}\
17+
{% for group, commits in commits | group_by(attribute="group") %}
18+
### {{ group | upper_first }}
19+
{% for commit in commits %}
20+
- {% if commit.breaking %}[**breaking**] {% endif %}{{ commit.message | upper_first }}\
21+
{% endfor %}
22+
{% endfor %}\n
23+
"""
24+
# remove the leading and trailing whitespace from the template
25+
trim = true
26+
# changelog footer
27+
footer = """
28+
<!-- generated by git-cliff -->
29+
"""
30+
31+
[git]
32+
# parse the commits based on https://www.conventionalcommits.org
33+
conventional_commits = true
34+
# filter out the commits that are not conventional
35+
filter_unconventional = true
36+
# process each line of a commit as an individual commit
37+
split_commits = false
38+
# regex for preprocessing the commit messages
39+
commit_preprocessors = [
40+
{ pattern = '\((\w+\s)?#([0-9]+)\)', replace = "([#${2}](https://github.com/orhun/git-cliff/issues/${2}))"},
41+
]
42+
# regex for parsing and grouping commits
43+
commit_parsers = [
44+
{ message = "^feat", group = "Features"},
45+
{ message = "^fix", group = "Bug Fixes"},
46+
{ message = "^doc", group = "Documentation"},
47+
{ message = "^perf", group = "Performance"},
48+
{ message = "^refactor", group = "Refactor"},
49+
{ message = "^style", group = "Styling"},
50+
{ message = "^test", group = "Testing"},
51+
{ message = "^chore\\(release\\): prepare for", skip = true},
52+
{ message = "^chore", group = "Miscellaneous Tasks"},
53+
{ body = ".*security", group = "Security"},
54+
]
55+
# filter out the commits that are not matched by commit parsers
56+
filter_commits = false
57+
# glob pattern for matching git tags
58+
tag_pattern = "v[0-9]*"
59+
# regex for skipping tags
60+
skip_tags = "v0.1.0-beta.1"
61+
# regex for ignoring tags
62+
ignore_tags = ""
63+
# sort the tags chronologically
64+
date_order = false
65+
# sort the commits inside sections by oldest/newest order
66+
sort_commits = "oldest"

0 commit comments

Comments
 (0)