Skip to content

Default group-pull-request-title-pattern prevents release creation on merge #2712

Description

@zeitlinger

Bug

When using manifest mode with separate-pull-requests: false (the
default), release-please uses group-pull-request-title-pattern to
generate the release PR title. The default pattern produces titles
like chore: release main — which does not include ${version}.

When this PR is merged, release-please cannot extract the version
from the title, so it silently skips creating the GitHub release
and tag
. The manifest gets updated (indicating the release PR was
recognized), but no release is created.

Steps to reproduce

  1. Use manifest config with a single package and default settings:
{
  "packages": {
    ".": {
      "release-type": "maven"
    }
  }
}
  1. Release-please creates a PR titled chore: release main
  2. Merge the PR
  3. Release-please runs but does not create a tag or GitHub release
  4. Logs show:
⚠ pullRequestTitlePattern miss the part of '${scope}'
⚠ pullRequestTitlePattern miss the part of '${component}'
⚠ pullRequestTitlePattern miss the part of '${version}'
...
⚠ Expected 1 releases, only found 0

Expected behavior

Either:

  • The default group-pull-request-title-pattern should include
    ${version} (e.g. chore${scope}: release${component} ${version})
  • Or the warnings about missing ${version} in the title pattern
    should be errors that prevent creating a PR that can never result
    in a release

Workaround

Explicitly set the title pattern in config:

{
  "group-pull-request-title-pattern": "chore${scope}: release${component} ${version}"
}

Context

Hit this in https://github.com/prometheus/client_java while setting
up release-please with manifest mode. Release PRs were created and
merged successfully but no releases were ever produced. Took
significant debugging to trace it to the title pattern.

Using release-please v17.1.3 via release-please-action v4.4.0.

Metadata

Metadata

Assignees

Labels

priority: p3Desirable enhancement or fix. May not be included in next release.type: bugError or flaw in code with unintended results or allowing sub-optimal usage patterns.

Type

No type
No fields configured for issues without a type.

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions