fix(#107): add gitlint rule for forbidden type+scope combos - #119
Conversation
Add a custom gitlint LineRule (UL1) that rejects commits using forbidden type(scope) combinations from COMMITS.md: fix(ci), feat(ci), fix(e2e), feat(e2e). Register the rule directory via extra-path in .gitlint so it runs in both the pre-commit hook and the commit-lint CI job. Add a test script (gitlint-forbidden-type-scope-test.sh) that validates the rule rejects all four forbidden combinations (including with breaking-change markers) and accepts valid type(scope) pairs like ci(pipeline), chore(ci), fix(#123). Note: pre-commit could not run in the sandbox (shellcheck-py install blocked by network policy, exit code 3). The post-script runs an authoritative pre-commit on the runner. Closes #107
|
/fs-fix the executable gitlint is not being installed on script-tests add it under "Install test dependencies" |
|
🤖 Finished Fix · ❌ Failure · Started 6:52 AM UTC · Completed 7:00 AM UTC |
63488ea to
82e26b7
Compare
The gitlint-forbidden-type-scope-test needs the gitlint executable, which was missing from the CI install step. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com> Signed-off-by: Hector Martinez <hemartin@redhat.com>
82e26b7 to
1d04364
Compare
|
🤖 Finished Retro · ✅ Success · Started 7:45 AM UTC · Completed 7:55 AM UTC |
|
PR #119 added a custom gitlint rule (UL1) enforcing COMMITS.md forbidden type+scope combinations, closing issue #107. The code agent's implementation was functionally correct but missed updating the CI workflow to install Proposals filed
Proposals filed
|
Add a custom gitlint LineRule (UL1) that rejects commits using forbidden type(scope) combinations from COMMITS.md: fix(ci), feat(ci), fix(e2e), feat(e2e). Register the rule directory via extra-path in .gitlint so it runs in both the pre-commit hook and the commit-lint CI job.
Add a test script (gitlint-forbidden-type-scope-test.sh) that validates the rule rejects all four forbidden combinations (including with breaking-change markers) and accepts valid type(scope) pairs like ci(pipeline), chore(ci), fix(#123).
Note: pre-commit could not run in the sandbox (shellcheck-py install blocked by network policy, exit code 3). The post-script runs an authoritative pre-commit on the runner.
Closes #107
Post-script verification
agent/107-add-forbidden-type-scope-rule)8fb64a25b70e4d364f6d535bb252c1bad521629d..HEAD)