Skip to content

feat: add conventional commit lint and semver suggestion to PR checks#21

Merged
amcheste merged 3 commits into
mainfrom
feat/commit-lint-semver
Mar 29, 2026
Merged

feat: add conventional commit lint and semver suggestion to PR checks#21
amcheste merged 3 commits into
mainfrom
feat/commit-lint-semver

Conversation

@amcheste
Copy link
Copy Markdown
Owner

Summary

Adds a Commit Lint job to the validate workflow that runs on every PR:

  • Conventional commit format check (blocking) — fails the PR if any commit message doesn't follow <type>[scope][!]: <description>. Enforces the convention already documented in CLAUDE.md so malformed commits can't slip into main.

  • Semver suggestion (informational) — scans all PR commits, determines the highest-level change, and posts the suggested bump to the job summary:

    • feat!: or (!)⚠️ major
    • feat: → ✨ minor
    • anything else → 🔧 patch

Reviewers see the suggestion directly in the Actions tab without having to think about it. The version bump itself remains intentional — done via /publish-release when ready.

The job is gated with if: github.event_name == 'pull_request' so it doesn't run on push to main or via workflow_call in the release pipeline.

Test plan

  • CI passes on this PR
  • Job summary shows 🔧 patch for this PR (it's a feat: on tooling — actually minor)
  • Try a PR with a non-conventional commit message and confirm it fails

🤖 Generated with Claude Code

amcheste and others added 2 commits March 29, 2026 18:58
Adds a Commit Lint job to validate.yml that runs only on pull_request
events. It enforces conventional commit format (blocking) and posts
a suggested semver bump level to the job summary (informational) so
reviewers always know whether a PR warrants a patch, minor, or major
version increment.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
GitHub Actions checks out a synthetic merge commit when testing PRs.
Add --no-merges to git log so the lint only checks real PR commits.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
@amcheste amcheste merged commit 910bafd into main Mar 29, 2026
6 checks passed
@amcheste amcheste deleted the feat/commit-lint-semver branch March 30, 2026 00:59
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant