tagpr is a custom GitHub Action that prepares release contents in a pull request, then uses the resulting version tag as the starting point for the project-specific release flow.
It creates a release pull request that collects unreleased changes, then automatically tags the merge commit when that pull request is merged. By default, it also creates a GitHub Release and generates a changelog.
Automating the preparation before tagging keeps release contents visible and reviewable. Automating the required release-time changes also reduces manual work, dependence on individual maintainers, and mistakes.
- Getting started explains the complete path from adding the workflow to merging the first release pull request.
- Adopting tagpr in an existing project explains how to introduce tagpr to an existing project.
- Release flow and design explains the lifecycle of the release pull request and the reasoning behind it.
- Versioning and label rules explains SemVer proposals, custom labels, version-file precedence, and CalVer behavior.
- Changelog and GitHub Releases explains how tagpr
uses GitHub's generated release notes and
.github/release.yml. - Release preparation commands explains how to automate project-specific file changes before release.
- Tagging and release explains how the tag starts build, packaging, publishing, deployment, and other project-specific release steps.
- Coordinating Immutable Releases explains how to attach assets before publication by coordinating tagpr with a later release workflow.
- Configuration index groups the available settings by purpose and links to the complete reference.
- Release pull request templates documents title and body customization.
| Goal | Documentation |
|---|---|
| Install tagpr | Getting started |
| Adopt tagpr in an existing project | Adoption guide |
| Release without a version file | Tag-only releases |
| Select a major or minor version | Versioning and label rules |
| Use Calendar Versioning | Configuration index |
| Release projects in a monorepo | Configuration index |
| Customize changelog categories | Changelog and GitHub Releases |
| Customize the release pull request | Release pull request templates |
| Run project-specific release changes | Release preparation commands |
| Run the release in the same workflow | Tagging and release |
| Trigger a separate release workflow | Tagging and release |
| Publish assets with immutable releases | Coordinating Immutable Releases |
| Reuse a tagpr draft with GoReleaser | Coordinating Immutable Releases |
| Diagnose a setup problem | README troubleshooting |
The complete configuration, GitHub Action inputs, outputs, environment variables, and GitHub Enterprise instructions currently remain in the README. They will stay there until equivalent standalone reference pages are complete, so no documentation is lost during the transition to a documentation site.
