Compare commits
4 Commits
claude/rev
...
ci/add-mai
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
8210f2a948 | ||
|
|
a151b4d985 | ||
|
|
03b4e28eca | ||
|
|
fe2e11ddac |
15
.github/workflows/cto-review.yml
vendored
15
.github/workflows/cto-review.yml
vendored
@@ -224,22 +224,25 @@ jobs:
|
|||||||
PY
|
PY
|
||||||
|
|
||||||
- name: Post PR review
|
- name: Post PR review
|
||||||
# Always posts as COMMENT — not APPROVE/REQUEST_CHANGES — because the default
|
|
||||||
# GITHUB_TOKEN is not permitted to formally approve PRs without toggling a
|
|
||||||
# repo setting. The verdict is still prominent in the first line of the body
|
|
||||||
# ("## CTO Review — APPROVE|REQUEST_CHANGES|COMMENT"). Human merges, so the
|
|
||||||
# GitHub-native review state isn't load-bearing.
|
|
||||||
if: steps.claude.outputs.skipped != '1'
|
if: steps.claude.outputs.skipped != '1'
|
||||||
uses: actions/github-script@v7
|
uses: actions/github-script@v7
|
||||||
|
env:
|
||||||
|
VERDICT: ${{ steps.claude.outputs.verdict }}
|
||||||
with:
|
with:
|
||||||
script: |
|
script: |
|
||||||
const fs = require('fs');
|
const fs = require('fs');
|
||||||
const body = fs.readFileSync('/tmp/review-body.md', 'utf8');
|
const body = fs.readFileSync('/tmp/review-body.md', 'utf8');
|
||||||
|
const verdict = process.env.VERDICT;
|
||||||
|
const eventMap = {
|
||||||
|
'APPROVE': 'APPROVE',
|
||||||
|
'REQUEST_CHANGES': 'REQUEST_CHANGES',
|
||||||
|
'COMMENT': 'COMMENT'
|
||||||
|
};
|
||||||
await github.rest.pulls.createReview({
|
await github.rest.pulls.createReview({
|
||||||
owner: context.repo.owner,
|
owner: context.repo.owner,
|
||||||
repo: context.repo.repo,
|
repo: context.repo.repo,
|
||||||
pull_number: context.issue.number,
|
pull_number: context.issue.number,
|
||||||
event: 'COMMENT',
|
event: eventMap[verdict] || 'COMMENT',
|
||||||
body,
|
body,
|
||||||
});
|
});
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user