Skip to content

docs(docs): document release-please merge-subject trap in RUNBOOKS.md #102

@w7-mgfcode

Description

@w7-mgfcode

Context

During the v0.2.8 release, PR #97 (chore(repo): merge dev to main — seeder phases 1+2 + ci/docs hardening) merged but release-please skipped the bump (see #98 for the recovery story).

Root cause

gh pr merge --merge uses the PR title as the merge-commit subject. The PR title chore(repo): merge dev to main — ... is a valid conventional commit of type chore, which per .claude/rules/versioning.md does NOT bump. release-please saw a single non-bumping commit since the last release and skipped.

Prior dev→main releases (e.g. PR #80, merged via the GitHub web UI) used GitHub's default merge subject Merge pull request #N from <branch> — non-conventional → release-please traverses the underlying commits.

What to add to docs/_base/RUNBOOKS.md

A new "Common Incidents" entry (or subsection under "Release / Rollback"):

release-please skipped the bump after a dev → main merge

Symptoms: CD Release workflow run on main completes in ~10s without opening a Release PR; release-please log shows No user facing commits found since <sha> - skipping.

Root cause: The merge-commit subject was a valid conventional commit of a non-bumping type (chore, docs, refactor, test, ci). release-please reads the merge-commit subject and stops there.

Diagnosis: git log origin/main -1 --format='%s' — if the subject parses as a valid Conventional Commits prefix, that's the trap.

Prevention:

  • Merge dev → main via the GitHub web UI (uses default Merge pull request #N from <branch> subject — non-conventional).
  • Or pass an explicit non-conventional subject: gh pr merge <N> --merge --subject "Merge pull request #<N> from w7-mgfcode/dev".
  • If using gh pr merge --merge with default behavior, title the PR with a feat: or fix: type so release-please bumps regardless.

Recovery (after the trap fires): Open a follow-up PR with an empty feat(release): commit referencing a release-prep issue (see #98 for an example), admin-merge it, and release-please will bump correctly.

Acceptance

  • docs/_base/RUNBOOKS.md has the new entry under "Common Incidents" (alphabetical-ish placement)
  • Cross-link from .claude/rules/versioning.md if appropriate
  • Commit message: docs(docs): document release-please merge-subject trap (#<this-issue>)

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions