feat(build): setup git-cliff

This commit is contained in:
Harsh Shandilya 2023-10-24 17:30:59 +05:30
parent 8d0e785f12
commit 89eeab87eb
No known key found for this signature in database
3 changed files with 398 additions and 0 deletions

311
CHANGELOG.md Normal file
View File

@ -0,0 +1,311 @@
# Changelog
All notable changes to this project will be documented in this file.
## [unreleased]
### Bug Fixes
- Update rust crate clap to 4.4.0
- Update serde to 1.0.187
- Update serde to 1.0.188
- Update rust crate clap to 4.4.1
- Update rust crate clap to 4.4.2
- Update rust crate walkdir to 2.4.0
- Update rust crate toml to 0.7.7
- Update rust crate toml to 0.7.8
- Update rust crate gix to 0.53.1
- Update rust crate clap to 4.4.3
- Update rust crate toml to 0.8.0
- Update rust crate clap to 4.4.4
- Update rust crate gix to 0.54.0
- Update rust crate gix to 0.54.1
- Update rust crate clap to 4.4.5
- Update rust crate toml to 0.8.1
- Update rust crate clap to 4.4.6
- Update rust crate toml to 0.8.2
- Update rust crate gix to 0.55.1
- Update serde monorepo to 1.0.189
- Update rust crate gix to 0.55.2
- Update rust crate tracing to 0.1.39
- Update rust crate tracing to 0.1.40
- Drop now-removed crane inputs
- Update rust crate toml to 0.8.4
### Features
- Upgrade to latest nightly
### Miscellaneous Tasks
- Update Garnix badges
## [2.0.3] - 2023-08-24
### Bug Fixes
- Switch flake-compat to nix-community fork
- Adjust flake-compat URL
- Update rust crate clap to 4.3.8
- Update rust crate toml to 0.7.5
- Update rust crate gix to 0.47.0
- Update rust crate clap to 4.3.9
- Update rust crate gix to 0.48.0
- Update rust crate clap to 4.3.10
- Update serde to 1.0.165
- Update serde to 1.0.166
- Update rust crate clap to 4.3.11
- Update rust crate toml to 0.7.6
- Update serde to 1.0.167
- Bump to nightly-2023-07-08
- Update serde to 1.0.169
- Update serde to 1.0.170
- Update serde to 1.0.171
- Update rust crate clap to 4.3.12
- Update rust crate anyhow to 1.0.72
- Update rust crate clap to 4.3.14
- Update rust crate clap to 4.3.15
- Update rust crate clap to 4.3.16
- Update rust crate gix to 0.49.1
- Update rust crate clap to 4.3.17
- Update serde to 1.0.173
- Update serde to 1.0.174
- Update rust crate clap to 4.3.18
- Update rust crate gix to 0.50.0
- Update rust crate clap to 4.3.19
- Update serde to 1.0.175
- Update rust crate gix to 0.50.1
- Update serde to 1.0.176
- Update serde to 1.0.177
- Update serde to 1.0.178
- Update serde to 1.0.179
- Update serde to 1.0.180
- Update rust crate gix to 0.51.0
- Update serde to 1.0.181
- Update serde to 1.0.182
- Update serde to 1.0.183
- Update rust crate clap to 4.3.21
- Update rust crate anyhow to 1.0.73
- Update rust crate anyhow to 1.0.74
- Update rust crate anyhow to 1.0.75
- Update rust crate clap to 4.3.22
- Update rust crate clap to 4.3.23
- Update serde to 1.0.185
- Update rust crate gix to 0.52.0
- Update rust crate clap to 4.3.24
- Update serde to 1.0.186
- Use cargo-dist pre-release build
### Features
- Adopt nix-systems for flake systems
- Use numtide/devshell for Flake devShell
- Upgrade cargo-dist setup to 0.2.0-prerelease.5
### Miscellaneous Tasks
- Reformat TOML files with Taplo
- Bump gitice to version 2.0.3
## [2.0.2] - 2023-06-19
### Bug Fixes
- Update serde to 1.0.163
- Use tracing consistently
- Replace `pub(crate)` with `pub`
- Update rust crate toml to 0.7.4
- Update rust crate clap to 4.3.0 (#28)
- Update rust crate clap to 4.3.1
- Update rust crate clap to 4.3.2
- Update rust crate gix to 0.45.1
- Update serde to 1.0.164
- Update rust crate clap to 4.3.3
- Update rust crate gix to 0.46.0
- Consistently use inline format args
- Update rust crate clap to 4.3.4
- Allow serde and serde_derive to compile in parallel
### Features
- Switch to provisioning toolchains using fenix
- Bump Rust nightly
### Miscellaneous Tasks
- Update dependencies
- Fix toolchain binding name
- Bump gitice to version 2.0.2
## [2.0.1] - 2023-05-11
### Bug Fixes
- Allow crate to be published
### Miscellaneous Tasks
- Bump gitice to version 2.0.1
## [2.0.0] - 2023-05-11
### Bug Fixes
- Resolve clippy warnings
- Run rustfmt
- Update Rust crate serde to 1.0.137
- Update Rust crate anyhow to 1.0.58
- Update Rust crate git2 to 0.14.4
- Update Rust crate serde_derive to 1.0.137
- Update Rust crate toml to 0.5.9
- Update Rust crate clap to 3.2.6
- Update rust crate clap to 3.2.7
- Update rust crate clap to 3.2.8
- Update rust crate serde to 1.0.138
- Update rust crate serde_derive to 1.0.138
- Update serde to 1.0.139
- Update rust crate clap to 3.2.10
- Update rust crate clap to 3.2.11
- Update rust crate clap to 3.2.12
- Update rust crate clap to 3.2.13
- Update serde to 1.0.140
- Update rust crate clap to 3.2.14
- Update rust crate clap to 3.2.15
- Update rust crate git2 to 0.15.0
- Update rust crate clap to 3.2.16
- Update rust crate anyhow to 1.0.59
- Update serde to 1.0.141
- Update rust crate anyhow to 1.0.60
- Update serde to 1.0.142
- Update serde to 1.0.143
- Update rust crate anyhow to 1.0.61
- Update rust crate clap to 3.2.17
- Update rust crate anyhow to 1.0.62
- Update serde to 1.0.144
- Update rust crate clap to 3.2.18
- Update rust crate clap to 3.2.19
- Allow Unicode-DFS-2016 license for unicode-ident
- Update rust crate anyhow to 1.0.63
- Update rust crate clap to 3.2.20
- Update rust crate anyhow to 1.0.64
- Update rust crate clap to 3.2.21
- Update rust crate anyhow to 1.0.65
- Update rust crate clap to 3.2.22
- Update serde to 1.0.145
- Update rust crate clap to v4
- Update rust crate clap to 4.0.4
- Update rust crate clap to 4.0.6
- Update rust crate clap to 4.0.7
- Update rust crate clap to 4.0.8
- Update rust crate clap to 4.0.9
- Update rust crate clap to 4.0.10
- Update rust crate clap to 4.0.11
- Update rust crate clap to 4.0.12
- Update rust crate clap to 4.0.13
- Update rust crate clap to 4.0.14
- Update rust crate clap to 4.0.15
- Update rust crate clap to 4.0.16
- Update rust crate clap to 4.0.17
- Update rust crate anyhow to 1.0.66
- Update rust crate clap to 4.0.18
- Update serde to 1.0.146
- Update serde to 1.0.147
- Resolve Clippy warnings
- Update rust crate clap to 4.0.19
- Update rust crate clap to 4.0.22
- Update rust crate clap to 4.0.23
- Update rust crate clap to 4.0.24
- Update rust crate clap to 4.0.25
- Update rust crate clap to 4.0.26
- Update rust crate clap to 4.0.27
- Update rust crate clap to 4.0.28
- Update serde to 1.0.148
- Update rust crate clap to 4.0.29
- Update serde to 1.0.149
- Update serde to 1.0.150
- Update rust crate toml to 0.5.10
- Update serde to 1.0.151
- Update rust crate anyhow to 1.0.68
- Update rust crate clap to 4.0.30
- Update rust crate clap to 4.0.32
- Update serde to 1.0.152
- Update rust crate git2 to 0.16.0
- Update rust crate clap to 4.1.0
- Update rust crate clap to 4.1.1
- Update rust crate toml to 0.5.11
- Update rust crate git2 to 0.16.1
- Update rust crate clap to 4.1.3
- Update rust crate toml to 0.6.0
- Update rust crate clap to 4.1.4
- Update rust crate toml to 0.7.0
- Update rust crate toml to 0.7.1
- Update rust crate anyhow to 1.0.69
- Update rust crate toml to 0.7.2
- Update rust crate clap to 4.1.6 (#26)
- Update rust crate clap to 4.1.7
- Update rust crate clap to 4.1.8
- Update serde to 1.0.153
- Update serde to 1.0.154
- Update serde to 1.0.155
- Update rust crate toml to 0.7.3
- Update serde to 1.0.156
- Update rust crate walkdir to 2.3.3
- Update rust crate clap to 4.1.9
- Update rust crate anyhow to 1.0.70
- Update rust crate clap to 4.1.11
- Update serde to 1.0.157
- Update serde to 1.0.158
- Update rust crate clap to 4.1.12
- Update rust crate clap to 4.1.13
- Update rust crate clap to 4.1.14
- Update serde to 1.0.159
- Update rust crate clap to 4.2.0
- Update rust crate clap to 4.2.1
- Update rust crate git2 to 0.17.0
- Update serde to 1.0.160
- Update rust crate clap to 4.2.2
- Update rust crate git2 to 0.17.1
- Update rust crate clap to 4.2.3
- Update rust crate clap to 4.2.4
- Update rust crate clap to 4.2.5
- Update rust crate anyhow to 1.0.71
- Update rust crate clap to 4.2.7
- Update serde to 1.0.162
- Set `CARGO_REGISTRIES_CRATES_IO_PROTOCOL`
- Remove unused native deps
### Features
- Sync Nix config with dotfiles
- Update dependencies
- Migrate to Nix Flakes
- Add GHA workflow for updating flake.lock every weekend
- Set up tracing
- Switch to gitoxide for freeze command
- Set up for GitHub releases
### Miscellaneous Tasks
- Add serde dependencies
- Update dependencies
- Bump dependencies
- Update all dependencies
- Upgrade all dependencies
- Switch to vendored -sys dependencies and upgrade
- Upgrade dependencies
- Update dependencies
- Migrate to Garnix
- Bump flake inputs
- Reformat Nix files with `alejandra`
- Add Alejandra reformat to blame ignore revs
- Bump flake inputs
- Bump to crane 0.12.0
- Add nix-ide VSCode config
- Remove cargo-deny config
- Bump gitice to version 2.0.0
### Refactor
- Use filtered source and extract args
<!-- generated by git-cliff -->

86
cliff.toml Normal file
View File

@ -0,0 +1,86 @@
# 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 | 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 = """
<!-- generated by git-cliff -->
"""
# 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 = [
# { pattern = '\((\w+\s)?#([0-9]+)\)', replace = "([#${2}](<REPO>/issues/${2}))"}, # replace issue numbers
]
# regex for parsing and grouping commits
commit_parsers = [
{ message = "^feat", group = "Features" },
{ message = "^fix", group = "Bug Fixes" },
{ message = "^doc", group = "Documentation" },
{ message = "^perf", group = "Performance" },
{ message = "^refactor", group = "Refactor" },
{ message = "^style", group = "Styling" },
{ message = "^test", group = "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 = "Miscellaneous Tasks" },
{ body = ".*security", group = "Security" },
{ message = "^revert", group = "Revert" },
# automated flake.lock bumps
{ message = "^flake\\.lock", skip = true },
# past crimes
{ message = "^(all|cargo|cli|github|nix|renovate|rust|search|src|subcommands)", skip = true },
]
# 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
# 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/newest order
sort_commits = "oldest"
# limit the number of commits included in the changelog.
# limit_commits = 42

View File

@ -97,6 +97,7 @@
cargo-dist-unstable
cargo-nextest
cargo-release
git-cliff
rustNightly
];
};