armbian-build/.github/workflows/label-pr-on-approval.yml
Igor Pecovnik 28f5839d08 chore: standardize workflow names
Make all workflow names consistent and action-oriented:
- Use action verb first (Announce, Auto-label, Build, Check, Clean, Help, Label, Lint, Listen, Rewrite, Scan, Sync, Welcome)
- Keep names concise and descriptive
- Remove unnecessary details from the name

Changes:
- Analyze kernel security (was: Kernel Hardening Analysis)
- Announce merge (was: Announce PR merge to Discord)
- Announce PR (was: Announce PR on Discord for review)
- Auto-label PR (was: Automatic Pull Request Labeling)
- Build PR artifacts (was: Generate Artifacts on PR if...)
- Check PR assets (was: Check new board assets exist...)
- Clean workflow logs (was: Clean Workflow Logs)
- Sync Jira (was: Jira Sync)
- Help forks (was: Forked Helper)
- Label PR on approval (was: PR review labeler)
- Lint scripts (was: Lint on Scripts)
- Listen PR review (was: PR review listener)
- Rewrite kernel configs (was: Rewrite kernel configs - same)
- Scan security (was: Scorecards Security Scan)
- Sync board list (was: Update Board Lists)
- Sync labels (was: Sync Labels from YAML)
- Sync maintainers (was: Sync maintainers status)
- Sync tools (was: Update Tools in Scripts)
- Welcome first-time contributor (was: Welcome first-time issue contributor)
- Welcome first-time PR contributor (was: same - kept as is)
2025-12-25 12:00:52 +01:00

55 lines
1.9 KiB
YAML

name: Label PR on approval
on:
workflow_run:
workflows: ["PR review listener"]
types: [completed]
jobs:
label:
if: ${{ github.event.workflow_run.conclusion == 'success' }}
runs-on: ubuntu-latest
permissions:
contents: read
issues: write
pull-requests: write
steps:
- name: Download PR number artifact from upstream run
uses: actions/download-artifact@v7
with:
name: pr-number-${{ github.event.workflow_run.id }} # same unique name
path: .
run-id: ${{ github.event.workflow_run.id }} # ← CRITICAL: fetch from the upstream run
github-token: ${{ secrets.GITHUB_TOKEN }}
- id: pr
run: echo "number=$(cat pr.txt)" >> $GITHUB_OUTPUT
- name: Label when approved
uses: j-fulbright/label-when-approved-action@v1.2
with:
token: ${{ secrets.GITHUB_TOKEN }}
label: 'Ready to merge'
require_committers_approval: 'true'
remove_label_when_approval_missing: 'true'
comment: '✅ This PR has been reviewed and approved — all set for merge!'
pullRequestNumber: ${{ steps.pr.outputs.number }}
- name: Remove review-related labels
if: ${{ success() }}
uses: actions/github-script@v8
with:
script: |
const { owner, repo } = context.repo;
const issue_number = ${{ steps.pr.outputs.number }};
const labelsToRemove = ["Needs review", "Work in progress", "Backlog", "Can be closed?", "Help needed", "Needs Documentation"];
for (const name of labelsToRemove) {
try {
await github.rest.issues.removeLabel({ owner, repo, issue_number, name });
core.info(`Removed label "${name}"`);
} catch (e) {
core.warning(`Could not remove label "${name}": ${e.message}`);
}
}