Skip to content

ci(pr-validation): replace deprecated changelog gate with commit-lint - #60

Open
williaby wants to merge 1 commit into
mainfrom
ci/migrate-off-changelog-check-gate
Open

ci(pr-validation): replace deprecated changelog gate with commit-lint#60
williaby wants to merge 1 commit into
mainfrom
ci/migrate-off-changelog-check-gate

Conversation

@williaby

@williaby williaby commented Jul 21, 2026

Copy link
Copy Markdown
Contributor

Problem

pr-validation.yml calls python-supplemental-checks.yml with
enable-changelog-check: true, which forces every PR to edit CHANGELOG.md.
That input was deprecated in ByronWilliamsCPA/.github#288 because, under the org
merge queue (SQUASH + ALLGREEN, speculative stacking), every PR editing the
same file conflicts textually, so only one PR can sit in the queue at a time.

This repo's workflow is pinned to 987d517d… which predates #288, so the
gate is still active and still requiring per-PR CHANGELOG.md edits today.

Fix

  • Drop enable-changelog-check / changelog-path / changelog-skip-labels
    (all deprecated no-ops after #288; the gate defaults off once removed).
  • Add enable-commit-lint: true so PR titles are validated as Conventional
    Commits, which is exactly what python-semantic-release parses at release.

Why this is safe (no lost changelog)

release.yml:105 already runs python-semantic-release@v10.5.3, so the
changelog is generated at release from Conventional Commits. The per-PR edit was
redundant. enable-commit-lint is supported on the currently pinned SHA (input
exists at that ref), so no startup_failure.

Follow-up (intentionally not bundled here)

The uses: pin is a SHA labelled # main rather than a released tag. A separate
change should move it to a v7.1.x (or reviewed v8.x) tag SHA per the SHA-pinning
convention; that is a workflow-version review of its own and is out of scope for
this input migration.

Generated with Claude Code

Summary by CodeRabbit

  • Chores
    • Pull request titles are now validated against the Conventional Commits format.
    • Individual pull requests are no longer required to include changelog entries as part of validation.
    • This standardizes contribution metadata while removing the per-PR changelog enforcement step.

@codecov

codecov Bot commented Jul 21, 2026

Copy link
Copy Markdown

Codecov Report

✅ All modified and coverable lines are covered by tests.

📢 Thoughts on this report? Let us know!

@coderabbitai

coderabbitai Bot commented Jul 21, 2026

Copy link
Copy Markdown

Review Change Stack

No actionable comments were generated in the recent review. 🎉

ℹ️ Recent review info
⚙️ Run configuration

Configuration used: Path: .coderabbit.yaml

Review profile: ASSERTIVE

Plan: Team

Run ID: 8638d6e6-e60a-4bc3-a28c-45d43efef65d

📥 Commits

Reviewing files that changed from the base of the PR and between e3ea1fc and e464139.

📒 Files selected for processing (1)
  • .github/workflows/pr-validation.yml

Included review availability: Your plan provides up to 1 included review per hour; 0 remain after this review.


Walkthrough

The PR validation workflow replaces per-PR changelog enforcement with Conventional-Commits PR-title linting.

Changes

CI validation

Layer / File(s) Summary
Enable PR title linting
.github/workflows/pr-validation.yml
The supplemental-checks job removes changelog-check inputs and enables enable-commit-lint: true.

Estimated code review effort: 1 (Trivial) | ~2 minutes

Merge Risk: ⚪ Minimal · up to e4641

PR validation now checks Conventional Commit PR titles instead of requiring changelog edits, reducing changelog merge conflicts while retaining release-time changelog generation. No merge-blocking risk is identified.

Suggested labels: ci

Suggested reviewers: byronwilliamscpa

Poem

A rabbit checks the title line
Conventional words now align
The changelog gate hops away
Commit linting guards the day
CI runs neat and bright
Ears up for every PR tonight

🚥 Pre-merge checks | ✅ 5
✅ Passed checks (5 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed The title clearly and concisely describes the main change: replacing the deprecated changelog gate with commit-title linting in the PR validation workflow.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check. Docstring coverage is scoped to functions touched by this diff. Analyzed 0 functions across 0…
Linked Issues check ✅ Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check ✅ Passed Check skipped because no linked issues were found for this pull request.
✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch ci/migrate-off-changelog-check-gate

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

The enable-changelog-check gate in python-supplemental-checks.yml was
deprecated in ByronWilliamsCPA/.github#288: every PR editing the same
CHANGELOG.md produced textual conflicts in the org merge queue (which
stacks PRs speculatively), so only one PR could sit in the queue at a
time. This repo's pin predates that change, so the gate is still active
and still forcing per-PR CHANGELOG.md edits.

The changelog is already generated at release by python-semantic-release
(release.yml runs python-semantic-release@v10.5.3), so the per-PR edit is
redundant. Switch to enable-commit-lint: true so PR titles are validated
as Conventional Commits, which is what PSR parses at release, and drop
the deprecated enable-changelog-check / changelog-path /
changelog-skip-labels inputs.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
@williaby
williaby force-pushed the ci/migrate-off-changelog-check-gate branch from 759b5f6 to e464139 Compare September 4, 2026 15:34
@sonarqubecloud

sonarqubecloud Bot commented Sep 4, 2026

Copy link
Copy Markdown

Quality Gate Failed Quality Gate failed

Failed conditions
C Security Rating on New Code (required ≥ A)

See analysis details on SonarQube Cloud

Catch issues before they fail your Quality Gate with our IDE extension SonarQube for IDE

@coderabbitai coderabbitai Bot added the ci label Sep 4, 2026
@williaby
williaby added this pull request to the merge queue Sep 4, 2026
@github-merge-queue
github-merge-queue Bot removed this pull request from the merge queue due to no response for status checks Sep 4, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant