Migrate issue triage workflows to shared workflows#12677
Merged
BagToad merged 7 commits intotrunkcli/cli:trunkfrom Feb 17, 2026
kw/use-shared-triage-workflowscli/cli:kw/use-shared-triage-workflowsCopy head branch name to clipboard
Merged
Migrate issue triage workflows to shared workflows#12677BagToad merged 7 commits intotrunkcli/cli:trunkfrom kw/use-shared-triage-workflowscli/cli:kw/use-shared-triage-workflowsCopy head branch name to clipboard
BagToad merged 7 commits intotrunkcli/cli:trunkfrom
kw/use-shared-triage-workflowscli/cli:kw/use-shared-triage-workflowsCopy head branch name to clipboard
Conversation
Contributor
There was a problem hiding this comment.
Pull request overview
This pull request migrates several issue triage workflows from inline implementations to shared reusable workflows hosted in the desktop/gh-cli-and-desktop-shared-workflows repository. The migration centralizes triage automation logic to ensure consistency between cli/cli and desktop/desktop projects.
Changes:
- Replaced inline issue triage workflows with calls to 9 shared workflows for common triage operations (labeling, closing invalid/spam issues, posting comments, etc.)
- Migrated the
discusslabel workflow to use a shared implementation - Updated label references from
needs-user-inputtomore-info-neededand fromp1/p2/p3topriority-1/2/3throughout documentation and workflows - Added new scheduled workflow for auto-closing issues with no response after 14 days
Reviewed changes
Copilot reviewed 8 out of 8 changed files in this pull request and generated 6 comments.
Show a summary per file
| File | Description |
|---|---|
.github/workflows/triage-issues.yml |
New centralized workflow calling 9 shared workflows for issue triage automation |
.github/workflows/triage-scheduled-tasks.yml |
New scheduled workflow for hourly no-response auto-close |
.github/workflows/triage.yml |
Refactored to use shared triage-discuss.yml workflow |
.github/workflows/issueauto.yml |
Deleted - replaced by shared triage-label-incoming workflow |
.github/workflows/feature-request-comment.yml |
Deleted - replaced by shared triage-enhancement-comment workflow |
.github/workflows/stale-issues.yml |
Updated label reference from needs-user-input to more-info-needed |
docs/triage.md |
Updated all label references to use new naming convention |
.github/workflows/scripts/spam-detection/eval-prompts.yml |
Updated label reference in test data |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
This comment was marked as spam.
This comment was marked as spam.
tidy-dev
approved these changes
Feb 15, 2026
Contributor
Co-authored-by: BagToad <47394200+BagToad@users.noreply.github.com>
Add missing environment and label check to triage workflow
The `environment` property cannot be set at the job level when using `uses:` to call a reusable workflow. Pass it as a workflow input instead. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Rename .github/workflows/triage.yml to .github/workflows/triage-discussion-label.yml and update the workflow name from "Discussion Triage" to "Process Discuss Label" to better reflect its intent.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Replaces several local issue triage workflows with calls to shared reusable workflows. This centralizes triage logic so that cli/cli and desktop/desktop use the same underlying automation, making it easier to maintain and evolve.
What changed
New workflow files
triage-issues.yml— A single workflow triggered by issue events that calls 9 shared workflows:needs-triageneeds-triagewhenmore-info-neededis removedinvalid,suspected-spam, oroff-topicenhancementis addedunable-to-reproduceis addedneeds-triagewhen end-state labels are added (e.g.priority-1,enhancement)needs-triagewhen an issue is closedtriage-scheduled-tasks.yml— Scheduled and event-driven tasks:more-info-neededwith no response for 14 daysMigrated
triage.yml— The inline discuss logic (creating internal issues ingithub/cli) has been replaced with a call to the sharedtriage-discuss.ymlworkflow. Same behavior, less code.Deleted
issueauto.yml— Replaced by the sharedtriage-label-incomingworkflow.feature-request-comment.yml— Replaced by the sharedtriage-enhancement-commentworkflow.stale-issues.yml— Replaced by the sharedtriage-stale-issuesworkflow (called fromtriage-scheduled-tasks.yml).Updated references
docs/triage.md— Updated all references to renamed labels (more-info-needed,priority-1/2/3).eval-prompts.yml— Same label rename in spam detection test data.Behavioral changes
needs-triageis now added to all new issues. Previously, issues opened by org members were skipped. The shared workflow labels everything, which is simpler and consistent with how desktop/desktop works.needs-triageon end-state labels or issue close, and no-response auto-close.needs-triageandmore-info-neededcould go stale. Now all issues (except those labeledkeep) can be marked stale after 30 days of inactivity. Custom stale/close messages are replaced withactions/staledefaults.Not migrated yet
detect-spam.ymland scripts as-is.prauto.ymlandpr-help-wanted.ymlwill be migrated in a future phase.