Conventional Release Labels 项目使用教程
1. 项目介绍
Conventional Release Labels
是一个 GitHub Action,用于根据 Conventional Commits 规范自动为 Pull Request 添加标签。这些标签可以与 GitHub 的自动生成发布说明功能结合使用,帮助团队更好地管理和分类代码变更。
该项目的主要功能包括:
- 自动根据提交类型(如
feat
、fix
、breaking
等)为 Pull Request 添加标签。 - 支持自定义标签映射和忽略某些提交类型。
- 与 GitHub 的自动发布说明功能无缝集成。
2. 项目快速启动
2.1 安装与配置
首先,在你的 GitHub 仓库中创建一个新的 GitHub Actions 工作流文件,例如 github/workflows/conventional-label.yaml
。
# 警告:不要在 pull_request_target 事件中检出不受信任的代码
on:
pull_request_target:
types: [opened, edited]
name: conventional-release-labels
jobs:
label:
runs-on: ubuntu-latest
steps:
- uses: bcoe/conventional-release-labels@v1
2.2 配置发布说明
接下来,创建一个 github/release.yaml
文件,配置发布说明的分类和标签。
changelog:
exclude:
labels:
- ignore-for-release
authors:
- octocat
categories:
- title: Breaking Changes 🛠
labels:
- breaking
- title: Exciting New Features 🎉
labels:
- feature
- title: Fixes 🔧
labels:
- fix
- title: Other Changes
labels:
- "*"
3. 应用案例和最佳实践
3.1 自动化发布流程
通过使用 Conventional Release Labels
,团队可以自动化发布流程,减少手动操作的错误和时间成本。每次 Pull Request 提交时,系统会自动根据提交类型添加相应的标签,这些标签可以用于生成发布说明。
3.2 提高代码审查效率
自动添加标签可以帮助团队成员快速了解 Pull Request 的变更类型,从而提高代码审查的效率。例如,breaking
标签可以帮助审查者快速识别可能影响现有功能的重大变更。
4. 典型生态项目
4.1 release-please-action
release-please-action
是一个与 Conventional Release Labels
配合使用的工具,可以实现完全自动化的发布流程。它可以根据 Conventional Commits 规范自动生成发布说明,并触发发布流程。
4.2 semantic-release
semantic-release
是另一个流行的自动化发布工具,支持根据 Conventional Commits 规范自动生成版本号和发布说明。它可以与 Conventional Release Labels
结合使用,进一步提升发布流程的自动化程度。
通过以上步骤和工具的结合使用,团队可以实现高效、自动化的代码发布流程,提升开发效率和代码质量。