Skip to content

Post Build Requirements Comment #14

Post Build Requirements Comment

Post Build Requirements Comment #14

name: Post Build Requirements Comment
on:
workflow_run:
workflows: ["Check Build Requirements"]
types:
- completed
jobs:
comment:
runs-on: ubuntu-latest
if: github.event.workflow_run.conclusion == 'success'
steps:
- name: Download artifact
uses: actions/download-artifact@v4
with:
name: build-check-results
github-token: ${{ secrets.GITHUB_TOKEN }}
run-id: ${{ github.event.workflow_run.id }}
continue-on-error: true
id: download
- name: Post PR comment
if: steps.download.outcome == 'success'
uses: actions/github-script@v7
with:
script: |
const fs = require('fs');
if (!fs.existsSync('build_check_output.txt') || !fs.existsSync('pr_number.txt')) {
console.log('No build check results found');
return;
}
const comment = fs.readFileSync('build_check_output.txt', 'utf8');
const prNumber = parseInt(fs.readFileSync('pr_number.txt', 'utf8').trim(), 10);
const { data: comments } = await github.rest.issues.listComments({
owner: context.repo.owner,
repo: context.repo.repo,
issue_number: prNumber,
});
const botComment = comments.find(c =>
c.user.type === 'Bot' &&
c.body.includes('## Build Required')
);
if (botComment) {
await github.rest.issues.updateComment({
owner: context.repo.owner,
repo: context.repo.repo,
comment_id: botComment.id,
body: comment
});
} else {
await github.rest.issues.createComment({
owner: context.repo.owner,
repo: context.repo.repo,
issue_number: prNumber,
body: comment
});
}