mirror of
https://github.com/AgentSeal/codeburn.git
synced 2026-08-02 21:04:57 +00:00
Some checks are pending
CI / semgrep (push) Waiting to run
GitHub forces Node 20 actions to Node 24 on 2026-06-16. Bump to current node24 runtimes (inputs verified unchanged): - actions/checkout v4 -> v6 - actions/upload-artifact v4 -> v7 - softprops/action-gh-release v2 -> v3
43 lines
1.7 KiB
YAML
43 lines
1.7 KiB
YAML
name: Block Claude / Anthropic co-author trailers
|
|
|
|
# Rejects PRs that contain a `Co-authored-by: ... claude ...` or `... anthropic ...`
|
|
# trailer in any of their commits. Contributors can still use AI tools to help
|
|
# write code, but they must remove the co-author attribution before the PR is
|
|
# eligible to merge, per the project's contributor guidelines.
|
|
|
|
on:
|
|
pull_request:
|
|
types: [opened, synchronize, reopened]
|
|
|
|
jobs:
|
|
check:
|
|
runs-on: ubuntu-latest
|
|
steps:
|
|
- name: Checkout
|
|
uses: actions/checkout@v6
|
|
with:
|
|
fetch-depth: 0
|
|
|
|
- name: Scan PR commits for disallowed co-author trailers
|
|
run: |
|
|
BASE_SHA="${{ github.event.pull_request.base.sha }}"
|
|
HEAD_SHA="${{ github.event.pull_request.head.sha }}"
|
|
FOUND=0
|
|
while IFS= read -r c; do
|
|
[ -z "$c" ] && continue
|
|
SUBJECT=$(git log -1 "$c" --format=%s)
|
|
if git log -1 "$c" --format="%B" | grep -qiE 'co-authored-by:.*(claude|anthropic)'; then
|
|
echo "::error::Commit $c ($SUBJECT) has a Claude/Anthropic co-author trailer. Please remove it before this PR can merge."
|
|
FOUND=1
|
|
fi
|
|
done < <(git log --format=%H "$BASE_SHA".."$HEAD_SHA")
|
|
if [ "$FOUND" != "0" ]; then
|
|
echo ""
|
|
echo "How to fix:"
|
|
echo " 1. Run: git rebase -i $BASE_SHA"
|
|
echo " 2. Mark each flagged commit as 'reword'"
|
|
echo " 3. Delete the Co-authored-by line from the commit message"
|
|
echo " 4. Save, then: git push --force-with-lease"
|
|
exit 1
|
|
fi
|
|
echo "No disallowed co-author trailers found."
|