feat: add canvas extension validation and labeling (#2017)

- Update PR template to include canvas extension as a contribution type
- Add 'canvas-extension' label (color: E4B9FF) to label-pr-intent workflow
  with auto-detection for PRs touching extensions/**
- Add new validate-canvas-extensions.yml workflow that checks:
  - extension.mjs is present in each changed extension folder
  - assets/preview.png screenshot is present in each changed extension folder
  - Posts a REQUEST_CHANGES review with a fix guide on failure

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
This commit is contained in:
Aaron Powell
2026-06-16 16:44:13 -07:00
committed by GitHub
parent 1dd0e3969d
commit 5fb37f6461
3 changed files with 150 additions and 3 deletions
+12
View File
@@ -63,6 +63,10 @@ jobs:
'workflow': {
color: 'BFD4F2',
description: 'PR touches workflow automation'
},
'canvas-extension': {
color: 'E4B9FF',
description: 'PR touches canvas extensions'
}
};
@@ -139,12 +143,16 @@ jobs:
/^workflows\/.+\.md$/,
/^\.github\/workflows\/.+\.(?:ya?ml|md)$/
],
canvasExtension: [
/^extensions\/[^/]+\//
],
newSubmission: [
/^agents\/.+\.agent\.md$/,
/^instructions\/.+\.instructions\.md$/,
/^skills\/[^/]+\/SKILL\.md$/,
/^hooks\/[^/]+\/(?:README\.md|hooks\.json)$/,
/^plugins\/[^/]+\/\.github\/plugin\/plugin\.json$/,
/^extensions\/[^/]+\/extension\.mjs$/,
/^workflows\/.+\.md$/,
/^\.github\/workflows\/.+\.(?:ya?ml|md)$/,
/^website\//
@@ -197,6 +205,10 @@ jobs:
desiredLabels.add('workflow');
}
if (filenames.some((filename) => matchesAny(filename, patterns.canvasExtension))) {
desiredLabels.add('canvas-extension');
}
if (hasNewSubmission) {
desiredLabels.add('new-submission');
}