Skip to content
Latchkey

googleapis/release-please-action

Automate versioning and releases from conventional commits via a maintained release PR.

Official actionCategory: Release AutomationLatest v5View on GitHub

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: node

Inputs

InputDescriptionDefaultRequired
tokenGitHub token for creating and grooming release PRs.${{ github.token }}No
release-typeRelease type, one of (ruby, python, node, terraform-module).-No
pathCreate a release from a path other than the repository's root.-No
target-branchBranch to open the release PR against (detected by default).-No
config-fileLocation of the release-please config file in the project.-No
manifest-fileLocation of the release-please manifest file in the project.-No
skip-github-releaseIf true, do not try to tag releases.falseNo
skip-github-pull-requestIf true, do not try to open pull requests.falseNo

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 requests means 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 integration means the job is missing contents: write or pull-requests: write.

Security and pinning

  • Prefer the default GITHUB_TOKEN with contents: write and pull-requests: write over 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

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.
Running googleapis/release-please-action? Run it on Latchkey managed runners - self-healing and caching included. Start free → 30-day trial · No credit card