#changelog #version #merge #pre-release #stable #combine #beta

app rclog

一个将预发布版本的变更日志合并到更稳定版本并提取特定版本信息的工具

9个发布版本

0.1.3 2024年2月2日
0.1.3-alpha.12024年1月18日
0.1.2 2024年1月8日
0.1.1 2024年1月8日
0.1.1-alpha.12024年1月4日

#2#pre-release

每月 21 次下载

自定义许可协议

14KB
282

Ribir Changelog

Ribir Changelog是一个将预发布版本的变更日志合并到更稳定版本并提取特定版本信息的工具。

该工具帮助Ribir变更日志管理完成两项主要任务

  1. 它自动将多个预发布版本的变更日志合并到下一个版本中。例如,它可以合并所有alpha版本的变更日志到beta版本,并将所有beta版本的变更日志合并到稳定版本中。
  2. 它可以提取特定版本的详细信息,以帮助创建该版本的发布说明。

重要

该工具与Markdown格式的变更日志一起工作。它期望每个版本都是一个二级标题。如果您使用的是keepachangelog格式的变更日志,则该工具将完美工作。

安装

cargo install rclog

如何使用

从特定版本中提取变更日志

rclog -t 0.1.0 -p ./CHANGELOG.md extract

将所有预发布版本合并到更稳定的版本中

rclog -t 0.1.0 -p ./CHANGELOG.md merge

运行 rclog --help 获取更多信息。

在GitHub Action中使用

该项目还提供了一个可重用的GitHub工作流程,以帮助GitHub中的Rust项目发布版本。请参阅release-version.yml了解其工作原理。

要将新版本发布到crates.io,您需要在您的仓库中设置您的crates.io发布密钥。此操作将使用${{ secrets.CRATE_RELEASE_TOKEN }}来访问令牌。

要将发布提交和标签推送到您的仓库,您需要在您的仓库中设置您的部署密钥。此操作将使用${{ secrets.DEPLOY_KEY }}来访问密钥。

此工作流程基于cargo-releaserclog

如果您想将所有预发布版本的变更日志合并到发布版本中,您需要在项目的 Cargo.tomlrelease.toml 中为 cargo-release 配置 pre-release-hook,内容如下

pre-release-hook = ["./rclog_hook.sh"]

并且 rclog_hook.sh 应该像这样

#!/bin/bash

if [ "$MERGE_CHANGELOG" = true ]; then
  echo "$(rclog -t $NEW_VERSION -p ./CHANGELOG.md merge)" >| ./CHANGELOG.md
fi

依赖项

约 9MB
约 175K SLoC