chore: Add git cliff for auto generated changelog
This commit is contained in:
		
							parent
							
								
									fce339d8c5
								
							
						
					
					
						commit
						01bc01979e
					
				| 
						 | 
					@ -0,0 +1,17 @@
 | 
				
			||||||
 | 
					# Changelog
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					All notable changes to this project will be documented in this file.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					## [1.1.3] - 2024-03-08
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					### 🐛 Bug Fixes
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					- Create endpoint make utility to build endpoints
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					## [1.0.3] - 2024-03-07
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					### 🐛 Bug Fixes
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					- Use urlencoded body for get token request
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					<!-- generated by git-cliff -->
 | 
				
			||||||
| 
						 | 
					@ -0,0 +1,89 @@
 | 
				
			||||||
 | 
					# 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
 | 
				
			||||||
 | 
					All notable changes to this project will be documented in this file.\n
 | 
				
			||||||
 | 
					"""
 | 
				
			||||||
 | 
					# template for the changelog body
 | 
				
			||||||
 | 
					# 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 %}\n
 | 
				
			||||||
 | 
					"""
 | 
				
			||||||
 | 
					# template for the changelog footer
 | 
				
			||||||
 | 
					footer = """
 | 
				
			||||||
 | 
					<!-- generated by git-cliff -->
 | 
				
			||||||
 | 
					"""
 | 
				
			||||||
 | 
					# remove the leading and trailing s
 | 
				
			||||||
 | 
					trim = true
 | 
				
			||||||
 | 
					# postprocessors
 | 
				
			||||||
 | 
					postprocessors = [
 | 
				
			||||||
 | 
					  # { pattern = '<REPO>', replace = "https://github.com/orhun/git-cliff" }, # replace repository URL
 | 
				
			||||||
 | 
					]
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					[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 = [
 | 
				
			||||||
 | 
					  # Replace issue numbers
 | 
				
			||||||
 | 
					  #{ pattern = '\((\w+\s)?#([0-9]+)\)', replace = "([#${2}](<REPO>/issues/${2}))"},
 | 
				
			||||||
 | 
					  # Check spelling of the commit with https://github.com/crate-ci/typos
 | 
				
			||||||
 | 
					  # If the spelling is incorrect, it will be automatically fixed.
 | 
				
			||||||
 | 
					  #{ pattern = '.*', replace_command = 'typos --write-changes -' },
 | 
				
			||||||
 | 
					]
 | 
				
			||||||
 | 
					# regex for parsing and grouping commits
 | 
				
			||||||
 | 
					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 = "^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" },
 | 
				
			||||||
 | 
					]
 | 
				
			||||||
 | 
					# protect breaking changes from being skipped due to matching a skipping commit_parser
 | 
				
			||||||
 | 
					protect_breaking_commits = false
 | 
				
			||||||
 | 
					# filter out the commits that are not matched by commit parsers
 | 
				
			||||||
 | 
					filter_commits = false
 | 
				
			||||||
 | 
					# regex for matching git tags
 | 
				
			||||||
 | 
					# tag_pattern = "v[0-9].*"
 | 
				
			||||||
 | 
					# regex for skipping tags
 | 
				
			||||||
 | 
					# skip_tags = ""
 | 
				
			||||||
 | 
					# regex for ignoring tags
 | 
				
			||||||
 | 
					# ignore_tags = ""
 | 
				
			||||||
 | 
					# sort the tags topologically
 | 
				
			||||||
 | 
					topo_order = false
 | 
				
			||||||
 | 
					# sort the commits inside sections by oldest/newest order
 | 
				
			||||||
 | 
					sort_commits = "oldest"
 | 
				
			||||||
 | 
					# limit the number of commits included in the changelog.
 | 
				
			||||||
 | 
					# limit_commits = 42
 | 
				
			||||||
| 
						 | 
					@ -10,6 +10,7 @@
 | 
				
			||||||
  # https://devenv.sh/packages/
 | 
					  # https://devenv.sh/packages/
 | 
				
			||||||
  packages = with pkgs; [
 | 
					  packages = with pkgs; [
 | 
				
			||||||
    git
 | 
					    git
 | 
				
			||||||
 | 
					    git-cliff
 | 
				
			||||||
    twitch-cli
 | 
					    twitch-cli
 | 
				
			||||||
  ];
 | 
					  ];
 | 
				
			||||||
 | 
					
 | 
				
			||||||
| 
						 | 
					@ -20,6 +21,8 @@
 | 
				
			||||||
      echo "Golang version: $(go version | cut -d ' ' -f 3)"
 | 
					      echo "Golang version: $(go version | cut -d ' ' -f 3)"
 | 
				
			||||||
    '';
 | 
					    '';
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    changelog.exec = "git cliff -o CHANGELOG.md";
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    gen-mock-data.exec = "twitch-cli mock-api generate";
 | 
					    gen-mock-data.exec = "twitch-cli mock-api generate";
 | 
				
			||||||
    rm-mock-data.exec = "rm $MOCK_DATA_PATH";
 | 
					    rm-mock-data.exec = "rm $MOCK_DATA_PATH";
 | 
				
			||||||
    start-mock-api.exec = "twitch-cli mock-api start -p $MOCK_API_PORT";
 | 
					    start-mock-api.exec = "twitch-cli mock-api start -p $MOCK_API_PORT";
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
		Loading…
	
		Reference in New Issue