mirror of
https://github.com/microsoft/PowerToys.git
synced 2026-08-29 01:59:34 +02:00
## Summary - skip AI issue triage when the latest issue state is closed and recheck state before publishing - restrict duplicate searches and digest canonical candidates to live open issues - add deterministic, additive `Product-*` labels from changed paths for draft and non-draft PRs - map Window Hopper, Cursor Wrap, and all Mouse Jump project paths to their specific product labels before generic fallbacks - preserve manually applied product labels while managing only intake lifecycle labels and trusted comments - collect the PowerToys version and release channel in one required bug/localization field - add Window Hopper to the bug report area dropdown and preserve parsing of both old and combined version headings This consolidates and supersedes #49961 and #49804. ## Validation - `node --test .github\scripts\pr-intake\tests\pr-intake.test.mjs` - 39 passing - `python -m unittest discover .github\scripts\issue-triage\tests -v` - 55 passing - parsed all modified issue-form and workflow YAML files with PyYAML - verified every current `src/modules/*` root maps to a product label - verified the Window Hopper path maps to `Product-Window Hopper` - `git diff --check` --------- Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> Copilot-Session: b313a270-e6e8-4c4a-89b2-880c1d79027c Copilot-Session: 498721d4-1098-4298-ac8a-147066fbfea3
53 lines
1.6 KiB
YAML
53 lines
1.6 KiB
YAML
# PR intake
|
|
#
|
|
# Deterministic pull request intake. Applies additive Product-* labels from
|
|
# changed path roots, posts a single canonical comment when there is something
|
|
# for the author to act on or consider, keeps the Ready for review /
|
|
# Needs-Author-Feedback lifecycle labels in sync, and nudges for visual evidence
|
|
# on product UI changes.
|
|
#
|
|
# This workflow does not run any code from the pull request head. The Node
|
|
# script reads all pull request data through the GitHub API, so the trusted
|
|
# default branch is checked out only to run the script itself. 3rd-party
|
|
# actions are pinned to a commit hash per Microsoft's security guidelines.
|
|
name: PR intake
|
|
|
|
on:
|
|
pull_request_target:
|
|
types:
|
|
- opened
|
|
- edited
|
|
- synchronize
|
|
- reopened
|
|
- ready_for_review
|
|
- converted_to_draft
|
|
|
|
permissions:
|
|
contents: read
|
|
issues: write
|
|
pull-requests: write
|
|
|
|
concurrency:
|
|
group: pr-intake-${{ github.event.pull_request.number }}
|
|
cancel-in-progress: true
|
|
|
|
jobs:
|
|
pr-intake:
|
|
runs-on: ubuntu-latest
|
|
steps:
|
|
- name: Checkout trusted workflow source
|
|
uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
|
|
with:
|
|
ref: ${{ github.event.repository.default_branch }}
|
|
persist-credentials: false
|
|
|
|
- name: Set up Node.js
|
|
uses: actions/setup-node@820762786026740c76f36085b0efc47a31fe5020 # v7.0.0
|
|
with:
|
|
node-version: "22"
|
|
|
|
- name: Run PR intake
|
|
env:
|
|
GITHUB_TOKEN: ${{ github.token }}
|
|
run: node .github/scripts/pr-intake/pr-intake.mjs "$GITHUB_EVENT_PATH"
|