diff --git a/packages/grafana-toolkit/src/cli/tasks/plugin.ci.ts b/packages/grafana-toolkit/src/cli/tasks/plugin.ci.ts index a0c18f77fa4..e7a3f5264b2 100644 --- a/packages/grafana-toolkit/src/cli/tasks/plugin.ci.ts +++ b/packages/grafana-toolkit/src/cli/tasks/plugin.ci.ts @@ -3,6 +3,7 @@ import { pluginBuildRunner } from './plugin.build'; import { restoreCwd } from '../utils/cwd'; import { S3Client } from '../../plugins/aws'; import { getPluginJson } from '../../config/utils/pluginValidation'; +import { getPluginId } from '../../config/utils/getPluginId'; import { PluginMeta } from '@grafana/data'; // @ts-ignore @@ -129,12 +130,16 @@ const packagePluginRunner: TaskRunner = async () => { const start = Date.now(); const ciDir = getCiFolder(); const packagesDir = path.resolve(ciDir, 'packages'); - const distDir = path.resolve(ciDir, 'dist'); + let distDir = path.resolve(ciDir, 'dist'); const docsDir = path.resolve(ciDir, 'docs'); const grafanaEnvDir = path.resolve(ciDir, 'grafana-test-env'); await execa('rimraf', [packagesDir, distDir, grafanaEnvDir]); fs.mkdirSync(packagesDir); fs.mkdirSync(distDir); + + // Updating the dist dir to have a pluginId named directory in it + // The zip needs to contain the plugin code wrapped in directory with a pluginId name + distDir = path.resolve(ciDir, `dist/${getPluginId()}`); fs.mkdirSync(grafanaEnvDir); console.log('Build Dist Folder'); @@ -184,7 +189,7 @@ const packagePluginRunner: TaskRunner = async () => { plugin: await getPackageDetails(zipFile, distDir), }; - console.log('Setup Grafan Environment'); + console.log('Setup Grafana Environment'); let p = path.resolve(grafanaEnvDir, 'plugins', pluginInfo.id); fs.mkdirSync(p, { recursive: true }); await execa('unzip', [zipFile, '-d', p]);