Skip to content

feat(ci): add opt-in conventional PR title gate - #87

Merged
trakhimenok merged 1 commit into
mainfrom
feat/conventional-pr-title
Sep 12, 2026
Merged

trakhimenok merged 1 commit into
mainfrom
feat/conventional-pr-title

Conversation

@trakhimenok

Copy link
Copy Markdown
Member

Squash-merged runtime changes can pass CI but publish no release when their pull
request title is not a Conventional Commit subject. Add a migration-safe,
opt-in require_conventional_pr_title input to the shared Go workflow and run
the validation inside its existing required Lint job.

Failures show the invalid title, expected grammar, allowed types, valid examples,
release implications, and an exact gh pr edit command. The input is included
in exact-tree validation policy receipts. Existing callers remain unchanged
until they opt in.

Validation:

  • go test ./...
  • go vet ./...
  • valid/malformed title regression matrix
  • policy-digest opt-in regression
  • git diff --check

Related WB client-side feature request: sneat-dev/wb#513

@trakhimenok

Copy link
Copy Markdown
Member Author

Implementation review of exact head
a7aff7ccdd65f3b84b1134899de22561e91fef08: APPROVED.

No blocking findings.

  • The new input defaults to false; existing callers do not change behavior
    until they opt in.
  • Validation runs only for pull requests and inside the existing Lint job,
    before Go setup and expensive linting.
  • The title enters Bash through an environment variable and is only displayed
    with printf %q; untrusted title contents are not evaluated as shell code or
    inserted into the workflow-command annotation.
  • Failure output includes the grammar, allowed types, examples, release-type
    guidance, consequence, and exact gh pr edit remediation.
  • The option is bound into exact-tree validation policy digests, preventing a
    receipt created under a different title policy from being reused.
  • No permissions, release behavior, or push/tag behavior changed.

Validation passed: go test ./..., go vet ./..., focused valid/invalid-title
tests, policy-digest regression, seven stable remote checks, and diff checks.

@trakhimenok
trakhimenok merged commit 1cc0f26 into main Sep 12, 2026
7 checks passed
@trakhimenok
trakhimenok deleted the feat/conventional-pr-title branch September 12, 2026 06:45
trakhimenok added a commit to dal-go/dalgo2sql that referenced this pull request Sep 12, 2026
Enable the shared opt-in conventional PR-title validator from `strongo/cicd#87`.

Invalid titles now fail the existing required Lint job with the accepted grammar, valid examples, release consequences, and an exact `gh pr edit` command. This PR's valid title exercises the enabled path in CI.

Validation: workflow diff passed `git diff --check`; GitHub CI validates the reusable-workflow contract.

Source commits:

- 341bb44 ci: require conventional PR titles

Pull request: #182
Review: #182 (comment)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant