fix: make smoke test check all valid plugin.json paths#1875
Conversation
There was a problem hiding this comment.
Pull request overview
Note
Copilot was unable to run its full agentic suite in this review.
Updates the external plugin install smoke gate to recognize plugin manifests in multiple supported locations instead of a single hard-coded path.
Changes:
- Search for
plugin.jsonin several candidate locations under the installed plugin directory. - Treat “manifest not found” as a gate failure when none of the candidate locations exist.
Comments suppressed due to low confidence (1)
eng/external-plugin-quality-gates.mjs:243
- The failure message no longer reflects what was actually checked (multiple manifest candidate locations). For easier diagnosis, include which manifest paths were probed (or at least that
plugin.jsonwas not found in any supported location) in the output.
return {
status: "fail",
output: `Plugin installed but expected files were missing at ${installedPluginPath}`,
};
|
Hey @aaronpowell, wanted to flag this for your review. The install smoke test in eng/external-plugin-quality-gates.mjs was hardcoding .github/plugin/plugin.json as the only valid path, but the validator (eng/external-plugin-validation.mjs) accepts three valid paths — plugin.json (root), .github/plugin/plugin.json, and .plugin/plugin.json. This caused any plugin using the root convention to always fail the smoke test even though the validator passed it. This was reported by @gregorycrist in #1873. The fix updates the smoke test to check all three paths consistently. Happy to hear any feedback! |
Pull Request Checklist
npm startand verified thatREADME.mdis up to date.stagedbranch for this pull request.Description
The install smoke test in
eng/external-plugin-quality-gates.mjshardcoded a single expected path forplugin.json(.github/plugin/plugin.json), but the validator accepts three valid paths:plugin.json(root),.github/plugin/plugin.json, and.plugin/plugin.json. This inconsistency caused any plugin using the root convention to always fail the smoke test. This fix updates the smoke test to check all three valid paths, consistent with the validator. Fixes #1873.Type of Contribution
eng/external-plugin-quality-gates.mjsAdditional Notes
Reported by @gregorycrist in issue #1873. The fix makes the smoke test consistent with the validator by checking all three accepted
plugin.jsonlocations.By submitting this pull request, I confirm that my contribution abides by the Code of Conduct and will be licensed under the MIT License.