Skip to content

Fix external plugin quality gate paths and diagnostics#2261

Merged
aaronpowell merged 1 commit into
mainfrom
aaronpowell-fix-external-plugin-gates
Jul 10, 2026
Merged

Fix external plugin quality gate paths and diagnostics#2261
aaronpowell merged 1 commit into
mainfrom
aaronpowell-fix-external-plugin-gates

Conversation

@aaronpowell

Copy link
Copy Markdown
Contributor

Pull Request Checklist

  • I have read and followed the CONTRIBUTING.md guidelines.
  • I have read and followed the Guidance for submissions involving paid services.
  • My contribution adds a new instruction, prompt, agent, skill, workflow, or canvas extension file in the correct directory.
  • The file follows the required naming convention.
  • The content is clearly structured and follows the example format.
  • I have tested my instructions, prompt, agent, skill, workflow, or canvas extension with GitHub Copilot.
  • I have run npm start and verified that README.md is up to date.
  • I am targeting the main branch for this pull request.

Description

PR #2260 exposed two gaps in external plugin quality gates: plugin manifest resolution accepted an incorrect .plugins/plugin.json path and PR comments did not surface failure output clearly. This change fixes both so vercel-plugin style submissions resolve the plugin root manifest correctly and reviewers can immediately see vally and smoke failure details.

The quality gate manifest candidates are now aligned across eng/external-plugin-quality-gates.mjs and eng/external-plugin-validation.mjs using .plugin/plugin.json (singular). The PR quality workflow comment renderer now appends a Gate output details section with collapsible <details> blocks per plugin/gate, includes vally and smoke output when present, and shows _No output captured._ for empty output.


Type of Contribution

  • New instruction file.
  • New prompt file.
  • New agent file.
  • New plugin.
  • New skill file.
  • New agentic workflow.
  • New canvas extension.
  • Update to existing instruction, prompt, agent, plugin, skill, workflow, or canvas extension.
  • Other (please specify):

Additional Notes

Validated with:

  • npm run build
  • npm run plugin:validate
  • npm run skill:validate
  • targeted execution of runExternalPluginPrQualityGates to confirm payload/comment include gate outputs

By submitting this pull request, I confirm that my contribution abides by the Code of Conduct and will be licensed under the MIT License.

Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
Copilot AI review requested due to automatic review settings July 10, 2026 04:01
@github-actions github-actions Bot added the workflow PR touches workflow automation label Jul 10, 2026

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

This pull request tightens the external plugin PR quality gates by aligning plugin manifest discovery paths and improving the diagnostics included in the automated PR/issue comment, so reviewers can see gate failures more clearly.

Changes:

  • Align external plugin root manifest candidate paths to use .plugin/plugin.json (singular) instead of the incorrect .plugins/plugin.json.
  • Update the PR quality-gates workflow comment to append per-plugin gate output details for vally lint and install smoke tests (when present).
Show a summary per file
File Description
eng/external-plugin-validation.mjs Updates the accepted plugin root manifest path candidates to include .plugin/plugin.json.
eng/external-plugin-quality-gates.mjs Updates quality gate plugin manifest discovery candidates to use .plugin/plugin.json.
.github/workflows/external-plugin-pr-quality-gates.yml Enhances the generated PR/issue comment with a “Gate output details” section containing collapsible per-gate output blocks.

Review details

  • Files reviewed: 3/3 changed files
  • Comments generated: 1
  • Review effort level: Low

Comment on lines +203 to +214
const formatGateOutput = (pluginName, gateName, gateStatus, rawOutput) => {
const output = String(rawOutput || '').trim() || '_No output captured._';
return [
'<details>',
`<summary>${pluginName} — ${gateName} (${gateStatus || 'not_run'})</summary>`,
'',
'```text',
output,
'```',
'</details>',
].join('\n');
};
@aaronpowell aaronpowell merged commit bb4766e into main Jul 10, 2026
18 of 19 checks passed
@aaronpowell aaronpowell deleted the aaronpowell-fix-external-plugin-gates branch July 10, 2026 04:31
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

workflow PR touches workflow automation

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants