From ad93e7b5c7348f9c025d5568e02e57c581bbce09 Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" <41898282+github-actions[bot]@users.noreply.github.com> Date: Tue, 9 Jun 2026 06:57:58 +0000 Subject: [PATCH] chore: publish from staged --- eng/external-plugin-quality-gates.mjs | 13 ++++++++++--- eng/external-plugin-validation.mjs | 3 ++- 2 files changed, 12 insertions(+), 4 deletions(-) diff --git a/eng/external-plugin-quality-gates.mjs b/eng/external-plugin-quality-gates.mjs index 6bf6ed77..06edfcd3 100644 --- a/eng/external-plugin-quality-gates.mjs +++ b/eng/external-plugin-quality-gates.mjs @@ -161,6 +161,7 @@ function downloadSkillValidator(workDir) { // both the Copilot CLI and many external repos use nested conventions. We read the // manifest ourselves so skill/agent paths can be resolved from the plugin root // consistently, regardless of where the manifest lives. +// NOTE: Keep in sync with EXTERNAL_PLUGIN_ROOT_MANIFEST_PATHS in external-plugin-validation.mjs const PLUGIN_JSON_CANDIDATES = [ [".github", "plugin", "plugin.json"], [".plugins", "plugin.json"], @@ -307,11 +308,17 @@ function runInstallSmokeGate(workDir, plugin) { } const installedPluginPath = path.join(homeDir, ".copilot", "installed-plugins", "external-plugin-intake", plugin.name); - const pluginManifestPath = path.join(installedPluginPath, ".github", "plugin", "plugin.json"); - if (!fs.existsSync(installedPluginPath) || !fs.existsSync(pluginManifestPath)) { + if (!fs.existsSync(installedPluginPath)) { return { status: "fail", - output: `Plugin installed but expected files were missing at ${installedPluginPath}`, + output: `Plugin installed but install directory was not found at ${installedPluginPath}`, + }; + } + const pluginManifestPath = findPluginJson(installedPluginPath); + if (!pluginManifestPath) { + return { + status: "fail", + output: `Plugin installed but no plugin.json was found in any recognized location under ${installedPluginPath}`, }; } diff --git a/eng/external-plugin-validation.mjs b/eng/external-plugin-validation.mjs index 1a49bff4..87bc271e 100644 --- a/eng/external-plugin-validation.mjs +++ b/eng/external-plugin-validation.mjs @@ -23,10 +23,11 @@ export const EXTERNAL_PLUGIN_POLICIES = Object.freeze({ }), }); +// NOTE: Keep in sync with PLUGIN_JSON_CANDIDATES in external-plugin-quality-gates.mjs const EXTERNAL_PLUGIN_ROOT_MANIFEST_PATHS = Object.freeze([ "plugin.json", ".github/plugin/plugin.json", - ".plugin/plugin.json", + ".plugins/plugin.json", ]); function resolvePolicy(policy) {