通用命令行工具,自动完成版本号升级、Git 打标签、生成变更日志、发布 GitHub/GitLab Release 和 npm 包。
Songmu/tagpr
一个 GitHub Action,自动维护发布 PR(版本号与 CHANGELOG),合并后打 tag 并创建 GitHub Release。
- Star
- 336
- Fork
- 46
- 未关闭 Issue
- 19
- 最近提交
- 昨天
这是什么?
tagpr 是面向 GitHub 项目的发布自动化工具。它会在发布分支上持续维护一个发布 PR,提出下一个版本号,并更新版本文件和 CHANGELOG.md。PR 会跟随发布分支的新提交保持最新,直到维护者决定合并。
发布 PR 合并后,tagpr 会为发布分支的最新提交打上 tag,并可创建已发布或草稿状态的 GitHub Release。随后,这个 tag 可以触发项目自己的构建、打包或部署流程。版本号升级由 PR 标签决定,默认采用 SemVer,同时支持 CalVer、仅使用 tag 的发布方式、monorepo 的 tag 前缀,以及维护旧大版本的分支。
它以 GitHub Actions 工作流的形式运行,通过 Git 配置格式的 .tagpr 文件或 TAGPR_* 环境变量进行配置。
核心功能
- 01自动维护发布 PR,更新版本号和 CHANGELOG。
- 02发布分支有新提交时,PR 会自动跟进更新。
- 03合并后为发布提交打 tag,并可创建 GitHub Release。
- 04通过 PR 标签决定 SemVer 版本升级,也支持 CalVer 和仅使用 tag 的方式。
- 05支持 monorepo 的 tag 前缀以及旧大版本维护分支。
适用场景
- 为托管在 GitHub 上的 Go 或其他项目自动完成版本升级和 changelog 更新。
- 基于发布时创建的 tag 触发构建和发布流程。
- 在 monorepo 中为独立版本的包分别管理发布。
快速上手
- 1
在从 main 分支发布的仓库中添加 tagpr 工作流文件
- 2
在仓库设置中启用“允许 GitHub Actions 创建和批准拉取请求”
- 3
提交该工作流并推送到 main 分支
使用前须知
- 它只能在 GitHub Actions 中运行,并且需要对代码内容和拉取请求的写入权限。
- 使用 GITHUB_TOKEN 创建的标签不会触发单独的基于标签的工作流,除非使用 GitHub App 令牌。
收录于专题
标签
常见问题
- tagpr 是什么?
- 一个 GitHub Action,自动维护发布 PR(版本号与 CHANGELOG),合并后打 tag 并创建 GitHub Release。 tagpr 是面向 GitHub 项目的发布自动化工具。它会在发布分支上持续维护一个发布 PR,提出下一个版本号,并更新版本文件和 CHANGELOG.md。PR 会跟随发布分支的新提交保持最新,直到维护者决定合并。
- tagpr 可以免费使用吗?用的什么许可证?
- tagpr 以 MIT 许可证开源。用于商业产品前,请先确认许可证条款。
- tagpr 还在维护吗?
- 活跃维护中。tagpr 最近一次提交是在 2026年11月6日。
- tagpr 适合用来做什么?
- 为托管在 GitHub 上的 Go 或其他项目自动完成版本升级和 changelog 更新。 基于发布时创建的 tag 触发构建和发布流程。 在 monorepo 中为独立版本的包分别管理发布。
- tagpr 怎么安装和运行?
- 在从 main 分支发布的仓库中添加 tagpr 工作流文件 在仓库设置中启用“允许 GitHub Actions 创建和批准拉取请求” 提交该工作流并推送到 main 分支
- 在哪里获取 tagpr?
- 源代码和安装说明在 GitHub 上:https://github.com/Songmu/tagpr
概要由 AI 根据项目 README 生成;GitHub 数据每日更新。
相关项目
根据提交信息自动计算语义化版本号、生成变更日志并发布软件包,适用于 CI 流程。
面向 Go 项目的发布自动化工具,负责构建、打包并发布二进制文件到 GitHub 及各类包管理与镜像仓库。
用于在 GitHub Actions 中创建 GitHub Release 并上传构建产物的 Action,支持 Linux、Windows 和 macOS。
面向 monorepo 的版本号与变更日志管理 CLI,通过贡献者随改动提交的 changeset 文件完成发版。
一个用 Rust 编写的命令行工具,基于 Git 提交历史和 Conventional Commits 规范生成更新日志。