Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Appearance settings

Comments

Close side panel

Migrate PR triage workflows to shared workflows#12707

Merged
BagToad merged 1 commit intotrunkcli/cli:trunkfrom
kw/use-shared-pr-workflowscli/cli:kw/use-shared-pr-workflowsCopy head branch name to clipboard
Feb 17, 2026
Merged

Migrate PR triage workflows to shared workflows#12707
BagToad merged 1 commit intotrunkcli/cli:trunkfrom
kw/use-shared-pr-workflowscli/cli:kw/use-shared-pr-workflowsCopy head branch name to clipboard

Conversation

@BagToad
Copy link
Member

@BagToad BagToad commented Feb 17, 2026

Follows up on #12677 by migrating the PR triage workflows (prauto.yml, pr-help-wanted.yml) to shared reusable workflows.

Changes

New

  • triage-pull-requests.yml — single workflow calling shared workflows for:
    • Labeling external PRs (external, needs-triage)
    • Closing PRs opened from trunk
    • Checking PR requirements (body length + help-wanted issue linkage)
    • Closing PRs labeled no-help-wanted-issue
    • Marking PRs ready for review
    • Daily scheduled close of PRs with unmet requirements (7-day grace period)

Deleted

  • prauto.yml — replaced by shared workflows
  • pr-help-wanted.yml — replaced by triage-pr-requirements.yml
  • scripts/check-help-wanted.sh — no longer needed

Behavioral changes

  • External PRs now also get needs-triage (previously only external)
  • PRs with short descriptions get an unmet-requirements label and 7-day grace period instead of immediate close
  • Org member auto-assign on PR open is removed

Replace prauto.yml and pr-help-wanted.yml with a single
triage-pull-requests.yml that calls shared reusable workflows from
desktop/gh-cli-and-desktop-shared-workflows:

- triage-label-external-pr: labels external PRs with external,needs-triage
- triage-close-from-default-branch: closes PRs opened from trunk
- triage-pr-requirements: enforces body length + help-wanted issue linkage
- triage-close-no-help-wanted: closes PRs labeled no-help-wanted-issue
- triage-ready-for-review: removes needs-triage on ready-for-review label

Also adds a daily schedule to auto-close PRs with unmet requirements
after 7 days.

Deletes:
- prauto.yml
- pr-help-wanted.yml
- scripts/check-help-wanted.sh

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Copy link
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Migrates pull request triage automation from repo-local workflows/scripts to reusable workflows in desktop/gh-cli-and-desktop-shared-workflows, consolidating PR triage behaviors into a single workflow.

Changes:

  • Add a new consolidated PR triage workflow (triage-pull-requests.yml) that calls shared reusable workflows for labeling/closing/checking PRs and a daily scheduled task.
  • Remove legacy PR automation workflows (prauto.yml, pr-help-wanted.yml) and the now-unused helper script (check-help-wanted.sh).

Reviewed changes

Copilot reviewed 4 out of 4 changed files in this pull request and generated 2 comments.

File Description
.github/workflows/triage-pull-requests.yml New consolidated workflow wiring PR triage events + schedule to shared reusable workflows.
.github/workflows/scripts/check-help-wanted.sh Removed obsolete script (help-wanted linkage checks) now handled via shared workflow.
.github/workflows/prauto.yml Deleted legacy PR automation workflow replaced by shared workflows.
.github/workflows/pr-help-wanted.yml Deleted legacy workflow replaced by shared PR requirements workflow.
Comments suppressed due to low confidence (1)

.github/workflows/triage-pull-requests.yml:37

  • triage-pr-requirements is described as applying an unmet-requirements label and possibly commenting/closing PRs. Those actions typically require issues: write on the caller workflow token; with issues: read here the reusable workflow may fail to apply labels/comments. Consider changing this job's permissions to issues: write (write includes read).
    permissions:
      issues: read
      pull-requests: write


💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Comment on lines +35 to +42
issues: read
pull-requests: write

close-unmet-requirements:
if: github.event_name == 'schedule'
uses: desktop/gh-cli-and-desktop-shared-workflows/.github/workflows/triage-pr-requirements.yml@main
permissions:
issues: read
Copy link

Copilot AI Feb 17, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Same as above for the scheduled run: if triage-pr-requirements needs to add/remove labels or leave comments when closing PRs, issues: read may be insufficient. Consider granting issues: write for this job too.

This issue also appears on line 34 of the same file.

Suggested change
issues: read
pull-requests: write
close-unmet-requirements:
if: github.event_name == 'schedule'
uses: desktop/gh-cli-and-desktop-shared-workflows/.github/workflows/triage-pr-requirements.yml@main
permissions:
issues: read
issues: write
pull-requests: write
close-unmet-requirements:
if: github.event_name == 'schedule'
uses: desktop/gh-cli-and-desktop-shared-workflows/.github/workflows/triage-pr-requirements.yml@main
permissions:
issues: write

Copilot uses AI. Check for mistakes.
Comment on lines +29 to +33
check-requirements:
if: >-
github.event_name == 'pull_request_target' &&
(github.event.action == 'opened' || github.event.action == 'reopened' || github.event.action == 'edited')
uses: desktop/gh-cli-and-desktop-shared-workflows/.github/workflows/triage-pr-requirements.yml@main
Copy link

Copilot AI Feb 17, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

pull_request_target includes ready_for_review, but none of the jobs run when github.event.action == 'ready_for_review'. This means draft PRs that become ready may never get external labeling / default-branch closing / requirement checks. Consider including ready_for_review in the relevant job if: conditions (or adding a dedicated job for that action).

Copilot uses AI. Check for mistakes.
@BagToad BagToad merged commit 4da3fc5 into trunk Feb 17, 2026
17 checks passed
@BagToad BagToad deleted the kw/use-shared-pr-workflows branch February 17, 2026 17:36
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants

Morty Proxy This is a proxified and sanitized view of the page, visit original site.