| Recheck existing PR findings on demand and post a concise review comment. |
| roles |
slash_command |
reaction |
status-comment |
workflow_dispatch |
|
|
|
none |
false |
| inputs |
| pr_number |
head_sha |
| description |
required |
type |
| Pull request number to verify |
false |
string |
|
| description |
required |
type |
| Expected PR head; optional for manual runs |
false |
string |
|
|
|
|
| group |
job-discriminator |
| verify-fix-${{ github.event.issue.number || inputs.pr_number || github.run_id }} |
${{ github.event.issue.number || inputs.pr_number || github.run_id }} |
|
false |
| shared/pr-review-context.md |
|
60 |
12 |
500 |
| contents |
issues |
pull-requests |
| read |
read |
read |
|
| name |
uses |
with |
| Load review rules from the base revision |
actions/github-script@3a2844b7e9 |
| script |
| const fs = require('fs');
const root = '/tmp/gh-aw/agent';
const pr = JSON.parse(fs.readFileSync(`${root}/pr-context.json`, 'utf8'));
const rules = ['AGENTS.md', 'REVIEW.md', 'CONTRIBUTING.md'];
for (const dir of ['src', 'src-tauri']) {
if (pr.files_truncated || pr.files.some(file =>
[file.filename, file.previous_filename].some(name => name?.startsWith(`${dir}/`)))) {
rules.push(`${dir}/AGENTS.md`);
}
}
for (const path of rules) {
const { data } = await github.rest.repos.getContent({ ...context.repo, path, ref: pr.base_sha });
if (data.encoding !== 'base64') throw new Error(`Cannot read base rules: ${path}`);
const target = `${root}/rules/${path}`;
fs.mkdirSync(require('path').dirname(target), { recursive: true });
fs.writeFileSync(target, Buffer.from(data.content, 'base64'));
}
|
|
|
|
| github |
| mode |
toolsets |
min-integrity |
| gh-proxy |
| repos |
| issues |
| pull_requests |
|
unapproved |
|
|
| report-failure-as-issue |
mentions |
allowed-github-references |
add-comment |
| false |
false |
|
| target |
max |
hide-older-comments |
| ${{ github.event.issue.number || inputs.pr_number }} |
1 |
true |
|
|