From ea2532e65cc45fbef026aaf90af512db49703821 Mon Sep 17 00:00:00 2001 From: "dotnet-policy-service[bot]" <123482357+dotnet-policy-service[bot]@users.noreply.github.com> Date: Wed, 6 Mar 2024 22:39:50 -0800 Subject: [PATCH] FabricBot: Onboarding to GitOps.ResourceManagement because of FabricBot decommissioning (#99169) * Add prIssueManagement.yml to onboard repo to GitOps.ResourceManagement as FabricBot replacement Details on the replacement service and the syntax of the new yaml configuration file is available publicly at: https://microsoft.github.io/GitOps/policies/resource-management.html Please review and merge this PR to complete the process of onboarding to the new service. * Deleting fabricbot.json * Update repo documentation that referenced FabricBot --------- Co-authored-by: dotnet-policy-service[bot] <123482357+dotnet-policy-service[bot]@users.noreply.github.com> Co-authored-by: Jeff Handley --- .github/CODEOWNERS | 2 +- .github/fabricbot.json | 2938 ----------------------- .github/policies/resourceManagement.yml | 1882 +++++++++++++++ docs/infra/automation.md | 10 +- docs/workflow/ci/triaging-failures.md | 2 +- 5 files changed, 1887 insertions(+), 2947 deletions(-) delete mode 100644 .github/fabricbot.json create mode 100644 .github/policies/resourceManagement.yml diff --git a/.github/CODEOWNERS b/.github/CODEOWNERS index ecc2cc3d386..12303cdf575 100644 --- a/.github/CODEOWNERS +++ b/.github/CODEOWNERS @@ -112,4 +112,4 @@ # Area ownership and repo automation /docs/area-owners.* @jeffhandley /docs/issue*.md @jeffhandley -/.github/fabricbot.json @jeffhandley +/.github/policies/ @jeffhandley @mkArtakMSFT diff --git a/.github/fabricbot.json b/.github/fabricbot.json deleted file mode 100644 index 27ea96a2762..00000000000 --- a/.github/fabricbot.json +++ /dev/null @@ -1,2938 +0,0 @@ -[ - { - "taskType": "scheduledAndTrigger", - "capabilityId": "IssueRouting", - "subCapability": "@Mention", - "version": "1.0", - "config": { - "taskName": "Area-owners", - "labelsAndMentions": [ - { - "labels": [ - "area-AssemblyLoader-coreclr" - ], - "mentionees": [ - "vitek-karas", - "agocke", - "vsadov" - ] - }, - { - "labels": [ - "area-AssemblyLoader-mono" - ], - "mentionees": [] - }, - { - "labels": [ - "area-CodeGen-coreclr" - ], - "mentionees": [ - "JulieLeeMSFT", - "jakobbotsch" - ] - }, - { - "labels": [ - "area-Codegen-Interpreter-mono" - ], - "mentionees": [ - "brzvlad", - "kotlarmilos" - ] - }, - { - "labels": [ - "area-Codegen-JIT-Mono" - ], - "mentionees": [ - "SamMonoRT", - "vargaz" - ] - }, - { - "labels": [ - "area-CodeGen-LLVM-Mono" - ], - "mentionees": [ - "SamMonoRT", - "vargaz" - ] - }, - { - "labels": [ - "area-Codegen-Intrinsics-mono" - ], - "mentionees": [ - "SamMonoRT", - "fanyang-mono" - ] - }, - { - "labels": [ - "area-CodeGen-meta-Mono" - ], - "mentionees": [ - "SamMonoRT", - "vargaz", - "lambdageek" - ] - }, - { - "labels": [ - "area-System.DateTime" - ], - "mentionees": [ - "dotnet/area-system-datetime" - ] - }, - { - "labels": [ - "area-Debugger-mono" - ], - "mentionees": [ - "thaystg" - ] - }, - { - "labels": [ - "area-DependencyModel" - ], - "mentionees": [ - "dotnet/area-dependencymodel" - ] - }, - { - "labels": [ - "area-Diagnostics-coreclr" - ], - "mentionees": [ - "tommcdon" - ] - }, - { - "labels": [ - "area-Extensions-Caching" - ], - "mentionees": [ - "dotnet/area-extensions-caching" - ] - }, - { - "labels": [ - "area-Extensions-Configuration" - ], - "mentionees": [ - "dotnet/area-extensions-configuration" - ] - }, - { - "labels": [ - "area-Extensions-DependencyInjection" - ], - "mentionees": [ - "dotnet/area-extensions-dependencyinjection" - ] - }, - { - "labels": [ - "area-Extensions-FileSystem" - ], - "mentionees": [ - "dotnet/area-extensions-filesystem" - ] - }, - { - "labels": [ - "area-Extensions-Hosting" - ], - "mentionees": [ - "dotnet/area-extensions-hosting" - ] - }, - { - "labels": [ - "area-Extensions-HttpClientFactory" - ], - "mentionees": [ - "dotnet/ncl" - ] - }, - { - "labels": [ - "area-Extensions-Logging" - ], - "mentionees": [ - "dotnet/area-extensions-logging" - ] - }, - { - "labels": [ - "area-Extensions-Options" - ], - "mentionees": [ - "dotnet/area-extensions-options" - ] - }, - { - "labels": [ - "area-Extensions-Primitives" - ], - "mentionees": [ - "dotnet/area-extensions-primitives" - ] - }, - { - "labels": [ - "area-GC-coreclr" - ], - "mentionees": [ - "dotnet/gc" - ] - }, - { - "labels": [ - "area-GC-mono" - ], - "mentionees": [ - "brzvlad" - ] - }, - { - "labels": [ - "area-Host" - ], - "mentionees": [ - "vitek-karas", - "agocke", - "vsadov" - ] - }, - { - "labels": [ - "area-HostModel" - ], - "mentionees": [ - "vitek-karas", - "agocke" - ] - }, - { - "labels": [ - "area-ILTools-coreclr" - ], - "mentionees": [ - "JulieLeeMSFT" - ] - }, - { - "labels": [ - "area-Tools-ILVerification" - ], - "mentionees": [ - "JulieLeeMSFT" - ] - }, - { - "labels": [ - "area-Infrastructure" - ], - "mentionees": [ - "dotnet/runtime-infrastructure" - ] - }, - { - "labels": [ - "area-Infrastructure-coreclr" - ], - "mentionees": [ - "hoyosjs" - ] - }, - { - "labels": [ - "area-Infrastructure-libraries" - ], - "mentionees": [ - "dotnet/area-infrastructure-libraries" - ] - }, - { - "labels": [ - "area-Infrastructure-mono" - ], - "mentionees": [ - "directhex" - ] - }, - { - "labels": [ - "area-Meta" - ], - "mentionees": [ - "dotnet/area-meta" - ] - }, - { - "labels": [ - "area-Microsoft.CSharp" - ], - "mentionees": [ - "cston" - ] - }, - { - "labels": [ - "area-Microsoft.Extensions" - ], - "mentionees": [ - "dotnet/area-microsoft-extensions" - ] - }, - { - "labels": [ - "area-Microsoft.VisualBasic" - ], - "mentionees": [ - "cston" - ] - }, - { - "labels": [ - "area-Microsoft.Win32" - ], - "mentionees": [ - "dotnet/area-microsoft-win32" - ] - }, - { - "labels": [ - "area-NativeAOT-coreclr" - ], - "mentionees": [ - "agocke", - "MichalStrehovsky", - "jkotas" - ] - }, - { - "labels": [ - "area-Single-File" - ], - "mentionees": [ - "agocke", - "vitek-karas", - "vsadov" - ] - }, - { - "labels": [ - "area-System.Buffers" - ], - "mentionees": [ - "dotnet/area-system-buffers" - ] - }, - { - "labels": [ - "area-System.CodeDom" - ], - "mentionees": [ - "dotnet/area-system-codedom" - ] - }, - { - "labels": [ - "area-System.Collections" - ], - "mentionees": [ - "dotnet/area-system-collections" - ] - }, - { - "labels": [ - "area-System.ComponentModel" - ], - "mentionees": [ - "dotnet/area-system-componentmodel" - ] - }, - { - "labels": [ - "area-System.ComponentModel.Composition" - ], - "mentionees": [ - "dotnet/area-system-componentmodel-composition" - ] - }, - { - "labels": [ - "area-System.ComponentModel.DataAnnotations" - ], - "mentionees": [ - "dotnet/area-system-componentmodel-dataannotations" - ] - }, - { - "labels": [ - "area-System.Composition" - ], - "mentionees": [ - "dotnet/area-system-composition" - ] - }, - { - "labels": [ - "area-System.Configuration" - ], - "mentionees": [ - "dotnet/area-system-configuration" - ] - }, - { - "labels": [ - "area-System.Console" - ], - "mentionees": [ - "dotnet/area-system-console" - ] - }, - { - "labels": [ - "area-System.Data" - ], - "mentionees": [ - "roji", - "ajcvickers" - ] - }, - { - "labels": [ - "area-System.Data.Odbc" - ], - "mentionees": [ - "roji", - "ajcvickers" - ] - }, - { - "labels": [ - "area-System.Data.OleDB" - ], - "mentionees": [ - "roji", - "ajcvickers" - ] - }, - { - "labels": [ - "area-System.Data.SqlClient" - ], - "mentionees": [ - "davoudeshtehari", - "david-engel", - "jrahnama" - ] - }, - { - "labels": [ - "area-System.Diagnostics" - ], - "mentionees": [ - "tommcdon" - ] - }, - { - "labels": [ - "area-System.Diagnostics.Activity" - ], - "mentionees": [ - "dotnet/area-system-diagnostics-activity" - ] - }, - { - "labels": [ - "area-System.Diagnostics.EventLog" - ], - "mentionees": [ - "dotnet/area-system-diagnostics-eventlog" - ] - }, - { - "labels": [ - "area-System.Diagnostics.PerformanceCounter" - ], - "mentionees": [ - "dotnet/area-system-diagnostics-performancecounter" - ] - }, - { - "labels": [ - "area-System.Diagnostics.Process" - ], - "mentionees": [ - "dotnet/area-system-diagnostics-process" - ] - }, - { - "labels": [ - "area-System.Diagnostics.TraceSource" - ], - "mentionees": [ - "dotnet/area-system-diagnostics-tracesource" - ] - }, - { - "labels": [ - "area-System.Diagnostics.Tracing" - ], - "mentionees": [ - "tarekgh", - "tommcdon", - "pjanotti" - ] - }, - { - "labels": [ - "area-System.DirectoryServices" - ], - "mentionees": [ - "dotnet/area-system-directoryservices", - "jay98014" - ] - }, - { - "labels": [ - "area-System.Drawing" - ], - "mentionees": [ - "dotnet/area-system-drawing" - ] - }, - { - "labels": [ - "area-System.Dynamic.Runtime" - ], - "mentionees": [ - "cston" - ] - }, - { - "labels": [ - "area-System.Formats.Asn1" - ], - "mentionees": [ - "dotnet/area-system-formats-asn1", - "bartonjs", - "vcsjones" - ] - }, - { - "labels": [ - "area-System.Formats.Cbor" - ], - "mentionees": [ - "dotnet/area-system-formats-cbor", - "bartonjs", - "vcsjones" - ] - }, - { - "labels": [ - "area-System.Formats.Tar" - ], - "mentionees": [ - "dotnet/area-system-formats-tar" - ] - }, - { - "labels": [ - "area-System.Globalization" - ], - "mentionees": [ - "dotnet/area-system-globalization" - ] - }, - { - "labels": [ - "area-System.IO" - ], - "mentionees": [ - "dotnet/area-system-io" - ] - }, - { - "labels": [ - "area-System.IO.Compression" - ], - "mentionees": [ - "dotnet/area-system-io-compression" - ] - }, - { - "labels": [ - "area-System.IO.Hashing" - ], - "mentionees": [ - "dotnet/area-system-io-hashing", - "bartonjs", - "vcsjones" - ] - }, - { - "labels": [ - "area-System.IO.Ports" - ], - "mentionees": [ - "dotnet/area-system-io-ports" - ] - }, - { - "labels": [ - "area-System.Linq" - ], - "mentionees": [ - "dotnet/area-system-linq" - ] - }, - { - "labels": [ - "area-System.Linq.Expressions" - ], - "mentionees": [ - "cston" - ] - }, - { - "labels": [ - "area-System.Linq.Parallel" - ], - "mentionees": [ - "dotnet/area-system-linq-parallel" - ] - }, - { - "labels": [ - "area-System.Management" - ], - "mentionees": [ - "dotnet/area-system-management" - ] - }, - { - "labels": [ - "area-System.Memory" - ], - "mentionees": [ - "dotnet/area-system-memory" - ] - }, - { - "labels": [ - "area-System.Net" - ], - "mentionees": [ - "dotnet/ncl" - ] - }, - { - "labels": [ - "area-System.Net.Http" - ], - "mentionees": [ - "dotnet/ncl" - ] - }, - { - "labels": [ - "area-System.Net.Quic" - ], - "mentionees": [ - "dotnet/ncl" - ] - }, - { - "labels": [ - "area-System.Net.Security" - ], - "mentionees": [ - "dotnet/ncl", - "bartonjs", - "vcsjones" - ] - }, - { - "labels": [ - "area-System.Net.Sockets" - ], - "mentionees": [ - "dotnet/ncl" - ] - }, - { - "labels": [ - "area-System.Numerics" - ], - "mentionees": [ - "dotnet/area-system-numerics" - ] - }, - { - "labels": [ - "area-System.Numerics.Tensors" - ], - "mentionees": [ - "dotnet/area-system-numerics-tensors" - ] - }, - { - "labels": [ - "area-System.Reflection" - ], - "mentionees": [ - "dotnet/area-system-reflection" - ] - }, - { - "labels": [ - "area-System.Reflection.Emit" - ], - "mentionees": [ - "dotnet/area-system-reflection-emit" - ] - }, - { - "labels": [ - "area-System.Reflection.Metadata" - ], - "mentionees": [ - "dotnet/area-system-reflection-metadata" - ] - }, - { - "labels": [ - "area-System.Resources" - ], - "mentionees": [ - "dotnet/area-system-resources" - ] - }, - { - "labels": [ - "area-System.Runtime" - ], - "mentionees": [ - "dotnet/area-system-runtime" - ] - }, - { - "labels": [ - "area-System.Runtime.CompilerServices" - ], - "mentionees": [ - "dotnet/area-system-runtime-compilerservices" - ] - }, - { - "labels": [ - "area-System.Runtime.InteropServices" - ], - "mentionees": [ - "dotnet/interop-contrib" - ] - }, - { - "labels": [ - "area-System.Runtime.Intrinsics" - ], - "mentionees": [ - "dotnet/area-system-runtime-intrinsics" - ] - }, - { - "labels": [ - "area-System.Security" - ], - "mentionees": [ - "dotnet/area-system-security", - "bartonjs", - "vcsjones" - ] - }, - { - "labels": [ - "area-System.ServiceProcess" - ], - "mentionees": [ - "dotnet/area-system-serviceprocess" - ] - }, - { - "labels": [ - "area-System.Speech" - ], - "mentionees": [ - "dotnet/area-system-speech" - ] - }, - { - "labels": [ - "area-System.Text.Encoding" - ], - "mentionees": [ - "dotnet/area-system-text-encoding" - ] - }, - { - "labels": [ - "area-System.Text.Encodings.Web" - ], - "mentionees": [ - "dotnet/area-system-text-encodings-web" - ] - }, - { - "labels": [ - "area-System.Text.Json" - ], - "mentionees": [ - "dotnet/area-system-text-json", - "gregsdennis" - ] - }, - { - "labels": [ - "area-System.Text.RegularExpressions" - ], - "mentionees": [ - "dotnet/area-system-text-regularexpressions" - ] - }, - { - "labels": [ - "area-System.Threading" - ], - "mentionees": [ - "mangod9" - ] - }, - { - "labels": [ - "area-System.Threading.Channels" - ], - "mentionees": [ - "dotnet/area-system-threading-channels" - ] - }, - { - "labels": [ - "area-System.Threading.Tasks" - ], - "mentionees": [ - "dotnet/area-system-threading-tasks" - ] - }, - { - "labels": [ - "area-System.Transactions" - ], - "mentionees": [ - "roji", - "ajcvickers" - ] - }, - { - "labels": [ - "area-System.Xml" - ], - "mentionees": [ - "dotnet/area-system-xml" - ] - }, - { - "labels": [ - "area-Tools-ILLink" - ], - "mentionees": [ - "agocke", - "sbomer", - "vitek-karas" - ] - }, - { - "labels": [ - "area-vm-coreclr" - ], - "mentionees": [ - "mangod9" - ] - } - ], - "replyTemplate": "Tagging subscribers to this area: ${mentionees}\nSee info in [area-owners.md](https://github.com/dotnet/runtime/blob/main/docs/area-owners.md) if you want to be subscribed.", - "enableForPullRequests": true - }, - "disabled": false - }, - { - "taskType": "trigger", - "capabilityId": "IssueResponder", - "subCapability": "IssuesOnlyResponder", - "version": "1.0", - "config": { - "conditions": { - "operator": "and", - "operands": [ - { - "name": "labelAdded", - "parameters": { - "label": "breaking-change" - } - } - ] - }, - "eventType": "issue", - "eventNames": [ - "issues" - ], - "actions": [ - { - "name": "addLabel", - "parameters": { - "label": "needs-breaking-change-doc-created" - } - }, - { - "name": "addReply", - "parameters": { - "comment": "Added `needs-breaking-change-doc-created` label because this issue has the `breaking-change` label. \n\n1. [ ] Create and link to this issue a matching issue in the dotnet/docs repo using the [breaking change documentation template](https://aka.ms/dotnet/docs/new-breaking-change-issue), then remove this `needs-breaking-change-doc-created` label.\n\nTagging @dotnet/compat for awareness of the breaking change." - } - } - ], - "taskName": "Add breaking change doc label to issue" - }, - "disabled": false - }, - { - "taskType": "trigger", - "capabilityId": "IssueResponder", - "subCapability": "PullRequestResponder", - "version": "1.0", - "config": { - "conditions": { - "operator": "and", - "operands": [ - { - "name": "labelAdded", - "parameters": { - "label": "breaking-change" - } - }, - { - "name": "isPr", - "parameters": {} - } - ] - }, - "eventType": "pull_request", - "eventNames": [ - "pull_request", - "issues" - ], - "actions": [ - { - "name": "addLabel", - "parameters": { - "label": "needs-breaking-change-doc-created" - } - }, - { - "name": "addReply", - "parameters": { - "comment": "Added `needs-breaking-change-doc-created` label because this PR has the `breaking-change` label. \n\nWhen you commit this breaking change:\n\n1. [ ] Create and link to this PR and the issue a matching issue in the dotnet/docs repo using the [breaking change documentation template](https://aka.ms/dotnet/docs/new-breaking-change-issue), then remove this `needs-breaking-change-doc-created` label.\n2. [ ] Ask a committer to mail the `.NET Breaking Change Notification` DL.\n\nTagging @dotnet/compat for awareness of the breaking change." - } - } - ], - "taskName": "Add breaking change doc label to PR" - }, - "disabled": false - }, - { - "taskType": "scheduledAndTrigger", - "capabilityId": "IssueRouting", - "subCapability": "@Mention", - "version": "1.0", - "config": { - "taskName": "@Mention for linkable-framework", - "labelsAndMentions": [ - { - "labels": [ - "linkable-framework" - ], - "mentionees": [ - "eerhardt", - "vitek-karas", - "LakshanF", - "sbomer", - "joperezr", - "marek-safar" - ] - } - ], - "replyTemplate": "Tagging subscribers to 'linkable-framework': ${mentionees}\nSee info in area-owners.md if you want to be subscribed.", - "enableForPullRequests": true - } - }, - { - "taskType": "scheduledAndTrigger", - "capabilityId": "IssueRouting", - "subCapability": "@Mention", - "version": "1.0", - "config": { - "taskName": "@Mention for size-reduction", - "replyTemplate": "Tagging subscribers to 'size-reduction': ${mentionees}\nSee info in area-owners.md if you want to be subscribed.", - "labelsAndMentions": [ - { - "labels": [ - "size-reduction" - ], - "mentionees": [ - "eerhardt", - "SamMonoRT", - "marek-safar" - ] - } - ], - "enableForPullRequests": true - } - }, - { - "taskType": "scheduledAndTrigger", - "capabilityId": "IssueRouting", - "subCapability": "@Mention", - "version": "1.0", - "config": { - "taskName": "@Mention for wasm", - "labelsAndMentions": [ - { - "labels": [ - "arch-wasm" - ], - "mentionees": [ - "lewing" - ] - } - ], - "replyTemplate": "Tagging subscribers to 'arch-wasm': ${mentionees}\nSee info in area-owners.md if you want to be subscribed.", - "enableForPullRequests": true - } - }, - { - "taskType": "scheduledAndTrigger", - "capabilityId": "IssueRouting", - "subCapability": "@Mention", - "version": "1.0", - "config": { - "taskName": "@Mention for ios", - "labelsAndMentions": [ - { - "labels": [ - "os-ios" - ], - "mentionees": [ - "steveisok", - "akoeplinger", - "kotlarmilos" - ] - } - ], - "enableForPullRequests": true, - "replyTemplate": "Tagging subscribers to 'os-ios': ${mentionees}\nSee info in area-owners.md if you want to be subscribed." - } - }, - { - "taskType": "scheduledAndTrigger", - "capabilityId": "IssueRouting", - "subCapability": "@Mention", - "version": "1.0", - "config": { - "taskName": "@Mention for android", - "labelsAndMentions": [ - { - "labels": [ - "os-android" - ], - "mentionees": [ - "steveisok", - "akoeplinger" - ] - } - ], - "enableForPullRequests": true, - "replyTemplate": "Tagging subscribers to 'arch-android': ${mentionees}\nSee info in area-owners.md if you want to be subscribed." - } - }, - { - "taskType": "trigger", - "capabilityId": "IssueResponder", - "subCapability": "PullRequestResponder", - "version": "1.0", - "config": { - "conditions": { - "operator": "and", - "operands": [ - { - "operator": "or", - "operands": [ - { - "name": "prMatchesPattern", - "parameters": { - "matchRegex": ".*ILLink.*" - } - }, - { - "name": "prMatchesPattern", - "parameters": { - "matchRegex": ".*illink.*" - } - } - ] - }, - { - "operator": "not", - "operands": [ - { - "name": "hasLabel", - "parameters": { - "label": "linkable-framework" - } - } - ] - }, - { - "name": "isPr", - "parameters": {} - }, - { - "name": "isOpen", - "parameters": {} - } - ] - }, - "eventType": "pull_request", - "eventNames": [ - "pull_request", - "issues" - ], - "taskName": "[Linkable-framework workgroup] Add linkable-framework label to new Prs that touch files with *ILLink* that not have it already", - "actions": [ - { - "name": "addLabel", - "parameters": { - "label": "linkable-framework" - } - } - ] - } - }, - { - "taskType": "trigger", - "capabilityId": "IssueResponder", - "subCapability": "PullRequestResponder", - "version": "1.0", - "config": { - "conditions": { - "operator": "and", - "operands": [ - { - "operator": "or", - "operands": [ - { - "name": "prMatchesPattern", - "parameters": { - "matchRegex": ".*ILLink.*" - } - }, - { - "name": "prMatchesPattern", - "parameters": { - "matchRegex": ".*illink.*" - } - } - ] - }, - { - "operator": "not", - "operands": [ - { - "name": "hasLabel", - "parameters": { - "label": "linkable-framework" - } - } - ] - }, - { - "name": "isPr", - "parameters": {} - }, - { - "name": "isOpen", - "parameters": {} - }, - { - "name": "isAction", - "parameters": { - "action": "synchronize" - } - } - ] - }, - "eventType": "pull_request", - "eventNames": [ - "pull_request", - "issues" - ], - "taskName": "[Linkable-framework workgroup] Add linkable-framework label to Prs that get changes pushed where they touch *ILLInk* files", - "actions": [ - { - "name": "addLabel", - "parameters": { - "label": "linkable-framework" - } - } - ] - } - }, - { - "taskType": "trigger", - "capabilityId": "IssueResponder", - "subCapability": "IssuesOnlyResponder", - "version": "1.0", - "config": { - "conditions": { - "operator": "and", - "operands": [ - { - "name": "labelAdded", - "parameters": { - "label": "backlog-cleanup-candidate" - } - } - ] - }, - "eventType": "issue", - "eventNames": [ - "issues" - ], - "taskName": "Manual Issue Cleanup", - "actions": [ - { - "name": "addReply", - "parameters": { - "comment": "Due to lack of recent activity, this issue has been marked as a candidate for backlog cleanup. It will be closed if no further activity occurs within 14 more days. Any new comment (by anyone, not necessarily the author) will undo this process.\n\nThis process is part of our [issue cleanup automation](https://github.com/dotnet/runtime/blob/main/docs/issue-cleanup.md)." - } - }, - { - "name": "addLabel", - "parameters": { - "label": "no-recent-activity" - } - } - ] - } - }, - { - "taskType": "scheduled", - "capabilityId": "ScheduledSearch", - "subCapability": "ScheduledSearch", - "version": "1.1", - "config": { - "frequency": [ - { - "weekDay": 0, - "hours": [ - 0, - 6, - 12, - 18 - ], - "timezoneOffset": 0 - }, - { - "weekDay": 1, - "hours": [ - 0, - 6, - 12, - 18 - ], - "timezoneOffset": 0 - }, - { - "weekDay": 2, - "hours": [ - 0, - 6, - 12, - 18 - ], - "timezoneOffset": 0 - }, - { - "weekDay": 3, - "hours": [ - 0, - 6, - 12, - 18 - ], - "timezoneOffset": 0 - }, - { - "weekDay": 4, - "hours": [ - 0, - 6, - 12, - 18 - ], - "timezoneOffset": 0 - }, - { - "weekDay": 5, - "hours": [ - 0, - 6, - 12, - 18 - ], - "timezoneOffset": 0 - }, - { - "weekDay": 6, - "hours": [ - 0, - 6, - 12, - 18 - ], - "timezoneOffset": 0 - } - ], - "searchTerms": [ - { - "name": "noActivitySince", - "parameters": { - "days": 1644 - } - }, - { - "name": "isIssue", - "parameters": {} - }, - { - "name": "isOpen", - "parameters": {} - }, - { - "name": "noLabel", - "parameters": { - "label": "backlog-cleanup-candidate" - } - } - ], - "taskName": "Automated Issue cleanup", - "actions": [ - { - "name": "addReply", - "parameters": { - "comment": "Due to lack of recent activity, this issue has been marked as a candidate for backlog cleanup. It will be closed if no further activity occurs within 14 more days. Any new comment (by anyone, not necessarily the author) will undo this process.\n\nThis process is part of our [issue cleanup automation](https://github.com/dotnet/runtime/blob/main/docs/issue-cleanup.md)." - } - }, - { - "name": "addLabel", - "parameters": { - "label": "backlog-cleanup-candidate" - } - }, - { - "name": "addLabel", - "parameters": { - "label": "no-recent-activity" - } - } - ] - } - }, - { - "taskType": "scheduledAndTrigger", - "capabilityId": "IssueRouting", - "subCapability": "@Mention", - "version": "1.0", - "config": { - "taskName": "@Mention for tvos", - "labelsAndMentions": [ - { - "labels": [ - "os-tvos" - ], - "mentionees": [ - "steveisok", - "akoeplinger" - ] - } - ], - "enableForPullRequests": true, - "replyTemplate": "Tagging subscribers to 'os-tvos': ${mentionees}\nSee info in area-owners.md if you want to be subscribed." - } - }, - { - "taskType": "scheduledAndTrigger", - "capabilityId": "IssueRouting", - "subCapability": "@Mention", - "version": "1.0", - "config": { - "labelsAndMentions": [ - { - "labels": [ - "os-maccatalyst" - ], - "mentionees": [ - "steveisok", - "akoeplinger" - ] - } - ], - "replyTemplate": "Tagging subscribers to 'os-maccatalyst': ${mentionees}\nSee info in area-owners.md if you want to be subscribed.", - "enableForPullRequests": true, - "taskName": "@Mention for maccatalyst" - } - }, - { - "taskSource": "fabricbot-config", - "taskType": "trigger", - "capabilityId": "IssueResponder", - "subCapability": "IssuesOnlyResponder", - "version": "1.0", - "config": { - "taskName": "Add untriaged label to new/reopened issues without a milestone", - "actions": [ - { - "name": "addLabel", - "parameters": { - "label": "untriaged" - } - } - ], - "eventType": "issue", - "eventNames": [ - "issues" - ], - "conditions": { - "operator": "and", - "operands": [ - { - "operator": "or", - "operands": [ - { - "name": "isAction", - "parameters": { - "action": "opened" - } - }, - { - "name": "isAction", - "parameters": { - "action": "reopened" - } - } - ] - }, - { - "name": "isOpen", - "parameters": {} - }, - { - "operator": "not", - "operands": [ - { - "name": "isInMilestone", - "parameters": {} - } - ] - }, - { - "operator": "not", - "operands": [ - { - "name": "hasLabel", - "parameters": { - "label": "untriaged" - } - } - ] - } - ] - } - } - }, - { - "taskSource": "fabricbot-config", - "taskType": "trigger", - "capabilityId": "IssueResponder", - "subCapability": "IssuesOnlyResponder", - "version": "1.0", - "config": { - "taskName": "Remove untriaged label from issues when closed or added to a milestone", - "actions": [ - { - "name": "removeLabel", - "parameters": { - "label": "untriaged" - } - } - ], - "eventType": "issue", - "eventNames": [ - "issues" - ], - "conditions": { - "operator": "and", - "operands": [ - { - "operator": "or", - "operands": [ - { - "name": "isAction", - "parameters": { - "action": "closed" - } - }, - { - "name": "isInMilestone", - "parameters": {} - } - ] - }, - { - "name": "hasLabel", - "parameters": { - "label": "untriaged" - } - } - ] - } - } - }, - { - "taskSource": "fabricbot-config", - "taskType": "trigger", - "capabilityId": "InPrLabel", - "subCapability": "InPrLabel", - "version": "1.0", - "config": { - "taskName": "Add `in-pr` label on issue when an open pull request is targeting it", - "inPrLabelText": "There is an active PR which will close this issue when it is merged", - "fixedLabelEnabled": false, - "label_inPr": "in-pr" - } - }, - { - "taskSource": "fabricbot-config", - "taskType": "trigger", - "capabilityId": "IssueResponder", - "subCapability": "PullRequestResponder", - "version": "1.0", - "config": { - "taskName": "Assign Team PRs to author", - "actions": [ - { - "name": "assignToUser", - "parameters": { - "user": { - "type": "prAuthor" - } - } - } - ], - "eventType": "pull_request", - "eventNames": [ - "pull_request" - ], - "conditions": { - "operator": "and", - "operands": [ - { - "name": "isAction", - "parameters": { - "action": "opened" - } - }, - { - "operator": "not", - "operands": [ - { - "name": "activitySenderHasPermissions", - "parameters": { - "permissions": "read" - } - } - ] - } - ] - } - } - }, - { - "taskSource": "fabricbot-config", - "taskType": "trigger", - "capabilityId": "IssueResponder", - "subCapability": "PullRequestResponder", - "version": "1.0", - "config": { - "taskName": "Label community PRs", - "actions": [ - { - "name": "addLabel", - "parameters": { - "label": "community-contribution" - } - } - ], - "eventType": "pull_request", - "eventNames": [ - "pull_request" - ], - "conditions": { - "operator": "and", - "operands": [ - { - "name": "isAction", - "parameters": { - "action": "opened" - } - }, - { - "name": "isPr", - "parameters": {} - }, - { - "operator": "and", - "operands": [ - { - "operator": "not", - "operands": [ - { - "name": "activitySenderHasPermissions", - "parameters": { - "permissions": "admin" - } - } - ] - }, - { - "operator": "not", - "operands": [ - { - "name": "activitySenderHasPermissions", - "parameters": { - "permissions": "write" - } - } - ] - }, - { - "operator": "not", - "operands": [ - { - "name": "isActivitySender", - "parameters": { - "user": "github-actions[bot]" - } - } - ] - }, - { - "operator": "not", - "operands": [ - { - "name": "isActivitySender", - "parameters": { - "user": "dotnet-maestro[bot]" - } - } - ] - }, - { - "operator": "not", - "operands": [ - { - "name": "isActivitySender", - "parameters": { - "user": "dotnet-maestro-bot[bot]" - } - } - ] - }, - { - "operator": "not", - "operands": [ - { - "name": "isActivitySender", - "parameters": { - "user": "dotnet-maestro-bot" - } - } - ] - }, - { - "operator": "not", - "operands": [ - { - "name": "isActivitySender", - "parameters": { - "user": "dotnet-maestro" - } - } - ] - }, - { - "operator": "not", - "operands": [ - { - "name": "isActivitySender", - "parameters": { - "user": "github-actions" - } - } - ] - } - ] - } - ] - } - } - }, - { - "taskSource": "fabricbot-config", - "taskType": "trigger", - "capabilityId": "IssueResponder", - "subCapability": "IssuesOnlyResponder", - "version": "1.0", - "config": { - "taskName": "Needs-author-action notification", - "actions": [ - { - "name": "addReply", - "parameters": { - "comment": "This issue has been marked `needs-author-action` and may be missing some important information." - } - } - ], - "eventType": "issue", - "eventNames": [ - "issues" - ], - "conditions": { - "operator": "and", - "operands": [ - { - "name": "labelAdded", - "parameters": { - "label": "needs-author-action" - } - } - ] - } - } - }, - { - "taskSource": "fabricbot-config", - "taskType": "trigger", - "capabilityId": "IssueResponder", - "subCapability": "PullRequestReviewResponder", - "version": "1.0", - "config": { - "taskName": "PR reviews with \"changes requested\" applies the needs-author-action label", - "actions": [ - { - "name": "addLabel", - "parameters": { - "label": "needs-author-action" - } - } - ], - "eventType": "pull_request", - "eventNames": [ - "pull_request_review" - ], - "conditions": { - "operator": "and", - "operands": [ - { - "operator": "not", - "operands": [ - { - "name": "activitySenderHasPermissions", - "parameters": { - "state": "changes_requested", - "permissions": "read" - } - } - ] - }, - { - "name": "isPr", - "parameters": {} - }, - { - "name": "isAction", - "parameters": { - "action": "submitted" - } - }, - { - "name": "isReviewState", - "parameters": { - "state": "changes_requested" - } - } - ] - } - } - }, - { - "taskSource": "fabricbot-config", - "taskType": "trigger", - "capabilityId": "IssueResponder", - "subCapability": "IssueCommentResponder", - "version": "1.0", - "config": { - "taskName": "Replace `needs-author-action` label with `needs-further-triage` label when the author comments on an issue that is not still untriaged", - "actions": [ - { - "name": "addLabel", - "parameters": { - "label": "needs-further-triage" - } - }, - { - "name": "removeLabel", - "parameters": { - "label": "needs-author-action" - } - } - ], - "eventType": "issue", - "eventNames": [ - "issue_comment" - ], - "conditions": { - "operator": "and", - "operands": [ - { - "name": "isAction", - "parameters": { - "action": "created" - } - }, - { - "name": "isActivitySender", - "parameters": { - "user": { - "type": "author" - } - } - }, - { - "name": "hasLabel", - "parameters": { - "label": "needs-author-action" - } - }, - { - "operator": "not", - "operands": [ - { - "name": "hasLabel", - "parameters": { - "label": "untriaged" - } - } - ] - }, - { - "name": "isIssue", - "parameters": {} - }, - { - "name": "isOpen", - "parameters": {} - } - ] - } - } - }, - { - "taskSource": "fabricbot-config", - "taskType": "trigger", - "capabilityId": "IssueResponder", - "subCapability": "IssueCommentResponder", - "version": "1.0", - "config": { - "taskName": "Remove `needs-author-action` label when the author comments on an `untriaged` issue", - "actions": [ - { - "name": "removeLabel", - "parameters": { - "label": "needs-author-action" - } - } - ], - "eventType": "issue", - "eventNames": [ - "issue_comment" - ], - "conditions": { - "operator": "and", - "operands": [ - { - "name": "isAction", - "parameters": { - "action": "created" - } - }, - { - "name": "isActivitySender", - "parameters": { - "user": { - "type": "author" - } - } - }, - { - "name": "hasLabel", - "parameters": { - "label": "needs-author-action" - } - }, - { - "name": "hasLabel", - "parameters": { - "label": "untriaged" - } - }, - { - "name": "isIssue", - "parameters": {} - }, - { - "name": "isOpen", - "parameters": {} - } - ] - } - } - }, - { - "taskSource": "fabricbot-config", - "taskType": "trigger", - "capabilityId": "IssueResponder", - "subCapability": "PullRequestResponder", - "version": "1.0", - "config": { - "taskName": "Pushing changes to PR branch removes the needs-author-action label", - "actions": [ - { - "name": "removeLabel", - "parameters": { - "label": "needs-author-action" - } - } - ], - "eventType": "pull_request", - "eventNames": [ - "pull_request" - ], - "conditions": { - "operator": "and", - "operands": [ - { - "name": "isPr", - "parameters": {} - }, - { - "name": "isAction", - "parameters": { - "action": "synchronize" - } - }, - { - "name": "hasLabel", - "parameters": { - "label": "needs-author-action" - } - } - ] - } - } - }, - { - "taskSource": "fabricbot-config", - "taskType": "trigger", - "capabilityId": "IssueResponder", - "subCapability": "PullRequestCommentResponder", - "version": "1.0", - "config": { - "taskName": "Author commenting in PR removes the needs-author-action label", - "actions": [ - { - "name": "removeLabel", - "parameters": { - "label": "needs-author-action" - } - } - ], - "eventType": "pull_request", - "eventNames": [ - "issue_comment" - ], - "conditions": { - "operator": "and", - "operands": [ - { - "name": "isActivitySender", - "parameters": { - "user": { - "type": "author" - } - } - }, - { - "name": "isAction", - "parameters": { - "action": "created" - } - }, - { - "name": "hasLabel", - "parameters": { - "label": "needs-author-action" - } - }, - { - "name": "isPr", - "parameters": {} - }, - { - "name": "isOpen", - "parameters": {} - } - ] - } - } - }, - { - "taskSource": "fabricbot-config", - "taskType": "trigger", - "capabilityId": "IssueResponder", - "subCapability": "PullRequestReviewResponder", - "version": "1.0", - "config": { - "taskName": "Author responding to a pull request review comment removes the needs-author-action label", - "actions": [ - { - "name": "removeLabel", - "parameters": { - "label": "needs-author-action" - } - } - ], - "eventType": "pull_request", - "eventNames": [ - "pull_request_review" - ], - "conditions": { - "operator": "and", - "operands": [ - { - "name": "isActivitySender", - "parameters": { - "user": { - "type": "author" - } - } - }, - { - "name": "hasLabel", - "parameters": { - "label": "needs-author-action" - } - }, - { - "name": "isAction", - "parameters": { - "action": "submitted" - } - }, - { - "name": "isPr", - "parameters": {} - }, - { - "name": "isOpen", - "parameters": {} - } - ] - } - } - }, - { - "taskSource": "fabricbot-config", - "taskType": "scheduled", - "capabilityId": "ScheduledSearch", - "subCapability": "ScheduledSearch", - "version": "1.1", - "config": { - "taskName": "Add no-recent-activity label to issues", - "actions": [ - { - "name": "addLabel", - "parameters": { - "label": "no-recent-activity" - } - }, - { - "name": "addReply", - "parameters": { - "comment": "This issue has been automatically marked `no-recent-activity` because it has not had any activity for 14 days. It will be closed if no further activity occurs within 14 more days. Any new comment (by anyone, not necessarily the author) will remove `no-recent-activity`." - } - } - ], - "frequency": [ - { - "weekDay": 0, - "hours": [ - 4, - 10, - 16, - 22 - ], - "timezoneOffset": 1 - }, - { - "weekDay": 1, - "hours": [ - 4, - 10, - 16, - 22 - ], - "timezoneOffset": 1 - }, - { - "weekDay": 2, - "hours": [ - 4, - 10, - 16, - 22 - ], - "timezoneOffset": 1 - }, - { - "weekDay": 3, - "hours": [ - 4, - 10, - 16, - 22 - ], - "timezoneOffset": 1 - }, - { - "weekDay": 4, - "hours": [ - 4, - 10, - 16, - 22 - ], - "timezoneOffset": 1 - }, - { - "weekDay": 5, - "hours": [ - 4, - 10, - 16, - 22 - ], - "timezoneOffset": 1 - }, - { - "weekDay": 6, - "hours": [ - 4, - 10, - 16, - 22 - ], - "timezoneOffset": 1 - } - ], - "searchTerms": [ - { - "name": "isIssue", - "parameters": {} - }, - { - "name": "isOpen", - "parameters": {} - }, - { - "name": "hasLabel", - "parameters": { - "label": "needs-author-action" - } - }, - { - "name": "noActivitySince", - "parameters": { - "days": 14 - } - }, - { - "name": "noLabel", - "parameters": { - "label": "no-recent-activity" - } - } - ] - } - }, - { - "taskSource": "fabricbot-config", - "taskType": "scheduled", - "capabilityId": "ScheduledSearch", - "subCapability": "ScheduledSearch", - "version": "1.1", - "config": { - "taskName": "Add no-recent-activity label to PRs", - "actions": [ - { - "name": "addLabel", - "parameters": { - "label": "no-recent-activity" - } - }, - { - "name": "addReply", - "parameters": { - "comment": "This pull request has been automatically marked `no-recent-activity` because it has not had any activity for 14 days. It will be closed if no further activity occurs within 14 more days. Any new comment (by anyone, not necessarily the author) will remove `no-recent-activity`." - } - } - ], - "frequency": [ - { - "weekDay": 0, - "hours": [ - 4, - 10, - 16, - 22 - ], - "timezoneOffset": 1 - }, - { - "weekDay": 1, - "hours": [ - 4, - 10, - 16, - 22 - ], - "timezoneOffset": 1 - }, - { - "weekDay": 2, - "hours": [ - 4, - 10, - 16, - 22 - ], - "timezoneOffset": 1 - }, - { - "weekDay": 3, - "hours": [ - 4, - 10, - 16, - 22 - ], - "timezoneOffset": 1 - }, - { - "weekDay": 4, - "hours": [ - 4, - 10, - 16, - 22 - ], - "timezoneOffset": 1 - }, - { - "weekDay": 5, - "hours": [ - 4, - 10, - 16, - 22 - ], - "timezoneOffset": 1 - }, - { - "weekDay": 6, - "hours": [ - 4, - 10, - 16, - 22 - ], - "timezoneOffset": 1 - } - ], - "searchTerms": [ - { - "name": "isPr", - "parameters": {} - }, - { - "name": "isOpen", - "parameters": {} - }, - { - "name": "hasLabel", - "parameters": { - "label": "needs-author-action" - } - }, - { - "name": "noActivitySince", - "parameters": { - "days": 14 - } - }, - { - "name": "noLabel", - "parameters": { - "label": "no-recent-activity" - } - } - ] - } - }, - { - "taskSource": "fabricbot-config", - "taskType": "trigger", - "capabilityId": "IssueResponder", - "subCapability": "IssuesOnlyResponder", - "version": "1.0", - "config": { - "taskName": "Remove `no-recent-activity` label from issues when issue is modified", - "actions": [ - { - "name": "removeLabel", - "parameters": { - "label": "no-recent-activity" - } - }, - { - "name": "removeLabel", - "parameters": { - "label": "backlog-cleanup-candidate" - } - } - ], - "eventType": "issue", - "eventNames": [ - "issues" - ], - "conditions": { - "operator": "and", - "operands": [ - { - "operator": "not", - "operands": [ - { - "name": "isAction", - "parameters": { - "action": "closed" - } - } - ] - }, - { - "name": "hasLabel", - "parameters": { - "label": "no-recent-activity" - } - }, - { - "operator": "not", - "operands": [ - { - "name": "labelAdded", - "parameters": { - "label": "no-recent-activity" - } - } - ] - } - ] - } - } - }, - { - "taskSource": "fabricbot-config", - "taskType": "trigger", - "capabilityId": "IssueResponder", - "subCapability": "IssueCommentResponder", - "version": "1.0", - "config": { - "taskName": "Remove `no-recent-activity` label when an issue is commented on", - "actions": [ - { - "name": "removeLabel", - "parameters": { - "label": "no-recent-activity" - } - }, - { - "name": "removeLabel", - "parameters": { - "label": "backlog-cleanup-candidate" - } - } - ], - "eventType": "issue", - "eventNames": [ - "issue_comment" - ], - "conditions": { - "operator": "and", - "operands": [ - { - "name": "hasLabel", - "parameters": { - "label": "no-recent-activity" - } - }, - { - "name": "isIssue", - "parameters": {} - } - ] - } - } - }, - { - "taskSource": "fabricbot-config", - "taskType": "trigger", - "capabilityId": "IssueResponder", - "subCapability": "PullRequestResponder", - "version": "1.0", - "config": { - "taskName": "Remove `no-recent-activity` label from PRs when modified", - "actions": [ - { - "name": "removeLabel", - "parameters": { - "label": "no-recent-activity" - } - }, - { - "name": "removeLabel", - "parameters": { - "label": "backlog-cleanup-candidate" - } - } - ], - "eventType": "pull_request", - "eventNames": [ - "pull_request" - ], - "conditions": { - "operator": "and", - "operands": [ - { - "name": "isPr", - "parameters": {} - }, - { - "name": "isOpen", - "parameters": {} - }, - { - "name": "hasLabel", - "parameters": { - "label": "no-recent-activity" - } - }, - { - "operator": "not", - "operands": [ - { - "name": "labelAdded", - "parameters": { - "label": "no-recent-activity" - } - } - ] - } - ] - } - } - }, - { - "taskSource": "fabricbot-config", - "taskType": "trigger", - "capabilityId": "IssueResponder", - "subCapability": "PullRequestCommentResponder", - "version": "1.0", - "config": { - "taskName": "Remove `no-recent-activity` label from PRs when commented on", - "actions": [ - { - "name": "removeLabel", - "parameters": { - "label": "no-recent-activity" - } - }, - { - "name": "removeLabel", - "parameters": { - "label": "backlog-cleanup-candidate" - } - } - ], - "eventType": "pull_request", - "eventNames": [ - "issue_comment" - ], - "conditions": { - "operator": "and", - "operands": [ - { - "name": "hasLabel", - "parameters": { - "label": "no-recent-activity" - } - }, - { - "name": "isPr", - "parameters": {} - }, - { - "name": "isOpen", - "parameters": {} - } - ] - } - } - }, - { - "taskSource": "fabricbot-config", - "taskType": "trigger", - "capabilityId": "IssueResponder", - "subCapability": "PullRequestReviewResponder", - "version": "1.0", - "config": { - "taskName": "Remove `no-recent-activity` label from PRs when new review is added", - "actions": [ - { - "name": "removeLabel", - "parameters": { - "label": "no-recent-activity" - } - }, - { - "name": "removeLabel", - "parameters": { - "label": "backlog-cleanup-candidate" - } - } - ], - "eventType": "pull_request", - "eventNames": [ - "pull_request_review" - ], - "conditions": { - "operator": "and", - "operands": [ - { - "name": "hasLabel", - "parameters": { - "label": "no-recent-activity" - } - }, - { - "name": "isPr", - "parameters": {} - }, - { - "name": "isOpen", - "parameters": {} - } - ] - } - } - }, - { - "taskSource": "fabricbot-config", - "taskType": "scheduled", - "capabilityId": "ScheduledSearch", - "subCapability": "ScheduledSearch", - "version": "1.1", - "config": { - "taskName": "Close issues with no recent activity", - "actions": [ - { - "name": "addReply", - "parameters": { - "comment": "This issue will now be closed since it had been marked `no-recent-activity` but received no further activity in the past 14 days. It is still possible to reopen or comment on the issue, but please note that the issue will be locked if it remains inactive for another 30 days." - } - }, - { - "name": "closeIssue", - "parameters": {} - } - ], - "frequency": [ - { - "weekDay": 0, - "hours": [ - 0, - 6, - 12, - 18 - ], - "timezoneOffset": 0 - }, - { - "weekDay": 1, - "hours": [ - 0, - 6, - 12, - 18 - ], - "timezoneOffset": 0 - }, - { - "weekDay": 2, - "hours": [ - 0, - 6, - 12, - 18 - ], - "timezoneOffset": 0 - }, - { - "weekDay": 3, - "hours": [ - 0, - 6, - 12, - 18 - ], - "timezoneOffset": 0 - }, - { - "weekDay": 4, - "hours": [ - 0, - 6, - 12, - 18 - ], - "timezoneOffset": 0 - }, - { - "weekDay": 5, - "hours": [ - 0, - 6, - 12, - 18 - ], - "timezoneOffset": 0 - }, - { - "weekDay": 6, - "hours": [ - 0, - 6, - 12, - 18 - ], - "timezoneOffset": 0 - } - ], - "searchTerms": [ - { - "name": "isIssue", - "parameters": {} - }, - { - "name": "isOpen", - "parameters": {} - }, - { - "name": "hasLabel", - "parameters": { - "label": "no-recent-activity" - } - }, - { - "name": "noActivitySince", - "parameters": { - "days": 14 - } - } - ] - } - }, - { - "taskSource": "fabricbot-config", - "taskType": "scheduled", - "capabilityId": "ScheduledSearch", - "subCapability": "ScheduledSearch", - "version": "1.1", - "config": { - "taskName": "Close PRs with no-recent-activity", - "actions": [ - { - "name": "addReply", - "parameters": { - "comment": "This pull request will now be closed since it had been marked `no-recent-activity` but received no further activity in the past 14 days. It is still possible to reopen or comment on the pull request, but please note that it will be locked if it remains inactive for another 30 days." - } - }, - { - "name": "closeIssue", - "parameters": {} - } - ], - "frequency": [ - { - "weekDay": 0, - "hours": [ - 0, - 6, - 12, - 18 - ], - "timezoneOffset": 0 - }, - { - "weekDay": 1, - "hours": [ - 0, - 6, - 12, - 18 - ], - "timezoneOffset": 0 - }, - { - "weekDay": 2, - "hours": [ - 0, - 6, - 12, - 18 - ], - "timezoneOffset": 0 - }, - { - "weekDay": 3, - "hours": [ - 0, - 6, - 12, - 18 - ], - "timezoneOffset": 0 - }, - { - "weekDay": 4, - "hours": [ - 0, - 6, - 12, - 18 - ], - "timezoneOffset": 0 - }, - { - "weekDay": 5, - "hours": [ - 0, - 6, - 12, - 18 - ], - "timezoneOffset": 0 - }, - { - "weekDay": 6, - "hours": [ - 0, - 6, - 12, - 18 - ], - "timezoneOffset": 0 - } - ], - "searchTerms": [ - { - "name": "isPr", - "parameters": {} - }, - { - "name": "isOpen", - "parameters": {} - }, - { - "name": "hasLabel", - "parameters": { - "label": "no-recent-activity" - } - }, - { - "name": "noActivitySince", - "parameters": { - "days": 14 - } - } - ] - } - }, - { - "taskSource": "fabricbot-config", - "taskType": "scheduled", - "capabilityId": "ScheduledSearch", - "subCapability": "ScheduledSearch", - "version": "1.1", - "config": { - "taskName": "Close inactive Draft PRs", - "actions": [ - { - "name": "closeIssue", - "parameters": {} - }, - { - "name": "addReply", - "parameters": { - "comment": "Draft Pull Request was automatically closed for 30 days of inactivity. Please [let us know](https://github.com/dotnet/runtime/blob/main/docs/area-owners.md) if you'd like to reopen it." - } - } - ], - "frequency": [ - { - "weekDay": 0, - "hours": [ - 5, - 11, - 17, - 23 - ], - "timezoneOffset": 0 - }, - { - "weekDay": 1, - "hours": [ - 5, - 11, - 17, - 23 - ], - "timezoneOffset": 0 - }, - { - "weekDay": 2, - "hours": [ - 5, - 11, - 17, - 23 - ], - "timezoneOffset": 0 - }, - { - "weekDay": 3, - "hours": [ - 5, - 11, - 17, - 23 - ], - "timezoneOffset": 0 - }, - { - "weekDay": 4, - "hours": [ - 5, - 11, - 17, - 23 - ], - "timezoneOffset": 0 - }, - { - "weekDay": 5, - "hours": [ - 5, - 11, - 17, - 23 - ], - "timezoneOffset": 0 - }, - { - "weekDay": 6, - "hours": [ - 5, - 11, - 17, - 23 - ], - "timezoneOffset": 0 - } - ], - "searchTerms": [ - { - "name": "isDraftPr", - "parameters": { - "value": "true" - } - }, - { - "name": "isOpen", - "parameters": {} - }, - { - "name": "noActivitySince", - "parameters": { - "days": 30 - } - } - ] - } - } -] diff --git a/.github/policies/resourceManagement.yml b/.github/policies/resourceManagement.yml new file mode 100644 index 00000000000..94a9b162a45 --- /dev/null +++ b/.github/policies/resourceManagement.yml @@ -0,0 +1,1882 @@ +id: +name: GitOps.PullRequestIssueManagement +description: GitOps.PullRequestIssueManagement primitive +owner: +resource: repository +disabled: false +where: +configuration: + resourceManagementConfiguration: + scheduledSearches: + - description: Automated Issue cleanup + frequencies: + - hourly: + hour: 6 + filters: + - noActivitySince: + days: 1644 + - isIssue + - isOpen + - isNotLabeledWith: + label: backlog-cleanup-candidate + actions: + - addReply: + reply: >- + Due to lack of recent activity, this issue has been marked as a candidate for backlog cleanup. It will be closed if no further activity occurs within 14 more days. Any new comment (by anyone, not necessarily the author) will undo this process. + + + This process is part of our [issue cleanup automation](https://github.com/dotnet/runtime/blob/main/docs/issue-cleanup.md). + - addLabel: + label: backlog-cleanup-candidate + - addLabel: + label: no-recent-activity + - description: Add no-recent-activity label to issues + frequencies: + - hourly: + hour: 6 + filters: + - isIssue + - isOpen + - hasLabel: + label: needs-author-action + - noActivitySince: + days: 14 + - isNotLabeledWith: + label: no-recent-activity + actions: + - addLabel: + label: no-recent-activity + - addReply: + reply: This issue has been automatically marked `no-recent-activity` because it has not had any activity for 14 days. It will be closed if no further activity occurs within 14 more days. Any new comment (by anyone, not necessarily the author) will remove `no-recent-activity`. + - description: Add no-recent-activity label to PRs + frequencies: + - hourly: + hour: 6 + filters: + - isPullRequest + - isOpen + - hasLabel: + label: needs-author-action + - noActivitySince: + days: 14 + - isNotLabeledWith: + label: no-recent-activity + actions: + - addLabel: + label: no-recent-activity + - addReply: + reply: This pull request has been automatically marked `no-recent-activity` because it has not had any activity for 14 days. It will be closed if no further activity occurs within 14 more days. Any new comment (by anyone, not necessarily the author) will remove `no-recent-activity`. + - description: Close issues with no recent activity + frequencies: + - hourly: + hour: 6 + filters: + - isIssue + - isOpen + - hasLabel: + label: no-recent-activity + - noActivitySince: + days: 14 + actions: + - addReply: + reply: This issue will now be closed since it had been marked `no-recent-activity` but received no further activity in the past 14 days. It is still possible to reopen or comment on the issue, but please note that the issue will be locked if it remains inactive for another 30 days. + - closeIssue + - description: Close PRs with no-recent-activity + frequencies: + - hourly: + hour: 6 + filters: + - isPullRequest + - isOpen + - hasLabel: + label: no-recent-activity + - noActivitySince: + days: 14 + actions: + - addReply: + reply: This pull request will now be closed since it had been marked `no-recent-activity` but received no further activity in the past 14 days. It is still possible to reopen or comment on the pull request, but please note that it will be locked if it remains inactive for another 30 days. + - closeIssue + - description: Close inactive Draft PRs + frequencies: + - hourly: + hour: 6 + filters: + - isDraftPullRequest + - isOpen + - noActivitySince: + days: 30 + actions: + - closeIssue + - addReply: + reply: Draft Pull Request was automatically closed for 30 days of inactivity. Please [let us know](https://github.com/dotnet/runtime/blob/main/docs/area-owners.md) if you'd like to reopen it. + eventResponderTasks: + - if: + - or: + - payloadType: Issues + - payloadType: Pull_Request + - isAction: + action: Opened + then: + - if: + - hasLabel: + label: area-AssemblyLoader-coreclr + then: + - mentionUsers: + mentionees: + - vitek-karas + - agocke + - vsadov + replyTemplate: >- + Tagging subscribers to this area: ${mentionees} + + See info in [area-owners.md](https://github.com/dotnet/runtime/blob/main/docs/area-owners.md) if you want to be subscribed. + assignMentionees: False + - if: + - hasLabel: + label: area-AssemblyLoader-mono + then: + - mentionUsers: + mentionees: [] + replyTemplate: >- + Tagging subscribers to this area: ${mentionees} + + See info in [area-owners.md](https://github.com/dotnet/runtime/blob/main/docs/area-owners.md) if you want to be subscribed. + assignMentionees: False + - if: + - hasLabel: + label: area-CodeGen-coreclr + then: + - mentionUsers: + mentionees: + - JulieLeeMSFT + - jakobbotsch + replyTemplate: >- + Tagging subscribers to this area: ${mentionees} + + See info in [area-owners.md](https://github.com/dotnet/runtime/blob/main/docs/area-owners.md) if you want to be subscribed. + assignMentionees: False + - if: + - hasLabel: + label: area-Codegen-Interpreter-mono + then: + - mentionUsers: + mentionees: + - brzvlad + - kotlarmilos + replyTemplate: >- + Tagging subscribers to this area: ${mentionees} + + See info in [area-owners.md](https://github.com/dotnet/runtime/blob/main/docs/area-owners.md) if you want to be subscribed. + assignMentionees: False + - if: + - hasLabel: + label: area-Codegen-JIT-Mono + then: + - mentionUsers: + mentionees: + - SamMonoRT + - vargaz + replyTemplate: >- + Tagging subscribers to this area: ${mentionees} + + See info in [area-owners.md](https://github.com/dotnet/runtime/blob/main/docs/area-owners.md) if you want to be subscribed. + assignMentionees: False + - if: + - hasLabel: + label: area-CodeGen-LLVM-Mono + then: + - mentionUsers: + mentionees: + - SamMonoRT + - vargaz + replyTemplate: >- + Tagging subscribers to this area: ${mentionees} + + See info in [area-owners.md](https://github.com/dotnet/runtime/blob/main/docs/area-owners.md) if you want to be subscribed. + assignMentionees: False + - if: + - hasLabel: + label: area-Codegen-Intrinsics-mono + then: + - mentionUsers: + mentionees: + - SamMonoRT + - fanyang-mono + replyTemplate: >- + Tagging subscribers to this area: ${mentionees} + + See info in [area-owners.md](https://github.com/dotnet/runtime/blob/main/docs/area-owners.md) if you want to be subscribed. + assignMentionees: False + - if: + - hasLabel: + label: area-CodeGen-meta-Mono + then: + - mentionUsers: + mentionees: + - SamMonoRT + - vargaz + - lambdageek + replyTemplate: >- + Tagging subscribers to this area: ${mentionees} + + See info in [area-owners.md](https://github.com/dotnet/runtime/blob/main/docs/area-owners.md) if you want to be subscribed. + assignMentionees: False + - if: + - hasLabel: + label: area-System.DateTime + then: + - mentionUsers: + mentionees: + - dotnet/area-system-datetime + replyTemplate: >- + Tagging subscribers to this area: ${mentionees} + + See info in [area-owners.md](https://github.com/dotnet/runtime/blob/main/docs/area-owners.md) if you want to be subscribed. + assignMentionees: False + - if: + - hasLabel: + label: area-Debugger-mono + then: + - mentionUsers: + mentionees: + - thaystg + replyTemplate: >- + Tagging subscribers to this area: ${mentionees} + + See info in [area-owners.md](https://github.com/dotnet/runtime/blob/main/docs/area-owners.md) if you want to be subscribed. + assignMentionees: False + - if: + - hasLabel: + label: area-DependencyModel + then: + - mentionUsers: + mentionees: + - dotnet/area-dependencymodel + replyTemplate: >- + Tagging subscribers to this area: ${mentionees} + + See info in [area-owners.md](https://github.com/dotnet/runtime/blob/main/docs/area-owners.md) if you want to be subscribed. + assignMentionees: False + - if: + - hasLabel: + label: area-Diagnostics-coreclr + then: + - mentionUsers: + mentionees: + - tommcdon + replyTemplate: >- + Tagging subscribers to this area: ${mentionees} + + See info in [area-owners.md](https://github.com/dotnet/runtime/blob/main/docs/area-owners.md) if you want to be subscribed. + assignMentionees: False + - if: + - hasLabel: + label: area-Extensions-Caching + then: + - mentionUsers: + mentionees: + - dotnet/area-extensions-caching + replyTemplate: >- + Tagging subscribers to this area: ${mentionees} + + See info in [area-owners.md](https://github.com/dotnet/runtime/blob/main/docs/area-owners.md) if you want to be subscribed. + assignMentionees: False + - if: + - hasLabel: + label: area-Extensions-Configuration + then: + - mentionUsers: + mentionees: + - dotnet/area-extensions-configuration + replyTemplate: >- + Tagging subscribers to this area: ${mentionees} + + See info in [area-owners.md](https://github.com/dotnet/runtime/blob/main/docs/area-owners.md) if you want to be subscribed. + assignMentionees: False + - if: + - hasLabel: + label: area-Extensions-DependencyInjection + then: + - mentionUsers: + mentionees: + - dotnet/area-extensions-dependencyinjection + replyTemplate: >- + Tagging subscribers to this area: ${mentionees} + + See info in [area-owners.md](https://github.com/dotnet/runtime/blob/main/docs/area-owners.md) if you want to be subscribed. + assignMentionees: False + - if: + - hasLabel: + label: area-Extensions-FileSystem + then: + - mentionUsers: + mentionees: + - dotnet/area-extensions-filesystem + replyTemplate: >- + Tagging subscribers to this area: ${mentionees} + + See info in [area-owners.md](https://github.com/dotnet/runtime/blob/main/docs/area-owners.md) if you want to be subscribed. + assignMentionees: False + - if: + - hasLabel: + label: area-Extensions-Hosting + then: + - mentionUsers: + mentionees: + - dotnet/area-extensions-hosting + replyTemplate: >- + Tagging subscribers to this area: ${mentionees} + + See info in [area-owners.md](https://github.com/dotnet/runtime/blob/main/docs/area-owners.md) if you want to be subscribed. + assignMentionees: False + - if: + - hasLabel: + label: area-Extensions-HttpClientFactory + then: + - mentionUsers: + mentionees: + - dotnet/ncl + replyTemplate: >- + Tagging subscribers to this area: ${mentionees} + + See info in [area-owners.md](https://github.com/dotnet/runtime/blob/main/docs/area-owners.md) if you want to be subscribed. + assignMentionees: False + - if: + - hasLabel: + label: area-Extensions-Logging + then: + - mentionUsers: + mentionees: + - dotnet/area-extensions-logging + replyTemplate: >- + Tagging subscribers to this area: ${mentionees} + + See info in [area-owners.md](https://github.com/dotnet/runtime/blob/main/docs/area-owners.md) if you want to be subscribed. + assignMentionees: False + - if: + - hasLabel: + label: area-Extensions-Options + then: + - mentionUsers: + mentionees: + - dotnet/area-extensions-options + replyTemplate: >- + Tagging subscribers to this area: ${mentionees} + + See info in [area-owners.md](https://github.com/dotnet/runtime/blob/main/docs/area-owners.md) if you want to be subscribed. + assignMentionees: False + - if: + - hasLabel: + label: area-Extensions-Primitives + then: + - mentionUsers: + mentionees: + - dotnet/area-extensions-primitives + replyTemplate: >- + Tagging subscribers to this area: ${mentionees} + + See info in [area-owners.md](https://github.com/dotnet/runtime/blob/main/docs/area-owners.md) if you want to be subscribed. + assignMentionees: False + - if: + - hasLabel: + label: area-GC-coreclr + then: + - mentionUsers: + mentionees: + - dotnet/gc + replyTemplate: >- + Tagging subscribers to this area: ${mentionees} + + See info in [area-owners.md](https://github.com/dotnet/runtime/blob/main/docs/area-owners.md) if you want to be subscribed. + assignMentionees: False + - if: + - hasLabel: + label: area-GC-mono + then: + - mentionUsers: + mentionees: + - brzvlad + replyTemplate: >- + Tagging subscribers to this area: ${mentionees} + + See info in [area-owners.md](https://github.com/dotnet/runtime/blob/main/docs/area-owners.md) if you want to be subscribed. + assignMentionees: False + - if: + - hasLabel: + label: area-Host + then: + - mentionUsers: + mentionees: + - vitek-karas + - agocke + - vsadov + replyTemplate: >- + Tagging subscribers to this area: ${mentionees} + + See info in [area-owners.md](https://github.com/dotnet/runtime/blob/main/docs/area-owners.md) if you want to be subscribed. + assignMentionees: False + - if: + - hasLabel: + label: area-HostModel + then: + - mentionUsers: + mentionees: + - vitek-karas + - agocke + replyTemplate: >- + Tagging subscribers to this area: ${mentionees} + + See info in [area-owners.md](https://github.com/dotnet/runtime/blob/main/docs/area-owners.md) if you want to be subscribed. + assignMentionees: False + - if: + - hasLabel: + label: area-ILTools-coreclr + then: + - mentionUsers: + mentionees: + - JulieLeeMSFT + replyTemplate: >- + Tagging subscribers to this area: ${mentionees} + + See info in [area-owners.md](https://github.com/dotnet/runtime/blob/main/docs/area-owners.md) if you want to be subscribed. + assignMentionees: False + - if: + - hasLabel: + label: area-Tools-ILVerification + then: + - mentionUsers: + mentionees: + - JulieLeeMSFT + replyTemplate: >- + Tagging subscribers to this area: ${mentionees} + + See info in [area-owners.md](https://github.com/dotnet/runtime/blob/main/docs/area-owners.md) if you want to be subscribed. + assignMentionees: False + - if: + - hasLabel: + label: area-Infrastructure + then: + - mentionUsers: + mentionees: + - dotnet/runtime-infrastructure + replyTemplate: >- + Tagging subscribers to this area: ${mentionees} + + See info in [area-owners.md](https://github.com/dotnet/runtime/blob/main/docs/area-owners.md) if you want to be subscribed. + assignMentionees: False + - if: + - hasLabel: + label: area-Infrastructure-coreclr + then: + - mentionUsers: + mentionees: + - hoyosjs + replyTemplate: >- + Tagging subscribers to this area: ${mentionees} + + See info in [area-owners.md](https://github.com/dotnet/runtime/blob/main/docs/area-owners.md) if you want to be subscribed. + assignMentionees: False + - if: + - hasLabel: + label: area-Infrastructure-libraries + then: + - mentionUsers: + mentionees: + - dotnet/area-infrastructure-libraries + replyTemplate: >- + Tagging subscribers to this area: ${mentionees} + + See info in [area-owners.md](https://github.com/dotnet/runtime/blob/main/docs/area-owners.md) if you want to be subscribed. + assignMentionees: False + - if: + - hasLabel: + label: area-Infrastructure-mono + then: + - mentionUsers: + mentionees: + - directhex + replyTemplate: >- + Tagging subscribers to this area: ${mentionees} + + See info in [area-owners.md](https://github.com/dotnet/runtime/blob/main/docs/area-owners.md) if you want to be subscribed. + assignMentionees: False + - if: + - hasLabel: + label: area-Meta + then: + - mentionUsers: + mentionees: + - dotnet/area-meta + replyTemplate: >- + Tagging subscribers to this area: ${mentionees} + + See info in [area-owners.md](https://github.com/dotnet/runtime/blob/main/docs/area-owners.md) if you want to be subscribed. + assignMentionees: False + - if: + - hasLabel: + label: area-Microsoft.CSharp + then: + - mentionUsers: + mentionees: + - cston + replyTemplate: >- + Tagging subscribers to this area: ${mentionees} + + See info in [area-owners.md](https://github.com/dotnet/runtime/blob/main/docs/area-owners.md) if you want to be subscribed. + assignMentionees: False + - if: + - hasLabel: + label: area-Microsoft.Extensions + then: + - mentionUsers: + mentionees: + - dotnet/area-microsoft-extensions + replyTemplate: >- + Tagging subscribers to this area: ${mentionees} + + See info in [area-owners.md](https://github.com/dotnet/runtime/blob/main/docs/area-owners.md) if you want to be subscribed. + assignMentionees: False + - if: + - hasLabel: + label: area-Microsoft.VisualBasic + then: + - mentionUsers: + mentionees: + - cston + replyTemplate: >- + Tagging subscribers to this area: ${mentionees} + + See info in [area-owners.md](https://github.com/dotnet/runtime/blob/main/docs/area-owners.md) if you want to be subscribed. + assignMentionees: False + - if: + - hasLabel: + label: area-Microsoft.Win32 + then: + - mentionUsers: + mentionees: + - dotnet/area-microsoft-win32 + replyTemplate: >- + Tagging subscribers to this area: ${mentionees} + + See info in [area-owners.md](https://github.com/dotnet/runtime/blob/main/docs/area-owners.md) if you want to be subscribed. + assignMentionees: False + - if: + - hasLabel: + label: area-NativeAOT-coreclr + then: + - mentionUsers: + mentionees: + - agocke + - MichalStrehovsky + - jkotas + replyTemplate: >- + Tagging subscribers to this area: ${mentionees} + + See info in [area-owners.md](https://github.com/dotnet/runtime/blob/main/docs/area-owners.md) if you want to be subscribed. + assignMentionees: False + - if: + - hasLabel: + label: area-Single-File + then: + - mentionUsers: + mentionees: + - agocke + - vitek-karas + - vsadov + replyTemplate: >- + Tagging subscribers to this area: ${mentionees} + + See info in [area-owners.md](https://github.com/dotnet/runtime/blob/main/docs/area-owners.md) if you want to be subscribed. + assignMentionees: False + - if: + - hasLabel: + label: area-System.Buffers + then: + - mentionUsers: + mentionees: + - dotnet/area-system-buffers + replyTemplate: >- + Tagging subscribers to this area: ${mentionees} + + See info in [area-owners.md](https://github.com/dotnet/runtime/blob/main/docs/area-owners.md) if you want to be subscribed. + assignMentionees: False + - if: + - hasLabel: + label: area-System.CodeDom + then: + - mentionUsers: + mentionees: + - dotnet/area-system-codedom + replyTemplate: >- + Tagging subscribers to this area: ${mentionees} + + See info in [area-owners.md](https://github.com/dotnet/runtime/blob/main/docs/area-owners.md) if you want to be subscribed. + assignMentionees: False + - if: + - hasLabel: + label: area-System.Collections + then: + - mentionUsers: + mentionees: + - dotnet/area-system-collections + replyTemplate: >- + Tagging subscribers to this area: ${mentionees} + + See info in [area-owners.md](https://github.com/dotnet/runtime/blob/main/docs/area-owners.md) if you want to be subscribed. + assignMentionees: False + - if: + - hasLabel: + label: area-System.ComponentModel + then: + - mentionUsers: + mentionees: + - dotnet/area-system-componentmodel + replyTemplate: >- + Tagging subscribers to this area: ${mentionees} + + See info in [area-owners.md](https://github.com/dotnet/runtime/blob/main/docs/area-owners.md) if you want to be subscribed. + assignMentionees: False + - if: + - hasLabel: + label: area-System.ComponentModel.Composition + then: + - mentionUsers: + mentionees: + - dotnet/area-system-componentmodel-composition + replyTemplate: >- + Tagging subscribers to this area: ${mentionees} + + See info in [area-owners.md](https://github.com/dotnet/runtime/blob/main/docs/area-owners.md) if you want to be subscribed. + assignMentionees: False + - if: + - hasLabel: + label: area-System.ComponentModel.DataAnnotations + then: + - mentionUsers: + mentionees: + - dotnet/area-system-componentmodel-dataannotations + replyTemplate: >- + Tagging subscribers to this area: ${mentionees} + + See info in [area-owners.md](https://github.com/dotnet/runtime/blob/main/docs/area-owners.md) if you want to be subscribed. + assignMentionees: False + - if: + - hasLabel: + label: area-System.Composition + then: + - mentionUsers: + mentionees: + - dotnet/area-system-composition + replyTemplate: >- + Tagging subscribers to this area: ${mentionees} + + See info in [area-owners.md](https://github.com/dotnet/runtime/blob/main/docs/area-owners.md) if you want to be subscribed. + assignMentionees: False + - if: + - hasLabel: + label: area-System.Configuration + then: + - mentionUsers: + mentionees: + - dotnet/area-system-configuration + replyTemplate: >- + Tagging subscribers to this area: ${mentionees} + + See info in [area-owners.md](https://github.com/dotnet/runtime/blob/main/docs/area-owners.md) if you want to be subscribed. + assignMentionees: False + - if: + - hasLabel: + label: area-System.Console + then: + - mentionUsers: + mentionees: + - dotnet/area-system-console + replyTemplate: >- + Tagging subscribers to this area: ${mentionees} + + See info in [area-owners.md](https://github.com/dotnet/runtime/blob/main/docs/area-owners.md) if you want to be subscribed. + assignMentionees: False + - if: + - hasLabel: + label: area-System.Data + then: + - mentionUsers: + mentionees: + - roji + - ajcvickers + replyTemplate: >- + Tagging subscribers to this area: ${mentionees} + + See info in [area-owners.md](https://github.com/dotnet/runtime/blob/main/docs/area-owners.md) if you want to be subscribed. + assignMentionees: False + - if: + - hasLabel: + label: area-System.Data.Odbc + then: + - mentionUsers: + mentionees: + - roji + - ajcvickers + replyTemplate: >- + Tagging subscribers to this area: ${mentionees} + + See info in [area-owners.md](https://github.com/dotnet/runtime/blob/main/docs/area-owners.md) if you want to be subscribed. + assignMentionees: False + - if: + - hasLabel: + label: area-System.Data.OleDB + then: + - mentionUsers: + mentionees: + - roji + - ajcvickers + replyTemplate: >- + Tagging subscribers to this area: ${mentionees} + + See info in [area-owners.md](https://github.com/dotnet/runtime/blob/main/docs/area-owners.md) if you want to be subscribed. + assignMentionees: False + - if: + - hasLabel: + label: area-System.Data.SqlClient + then: + - mentionUsers: + mentionees: + - davoudeshtehari + - david-engel + - jrahnama + replyTemplate: >- + Tagging subscribers to this area: ${mentionees} + + See info in [area-owners.md](https://github.com/dotnet/runtime/blob/main/docs/area-owners.md) if you want to be subscribed. + assignMentionees: False + - if: + - hasLabel: + label: area-System.Diagnostics + then: + - mentionUsers: + mentionees: + - tommcdon + replyTemplate: >- + Tagging subscribers to this area: ${mentionees} + + See info in [area-owners.md](https://github.com/dotnet/runtime/blob/main/docs/area-owners.md) if you want to be subscribed. + assignMentionees: False + - if: + - hasLabel: + label: area-System.Diagnostics.Activity + then: + - mentionUsers: + mentionees: + - dotnet/area-system-diagnostics-activity + replyTemplate: >- + Tagging subscribers to this area: ${mentionees} + + See info in [area-owners.md](https://github.com/dotnet/runtime/blob/main/docs/area-owners.md) if you want to be subscribed. + assignMentionees: False + - if: + - hasLabel: + label: area-System.Diagnostics.EventLog + then: + - mentionUsers: + mentionees: + - dotnet/area-system-diagnostics-eventlog + replyTemplate: >- + Tagging subscribers to this area: ${mentionees} + + See info in [area-owners.md](https://github.com/dotnet/runtime/blob/main/docs/area-owners.md) if you want to be subscribed. + assignMentionees: False + - if: + - hasLabel: + label: area-System.Diagnostics.PerformanceCounter + then: + - mentionUsers: + mentionees: + - dotnet/area-system-diagnostics-performancecounter + replyTemplate: >- + Tagging subscribers to this area: ${mentionees} + + See info in [area-owners.md](https://github.com/dotnet/runtime/blob/main/docs/area-owners.md) if you want to be subscribed. + assignMentionees: False + - if: + - hasLabel: + label: area-System.Diagnostics.Process + then: + - mentionUsers: + mentionees: + - dotnet/area-system-diagnostics-process + replyTemplate: >- + Tagging subscribers to this area: ${mentionees} + + See info in [area-owners.md](https://github.com/dotnet/runtime/blob/main/docs/area-owners.md) if you want to be subscribed. + assignMentionees: False + - if: + - hasLabel: + label: area-System.Diagnostics.TraceSource + then: + - mentionUsers: + mentionees: + - dotnet/area-system-diagnostics-tracesource + replyTemplate: >- + Tagging subscribers to this area: ${mentionees} + + See info in [area-owners.md](https://github.com/dotnet/runtime/blob/main/docs/area-owners.md) if you want to be subscribed. + assignMentionees: False + - if: + - hasLabel: + label: area-System.Diagnostics.Tracing + then: + - mentionUsers: + mentionees: + - tarekgh + - tommcdon + - pjanotti + replyTemplate: >- + Tagging subscribers to this area: ${mentionees} + + See info in [area-owners.md](https://github.com/dotnet/runtime/blob/main/docs/area-owners.md) if you want to be subscribed. + assignMentionees: False + - if: + - hasLabel: + label: area-System.DirectoryServices + then: + - mentionUsers: + mentionees: + - dotnet/area-system-directoryservices + - jay98014 + replyTemplate: >- + Tagging subscribers to this area: ${mentionees} + + See info in [area-owners.md](https://github.com/dotnet/runtime/blob/main/docs/area-owners.md) if you want to be subscribed. + assignMentionees: False + - if: + - hasLabel: + label: area-System.Drawing + then: + - mentionUsers: + mentionees: + - dotnet/area-system-drawing + replyTemplate: >- + Tagging subscribers to this area: ${mentionees} + + See info in [area-owners.md](https://github.com/dotnet/runtime/blob/main/docs/area-owners.md) if you want to be subscribed. + assignMentionees: False + - if: + - hasLabel: + label: area-System.Dynamic.Runtime + then: + - mentionUsers: + mentionees: + - cston + replyTemplate: >- + Tagging subscribers to this area: ${mentionees} + + See info in [area-owners.md](https://github.com/dotnet/runtime/blob/main/docs/area-owners.md) if you want to be subscribed. + assignMentionees: False + - if: + - hasLabel: + label: area-System.Formats.Asn1 + then: + - mentionUsers: + mentionees: + - dotnet/area-system-formats-asn1 + - bartonjs + - vcsjones + replyTemplate: >- + Tagging subscribers to this area: ${mentionees} + + See info in [area-owners.md](https://github.com/dotnet/runtime/blob/main/docs/area-owners.md) if you want to be subscribed. + assignMentionees: False + - if: + - hasLabel: + label: area-System.Formats.Cbor + then: + - mentionUsers: + mentionees: + - dotnet/area-system-formats-cbor + - bartonjs + - vcsjones + replyTemplate: >- + Tagging subscribers to this area: ${mentionees} + + See info in [area-owners.md](https://github.com/dotnet/runtime/blob/main/docs/area-owners.md) if you want to be subscribed. + assignMentionees: False + - if: + - hasLabel: + label: area-System.Formats.Tar + then: + - mentionUsers: + mentionees: + - dotnet/area-system-formats-tar + replyTemplate: >- + Tagging subscribers to this area: ${mentionees} + + See info in [area-owners.md](https://github.com/dotnet/runtime/blob/main/docs/area-owners.md) if you want to be subscribed. + assignMentionees: False + - if: + - hasLabel: + label: area-System.Globalization + then: + - mentionUsers: + mentionees: + - dotnet/area-system-globalization + replyTemplate: >- + Tagging subscribers to this area: ${mentionees} + + See info in [area-owners.md](https://github.com/dotnet/runtime/blob/main/docs/area-owners.md) if you want to be subscribed. + assignMentionees: False + - if: + - hasLabel: + label: area-System.IO + then: + - mentionUsers: + mentionees: + - dotnet/area-system-io + replyTemplate: >- + Tagging subscribers to this area: ${mentionees} + + See info in [area-owners.md](https://github.com/dotnet/runtime/blob/main/docs/area-owners.md) if you want to be subscribed. + assignMentionees: False + - if: + - hasLabel: + label: area-System.IO.Compression + then: + - mentionUsers: + mentionees: + - dotnet/area-system-io-compression + replyTemplate: >- + Tagging subscribers to this area: ${mentionees} + + See info in [area-owners.md](https://github.com/dotnet/runtime/blob/main/docs/area-owners.md) if you want to be subscribed. + assignMentionees: False + - if: + - hasLabel: + label: area-System.IO.Hashing + then: + - mentionUsers: + mentionees: + - dotnet/area-system-io-hashing + - bartonjs + - vcsjones + replyTemplate: >- + Tagging subscribers to this area: ${mentionees} + + See info in [area-owners.md](https://github.com/dotnet/runtime/blob/main/docs/area-owners.md) if you want to be subscribed. + assignMentionees: False + - if: + - hasLabel: + label: area-System.IO.Ports + then: + - mentionUsers: + mentionees: + - dotnet/area-system-io-ports + replyTemplate: >- + Tagging subscribers to this area: ${mentionees} + + See info in [area-owners.md](https://github.com/dotnet/runtime/blob/main/docs/area-owners.md) if you want to be subscribed. + assignMentionees: False + - if: + - hasLabel: + label: area-System.Linq + then: + - mentionUsers: + mentionees: + - dotnet/area-system-linq + replyTemplate: >- + Tagging subscribers to this area: ${mentionees} + + See info in [area-owners.md](https://github.com/dotnet/runtime/blob/main/docs/area-owners.md) if you want to be subscribed. + assignMentionees: False + - if: + - hasLabel: + label: area-System.Linq.Expressions + then: + - mentionUsers: + mentionees: + - cston + replyTemplate: >- + Tagging subscribers to this area: ${mentionees} + + See info in [area-owners.md](https://github.com/dotnet/runtime/blob/main/docs/area-owners.md) if you want to be subscribed. + assignMentionees: False + - if: + - hasLabel: + label: area-System.Linq.Parallel + then: + - mentionUsers: + mentionees: + - dotnet/area-system-linq-parallel + replyTemplate: >- + Tagging subscribers to this area: ${mentionees} + + See info in [area-owners.md](https://github.com/dotnet/runtime/blob/main/docs/area-owners.md) if you want to be subscribed. + assignMentionees: False + - if: + - hasLabel: + label: area-System.Management + then: + - mentionUsers: + mentionees: + - dotnet/area-system-management + replyTemplate: >- + Tagging subscribers to this area: ${mentionees} + + See info in [area-owners.md](https://github.com/dotnet/runtime/blob/main/docs/area-owners.md) if you want to be subscribed. + assignMentionees: False + - if: + - hasLabel: + label: area-System.Memory + then: + - mentionUsers: + mentionees: + - dotnet/area-system-memory + replyTemplate: >- + Tagging subscribers to this area: ${mentionees} + + See info in [area-owners.md](https://github.com/dotnet/runtime/blob/main/docs/area-owners.md) if you want to be subscribed. + assignMentionees: False + - if: + - hasLabel: + label: area-System.Net + then: + - mentionUsers: + mentionees: + - dotnet/ncl + replyTemplate: >- + Tagging subscribers to this area: ${mentionees} + + See info in [area-owners.md](https://github.com/dotnet/runtime/blob/main/docs/area-owners.md) if you want to be subscribed. + assignMentionees: False + - if: + - hasLabel: + label: area-System.Net.Http + then: + - mentionUsers: + mentionees: + - dotnet/ncl + replyTemplate: >- + Tagging subscribers to this area: ${mentionees} + + See info in [area-owners.md](https://github.com/dotnet/runtime/blob/main/docs/area-owners.md) if you want to be subscribed. + assignMentionees: False + - if: + - hasLabel: + label: area-System.Net.Quic + then: + - mentionUsers: + mentionees: + - dotnet/ncl + replyTemplate: >- + Tagging subscribers to this area: ${mentionees} + + See info in [area-owners.md](https://github.com/dotnet/runtime/blob/main/docs/area-owners.md) if you want to be subscribed. + assignMentionees: False + - if: + - hasLabel: + label: area-System.Net.Security + then: + - mentionUsers: + mentionees: + - dotnet/ncl + - bartonjs + - vcsjones + replyTemplate: >- + Tagging subscribers to this area: ${mentionees} + + See info in [area-owners.md](https://github.com/dotnet/runtime/blob/main/docs/area-owners.md) if you want to be subscribed. + assignMentionees: False + - if: + - hasLabel: + label: area-System.Net.Sockets + then: + - mentionUsers: + mentionees: + - dotnet/ncl + replyTemplate: >- + Tagging subscribers to this area: ${mentionees} + + See info in [area-owners.md](https://github.com/dotnet/runtime/blob/main/docs/area-owners.md) if you want to be subscribed. + assignMentionees: False + - if: + - hasLabel: + label: area-System.Numerics + then: + - mentionUsers: + mentionees: + - dotnet/area-system-numerics + replyTemplate: >- + Tagging subscribers to this area: ${mentionees} + + See info in [area-owners.md](https://github.com/dotnet/runtime/blob/main/docs/area-owners.md) if you want to be subscribed. + assignMentionees: False + - if: + - hasLabel: + label: area-System.Numerics.Tensors + then: + - mentionUsers: + mentionees: + - dotnet/area-system-numerics-tensors + replyTemplate: >- + Tagging subscribers to this area: ${mentionees} + + See info in [area-owners.md](https://github.com/dotnet/runtime/blob/main/docs/area-owners.md) if you want to be subscribed. + assignMentionees: False + - if: + - hasLabel: + label: area-System.Reflection + then: + - mentionUsers: + mentionees: + - dotnet/area-system-reflection + replyTemplate: >- + Tagging subscribers to this area: ${mentionees} + + See info in [area-owners.md](https://github.com/dotnet/runtime/blob/main/docs/area-owners.md) if you want to be subscribed. + assignMentionees: False + - if: + - hasLabel: + label: area-System.Reflection.Emit + then: + - mentionUsers: + mentionees: + - dotnet/area-system-reflection-emit + replyTemplate: >- + Tagging subscribers to this area: ${mentionees} + + See info in [area-owners.md](https://github.com/dotnet/runtime/blob/main/docs/area-owners.md) if you want to be subscribed. + assignMentionees: False + - if: + - hasLabel: + label: area-System.Reflection.Metadata + then: + - mentionUsers: + mentionees: + - dotnet/area-system-reflection-metadata + replyTemplate: >- + Tagging subscribers to this area: ${mentionees} + + See info in [area-owners.md](https://github.com/dotnet/runtime/blob/main/docs/area-owners.md) if you want to be subscribed. + assignMentionees: False + - if: + - hasLabel: + label: area-System.Resources + then: + - mentionUsers: + mentionees: + - dotnet/area-system-resources + replyTemplate: >- + Tagging subscribers to this area: ${mentionees} + + See info in [area-owners.md](https://github.com/dotnet/runtime/blob/main/docs/area-owners.md) if you want to be subscribed. + assignMentionees: False + - if: + - hasLabel: + label: area-System.Runtime + then: + - mentionUsers: + mentionees: + - dotnet/area-system-runtime + replyTemplate: >- + Tagging subscribers to this area: ${mentionees} + + See info in [area-owners.md](https://github.com/dotnet/runtime/blob/main/docs/area-owners.md) if you want to be subscribed. + assignMentionees: False + - if: + - hasLabel: + label: area-System.Runtime.CompilerServices + then: + - mentionUsers: + mentionees: + - dotnet/area-system-runtime-compilerservices + replyTemplate: >- + Tagging subscribers to this area: ${mentionees} + + See info in [area-owners.md](https://github.com/dotnet/runtime/blob/main/docs/area-owners.md) if you want to be subscribed. + assignMentionees: False + - if: + - hasLabel: + label: area-System.Runtime.InteropServices + then: + - mentionUsers: + mentionees: + - dotnet/interop-contrib + replyTemplate: >- + Tagging subscribers to this area: ${mentionees} + + See info in [area-owners.md](https://github.com/dotnet/runtime/blob/main/docs/area-owners.md) if you want to be subscribed. + assignMentionees: False + - if: + - hasLabel: + label: area-System.Runtime.Intrinsics + then: + - mentionUsers: + mentionees: + - dotnet/area-system-runtime-intrinsics + replyTemplate: >- + Tagging subscribers to this area: ${mentionees} + + See info in [area-owners.md](https://github.com/dotnet/runtime/blob/main/docs/area-owners.md) if you want to be subscribed. + assignMentionees: False + - if: + - hasLabel: + label: area-System.Security + then: + - mentionUsers: + mentionees: + - dotnet/area-system-security + - bartonjs + - vcsjones + replyTemplate: >- + Tagging subscribers to this area: ${mentionees} + + See info in [area-owners.md](https://github.com/dotnet/runtime/blob/main/docs/area-owners.md) if you want to be subscribed. + assignMentionees: False + - if: + - hasLabel: + label: area-System.ServiceProcess + then: + - mentionUsers: + mentionees: + - dotnet/area-system-serviceprocess + replyTemplate: >- + Tagging subscribers to this area: ${mentionees} + + See info in [area-owners.md](https://github.com/dotnet/runtime/blob/main/docs/area-owners.md) if you want to be subscribed. + assignMentionees: False + - if: + - hasLabel: + label: area-System.Speech + then: + - mentionUsers: + mentionees: + - dotnet/area-system-speech + replyTemplate: >- + Tagging subscribers to this area: ${mentionees} + + See info in [area-owners.md](https://github.com/dotnet/runtime/blob/main/docs/area-owners.md) if you want to be subscribed. + assignMentionees: False + - if: + - hasLabel: + label: area-System.Text.Encoding + then: + - mentionUsers: + mentionees: + - dotnet/area-system-text-encoding + replyTemplate: >- + Tagging subscribers to this area: ${mentionees} + + See info in [area-owners.md](https://github.com/dotnet/runtime/blob/main/docs/area-owners.md) if you want to be subscribed. + assignMentionees: False + - if: + - hasLabel: + label: area-System.Text.Encodings.Web + then: + - mentionUsers: + mentionees: + - dotnet/area-system-text-encodings-web + replyTemplate: >- + Tagging subscribers to this area: ${mentionees} + + See info in [area-owners.md](https://github.com/dotnet/runtime/blob/main/docs/area-owners.md) if you want to be subscribed. + assignMentionees: False + - if: + - hasLabel: + label: area-System.Text.Json + then: + - mentionUsers: + mentionees: + - dotnet/area-system-text-json + - gregsdennis + replyTemplate: >- + Tagging subscribers to this area: ${mentionees} + + See info in [area-owners.md](https://github.com/dotnet/runtime/blob/main/docs/area-owners.md) if you want to be subscribed. + assignMentionees: False + - if: + - hasLabel: + label: area-System.Text.RegularExpressions + then: + - mentionUsers: + mentionees: + - dotnet/area-system-text-regularexpressions + replyTemplate: >- + Tagging subscribers to this area: ${mentionees} + + See info in [area-owners.md](https://github.com/dotnet/runtime/blob/main/docs/area-owners.md) if you want to be subscribed. + assignMentionees: False + - if: + - hasLabel: + label: area-System.Threading + then: + - mentionUsers: + mentionees: + - mangod9 + replyTemplate: >- + Tagging subscribers to this area: ${mentionees} + + See info in [area-owners.md](https://github.com/dotnet/runtime/blob/main/docs/area-owners.md) if you want to be subscribed. + assignMentionees: False + - if: + - hasLabel: + label: area-System.Threading.Channels + then: + - mentionUsers: + mentionees: + - dotnet/area-system-threading-channels + replyTemplate: >- + Tagging subscribers to this area: ${mentionees} + + See info in [area-owners.md](https://github.com/dotnet/runtime/blob/main/docs/area-owners.md) if you want to be subscribed. + assignMentionees: False + - if: + - hasLabel: + label: area-System.Threading.Tasks + then: + - mentionUsers: + mentionees: + - dotnet/area-system-threading-tasks + replyTemplate: >- + Tagging subscribers to this area: ${mentionees} + + See info in [area-owners.md](https://github.com/dotnet/runtime/blob/main/docs/area-owners.md) if you want to be subscribed. + assignMentionees: False + - if: + - hasLabel: + label: area-System.Transactions + then: + - mentionUsers: + mentionees: + - roji + - ajcvickers + replyTemplate: >- + Tagging subscribers to this area: ${mentionees} + + See info in [area-owners.md](https://github.com/dotnet/runtime/blob/main/docs/area-owners.md) if you want to be subscribed. + assignMentionees: False + - if: + - hasLabel: + label: area-System.Xml + then: + - mentionUsers: + mentionees: + - dotnet/area-system-xml + replyTemplate: >- + Tagging subscribers to this area: ${mentionees} + + See info in [area-owners.md](https://github.com/dotnet/runtime/blob/main/docs/area-owners.md) if you want to be subscribed. + assignMentionees: False + - if: + - hasLabel: + label: area-Tools-ILLink + then: + - mentionUsers: + mentionees: + - agocke + - sbomer + - vitek-karas + replyTemplate: >- + Tagging subscribers to this area: ${mentionees} + + See info in [area-owners.md](https://github.com/dotnet/runtime/blob/main/docs/area-owners.md) if you want to be subscribed. + assignMentionees: False + - if: + - hasLabel: + label: area-vm-coreclr + then: + - mentionUsers: + mentionees: + - mangod9 + replyTemplate: >- + Tagging subscribers to this area: ${mentionees} + + See info in [area-owners.md](https://github.com/dotnet/runtime/blob/main/docs/area-owners.md) if you want to be subscribed. + assignMentionees: False + description: Area-owners + - if: + - payloadType: Issues + - labelAdded: + label: breaking-change + then: + - addLabel: + label: needs-breaking-change-doc-created + - addReply: + reply: >- + Added `needs-breaking-change-doc-created` label because this issue has the `breaking-change` label. + + + 1. [ ] Create and link to this issue a matching issue in the dotnet/docs repo using the [breaking change documentation template](https://aka.ms/dotnet/docs/new-breaking-change-issue), then remove this `needs-breaking-change-doc-created` label. + + + Tagging @dotnet/compat for awareness of the breaking change. + description: Add breaking change doc label to issue + - if: + - payloadType: Pull_Request + - labelAdded: + label: breaking-change + - isPullRequest + then: + - addLabel: + label: needs-breaking-change-doc-created + - addReply: + reply: >- + Added `needs-breaking-change-doc-created` label because this PR has the `breaking-change` label. + + + When you commit this breaking change: + + + 1. [ ] Create and link to this PR and the issue a matching issue in the dotnet/docs repo using the [breaking change documentation template](https://aka.ms/dotnet/docs/new-breaking-change-issue), then remove this `needs-breaking-change-doc-created` label. + + 2. [ ] Ask a committer to mail the `.NET Breaking Change Notification` DL. + + + Tagging @dotnet/compat for awareness of the breaking change. + description: Add breaking change doc label to PR + - if: + - or: + - payloadType: Issues + - payloadType: Pull_Request + - isAction: + action: Opened + then: + - if: + - hasLabel: + label: linkable-framework + then: + - mentionUsers: + mentionees: + - eerhardt + - vitek-karas + - LakshanF + - sbomer + - joperezr + - marek-safar + replyTemplate: >- + Tagging subscribers to 'linkable-framework': ${mentionees} + + See info in area-owners.md if you want to be subscribed. + assignMentionees: False + description: '@Mention for linkable-framework' + - if: + - or: + - payloadType: Issues + - payloadType: Pull_Request + - isAction: + action: Opened + then: + - if: + - hasLabel: + label: size-reduction + then: + - mentionUsers: + mentionees: + - eerhardt + - SamMonoRT + - marek-safar + replyTemplate: >- + Tagging subscribers to 'size-reduction': ${mentionees} + + See info in area-owners.md if you want to be subscribed. + assignMentionees: False + description: '@Mention for size-reduction' + - if: + - or: + - payloadType: Issues + - payloadType: Pull_Request + - isAction: + action: Opened + then: + - if: + - hasLabel: + label: arch-wasm + then: + - mentionUsers: + mentionees: + - lewing + replyTemplate: >- + Tagging subscribers to 'arch-wasm': ${mentionees} + + See info in area-owners.md if you want to be subscribed. + assignMentionees: False + description: '@Mention for wasm' + - if: + - or: + - payloadType: Issues + - payloadType: Pull_Request + - isAction: + action: Opened + then: + - if: + - hasLabel: + label: os-ios + then: + - mentionUsers: + mentionees: + - steveisok + - akoeplinger + - kotlarmilos + replyTemplate: >- + Tagging subscribers to 'os-ios': ${mentionees} + + See info in area-owners.md if you want to be subscribed. + assignMentionees: False + description: '@Mention for ios' + - if: + - or: + - payloadType: Issues + - payloadType: Pull_Request + - isAction: + action: Opened + then: + - if: + - hasLabel: + label: os-android + then: + - mentionUsers: + mentionees: + - steveisok + - akoeplinger + replyTemplate: >- + Tagging subscribers to 'arch-android': ${mentionees} + + See info in area-owners.md if you want to be subscribed. + assignMentionees: False + description: '@Mention for android' + - if: + - payloadType: Pull_Request + - or: + - filesMatchPattern: + pattern: .*ILLink.* + - filesMatchPattern: + pattern: .*illink.* + - not: + hasLabel: + label: linkable-framework + - isPullRequest + - isOpen + then: + - addLabel: + label: linkable-framework + description: '[Linkable-framework workgroup] Add linkable-framework label to new Prs that touch files with *ILLink* that not have it already' + - if: + - payloadType: Pull_Request + - or: + - filesMatchPattern: + pattern: .*ILLink.* + - filesMatchPattern: + pattern: .*illink.* + - not: + hasLabel: + label: linkable-framework + - isPullRequest + - isOpen + - isAction: + action: Synchronize + then: + - addLabel: + label: linkable-framework + description: '[Linkable-framework workgroup] Add linkable-framework label to Prs that get changes pushed where they touch *ILLInk* files' + - if: + - payloadType: Issues + - labelAdded: + label: backlog-cleanup-candidate + then: + - addReply: + reply: >- + Due to lack of recent activity, this issue has been marked as a candidate for backlog cleanup. It will be closed if no further activity occurs within 14 more days. Any new comment (by anyone, not necessarily the author) will undo this process. + + + This process is part of our [issue cleanup automation](https://github.com/dotnet/runtime/blob/main/docs/issue-cleanup.md). + - addLabel: + label: no-recent-activity + description: Manual Issue Cleanup + - if: + - or: + - payloadType: Issues + - payloadType: Pull_Request + - isAction: + action: Opened + then: + - if: + - hasLabel: + label: os-tvos + then: + - mentionUsers: + mentionees: + - steveisok + - akoeplinger + replyTemplate: >- + Tagging subscribers to 'os-tvos': ${mentionees} + + See info in area-owners.md if you want to be subscribed. + assignMentionees: False + description: '@Mention for tvos' + - if: + - or: + - payloadType: Issues + - payloadType: Pull_Request + - isAction: + action: Opened + then: + - if: + - hasLabel: + label: os-maccatalyst + then: + - mentionUsers: + mentionees: + - steveisok + - akoeplinger + replyTemplate: >- + Tagging subscribers to 'os-maccatalyst': ${mentionees} + + See info in area-owners.md if you want to be subscribed. + assignMentionees: False + description: '@Mention for maccatalyst' + - if: + - payloadType: Issues + - or: + - isAction: + action: Opened + - isAction: + action: Reopened + - isOpen + - not: isPartOfAnyMilestone + - not: + hasLabel: + label: untriaged + then: + - addLabel: + label: untriaged + description: Add untriaged label to new/reopened issues without a milestone + - if: + - payloadType: Issues + - or: + - isAction: + action: Closed + - isPartOfAnyMilestone + - hasLabel: + label: untriaged + then: + - removeLabel: + label: untriaged + description: Remove untriaged label from issues when closed or added to a milestone + - if: + - payloadType: Pull_Request + then: + - inPrLabel: + label: in-pr + description: Add `in-pr` label on issue when an open pull request is targeting it + - if: + - payloadType: Pull_Request + - isAction: + action: Opened + - not: + activitySenderHasPermission: + permission: Read + then: + - assignTo: + author: True + description: Assign Team PRs to author + - if: + - payloadType: Pull_Request + - isAction: + action: Opened + - isPullRequest + - and: + - not: + activitySenderHasPermission: + permission: Admin + - not: + activitySenderHasPermission: + permission: Write + - not: + isActivitySender: + user: github-actions[bot] + issueAuthor: False + - not: + isActivitySender: + user: dotnet-maestro[bot] + issueAuthor: False + - not: + isActivitySender: + user: dotnet-maestro-bot[bot] + issueAuthor: False + - not: + isActivitySender: + user: dotnet-maestro-bot + issueAuthor: False + - not: + isActivitySender: + user: dotnet-maestro + issueAuthor: False + - not: + isActivitySender: + user: github-actions + issueAuthor: False + then: + - addLabel: + label: community-contribution + description: Label community PRs + - if: + - payloadType: Issues + - labelAdded: + label: needs-author-action + then: + - addReply: + reply: This issue has been marked `needs-author-action` and may be missing some important information. + description: Needs-author-action notification + - if: + - payloadType: Pull_Request_Review + - not: + activitySenderHasPermission: + permission: Read + - isPullRequest + - isAction: + action: Submitted + - isReviewState: + reviewState: Changes_requested + then: + - addLabel: + label: needs-author-action + description: PR reviews with "changes requested" applies the needs-author-action label + - if: + - payloadType: Issue_Comment + - isAction: + action: Created + - isActivitySender: + issueAuthor: True + - hasLabel: + label: needs-author-action + - not: + hasLabel: + label: untriaged + - isIssue + - isOpen + then: + - addLabel: + label: needs-further-triage + - removeLabel: + label: needs-author-action + description: Replace `needs-author-action` label with `needs-further-triage` label when the author comments on an issue that is not still untriaged + - if: + - payloadType: Issue_Comment + - isAction: + action: Created + - isActivitySender: + issueAuthor: True + - hasLabel: + label: needs-author-action + - hasLabel: + label: untriaged + - isIssue + - isOpen + then: + - removeLabel: + label: needs-author-action + description: Remove `needs-author-action` label when the author comments on an `untriaged` issue + - if: + - payloadType: Pull_Request + - isPullRequest + - isAction: + action: Synchronize + - hasLabel: + label: needs-author-action + then: + - removeLabel: + label: needs-author-action + description: Pushing changes to PR branch removes the needs-author-action label + - if: + - payloadType: Issue_Comment + - isActivitySender: + issueAuthor: True + - isAction: + action: Created + - hasLabel: + label: needs-author-action + - isPullRequest + - isOpen + then: + - removeLabel: + label: needs-author-action + description: Author commenting in PR removes the needs-author-action label + - if: + - payloadType: Pull_Request_Review + - isActivitySender: + issueAuthor: True + - hasLabel: + label: needs-author-action + - isAction: + action: Submitted + - isPullRequest + - isOpen + then: + - removeLabel: + label: needs-author-action + description: Author responding to a pull request review comment removes the needs-author-action label + - if: + - payloadType: Issues + - not: + isAction: + action: Closed + - hasLabel: + label: no-recent-activity + - not: + labelAdded: + label: no-recent-activity + then: + - removeLabel: + label: no-recent-activity + - removeLabel: + label: backlog-cleanup-candidate + description: Remove `no-recent-activity` label from issues when issue is modified + - if: + - payloadType: Issue_Comment + - hasLabel: + label: no-recent-activity + - isIssue + then: + - removeLabel: + label: no-recent-activity + - removeLabel: + label: backlog-cleanup-candidate + description: Remove `no-recent-activity` label when an issue is commented on + - if: + - payloadType: Pull_Request + - isPullRequest + - isOpen + - hasLabel: + label: no-recent-activity + - not: + labelAdded: + label: no-recent-activity + then: + - removeLabel: + label: no-recent-activity + - removeLabel: + label: backlog-cleanup-candidate + description: Remove `no-recent-activity` label from PRs when modified + - if: + - payloadType: Issue_Comment + - hasLabel: + label: no-recent-activity + - isPullRequest + - isOpen + then: + - removeLabel: + label: no-recent-activity + - removeLabel: + label: backlog-cleanup-candidate + description: Remove `no-recent-activity` label from PRs when commented on + - if: + - payloadType: Pull_Request_Review + - hasLabel: + label: no-recent-activity + - isPullRequest + - isOpen + then: + - removeLabel: + label: no-recent-activity + - removeLabel: + label: backlog-cleanup-candidate + description: Remove `no-recent-activity` label from PRs when new review is added +onFailure: +onSuccess: diff --git a/docs/infra/automation.md b/docs/infra/automation.md index 6b15e2a9171..a4ed601cf33 100644 --- a/docs/infra/automation.md +++ b/docs/infra/automation.md @@ -1,13 +1,9 @@ ## Automation -### Fabric Bot +### Policy Service Bot -This repository uses Fabric Bot to automate issue and pull request management. All automation rules are defined in the [`.github/fabricbot.json`](../../.github/fabricbot.json) file. +This repository uses the Policy Service bot to automate issue and pull request management. All automation rules are defined in the [`.github/policies`](../../.github/policies) folder. #### Notifications -You are welcome to enable notifications for yourself for one or more areas. You will be tagged whenever there are new issues and PR's in the area. You do not need to have commit access for this. To add or remove notifications for yourself, please offer a PR that edits the "mentionees" value for that area. [Here is an example](https://github.com/dotnet/runtime/commit/c28b13f0cf4e2127a74285b65188413ca7e677d4). - -#### Other changes - -For any other changes, you will need access to the [`Fabric Bot portal`](https://portal.fabricbot.ms/bot/) which is only available to Microsoft employees at present. Ensure you are signed out from the portal, choose "Import Configuration" option and make changes using the editor. It's necessary to use the portal because there is at present no published JSON schema for the configuration format. +You are welcome to enable notifications for yourself for one or more areas. You will be tagged whenever there are new issues and PR's in the area. You do not need to have commit access for this. To add or remove notifications for yourself, please offer a PR that edits the "mentionees" value for that area in the policy YAML file. diff --git a/docs/workflow/ci/triaging-failures.md b/docs/workflow/ci/triaging-failures.md index 1baa5605277..bf5e80f7522 100644 --- a/docs/workflow/ci/triaging-failures.md +++ b/docs/workflow/ci/triaging-failures.md @@ -8,7 +8,7 @@ stress mode test configuration failures, such as failures in a JIT stress test r One goal of failure investigation is to quickly route failures to the correct area owner. The ownership of various product areas is detailed [here](../../area-owners.md). The GitHub auto-tagging bot uses the ownership information -in the file [fabricbot.json](../../../.github/fabricbot.json). +in the file [Policy Service configuration](../../../.github/policies). ## Platform configuration