Skip to content

Add central review-sync canary workflow (dry-run) #29

Add central review-sync canary workflow (dry-run)

Add central review-sync canary workflow (dry-run) #29

name: Request triage review on beginner and Good First Issue PRs
on:
pull_request_target:
types: [opened, labeled]
concurrency:
group: triage-${{ github.event.pull_request.number }}
cancel-in-progress: true
permissions:
contents: read
pull-requests: write
jobs:
request-triage:
if: >
contains(github.event.pull_request.labels.*.name, 'Good First Issue') ||
contains(github.event.pull_request.labels.*.name, 'skill: beginner') ||
contains(github.event.pull_request.labels.*.name, 'beginner')
runs-on: [self-hosted, hl-sdk-py-lin-md]
steps:
- name: Harden the runner (Audit all outbound calls)
uses: step-security/harden-runner@a5ad31d6a139d249332a2605b85202e8c0b78450 # v2.19.1
with:
egress-policy: audit
- name: Request triage review
uses: actions/github-script@3a2844b7e9c422d3c10d287c895573f7108da1b3 # v9.0.0
with:
script: |
const tag = "<!-- triage -->";
const { data: comments } = await github.rest.issues.listComments({
owner: context.repo.owner,
repo: context.repo.repo,
issue_number: context.payload.pull_request.number
});
if (!comments.some(c => c.body?.includes(tag))) {
await github.rest.issues.createComment({
owner: context.repo.owner,
repo: context.repo.repo,
issue_number: context.payload.pull_request.number,
body: `${tag} Requesting triage review from: @hiero-ledger/hiero-sdk-python-triage`
});
}