commit 38721a64f8c17c413be572daeb8597b82d5c2c10
parent f9546996f34d2ecdda8a03f77bb69e6cfdc1a7b5
Author: Kaleb Luedtke <jluedtk@jci.com>
Date: Wed, 6 Mar 2024 15:48:18 -0600
Update Triage Triggers (#4239)
* Add most labels
* Allow closing and re-opening issues
* Allow resetting labels
* Synchronize moderator list with winget-pkgs
* Put label triggers in lexographical order
<!-- To check a checkbox place an "x" between the brackets. e.g: [x] -->
- [x] I have signed the [Contributor License
Agreement](https://cla.opensource.microsoft.com/microsoft/winget-pkgs).
- [ ] This pull request is related to an issue.
@denelon
-----
###### Microsoft Reviewers: [Open in
CodeFlow](https://microsoft.github.io/open-pr/?codeflow=https://github.com/microsoft/winget-cli/pull/4239)
Diffstat:
1 file changed, 359 insertions(+), 64 deletions(-)
diff --git a/.github/policies/moderatorTriggers.yml b/.github/policies/moderatorTriggers.yml
@@ -16,6 +16,9 @@ configuration:
- activitySenderHasPermission:
permission: Write
- isActivitySender:
+ user: stephengillie
+ issueAuthor: False
+ - isActivitySender:
user: ImJoakim
issueAuthor: False
- isActivitySender:
@@ -50,26 +53,38 @@ configuration:
- payloadType: Pull_Request_Review_Comment
# Take different actions based on the comment pattern
then:
- # Blocking-Issue
+ # Area-Accessibility
- if:
- commentContains:
- pattern: '\[[Pp]olicy\]\s+[bB]locking[\s-][iI]ssue'
+ pattern: '\[[Pp]olicy\]\s+[aA]rea[\s-][aA]ccessibility'
isRegex: True
then:
- - removeLabel:
- label: Needs-Author-Feedback
- - removeLabel:
- label: Needs-Attention
- addLabel:
- label: Blocking-Issue
- # Dependencies
+ label: Area-Accessibility
+ # Area-Architecture
- if:
- commentContains:
- pattern: '\[[Pp]olicy\]\s+[dD]ependencies'
+ pattern: '\[[Pp]olicy\]\s+[aA]rea[\s-][aA]rchitecture'
isRegex: True
then:
- addLabel:
- label: Dependencies
+ label: Area-Architecture
+ # Area-Build
+ - if:
+ - commentContains:
+ pattern: '\[[Pp]olicy\]\s+[aA]rea[\s-][bB]uild'
+ isRegex: True
+ then:
+ - addLabel:
+ label: Area-Build
+ # Area-COM-API
+ - if:
+ - commentContains:
+ pattern: '\[[Pp]olicy\]\s+[aA]rea[\s-][cC][oO][mM][\s-][aA][pP][iI]'
+ isRegex: True
+ then:
+ - addLabel:
+ label: Area-COM-API
# Area-External
- if:
- commentContains:
@@ -78,14 +93,46 @@ configuration:
then:
- addLabel:
label: Area-External
- # Zipped-Binary
+ # Area-GPO
- if:
- commentContains:
- pattern: '\[[Pp]olicy\]\s+[zZ]ip(ped)?[\s-][bB]inary'
+ pattern: '\[[Pp]olicy\]\s+[aA]rea[\s-][gG][pP][oO]'
isRegex: True
then:
- addLabel:
- label: Zipped-Binary
+ label: Area-GPO
+ # Area-Input
+ - if:
+ - commentContains:
+ pattern: '\[[Pp]olicy\]\s+[aA]rea[\s-][iI]nput'
+ isRegex: True
+ then:
+ - addLabel:
+ label: Area-Input
+ # Area-Localization
+ - if:
+ - commentContains:
+ pattern: '\[[Pp]olicy\]\s+[aA]rea[\s-][lL]ocalization'
+ isRegex: True
+ then:
+ - addLabel:
+ label: Area-Localization
+ # Area-Manifest
+ - if:
+ - commentContains:
+ pattern: '\[[Pp]olicy\]\s+[aA]rea[\s-][mM]anifest'
+ isRegex: True
+ then:
+ - addLabel:
+ label: Area-Manifest
+ # Area-Matching
+ - if:
+ - commentContains:
+ pattern: '\[[Pp]olicy\]\s+[aA]rea[\s-][mM]atching'
+ isRegex: True
+ then:
+ - addLabel:
+ label: Area-Matching
# Area-Output
- if:
- commentContains:
@@ -94,6 +141,30 @@ configuration:
then:
- addLabel:
label: Area-Output
+ # Area-Path
+ - if:
+ - commentContains:
+ pattern: '\[[Pp]olicy\]\s+[aA]rea[\s-][pP]ath'
+ isRegex: True
+ then:
+ - addLabel:
+ label: Area-Path
+ # Area-Performance
+ - if:
+ - commentContains:
+ pattern: '\[[Pp]olicy\]\s+[aA]rea[\s-][pP]erformance'
+ isRegex: True
+ then:
+ - addLabel:
+ label: Area-Performance
+ # Area-Scope
+ - if:
+ - commentContains:
+ pattern: '\[[Pp]olicy\]\s+[aA]rea[\s-][sS]cope'
+ isRegex: True
+ then:
+ - addLabel:
+ label: Area-Scope
# Area-Settings
- if:
- commentContains:
@@ -102,54 +173,58 @@ configuration:
then:
- addLabel:
label: Area-Settings
- # Area-Localization
+ # Area-Sorting
- if:
- commentContains:
- pattern: '\[[Pp]olicy\]\s+[aA]rea[\s-][lL]ocalization'
+ pattern: '\[[Pp]olicy\]\s+[aA]rea[\s-][sS]orting'
isRegex: True
then:
- addLabel:
- label: Area-Localization
- # Area-Accessibility
+ label: Area-Sorting
+ # Area-User-Interface
- if:
- commentContains:
- pattern: '\[[Pp]olicy\]\s+[aA]rea[\s-][aA]ccessibility'
+ pattern: '\[[Pp]olicy\]\s+[aA]rea[\s-][uU]ser[\s-][iI]nterface'
isRegex: True
then:
- addLabel:
- label: Area-Accessibility
- # Area-Manifest
+ label: Area-User-Interface
+ # Blocking-Issue
- if:
- commentContains:
- pattern: '\[[Pp]olicy\]\s+[aA]rea[\s-][mM]anifest'
+ pattern: '\[[Pp]olicy\]\s+[bB]locking[\s-][iI]ssue'
isRegex: True
then:
+ - removeLabel:
+ label: Needs-Author-Feedback
+ - removeLabel:
+ label: Needs-Attention
- addLabel:
- label: Area-Manifest
- # Area-GPO
+ label: Blocking-Issue
+ # Breaking-Change
- if:
- commentContains:
- pattern: '\[[Pp]olicy\]\s+[aA]rea[\s-][gG][pP][oO]]'
+ pattern: '\[[Pp]olicy\]\s+[bB]reaking[\s-][cC]hange'
isRegex: True
then:
- addLabel:
- label: Area-GPO
- # Area-Path
+ label: Breaking-Change
+ # Command-Configure
- if:
- commentContains:
- pattern: '\[[Pp]olicy\]\s+[aA]rea[\s-][pP]ath'
+ pattern: '\[[Pp]olicy\]\s+[cC]ommand[\s-][cC]onfigure'
isRegex: True
then:
- addLabel:
- label: Area-Path
- # Area-Matching
+ label: Command-Configure
+ # Command-Download
- if:
- commentContains:
- pattern: '\[[Pp]olicy\]\s+[aA]rea[\s-][mM]atching'
+ pattern: '\[[Pp]olicy\]\s+[cC]ommand[\s-][dD]ownload'
isRegex: True
then:
- addLabel:
- label: Area-Matching
+ label: Command-Download
# Command-Export
- if:
- commentContains:
@@ -158,14 +233,22 @@ configuration:
then:
- addLabel:
label: Command-Export
- # Command-Search
+ # Command-Import
- if:
- commentContains:
- pattern: '\[[Pp]olicy\]\s+[cC]ommand[\s-][sS]earch'
+ pattern: '\[[Pp]olicy\]\s+[cC]ommand[\s-][iI]mport'
isRegex: True
then:
- addLabel:
- label: Command-Search
+ label: Command-Import
+ # Command-Install
+ - if:
+ - commentContains:
+ pattern: '\[[Pp]olicy\]\s+[cC]ommand[\s-][iI]nstall'
+ isRegex: True
+ then:
+ - addLabel:
+ label: Command-Install
# Command-List
- if:
- commentContains:
@@ -174,30 +257,30 @@ configuration:
then:
- addLabel:
label: Command-List
- # Command-Install
+ # Command-Pin
- if:
- commentContains:
- pattern: '\[[Pp]olicy\]\s+[cC]ommand[\s-][iI]nstall'
+ pattern: '\[[Pp]olicy\]\s+[cC]ommand[\s-][pP]in'
isRegex: True
then:
- addLabel:
- label: Command-Install
- # Command-Import
+ label: Command-Pin
+ # Command-Search
- if:
- commentContains:
- pattern: '\[[Pp]olicy\]\s+[cC]ommand[\s-][iI]mport'
+ pattern: '\[[Pp]olicy\]\s+[cC]ommand[\s-][sS]earch'
isRegex: True
then:
- addLabel:
- label: Command-Import
- # Command-Uninstall
+ label: Command-Search
+ # Command-Show
- if:
- commentContains:
- pattern: '\[[Pp]olicy\]\s+[cC]ommand[\s-][uU]ninstall'
+ pattern: '\[[Pp]olicy\]\s+[cC]ommand[\s-][sS]how'
isRegex: True
then:
- addLabel:
- label: Command-Uninstall
+ label: Command-Show
# Command-Source
- if:
- commentContains:
@@ -206,46 +289,102 @@ configuration:
then:
- addLabel:
label: Command-Source
- # Command-Pin
+ # Command-Uninstall
- if:
- commentContains:
- pattern: '\[[Pp]olicy\]\s+[cC]ommand[\s-][pP]in'
+ pattern: '\[[Pp]olicy\]\s+[cC]ommand[\s-][uU]ninstall'
isRegex: True
then:
- addLabel:
- label: Command-Pin
- # Command-Configure
+ label: Command-Uninstall
+ # Command-Upgrade
- if:
- commentContains:
- pattern: '\[[Pp]olicy\]\s+[cC]ommand[\s-][cC]onfigure'
+ pattern: '\[[Pp]olicy\]\s+[cC]ommand[\s-][uU]pgrade'
isRegex: True
then:
- addLabel:
- label: Command-Configure
- # Command-Upgrade
+ label: Command-Upgrade
+ # Command-Validate
- if:
- commentContains:
- pattern: '\[[Pp]olicy\]\s+[cC]ommand[\s-][uU]pgrade'
+ pattern: '\[[Pp]olicy\]\s+[cC]ommand[\s-][vV]alidate'
isRegex: True
then:
- addLabel:
- label: Command-Upgrade
- # Command-Show
+ label: Command-Validate
+ # Dependencies
- if:
- commentContains:
- pattern: '\[[Pp]olicy\]\s+[cC]ommand[\s-][sS]how'
+ pattern: '\[[Pp]olicy\]\s+[dD]ependencies'
isRegex: True
then:
- addLabel:
- label: Command-Show
- # Needs-Author-Feedback
+ label: Dependencies
+ # DSC-Resource
- if:
- commentContains:
- pattern: '\[[Pp]olicy\]\s+[Nn]eeds[\s-][Aa]uthor[\s-][fF]eedback'
+ pattern: '\[[Pp]olicy\]\s+[dD][sS][cC][\s-][rR]esource'
isRegex: True
then:
- addLabel:
- label: Needs-Author-Feedback
+ label: DSC-Resource
+ # Experimental
+ - if:
+ - commentContains:
+ pattern: '\[[Pp]olicy\]\s+[eE]xperimental'
+ isRegex: True
+ then:
+ - addLabel:
+ label: Experimental
+ # Hardware
+ - if:
+ - commentContains:
+ pattern: '\[[Pp]olicy\]\s+[hH]ardware'
+ isRegex: True
+ then:
+ - addLabel:
+ label: Hardware
+ # Interactive-Only-Installer
+ - if:
+ - commentContains:
+ pattern: '\[[Pp]olicy\]\s+[iI]nteractive[\s-][oO]nly([\s-][iI]nstaller)?'
+ isRegex: True
+ then:
+ - addLabel:
+ label: Interactive-Only-Installer
+ # Issue-Bug
+ - if:
+ - commentContains:
+ pattern: '\[[Pp]olicy\]\s+[iI]ssue[\s-][bB]ug'
+ isRegex: True
+ then:
+ - addLabel:
+ label: Issue-Bug
+ # Issue-Docs
+ - if:
+ - commentContains:
+ pattern: '\[[Pp]olicy\]\s+[iI]ssue[\s-][dD]ocs'
+ isRegex: True
+ then:
+ - addLabel:
+ label: Issue-Docs
+ # Issue-Feature
+ - if:
+ - commentContains:
+ pattern: '\[[Pp]olicy\]\s+[iI]ssue[\s-][fF]eature'
+ isRegex: True
+ then:
+ - addLabel:
+ label: Issue-Feature
+ # msstore
+ - if:
+ - commentContains:
+ pattern: '\[[Pp]olicy\]\s+[mM][sS][sS]tore'
+ isRegex: True
+ then:
+ - addLabel:
+ label: msstore
# Needs-Attention
- if:
- commentContains:
@@ -254,14 +393,14 @@ configuration:
then:
- addLabel:
label: Needs-Attention
- # Experimental
+ # Needs-Author-Feedback
- if:
- commentContains:
- pattern: '\[[Pp]olicy\]\s+[eE]xperimental'
+ pattern: '\[[Pp]olicy\]\s+[Nn]eeds[\s-][Aa]uthor[\s-][fF]eedback'
isRegex: True
then:
- addLabel:
- label: Experimental
+ label: Needs-Author-Feedback
# Portable
- if:
- commentContains:
@@ -278,6 +417,14 @@ configuration:
then:
- addLabel:
label: PowerShell
+ # PSA
+ - if:
+ - commentContains:
+ pattern: '\[[Pp]olicy\]\s+[Pp][Ss][Aa]'
+ isRegex: True
+ then:
+ - addLabel:
+ label: Public-Service-Announcement
# Side-By-Side
- if:
- commentContains:
@@ -286,14 +433,22 @@ configuration:
then:
- addLabel:
label: Side-By-Side
- # Breaking-Change
+ # Zipped-Binary
- if:
- commentContains:
- pattern: '\[[Pp]olicy\]\s+[bB]reaking[\s-][cC]hange'
+ pattern: '\[[Pp]olicy\]\s+[zZ]ip(ped)?[\s-][bB]inary'
isRegex: True
then:
- addLabel:
- label: Breaking-Change
+ label: Zipped-Binary
+ # Unblocked
+ - if:
+ - commentContains:
+ pattern: '\[[Pp]olicy\]\s+[uU]nblocked'
+ isRegex: True
+ then:
+ - removeLabel:
+ label: Blocking-Issue
# Duplicate of #
- if:
- commentContains:
@@ -320,5 +475,145 @@ configuration:
label: Needs-Author-Feedback
- addLabel:
label: Resolution-Duplicate
+ # Close with reason <>;
+ - if:
+ - commentContains:
+ pattern: "[cC]lose\\s+[wW]ith\\s+[rR]eason\\s*:[\\w\\s\\-\\(\\)\\[\\]\\{\\}\\\\\\/.+=@\\#$%&^*`~|'\",<>?]*(?=;)"
+ isRegex: True
+ then:
+ - closeIssue
+ - removeLabel:
+ label: Needs-Triage
+ - removeLabel:
+ label: Needs-Attention
+ - removeLabel:
+ label: Needs-Feedback-Hub
+ - removeLabel:
+ label: Needs-Author-Feedback
+ # Reopen with reason <>;
+ - if:
+ - commentContains:
+ pattern: "[rR]eopen\\s+[wW]ith\\s+[rR]eason\\s*:[\\w\\s\\-\\(\\)\\[\\]\\{\\}\\\\\\/.+=@\\#$%&^*`~|'\",<>?]*(?=;)"
+ isRegex: True
+ then:
+ - reopenIssue
+ - removeLabel:
+ label: Resolution-Duplicate
+ - removeLabel:
+ label: No-Recent-Activity
+ # Reset-Feedback
+ - if:
+ - commentContains:
+ pattern: '\[[Pp]olicy\]\s+[rR]eset\s+[fF]eedback'
+ isRegex: True
+ then:
+ - removeLabel:
+ label: Needs-Author-Feedback
+ - removeLabel:
+ label: Needs-Attention
+ # Reset-Labels
+ - if:
+ - commentContains:
+ pattern: '\[[Pp]olicy\]\s+[rR]eset\s+[lL]abels'
+ isRegex: True
+ then:
+ - removeLabel:
+ label: Area-Accessibility
+ - removeLabel:
+ label: Area-Architecture
+ - removeLabel:
+ label: Area-Build
+ - removeLabel:
+ label: Area-COM-API
+ - removeLabel:
+ label: Area-External
+ - removeLabel:
+ label: Area-GPO
+ - removeLabel:
+ label: Area-Input
+ - removeLabel:
+ label: Area-Localization
+ - removeLabel:
+ label: Area-Manifest
+ - removeLabel:
+ label: Area-Matching
+ - removeLabel:
+ label: Area-Output
+ - removeLabel:
+ label: Area-Path
+ - removeLabel:
+ label: Area-Performance
+ - removeLabel:
+ label: Area-Scope
+ - removeLabel:
+ label: Area-Settings
+ - removeLabel:
+ label: Area-Sorting
+ - removeLabel:
+ label: Area-User-Interface
+ - removeLabel:
+ label: Blocking-Issue
+ - removeLabel:
+ label: Breaking-Change
+ - removeLabel:
+ label: Command-Configure
+ - removeLabel:
+ label: Command-Download
+ - removeLabel:
+ label: Command-Export
+ - removeLabel:
+ label: Command-Import
+ - removeLabel:
+ label: Command-Install
+ - removeLabel:
+ label: Command-List
+ - removeLabel:
+ label: Command-Pin
+ - removeLabel:
+ label: Command-Search
+ - removeLabel:
+ label: Command-Show
+ - removeLabel:
+ label: Command-Source
+ - removeLabel:
+ label: Command-Uninstall
+ - removeLabel:
+ label: Command-Upgrade
+ - removeLabel:
+ label: Command-Validate
+ - removeLabel:
+ label: Dependencies
+ - removeLabel:
+ label: DSC-Resource
+ - removeLabel:
+ label: Experimental
+ - removeLabel:
+ label: Hardware
+ - removeLabel:
+ label: In-PR
+ - removeLabel:
+ label: Interactive-Only-Installer
+ - removeLabel:
+ label: Issue-Bug
+ - removeLabel:
+ label: Issue-Docs
+ - removeLabel:
+ label: Issue-Feature
+ - removeLabel:
+ label: msstore
+ - removeLabel:
+ label: Needs-Attention
+ - removeLabel:
+ label: Needs-Author-Feedback
+ - removeLabel:
+ label: Portable
+ - removeLabel:
+ label: PowerShell
+ - removeLabel:
+ label: Public-Service-Announcement
+ - removeLabel:
+ label: Side-By-Side
+ - removeLabel:
+ label: Zipped-Binary
onFailure:
onSuccess: