Skip to content

release-please silently drops commits titled "... (#A) (#B)", and disagrees with the release-due watcher #9948

Description

@JSONbored

Found while working #9875 (Engine release due: 3.17.1) and #9937 (ui-kit 1.3.1). Both issues say a release is due; release-please has created no Release PR, and its own run reports success. Three distinct problems, from run 30574451652.

1. Commits with two trailing issue refs fail conventional-commit parsing

❯ commit could not be parsed: 8b446978 fix(miner): discover --dry-run must not create/migrate/prune the event ledger (#9679) (#9905)
❯ error message: Error: unexpected token '(' at 12:37, valid tokens [)]
❯ commit could not be parsed: 133ff833 fix(miner): give `queue dashboard` the same store-failure handling as its siblings (#9690) (#9901)
❯ error message: Error: unexpected token '(' at 13:48, valid tokens [)]

The (#issue) (#pr) double-suffix — which this repo produces routinely when a PR title already carries the issue number and the merge appends the PR number — is not parseable as a conventional-commit header. Those commits are dropped entirely: they contribute nothing to the version bump and appear in no changelog.

Two shipped fix(miner): commits are currently invisible to the release for this reason. This is silent: the run still reports success.

2. pullRequestTitlePattern miss the part of '${scope}'

⚠ pullRequestTitlePattern miss the part of '${scope}'
❯ pull request title pattern: chore(release): cut${component} v${version}
❯ componentNoSpace: undefined

Emitted on every component, every run. componentNoSpace: undefined suggests the pattern and the component naming are not lining up as intended.

3. The release-due watcher and release-please disagree

scripts/check-package-release-due.ts reports 3 unreleased engine commits and proposes 3.17.1, and files #9875 saying so. release-please, over the same range, concludes:

⚠ Setting version for packages/loopover-engine from release-as configuration
✔ No user facing commits found since 0fa52ed838abd8c6694b87b5b92bf79120a581d7 - skipping

Confirmed locally that 3 commits touch packages/loopover-engine/ since engine-v3.17.0, one of them a fix::

b21216b1e chore(engine): one maintainer-association predicate…
31b29da78 fix(gate): never close a PR for visual evidence…
2dbb800ea metrics(ledger): re-evaluation counts and per-author-class review-parity rollups…

So the two mechanisms apply different rules and reach opposite conclusions. Whichever is right, a "release due" issue that no automation will ever act on is a standing false alarm — and if release-please is wrong, releases are silently not happening.

Also visible on the same run:

⚠ Missing 2 paths: packages/loopover-mcp,packages/loopover-miner
::warning::Skipping mcp/miner reconciliation -- publish-engine.yml and/or publish-contract.yml did not succeed, and they depend on both.

Acceptance

  • A commit titled type(scope): subject (#A) (#B) either parses, or the run fails loudly rather than dropping it.
  • The release-due watcher and release-please agree on whether a release is due, or the watcher explains the difference in the issue it files.
  • The pullRequestTitlePattern and missing-paths warnings are resolved or explained.

Note

I deliberately did not hand-cut the engine or ui-kit release. Publishing to npm is irreversible and outward-facing, the pipeline is the intended mechanism, and cutting by hand would paper over whichever of the two mechanisms above is actually wrong.

Metadata

Metadata

Assignees

Labels

maintainer-onlyOwner-only work — yields no Gittensor points.

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions