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
+3 -1
View File
@@ -15,6 +15,8 @@ body:
- Public submissions are **GitHub-only** in v1.
- The plugin must live in a **public GitHub repository**.
- Provide an immutable **ref**, **sha**, or both for review.
- If your plugin includes a canvas extension, include the **canvas** keyword.
- Canvas plugins are validated for `logo: "assets/preview.png"` using the submitted immutable **sha** or **ref**.
- Do **not** open a PR that edits `plugins/external.json` directly.
- type: input
id: plugin-name
@@ -106,7 +108,7 @@ body:
id: keywords
attributes:
label: Keywords
description: Comma-separated or newline-separated lowercase tags.
description: Comma-separated or newline-separated lowercase tags. Include `canvas` if the plugin contains a canvas extension.
placeholder: |
automation
github
@@ -559,7 +559,11 @@ jobs:
owner: context.repo.owner,
repo: context.repo.repo,
issueNumber: context.issue.number,
desiredLabels: new Set(['external-plugin', 'ready-for-review'])
desiredLabels: new Set([
'external-plugin',
'ready-for-review',
...(labelNames.has('external-plugin-canvas') ? ['external-plugin-canvas'] : [])
])
});
const marker = '<!-- external-plugin-mark-ready-override -->';
+4
View File
@@ -44,6 +44,10 @@ jobs:
color: 'FEF2C0',
description: 'Public external plugin submission'
},
'external-plugin-canvas': {
color: '1D76DB',
description: 'External plugin submission includes a canvas extension'
},
'hooks': {
color: 'C2E0C6',
description: 'PR touches hooks'