mirror of
https://github.com/grafana/grafana.git
synced 2025-02-25 18:55:37 -06:00
toolkit: run make for backend plugins (#19029)
This commit is contained in:
parent
bc4ba64a24
commit
e4e7719428
@ -156,9 +156,13 @@ export const run = (includeInternalScripts = false) => {
|
|||||||
|
|
||||||
program
|
program
|
||||||
.command('plugin:ci-build')
|
.command('plugin:ci-build')
|
||||||
.option('--backend <backend>', 'For backend task, which backend to run')
|
.option('--backend', 'Run Makefile for backend task', false)
|
||||||
.description('Build the plugin, leaving artifacts in /dist')
|
.description('Build the plugin, leaving results in /dist and /coverage')
|
||||||
.action(async cmd => {
|
.action(async cmd => {
|
||||||
|
if (typeof cmd === 'string') {
|
||||||
|
console.error(`Invalid argument: ${cmd}\nSee --help for a list of available commands.`);
|
||||||
|
process.exit(1);
|
||||||
|
}
|
||||||
await execTask(ciBuildPluginTask)({
|
await execTask(ciBuildPluginTask)({
|
||||||
backend: cmd.backend,
|
backend: cmd.backend,
|
||||||
});
|
});
|
||||||
|
@ -35,7 +35,7 @@ import { runEndToEndTests } from '../../plugins/e2e/launcher';
|
|||||||
import { getEndToEndSettings } from '../../plugins/index';
|
import { getEndToEndSettings } from '../../plugins/index';
|
||||||
|
|
||||||
export interface PluginCIOptions {
|
export interface PluginCIOptions {
|
||||||
backend?: string;
|
backend?: boolean;
|
||||||
full?: boolean;
|
full?: boolean;
|
||||||
upload?: boolean;
|
upload?: boolean;
|
||||||
}
|
}
|
||||||
@ -58,14 +58,14 @@ const buildPluginRunner: TaskRunner<PluginCIOptions> = async ({ backend }) => {
|
|||||||
fs.mkdirSync(workDir);
|
fs.mkdirSync(workDir);
|
||||||
|
|
||||||
if (backend) {
|
if (backend) {
|
||||||
console.log('TODO, backend support?');
|
const makefile = path.resolve(process.cwd(), 'Makefile');
|
||||||
fs.mkdirSync(path.resolve(process.cwd(), 'dist'));
|
if (!fs.existsSync(makefile)) {
|
||||||
const file = path.resolve(process.cwd(), 'dist', `README_${backend}.txt`);
|
throw new Error(`Missing: ${makefile}. A Makefile is required for backend plugins.`);
|
||||||
fs.writeFile(file, `TODO... build bakend plugin: ${backend}!`, err => {
|
|
||||||
if (err) {
|
|
||||||
throw new Error('Unable to write: ' + file);
|
|
||||||
}
|
}
|
||||||
});
|
|
||||||
|
// Run plugin-ci task
|
||||||
|
const exe = await execa('make', ['backend-plugin-ci']);
|
||||||
|
console.log(exe.stdout);
|
||||||
} else {
|
} else {
|
||||||
// Do regular build process with coverage
|
// Do regular build process with coverage
|
||||||
await pluginBuildRunner({ coverage: true });
|
await pluginBuildRunner({ coverage: true });
|
||||||
|
Loading…
Reference in New Issue
Block a user