How it works
01 /
Derive the next release
The simple strategy reads the configured version file, existing tags and Conventional Commits since the last tagged version. Commit types and configured changelog sections determine the version bump and release notes. Pre-1.0 bump behavior and tag naming are configurable.
02 /
Review one release pull request
The automation maintains one release branch and PR with autorelease: pending. It compares the desired state before writing, so an unchanged evaluation does not create another update. An already-existing next-version tag is reported as a conflict before the PR promises a release it cannot finalize.
03 /
Finalize the reviewed release
After the release PR merges, the Worker uses that merge commit’s configuration to create the tag and optional GitHub Release, update the label and post a summary. A later default-branch configuration edit does not change the policy used to finalize the already-merged release.
A concrete example
Supported .ci-toolkit.yml; simple version-file strategy
api_version: ci-toolkit/v1alpha1
releases:
uses: toolkit.release-please@v1
with:
strategy: simple
version_file: version.txt
changelog_path: CHANGELOG.md
include_v_in_tag: true
draft: false
prerelease: falseKnow the boundary
Current limits
The current deployment restricts release automation to an operator allowlist and requires accepted GitHub App permissions. It supports the simple version-file strategy; this page does not promise every release-please strategy, ecosystem or monorepo mode. Publishing a release does not itself deploy an application.
Common questions
Can I create a tag without a GitHub Release object?
Yes. skip_github_release: true keeps tag creation while skipping the GitHub Release object.
Does every push create a release?
No. The automation prepares and updates a release PR. Tag and release finalization follow its merge.
Runnerless / early access
Want this in
your workflow?
Get early access ↗Register interest and tell us what slows your CI down. The optional follow-up questions come after your email is saved.