chore: cc the authors of a regression-causing pull request (#32404)

This commit is contained in:
andig 2026-08-01 15:01:56 +02:00 • committed by GitHub
parent 3f87c76332
commit 53d13548f5
No known key found for this signature in database
GPG key ID: B5690EEEBB952194

View file

@ -67,8 +67,9 @@ jobs:
# additionally get Edit/Write + git/PR tools to actually make and push a
# fix (fix mode also gets gh api to resolve its invoking comment). Task
# is blocked in all modes so the agent can't offload work to a
# background sub-agent and exit before it returns.
claude_args: ${{ inputs.mode == 'analyze' && '--allowed-tools "Read,Grep,Glob,Bash(gh label list),Bash(gh issue view:*),Bash(gh issue comment:*),Bash(gh pr view:*),Bash(gh pr diff:*),Bash(gh api:*)" --disallowed-tools "Task"' || (inputs.mode == 'fix' && '--allowed-tools "Read,Grep,Glob,Edit,Write,Bash(gh issue view:*),Bash(gh pr view:*),Bash(gh pr diff:*),Bash(gh issue comment:*),Bash(gh pr create:*),Bash(git checkout:*),Bash(git switch:*),Bash(git add:*),Bash(git commit:*),Bash(git push:*),Bash(git diff:*),Bash(git status),Bash(gh api:*)" --disallowed-tools "Task"' || '--allowed-tools "Read,Grep,Glob,Edit,Write,Bash(gh label list),Bash(gh issue view:*),Bash(gh issue edit:*),Bash(gh issue comment:*),Bash(gh pr create:*),Bash(git checkout:*),Bash(git switch:*),Bash(git add:*),Bash(git commit:*),Bash(git push:*),Bash(git diff:*),Bash(git status)" --disallowed-tools "Task"') }}
# background sub-agent and exit before it returns. All modes get read-only
# git log and gh pr view/diff to trace a regression to its pull request.
claude_args: ${{ inputs.mode == 'analyze' && '--allowed-tools "Read,Grep,Glob,Bash(gh label list),Bash(gh issue view:*),Bash(gh issue comment:*),Bash(gh pr view:*),Bash(gh pr diff:*),Bash(gh api:*),Bash(git log:*)" --disallowed-tools "Task"' || (inputs.mode == 'fix' && '--allowed-tools "Read,Grep,Glob,Edit,Write,Bash(gh issue view:*),Bash(gh pr view:*),Bash(gh pr diff:*),Bash(gh issue comment:*),Bash(gh pr create:*),Bash(git checkout:*),Bash(git switch:*),Bash(git add:*),Bash(git commit:*),Bash(git push:*),Bash(git diff:*),Bash(git log:*),Bash(git status),Bash(gh api:*)" --disallowed-tools "Task"' || '--allowed-tools "Read,Grep,Glob,Edit,Write,Bash(gh label list),Bash(gh issue view:*),Bash(gh issue edit:*),Bash(gh issue comment:*),Bash(gh pr view:*),Bash(gh pr diff:*),Bash(gh pr create:*),Bash(git checkout:*),Bash(git switch:*),Bash(git add:*),Bash(git commit:*),Bash(git push:*),Bash(git diff:*),Bash(git log:*),Bash(git status)" --disallowed-tools "Task"') }}
prompt: |
You are the issue triage, analysis and fix agent for the evcc repository.
MODE = "${{ inputs.mode }}". Work on issue/PR #${{ inputs.issue_number }}.
@ -85,6 +86,16 @@ jobs:
1. INVESTIGATE: Read the issue/PR and explore the relevant code
(Read/Grep/Glob) until you understand the most likely root cause or
affected files, or can conclude the cause is unknown.
If the report reads like a regression, meaning it worked in an
earlier release or a recent change touches the code path you
identified, look for the pull request that caused it:
`git log --oneline -20 -- <affected paths>` lists the candidates,
`gh pr view <number>` and `gh pr diff <number>` let you check them.
Only accept a pull request as the cause when the evidence is strong:
its change is in the failing code path AND the reported behavior
started with the release that shipped it. A change that merely
touches the same file is not enough. If you cannot establish that,
name no culprit.
In "analyze" or "fix" mode you were invoked by a `/analyze` or
`/fix` comment (id ${{ inputs.comment_id }}). Fetch it with
`gh api repos/${{ github.repository }}/issues/comments/${{ inputs.comment_id }} --jq .body`
@ -103,6 +114,13 @@ jobs:
cause. Ask the user for the specific missing details instead. When in
doubt whether you have enough to conclude, always err toward asking
rather than guessing.
- If, and only if, you identified a causing pull request with high
certainty, name it as `#<number>` and notify the people who worked
on it. Read their logins with
`gh pr view <number> --json author,comments,reviews` and put a
single `cc @author @commenter ...` line right above the footer.
Skip bots, duplicates and the issue author. Never cc anyone when
the cause is uncertain.
Format the comment as valid GitHub-flavored Markdown. Use GitHub's
autolink forms: `#<number>` for issues/PRs in this repo,
`owner/repo#<number>` across repos, a bare 7–40 char SHA for commits in