Skip to content

ci: Add commit-lint enforcement for PR titles - #315

Merged
scouten-adobe merged 2 commits into
mainfrom
ci/commit-lint
Sep 10, 2026
Merged

ci: Add commit-lint enforcement for PR titles#315
scouten-adobe merged 2 commits into
mainfrom
ci/commit-lint

Conversation

@scouten-adobe

Copy link
Copy Markdown
Collaborator

Summary

  • Add .commitlintrc.yml and .github/workflows/pr_title.yml, ported from c2pa-rs's commit-lint setup.
  • Unlike c2pa-rs, scope is disallowed entirely (optional: false, options: []), following adobe/xmp-toolkit-rs's no-scope pattern — c2patool is a single crate, so a scope would never disambiguate anything the way it does in c2pa-rs's multi-crate monorepo.
  • The allowed type list matches c2pa-rs's (feat, fix, chore, docs, build, ci, perf, refactor, revert, style, test, update), since this repo's actual commit history (inherited from the c2pa-rs monorepo split) already uses most of these.
  • Update docs/release-process.md with a "Commit lint used for PR title enforcement" section (mirroring c2pa-rs's, minus scope), replacing the stale note that flagged this as not-yet-ported follow-up work.
  • Update CONTRIBUTING.md's "Pull request titles" section, which was still copied from c2pa-rs and described scope as optional-but-preferred — now points at this repo's own .commitlintrc.yml and states scope is disallowed.

Test plan

  • Installed commitlint-rs locally and validated .commitlintrc.yml against sample titles: a valid no-scope title passes; a scoped title, a lowercase description, an unknown type, and a trailing period each correctly fail.
  • Verified the workflow's chore: release/update: bump/update: update exception patterns match the title shapes release-plz and Dependabot actually produce.
  • Ran actionlint against the new workflow (only a pre-existing-style shellcheck info note, matching what ci.yml already has).

🤖 Generated with Claude Code

Ports c2pa-rs's pr_title.yml/.commitlintrc.yml, but disallows scope
entirely (as github.com/adobe/xmp-toolkit-rs does) since c2patool is
a single crate and a scope would never disambiguate anything.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
@codecov

codecov Bot commented Sep 10, 2026

Copy link
Copy Markdown

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 72.16%. Comparing base (1a771a8) to head (6af9ddd).

Additional details and impacted files
@@           Coverage Diff           @@
##             main     #315   +/-   ##
=======================================
  Coverage   72.16%   72.16%           
=======================================
  Files           4        4           
  Lines        1060     1060           
=======================================
  Hits          765      765           
  Misses        295      295           

☔ View full report in Codecov by Harness.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.

@scouten-adobe
scouten-adobe marked this pull request as ready for review September 10, 2026 14:49
@scouten-adobe
scouten-adobe merged commit 8b48203 into main Sep 10, 2026
17 checks passed
@scouten-adobe
scouten-adobe deleted the ci/commit-lint branch September 10, 2026 14:50
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