Fix job name to show instead of ID

Signed-off-by: Sanjula Ganepola <sanjulagane@gmail.com>
This commit is contained in:
Sanjula Ganepola
2024-11-30 17:37:27 -05:00
parent c0ebf56ada
commit db3400cde6

View File

@@ -114,6 +114,7 @@ export enum Option {
export interface CommandArgs { export interface CommandArgs {
path: string, path: string,
workflow: Workflow,
options: string[], options: string[],
name: string, name: string,
extraHeader: { key: string, value: string }[] extraHeader: { key: string, value: string }[]
@@ -251,17 +252,20 @@ export class Act {
} }
async runAllWorkflows(workspaceFolder: WorkspaceFolder) { async runAllWorkflows(workspaceFolder: WorkspaceFolder) {
return await this.runCommand({ const workflows = await this.workflowsManager.getWorkflows(workspaceFolder);
path: workspaceFolder.uri.fsPath, if (workflows.length > 0) {
options: [], for (const workflow of workflows) {
name: workspaceFolder.name, await this.runWorkflow(workspaceFolder, workflow);
extraHeader: [] }
}); } else {
window.showErrorMessage('No workflows found.');
}
} }
async runWorkflow(workspaceFolder: WorkspaceFolder, workflow: Workflow) { async runWorkflow(workspaceFolder: WorkspaceFolder, workflow: Workflow) {
return await this.runCommand({ return await this.runCommand({
path: workspaceFolder.uri.fsPath, path: workspaceFolder.uri.fsPath,
workflow: workflow,
options: [ options: [
`${Option.Workflows} ".github/workflows/${path.parse(workflow.uri.fsPath).base}"` `${Option.Workflows} ".github/workflows/${path.parse(workflow.uri.fsPath).base}"`
], ],
@@ -275,6 +279,7 @@ export class Act {
async runJob(workspaceFolder: WorkspaceFolder, workflow: Workflow, job: Job) { async runJob(workspaceFolder: WorkspaceFolder, workflow: Workflow, job: Job) {
return await this.runCommand({ return await this.runCommand({
path: workspaceFolder.uri.fsPath, path: workspaceFolder.uri.fsPath,
workflow: workflow,
options: [ options: [
`${Option.Workflows} ".github/workflows/${path.parse(workflow.uri.fsPath).base}"`, `${Option.Workflows} ".github/workflows/${path.parse(workflow.uri.fsPath).base}"`,
`${Option.Job} "${job.id}"` `${Option.Job} "${job.id}"`
@@ -291,6 +296,7 @@ export class Act {
let eventExists: boolean = false; let eventExists: boolean = false;
const workflows = await this.workflowsManager.getWorkflows(workspaceFolder); const workflows = await this.workflowsManager.getWorkflows(workspaceFolder);
if (workflows.length > 0) {
for (const workflow of workflows) { for (const workflow of workflows) {
if (event in workflow.yaml.on) { if (event in workflow.yaml.on) {
eventExists = true; eventExists = true;
@@ -301,6 +307,9 @@ export class Act {
if (!eventExists) { if (!eventExists) {
window.showErrorMessage(`No workflows triggered by the ${event} event.`) window.showErrorMessage(`No workflows triggered by the ${event} event.`)
} }
} else {
window.showErrorMessage('No workflows found.');
}
} }
async runCommand(commandArgs: CommandArgs) { async runCommand(commandArgs: CommandArgs) {
@@ -411,7 +420,7 @@ export class Act {
// Append data to log file // Append data to log file
await fs.appendFile(logPath, data); await fs.appendFile(logPath, data);
} catch (error) { } } catch (error: any) { }
}); });
const handleIO = async (data: any) => { const handleIO = async (data: any) => {
@@ -430,12 +439,20 @@ export class Act {
// Update job and step status in workspace history // Update job and step status in workspace history
if (parsedMessage.jobID) { if (parsedMessage.jobID) {
let jobName: string = parsedMessage.jobID;
try {
if (parsedMessage.jobID in commandArgs.workflow.yaml.jobs && commandArgs.workflow.yaml.jobs[parsedMessage.jobID].name) {
jobName = commandArgs.workflow.yaml.jobs[parsedMessage.jobID].name;
}
} catch (error: any) { }
let jobIndex = this.historyManager.workspaceHistory[commandArgs.path][historyIndex].jobs! let jobIndex = this.historyManager.workspaceHistory[commandArgs.path][historyIndex].jobs!
.findIndex(job => job.name === parsedMessage.jobID); .findIndex(job => job.name === jobName);
if (jobIndex < 0) { if (jobIndex < 0) {
// Add new job with setup step // Add new job with setup step
this.historyManager.workspaceHistory[commandArgs.path][historyIndex].jobs!.push({ this.historyManager.workspaceHistory[commandArgs.path][historyIndex].jobs!.push({
name: parsedMessage.jobID, name: jobName,
status: HistoryStatus.Running, status: HistoryStatus.Running,
date: { date: {
start: dateString start: dateString
@@ -501,7 +518,7 @@ export class Act {
dateString; dateString;
} }
} }
} catch (error) { } catch (error: any) {
message = line; message = line;
} }