Crates.io | rclog |
lib.rs | rclog |
version | 0.1.3 |
source | src |
created_at | 2024-01-04 07:07:19.757748 |
updated_at | 2024-02-02 16:18:54.16324 |
description | A tool that combines changelogs of pre-release versions into the more stable version and pulls out information for a specific version. |
homepage | https://github.com/RibirX/rclog |
repository | https://github.com/RibirX/rclog |
max_upload_size | |
id | 1088226 |
size | 35,255 |
Ribir Changelog is a tool that combines changelogs of pre-release versions into the more stable version and pulls out information for a specific version.
This tool helps with two main tasks for Ribir changelog management:
This tool works with changelogs in markdown format. It expects each version to be a second-level heading. If you're using the keepachangelog format for your changelog, this tool will work perfectly.
cargo install rclog
To pull out the changelog from a specific version:
rclog -t 0.1.0 -p ./CHANGELOG.md extract
To merge all pre-release versions into the more stable version:
rclog -t 0.1.0 -p ./CHANGELOG.md merge
Run rclog --help
for more information.
This project also provides a reusable GitHub workflow to help the Rust project in Github to release the version. See release-version.yml to see how it works.
To publish a new version to crates.io you need to set your publish secret token of crates.io
in your repository. This action will use ${{ secrets.CRATE_RELEASE_TOKEN }}
to access the token.
To push the release commit and tag to your repository, you need to set your deploy key in your repository. This action will use ${{ secrets.DEPLOY_KEY }}
to access the key.
This workflow is based on cargo-release and rclog
.
If you want to merge changelogs from all pre-release versions into the release version, you need to configure pre-release-hook
for cargo-release
in your project's Cargo.toml
or release.toml
with this content:
pre-release-hook = ["./rclog_hook.sh"]
And the rclog_hook.sh
should be like this:
#!/bin/bash
if [ "$MERGE_CHANGELOG" = true ]; then
echo "$(rclog -t $NEW_VERSION -p ./CHANGELOG.md merge)" >| ./CHANGELOG.md
fi