Toolkit: Provide update plugin to allow plugins configuration to normalize (#23540)
* Toolkit: Update plugin added - To normalize an bring a plugins "managed" config up to date * Added changes for filter only release * changed name * updated test for checking files in manifest
This commit is contained in:
@@ -15,6 +15,7 @@ import { searchTestDataSetupTask } from './tasks/searchTestDataSetup';
|
||||
import { closeMilestoneTask } from './tasks/closeMilestone';
|
||||
import { pluginDevTask } from './tasks/plugin.dev';
|
||||
import { githubPublishTask } from './tasks/plugin.utils';
|
||||
import { pluginUpdateTask } from './tasks/plugin.update';
|
||||
import { ciBuildPluginTask, ciBuildPluginDocsTask, ciPackagePluginTask, ciPluginReportTask } from './tasks/plugin.ci';
|
||||
import { buildPackageTask } from './tasks/package.build';
|
||||
import { pluginCreateTask } from './tasks/plugin.create';
|
||||
@@ -228,6 +229,13 @@ export const run = (includeInternalScripts = false) => {
|
||||
});
|
||||
});
|
||||
|
||||
program
|
||||
.command('plugin:update-circleci')
|
||||
.description('Update plugin')
|
||||
.action(async cmd => {
|
||||
await execTask(pluginUpdateTask)({});
|
||||
});
|
||||
|
||||
// Test the manifest creation
|
||||
program
|
||||
.command('manifest')
|
||||
|
||||
@@ -23,6 +23,7 @@ describe('Manifest', () => {
|
||||
"plugin.create.ts",
|
||||
"plugin.dev.ts",
|
||||
"plugin.tests.ts",
|
||||
"plugin.update.ts",
|
||||
"plugin.utils.ts",
|
||||
"precommit.ts",
|
||||
"searchTestDataSetup.ts",
|
||||
|
||||
@@ -0,0 +1,23 @@
|
||||
import { Task, TaskRunner } from './task';
|
||||
import { useSpinner } from '../utils/useSpinner';
|
||||
import fs = require('fs');
|
||||
import path = require('path');
|
||||
|
||||
interface UpdatePluginTask {}
|
||||
|
||||
const updateCiConfig = useSpinner<any>('Updating CircleCI config', async () => {
|
||||
const ciConfigPath = path.join(process.cwd(), '.circleci');
|
||||
if (!fs.existsSync(ciConfigPath)) {
|
||||
fs.mkdirSync(ciConfigPath);
|
||||
}
|
||||
|
||||
const sourceFile = path.join('node_modules/@grafana/toolkit/config/circleci', 'config.yml');
|
||||
const destFile = path.join(ciConfigPath, 'config.yml');
|
||||
fs.copyFileSync(sourceFile, destFile);
|
||||
});
|
||||
|
||||
const pluginUpdateRunner: TaskRunner<UpdatePluginTask> = async () => {
|
||||
await updateCiConfig({});
|
||||
};
|
||||
|
||||
export const pluginUpdateTask = new Task<UpdatePluginTask>('Update Plugin', pluginUpdateRunner);
|
||||
Reference in New Issue
Block a user