4 个版本 (重大更改)
0.4.0 | 2020 年 5 月 22 日 |
---|---|
0.3.0 | 2020 年 5 月 19 日 |
0.2.0 | 2020 年 5 月 17 日 |
0.1.1 | 2020 年 5 月 16 日 |
#31 in #release
98KB
2.5K SLoC
ccclog
从由 Conventional Commits 创建的提交消息生成变更日志。
示例
入门
- 从工作目录的最新标签创建变更日志
❯❯ ccclog
## [0.0.0] - 2020-05-16
### Feat
- [[6274215]] add essential feature (Wataru Matsui)
- [[e4cff17]] add init (Wataru Matsui)
[6274215]: https://github.com/watawuwu/ccclog/commit/62742151681860a5f9513510015035a8c0f6fdba
[e4cff17]: https://github.com/watawuwu/ccclog/commit/e4cff17b4c8b7103cea4e36eb34dd539937af4ba
- 其他用法
USAGE:
ccclog [FLAGS] [OPTIONS] [--] [ARGS]
FLAGS:
-e, --enable-email-link Make a link to the author using git config.email
-h, --help Prints help information
-r, --reverse Reverse commit display order
-V, --version Prints version information
OPTIONS:
-s, --ignore-summary <ignore-summary>
Ignore summary use regex. Syntax: https://docs.rs/regex/1.3.7/regex/#syntax
-t, --ignore-types <ignore-types>...
Ignore commit type. ex) feat|fix|build|doc|chore|ci|style|refactor|perf|test
-i, --root-indent-level <root-indent-level> Change markdown root subject indent [default: 2]
-p, --tag-prefix <tag-prefix> If there are multiple tag formats, specify the target prefix
ARGS:
<REPO_PATH> Working directory of git [default: .]
<REVISION_SPEC> Revision spec. Ref to https://git.js.cn/book/en/v2/Git-Tools-Revision-Selection
从 Github Action 使用
输入
repo_path
git 的工作目录。
revision_spec
修订规范。参考 https://git.js.cn/book/en/v2/Git-Tools-Revision-Selection
options
ccclog 命令选项。可以在命令行上指定的选项可以按原样指定(允许多个选项)。例如) --reverse --tag-prefix=prefix-v
输出
changelog
生成的变更日志
示例用法
name: Github Action Sample
on:
push:
tags:
- '*.*.*'
jobs:
create_github_release:
name: Create Github release
# If you use actions, use the platform that docker works
runs-on: ubuntu-latest
steps:
- name: Setup code
uses: actions/checkout@v2
with:
# Set the required number to create a changelog.
# If the history is small, it is recommended to specify 0 and acquire all history.
fetch-depth: 0
- name: Fetch all tags
# Get the tags to create history
# `actions/checkout@v2` has the --not-tags option
run: git fetch origin +refs/tags/*:refs/tags/*
- name: Create Changelog
id: create_changelog
uses: watawuwu/ccclog@gha-v0
# with:
# repo_path: "."
# revision_spec: "..HEAD"
# options: '--root-indent-level=3 --tag-prefix=component-v --ignore-summary=cargo\srelease.+'
# You can also exec the binary
# - name: Create Changelog
# id: create_changelog
# shell: bash -x {0}
# run: |
# mkdir bin && curl --tlsv1.2 -sSf https://raw.githubusercontent.com/watawuwu/ccclog/master/install.sh | sh -s -- --prefix ./
# changelog="$(bin/ccclog)"
# changelog="${changelog//$'\n'/'%0A'}"
# echo "::set-output name=changelog::$changelog"
- name: Create release
id: create_release
uses: actions/create-release@v1
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
with:
tag_name: ${{ github.ref }}
release_name: ${{ github.ref }}
draft: false
prerelease: false
# outputs.changelog parameter is available
body: ${{ steps.create_changelog.outputs.changelog }}
安装
- 直接安装二进制文件
❯❯ curl --tlsv1.2 -sSf https://raw.githubusercontent.com/watawuwu/ccclog/master/install.sh | sh
- 编译并安装
❯❯ git clone https://github.com/watawuwu/ccclog.git && cd ccclog
❯❯ make install
- 使用 cargo 安装
❯❯ cargo install ccclog
贡献
请阅读 CONTRIBUTING.md 了解我们的行为准则和向我们提交拉取请求的过程的详细信息。
版本控制
我们使用 SemVer 进行版本控制。
许可证
此项目受以下任一许可证的许可:
- Apache 许可证 2.0 版,(LICENSE-APACHE 或 http://www.apache.org/licenses/LICENSE-2.0)
- MIT 许可证 (LICENSE-MIT 或 http://opensource.org/licenses/MIT)
任选其一。
贡献
除非你明确声明,否则任何有意提交以包含在作品中的贡献,如 Apache-2.0 许可证中定义的,应如上所述双重许可,不附加任何额外条款或条件。
作者
- Wataru Matsui
依赖项
~23MB
~473K SLoC