lunatic-solutions / lunatic

Lunatic is an Erlang-inspired runtime for WebAssembly
https://lunatic.solutions
Apache License 2.0
4.57k stars 136 forks source link

Conventional commits changelog #200

Closed tqwewe closed 1 year ago

tqwewe commented 1 year ago

Changelog generation

The changelog is updated using the git-cliff cli, which generates the changelog file from the Git history by utilizing conventional commits.

The changelog template is defined in Cargo.toml under [workspace.metadata.git-cliff.*].

Updating the CHANGELOG.md file can be achieved with the following command:

git cliff --config ./Cargo.toml --latest --prepend ./CHANGELOG.md

The commit types are as follows:

For more information, see the git-cliff usage documentation.


Note, the current commits don't follow the conventional commits spec, so the next changelog will likely have to be done manually still. But after the next tag is released, if we stick to conventional commit messages, future changelogs can be generated and prepended to the CHANGELOG.md file as described in the command above.

Contributors are not required to adhere to the conventional commit spec, but if we merge any PRs, we should consolidate the commits into a single conventional commit message.

I could add CI integration for generating the changelog, though I'm not sure if its preferred we run the command manually upon creating a new release.