Release Troubleshooting
April 25, 2026 ยท View on GitHub
Use this guide when the release-please job does not behave as expected.
- Workflow: ../.github/workflows/ci.yml
- Mode: manifest config via ../release-please-config.json and ../.release-please-manifest.json
Quick Checks
- Confirm the push landed on
mainorrel/*. - Confirm the
release-pleasejob actually ran in ../.github/workflows/ci.yml. - Confirm the branch contains at least one releasable commit such as
feat,fix, ordeps. - Check whether a release PR is already open.
Symptom: No Release PR Was Opened
Check these in order:
- The commit type may not be releasable.
- A release PR may already exist.
- The branch may not match the workflow trigger.
- The workflow configuration on that branch may not match the default branch.
Details:
feat,fix, anddepstrigger release PR creation.choreentries can appear in release notes, butchorealone does not trigger a release PR.- If you need a release from non-releasable commits only, add a commit body footer such as
Release-As: 0.0.1. - If a prior release PR is still open,
release-pleaseusually updates that PR instead of opening a new one.
Symptom: The Workflow Fails Before Creating A Token
Check repository settings:
- Repository Actions variable
RELEASE_PLEASE_APP_IDexists. - Repository Actions secret
RELEASE_PLEASE_APP_PRIVATE_KEYexists. - The private key value is valid PEM content.
- The GitHub App is installed on this repository.
Notes:
- Editor diagnostics may warn that the variable or secret names are unknown until they exist in repository settings.
- That warning does not mean the workflow YAML is invalid.
Symptom: The Workflow Fails Creating The GitHub App Token
Common causes:
- The app ID is wrong.
- The private key is expired, rotated, or pasted incorrectly.
- The app is not installed on this repository.
- The installation permissions do not match the requested permissions.
Required repository permissions for this setup:
Contents: Read and writePull requests: Read and writeIssues: Read and writeMetadata: Read-only
If the app permissions were changed after installation, the installation may need approval again.
Symptom: A Release PR Exists, But CI Did Not Run On It
This is usually a workflow-trigger or app-installation issue rather than a release-please versioning issue. Verify:
- The GitHub App installation is active on this repository.
- The app permissions still include contents, pull requests, and issues write access.
- The downstream workflow itself is allowed to run on the event type created by the bot.
Symptom: A Release PR Exists, But No Release Happened After Merge
Check these items:
- The merge happened on
mainorrel/*. - The post-merge push triggered ../.github/workflows/ci.yml.
- The workflow still has
contents,issues, andpull-requestswrite permissions. - Repository settings still allow workflows to create pull requests if your organization restricts that behavior.
Also check whether the merged PR was the release PR itself and not a normal feature PR.
Symptom: The Version Number Is Not What You Expected
Check the commit history since the last release:
fixproduces a patch bump.featproduces a minor bump.- breaking changes can produce a major bump.
This repo currently sets:
release-please-actionusingconfig-fileandmanifest-filefor per-workspace releases underapps/*
If you need an explicit version beyond that, add Release-As: x.y.z to the commit body.
Symptom: Old History Was Reprocessed
That usually means one of these changed unexpectedly:
- The release tag history was changed.
- The repository history on the target branch changed unexpectedly.
- The workflow was switched and release-please is now calculating from a different previous release.
Symptom: The Changelog Looks Wrong
Check these sources in order:
- The merged commit subjects on the release branch.
- The release PR body generated by
release-please. - The action inputs and release behavior in ../.github/workflows/ci.yml.
Remember:
release-pleasebuilds notes from Conventional Commits.choremay be included in notes but does not create a release by itself.- merged PR titles and squash-merge messages matter if squash merge is used.
Recommended Debug Path
When something is wrong, use this exact order:
- Open the latest run of ../.github/workflows/ci.yml.
- If the job failed before token creation, verify
RELEASE_PLEASE_APP_ID,RELEASE_PLEASE_APP_PRIVATE_KEY, app installation, and app permissions. - Check whether the commit set contains
feat,fix, ordeps. - Look for an already-open release PR.
- Confirm the
Run release-pleasestep in ../.github/workflows/ci.yml still uses the expected direct inputs.
If all of those are correct and the workflow still does not behave as expected, inspect the workflow logs for the Run release-please step and compare the result with the current branch history.