Skip to content

ci: reject leading ticket tags in commit headers (release-please parseability) - #809

Merged
robsongajunior merged 4 commits into
mainfrom
ci/commit-header-ticket-tag
Jul 27, 2026
Merged

ci: reject leading ticket tags in commit headers (release-please parseability)#809
robsongajunior merged 4 commits into
mainfrom
ci/commit-header-ticket-tag

Conversation

@robsongajunior

@robsongajunior robsongajunior commented Jul 27, 2026

Copy link
Copy Markdown
Contributor

Summary

  • release-please cannot parse a squash title that starts with a bracket ticket tag: fix: use @aziontech/theme/animations imports; move vue-tsc to devDependencies #804 merged as [NO-ISSUE] fix: … and silently released nothing (run 30270134693 — commit could not be parsed … unexpected token ' ' at 1:11). Its parser is not configurable (the old .releaserc parserOpts died with ci: replace semantic-release with release-please (Release PR model) #798).
  • New convention: the header starts with the bare type; a ticket tag goes at the start of the subject only when a real ticket existsfix(webkit): [ENG-1234] subject. No ticket → no tag: [NO-ISSUE] is dead characters (100-char budget, changelogs) and is rejected.
  • commitlint.config.js now matches release-please's parser exactly, with two inline rules guarding the migration: header-no-leading-ticket (old leading-tag form → actionable error) and subject-ticket-tag (well-formed [ABC-123] only; [NO-ISSUE] → "omit the tag entirely").

Notes

  • Docs synced in the same PR (four-surface rule): CONTRIBUTING.md § Message shape / Local enforcement, DOC_LINTS.md §10 (header anatomy + ❌/✅ examples), and the /open-pr + /create-branch prompts. Every example was verified against the real commitlint config.
  • CONTRIBUTING.md § Releasing also corrected: it still described semantic-release; it now documents the release-please Release PR model (ci: replace semantic-release with release-please (Release PR model) #798).
  • No release from this PR (ci/docs). Old-form commits were already release-inert — they now fail loudly at commit time instead. The release missed by fix: use @aziontech/theme/animations imports; move vue-tsc to devDependencies #804 will be recovered separately (release-please BEGIN_COMMIT_OVERRIDE retrofit).
  • Also exempts generated **/CHANGELOG.md from the Prettier gate (.prettierignore, same precedent as catalog.json): release-please commits changelogs via the GitHub API in its own markdown style (* bullets), which was failing the Linting & Formatting check on Release PR chore: release main #810. Verified against the real release-please--branches--main content.
  • No new dependencies.

@robsongajunior
robsongajunior requested a review from a team as a code owner July 27, 2026 17:05
@robsongajunior robsongajunior changed the title ci: [NO-ISSUE] reject leading ticket tags in commit headers (release-please parseability) ci: reject leading ticket tags in commit headers (release-please parseability) Jul 27, 2026
@robsongajunior robsongajunior added documentation Improvements or additions to documentation AI release governance Lints, Type Checks, Engineering flow labels Jul 27, 2026
@robsongajunior
robsongajunior merged commit 30cfc65 into main Jul 27, 2026
23 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

AI documentation Improvements or additions to documentation governance Lints, Type Checks, Engineering flow release

Development

Successfully merging this pull request may close these issues.

3 participants