Skip to content

Commit b3d18a7

Browse files
committed
fix: use environment variables for action outputs in github-script
The AI review output can contain backticks and other special characters that break JavaScript template literals. Using environment variables ensures the content is properly escaped and treated as a string.
1 parent 0a9b74a commit b3d18a7

File tree

1 file changed

+9
-4
lines changed

1 file changed

+9
-4
lines changed

.github/workflows/ai-pr-review.yml

Lines changed: 9 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -186,11 +186,14 @@ jobs:
186186
- name: Post review comment
187187
if: (steps.check_tests.outputs.result == 'true' || github.event_name != 'pull_request') && steps.check_recent_review.outputs.skip != 'true' && steps.ai_review.outputs.review_status == 'success'
188188
uses: actions/github-script@v7
189+
env:
190+
REVIEW_COMMENT: ${{ steps.ai_review.outputs.review_comment }}
191+
AI_MODEL: ${{ vars.AI_MODEL || 'anthropic/claude-sonnet-4' }}
189192
with:
190193
github-token: ${{ github.token }}
191194
script: |
192-
const review = `${{ steps.ai_review.outputs.review_comment }}`;
193-
const model = '${{ vars.AI_MODEL || 'anthropic/claude-sonnet-4' }}';
195+
const review = process.env.REVIEW_COMMENT;
196+
const model = process.env.AI_MODEL;
194197
195198
const comment = `## 🤖 AI Review\n\n${review}\n\n---\n` +
196199
`*This review was automatically generated by \`${model}\` via OpenRouter. Please consider it as supplementary feedback alongside human review.*`;
@@ -229,7 +232,7 @@ jobs:
229232
await github.rest.issues.createComment({
230233
...context.repo,
231234
issue_number: context.issue.number,
232-
body: `## ⚠️ AI Review Failed\n\nThe AI review could not be completed. Status: ${steps.ai_review.outputs.review_status}\n\nThis could be due to:\n- API rate limiting\n- Large diff size\n- Temporary service issues\n\nPlease retry the review later or request manual review.`
235+
body: `## ⚠️ AI Review Failed\n\nThe AI review could not be completed. Status: ${{ steps.ai_review.outputs.review_status }}\n\nThis could be due to:\n- API rate limiting\n- Large diff size\n- Temporary service issues\n\nPlease retry the review later or request manual review.`
233236
});
234237
235238
// Fail the workflow step to indicate the review failure
@@ -242,10 +245,12 @@ jobs:
242245
steps.check_recent_review.outputs.skip != 'true' &&
243246
steps.ai_review.outputs.review_status == 'success'
244247
uses: actions/github-script@v7
248+
env:
249+
REVIEW_COMMENT: ${{ steps.ai_review.outputs.review_comment }}
245250
with:
246251
github-token: ${{ github.token }}
247252
script: |
248-
const review = `${{ steps.ai_review.outputs.review_comment }}`.toLowerCase();
253+
const review = process.env.REVIEW_COMMENT.toLowerCase();
249254
250255
const labels = [];
251256

0 commit comments

Comments
 (0)