googleapis/release-please-action
Automate versioning and releases from conventional commits via a maintained release PR.
What it does
googleapis/release-please-action parses conventional commits on your branch and maintains a release pull request with the version bump and CHANGELOG. Merging that PR creates the tag and GitHub release.
It keeps release state in the PR itself, so the release is always reviewable before it happens.
Usage
workflow (.yml)
on:
push:
branches: [main]
permissions:
contents: write
pull-requests: write
steps:
- uses: googleapis/release-please-action@v5
with:
release-type: nodeInputs
| Input | Description | Default | Required |
|---|---|---|---|
token | GitHub token for creating and grooming release PRs. | ${{ github.token }} | No |
release-type | Release type, one of (ruby, python, node, terraform-module). | - | No |
path | Create a release from a path other than the repository's root. | - | No |
target-branch | Branch to open the release PR against (detected by default). | - | No |
config-file | Location of the release-please config file in the project. | - | No |
manifest-file | Location of the release-please manifest file in the project. | - | No |
skip-github-release | If true, do not try to tag releases. | false | No |
skip-github-pull-request | If true, do not try to open pull requests. | false | No |
Notes
Releases created with the default GITHUB_TOKEN do not trigger other workflows (like a publish-on-release workflow). Use a GitHub App token or PAT as token if you need that chain.
For monorepos, switch to manifest mode with config-file and manifest-file instead of a single release-type.
Common errors
GitHub Actions is not permitted to create or approve pull requestsmeans the org/repo setting "Allow GitHub Actions to create and approve pull requests" is disabled. Enable it or pass a PAT/App token.Resource not accessible by integrationmeans the job is missingcontents: writeorpull-requests: write.
Security and pinning
- Prefer the default
GITHUB_TOKENwithcontents: writeandpull-requests: writeover a broad PAT; only escalate to an App token when downstream workflow triggering is required. - Pin the action to a commit SHA, it runs with write access to your repo on every push to the release branch.
Alternatives and related
changesets/actionAutomate versioning and npm publishing for repos that use Changesets.
softprops/action-gh-releaseCreate a GitHub Release and upload assets when you push a tag.
Frequently asked questions
Why did my publish workflow not run when release-please created the release?
Events created with the default
GITHUB_TOKEN never trigger other workflows. Pass a GitHub App token or PAT as token, or publish from the same workflow.Why is no release PR being opened?
Release-please only reacts to conventional commits (
feat:, fix:, feat!: etc.) on the target branch. Plain commit messages are ignored.