Update report an issue action to open github issue with autogenerated issue template (#166)

Signed-off-by: Sanjula Ganepola <sanjulagane@gmail.com>
This commit is contained in:
Sanjula Ganepola
2025-02-11 22:07:11 -05:00
committed by GitHub
parent 5103c8065f
commit 431ac5e6a8
8 changed files with 255 additions and 39 deletions

View File

@@ -9,7 +9,7 @@ import { ConfigurationManager, Platform, Section } from "./configurationManager"
import { componentsTreeDataProvider, historyTreeDataProvider } from './extension';
import { HistoryManager, HistoryStatus } from './historyManager';
import { SecretManager } from "./secretManager";
import { Mode, SettingsManager } from './settingsManager';
import { Mode, Settings, SettingsManager } from './settingsManager';
import { StorageKey, StorageManager } from './storageManager';
import { Utils } from "./utils";
import { Job, Workflow, WorkflowsManager } from "./workflowsManager";
@@ -576,6 +576,30 @@ export class Act {
return path.join(cacheHomeDir, ...paths);
}
async buildActCommand(settings: Settings, options: string[]) {
const userOptions: string[] = [
...settings.secrets.map(secret => `${Option.Secret} ${secret.key}`),
(settings.secretFiles.length > 0 ? `${Option.SecretFile} "${settings.secretFiles[0].path}"` : `${Option.SecretFile} ""`),
...settings.variables.map(variable => `${Option.Var} ${variable.key}="${Utils.escapeSpecialCharacters(variable.value)}"`),
(settings.variableFiles.length > 0 ? `${Option.VarFile} "${settings.variableFiles[0].path}"` : `${Option.VarFile} ""`),
...settings.inputs.map(input => `${Option.Input} ${input.key}="${Utils.escapeSpecialCharacters(input.value)}"`),
(settings.inputFiles.length > 0 ? `${Option.InputFile} "${settings.inputFiles[0].path}"` : `${Option.InputFile} ""`),
...settings.runners.map(runner => `${Option.Platform} ${runner.key}="${Utils.escapeSpecialCharacters(runner.value)}"`),
(settings.payloadFiles.length > 0 ? `${Option.EventPath} "${settings.payloadFiles[0].path}"` : `${Option.EventPath} ""`),
...settings.options.map(option => option.path ? `--${option.name}${option.default && ['true', 'false'].includes(option.default) ? "=" : " "}"${Utils.escapeSpecialCharacters(option.path)}"` : `--${option.name}`)
];
const actCommand = Act.getActCommand();
const executionCommand = `${actCommand} ${Option.Json} ${Option.Verbose} ${options.join(' ')} ${userOptions.join(' ')}`;
const displayCommand = `${actCommand} ${options.join(' ')} ${userOptions.join(' ')}`;
return {
userOptions,
executionCommand,
displayCommand
};
}
async runCommand(commandArgs: CommandArgs) {
// Check if required components are ready
// const unreadyComponents = await this.componentsManager.getUnreadyComponents();
@@ -624,23 +648,8 @@ export class Act {
} catch (error: any) { }
// Build command with settings
const actCommand = Act.getActCommand();
const settings = await this.settingsManager.getSettings(workspaceFolder, true);
const userOptions: string[] = [
...settings.secrets.map(secret => `${Option.Secret} ${secret.key}`),
(settings.secretFiles.length > 0 ? `${Option.SecretFile} "${settings.secretFiles[0].path}"` : `${Option.SecretFile} ""`),
...settings.variables.map(variable => `${Option.Var} ${variable.key}="${Utils.escapeSpecialCharacters(variable.value)}"`),
(settings.variableFiles.length > 0 ? `${Option.VarFile} "${settings.variableFiles[0].path}"` : `${Option.VarFile} ""`),
...settings.inputs.map(input => `${Option.Input} ${input.key}="${Utils.escapeSpecialCharacters(input.value)}"`),
(settings.inputFiles.length > 0 ? `${Option.InputFile} "${settings.inputFiles[0].path}"` : `${Option.InputFile} ""`),
...settings.runners.map(runner => `${Option.Platform} ${runner.key}="${Utils.escapeSpecialCharacters(runner.value)}"`),
(settings.payloadFiles.length > 0 ? `${Option.EventPath} "${settings.payloadFiles[0].path}"` : `${Option.EventPath} ""`),
...settings.options.map(option => option.path ? `--${option.name}${option.default && ['true', 'false'].includes(option.default) ? "=" : " "}"${Utils.escapeSpecialCharacters(option.path)}"` : `--${option.name}`)
];
const command = `${actCommand} ${Option.Json} ${Option.Verbose} ${commandArgs.options.join(' ')} ${userOptions.join(' ')}`;
const displayCommand = `${actCommand} ${commandArgs.options.join(' ')} ${userOptions.join(' ')}`;
const { userOptions, executionCommand, displayCommand } = await this.buildActCommand(settings, commandArgs.options);
// Execute task
const taskExecution = await tasks.executeTask({
@@ -854,7 +863,7 @@ export class Act {
};
const exec = childProcess.spawn(
command,
executionCommand,
{
cwd: commandArgs.path,
shell: shell,