Add canvas-specific intake validation for external plugins (#2319)

* Add canvas-aware checks to external plugin intake

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

Copilot-Session: 0f03fd92-3bfa-4c67-a709-177fbd46c40e

* Potential fix for pull request finding

Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>

---------

Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>
This commit is contained in:
Aaron Powell
2026-07-16 16:58:02 +10:00
committed by GitHub
parent 1a77b83008
commit fb80ec4f21
5 changed files with 180 additions and 2 deletions
+8
View File
@@ -3,6 +3,10 @@ export const EXTERNAL_PLUGIN_INTAKE_LABELS = Object.freeze({
color: "FEF2C0",
description: "Public external plugin submission",
},
"external-plugin-canvas": {
color: "1D76DB",
description: "External plugin submission includes a canvas extension",
},
"awaiting-review": {
color: "FBCA04",
description: "Submission is waiting for automated intake validation",
@@ -27,6 +31,7 @@ export const EXTERNAL_PLUGIN_INTAKE_LABELS = Object.freeze({
const EXTERNAL_PLUGIN_INTAKE_SYNC_LABELS = Object.freeze([
"external-plugin",
"external-plugin-canvas",
"awaiting-review",
"ready-for-review",
"requires-submitter-fixes",
@@ -129,6 +134,9 @@ export async function applyExternalPluginIntakeEvaluation({
rejected: new Set(["external-plugin", "rejected"]),
};
const desiredLabels = desiredLabelsByState[state] ?? desiredLabelsByState.rejected;
if (evaluation.isCanvasPlugin) {
desiredLabels.add("external-plugin-canvas");
}
await syncExternalPluginIntakeLabels({
github,