diff --git a/eng/external-plugin-quality-gates.mjs b/eng/external-plugin-quality-gates.mjs index de4f2b37a..0e64cc1f7 100644 --- a/eng/external-plugin-quality-gates.mjs +++ b/eng/external-plugin-quality-gates.mjs @@ -230,8 +230,20 @@ 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}`, + }; + } + + const candidatePaths = [ + path.join(installedPluginPath, "plugin.json"), + path.join(installedPluginPath, ".github", "plugin", "plugin.json"), + path.join(installedPluginPath, ".plugin", "plugin.json"), + ]; + const pluginManifestPath = candidatePaths.find((p) => fs.existsSync(p)); + if (!pluginManifestPath) { return { status: "fail", output: `Plugin installed but expected files were missing at ${installedPluginPath}`,