Add file to act command
Signed-off-by: Sanjula Ganepola <sanjulagane@gmail.com>
This commit is contained in:
10
src/act.ts
10
src/act.ts
@@ -46,12 +46,15 @@ export enum Event {
|
|||||||
}
|
}
|
||||||
|
|
||||||
export enum Option {
|
export enum Option {
|
||||||
Input = '--input',
|
Workflows = '-W',
|
||||||
Job = '-j',
|
Job = '-j',
|
||||||
Platform = '-P',
|
Platform = '-P',
|
||||||
Secret = '--secret',
|
Secret = '--secret',
|
||||||
|
SecretFile = '--secret-file',
|
||||||
Variable = '--var',
|
Variable = '--var',
|
||||||
Workflows = '-W'
|
VariableFile = '--var-file',
|
||||||
|
Input = '--input',
|
||||||
|
InputFile = '--input-file'
|
||||||
}
|
}
|
||||||
|
|
||||||
export interface CommandArgs {
|
export interface CommandArgs {
|
||||||
@@ -306,8 +309,11 @@ export class Act {
|
|||||||
`set -o pipefail; ` +
|
`set -o pipefail; ` +
|
||||||
`${Act.base} ${commandArgs.options}` +
|
`${Act.base} ${commandArgs.options}` +
|
||||||
(settings.secrets.length > 0 ? ` ${Option.Secret} ${settings.secrets.map(secret => secret.key).join(` ${Option.Secret} `)}` : ``) +
|
(settings.secrets.length > 0 ? ` ${Option.Secret} ${settings.secrets.map(secret => secret.key).join(` ${Option.Secret} `)}` : ``) +
|
||||||
|
(settings.secretFiles.length > 0 ? ` ${Option.SecretFile} ${settings.secretFiles.map(secretFile => `"${secretFile.path}"`).join(` ${Option.SecretFile} `)}` : ``) +
|
||||||
(settings.variables.length > 0 ? ` ${Option.Variable} ${settings.variables.map(variable => (variable.value ? `${variable.key}=${variable.value}` : variable.key)).join(` ${Option.Variable} `)}` : ``) +
|
(settings.variables.length > 0 ? ` ${Option.Variable} ${settings.variables.map(variable => (variable.value ? `${variable.key}=${variable.value}` : variable.key)).join(` ${Option.Variable} `)}` : ``) +
|
||||||
|
(settings.variableFiles.length > 0 ? ` ${Option.VariableFile} ${settings.variableFiles.map(variableFile => `"${variableFile.path}"`).join(` ${Option.VariableFile} `)}` : ``) +
|
||||||
(settings.inputs.length > 0 ? ` ${Option.Input} ${settings.inputs.map(input => `${input.key}=${input.value}`).join(` ${Option.Input} `)}` : ``) +
|
(settings.inputs.length > 0 ? ` ${Option.Input} ${settings.inputs.map(input => `${input.key}=${input.value}`).join(` ${Option.Input} `)}` : ``) +
|
||||||
|
(settings.inputFiles.length > 0 ? ` ${Option.InputFile} ${settings.inputFiles.map(inputFile => `"${inputFile.path}"`).join(` ${Option.InputFile} `)}` : ``) +
|
||||||
(settings.runners.length > 0 ? ` ${Option.Platform} ${settings.runners.map(runner => `${runner.key}=${runner.value}`).join(` ${Option.Platform} `)}` : ``) +
|
(settings.runners.length > 0 ? ` ${Option.Platform} ${settings.runners.map(runner => `${runner.key}=${runner.value}`).join(` ${Option.Platform} `)}` : ``) +
|
||||||
` 2>&1 | tee "${logPath}"`;
|
` 2>&1 | tee "${logPath}"`;
|
||||||
|
|
||||||
|
|||||||
@@ -51,11 +51,11 @@ export class SettingsManager {
|
|||||||
|
|
||||||
async getSettings(workspaceFolder: WorkspaceFolder, isUserSelected: boolean): Promise<Settings> {
|
async getSettings(workspaceFolder: WorkspaceFolder, isUserSelected: boolean): Promise<Settings> {
|
||||||
const secrets = (await this.getSetting(workspaceFolder, SettingsManager.secretsRegExp, StorageKey.Secrets, true, Visibility.hide)).filter(secret => !isUserSelected || secret.selected);
|
const secrets = (await this.getSetting(workspaceFolder, SettingsManager.secretsRegExp, StorageKey.Secrets, true, Visibility.hide)).filter(secret => !isUserSelected || secret.selected);
|
||||||
const secretFiles = await this.getSettingFiles(workspaceFolder, StorageKey.SecretFiles);
|
const secretFiles = (await this.getSettingFiles(workspaceFolder, StorageKey.SecretFiles)).filter(secretFile => !isUserSelected || secretFile.selected);
|
||||||
const variables = (await this.getSetting(workspaceFolder, SettingsManager.variablesRegExp, StorageKey.Variables, false, Visibility.show)).filter(variable => !isUserSelected || variable.selected);
|
const variables = (await this.getSetting(workspaceFolder, SettingsManager.variablesRegExp, StorageKey.Variables, false, Visibility.show)).filter(variable => !isUserSelected || variable.selected);
|
||||||
const variableFiles = await this.getSettingFiles(workspaceFolder, StorageKey.VariableFiles);
|
const variableFiles = (await this.getSettingFiles(workspaceFolder, StorageKey.VariableFiles)).filter(variableFile => !isUserSelected || variableFile.selected);
|
||||||
const inputs = (await this.getSetting(workspaceFolder, SettingsManager.inputsRegExp, StorageKey.Inputs, false, Visibility.show)).filter(input => !isUserSelected || (input.selected && input.value));
|
const inputs = (await this.getSetting(workspaceFolder, SettingsManager.inputsRegExp, StorageKey.Inputs, false, Visibility.show)).filter(input => !isUserSelected || (input.selected && input.value));
|
||||||
const inputFiles = await this.getSettingFiles(workspaceFolder, StorageKey.InputFiles);
|
const inputFiles = (await this.getSettingFiles(workspaceFolder, StorageKey.InputFiles)).filter(inputFile => !isUserSelected || inputFile.selected);
|
||||||
const runners = (await this.getSetting(workspaceFolder, SettingsManager.runnersRegExp, StorageKey.Runners, false, Visibility.show)).filter(runner => !isUserSelected || (runner.selected && runner.value));
|
const runners = (await this.getSetting(workspaceFolder, SettingsManager.runnersRegExp, StorageKey.Runners, false, Visibility.show)).filter(runner => !isUserSelected || (runner.selected && runner.value));
|
||||||
const environments = await this.getEnvironments(workspaceFolder);
|
const environments = await this.getEnvironments(workspaceFolder);
|
||||||
|
|
||||||
@@ -184,10 +184,15 @@ export class SettingsManager {
|
|||||||
async deleteSettingFile(workspaceFolder: WorkspaceFolder, settingFile: SettingFile, storageKey: StorageKey) {
|
async deleteSettingFile(workspaceFolder: WorkspaceFolder, settingFile: SettingFile, storageKey: StorageKey) {
|
||||||
try {
|
try {
|
||||||
await workspace.fs.delete(Uri.file(settingFile.path));
|
await workspace.fs.delete(Uri.file(settingFile.path));
|
||||||
await this.removeSettingFile(workspaceFolder, settingFile, storageKey);
|
|
||||||
} catch (error: any) {
|
} catch (error: any) {
|
||||||
window.showErrorMessage(`Failed to delete file. Error ${error}`)
|
try {
|
||||||
|
await workspace.fs.stat(Uri.file(settingFile.path));
|
||||||
|
window.showErrorMessage(`Failed to delete file. Error ${error}`);
|
||||||
|
return;
|
||||||
|
} catch (error) { }
|
||||||
}
|
}
|
||||||
|
|
||||||
|
await this.removeSettingFile(workspaceFolder, settingFile, storageKey);
|
||||||
}
|
}
|
||||||
|
|
||||||
async editSetting(workspaceFolder: WorkspaceFolder, newSetting: Setting, storageKey: StorageKey) {
|
async editSetting(workspaceFolder: WorkspaceFolder, newSetting: Setting, storageKey: StorageKey) {
|
||||||
|
|||||||
Reference in New Issue
Block a user