mirror of
https://github.com/outbackdingo/optimclaw.git
synced 2026-08-25 14:53:34 +00:00
ci: add automated PR labeling system (#253)
* ci: add automated PR labeling system Add two independent workflows for PR auto-labeling: - Scope labels via actions/labeler (path glob matching) - Size, risk, and contributor tier via custom shell script Includes idempotent label bootstrap script (create-labels.sh). Co-Authored-By: Claude Opus 4.6 <[email protected]> * ci: temporarily use pull_request trigger for testing Switch to pull_request so workflows run from the PR branch. Will revert to pull_request_target before merge. Co-Authored-By: Claude Opus 4.6 <[email protected]> * fix(ci): use absolute path for search/issues API call gh api requires a leading slash for REST endpoints. Co-Authored-By: Claude Opus 4.6 <[email protected]> * fix(ci): use gh pr list instead of search API for contributor count The search/issues API returns 404 with the default GITHUB_TOKEN. gh pr list --state merged works with standard permissions. Co-Authored-By: Claude Opus 4.6 <[email protected]> * ci: revert to pull_request_target for fork PR support Restore pull_request_target trigger and base branch checkout now that testing is complete. Co-Authored-By: Claude Opus 4.6 <[email protected]> --------- Co-authored-by: Claude Opus 4.6 <[email protected]>
This commit is contained in:
co-authored by
Claude Opus 4.6
parent
5725a62c83
commit
140f29decf
@@ -0,0 +1,26 @@
|
||||
name: "PR: Classify (Size, Risk, Contributor)"
|
||||
|
||||
on:
|
||||
pull_request_target:
|
||||
types: [opened, synchronize, reopened]
|
||||
|
||||
permissions:
|
||||
contents: read
|
||||
pull-requests: write
|
||||
issues: read # needed for search/issues API (contributor count)
|
||||
|
||||
jobs:
|
||||
classify:
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- name: Checkout base branch
|
||||
uses: actions/checkout@v4
|
||||
with:
|
||||
ref: ${{ github.event.pull_request.base.ref }}
|
||||
|
||||
- name: Classify PR
|
||||
env:
|
||||
GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
||||
PR_NUMBER: ${{ github.event.pull_request.number }}
|
||||
REPO: ${{ github.repository }}
|
||||
run: bash .github/scripts/pr-labeler.sh
|
||||
@@ -0,0 +1,18 @@
|
||||
name: "PR: Scope Labels"
|
||||
|
||||
on:
|
||||
pull_request_target:
|
||||
types: [opened, synchronize, reopened]
|
||||
|
||||
permissions:
|
||||
contents: read
|
||||
pull-requests: write
|
||||
|
||||
jobs:
|
||||
scope:
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- uses: actions/labeler@v5
|
||||
with:
|
||||
configuration-path: .github/labeler.yml
|
||||
sync-labels: false # additive only — never remove scope labels
|
||||
Reference in New Issue
Block a user