Fix job name to show instead of ID
Signed-off-by: Sanjula Ganepola <sanjulagane@gmail.com>
This commit is contained in:
51
src/act.ts
51
src/act.ts
@@ -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,15 +296,19 @@ 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);
|
||||||
for (const workflow of workflows) {
|
if (workflows.length > 0) {
|
||||||
if (event in workflow.yaml.on) {
|
for (const workflow of workflows) {
|
||||||
eventExists = true;
|
if (event in workflow.yaml.on) {
|
||||||
await this.runWorkflow(workspaceFolder, workflow);
|
eventExists = true;
|
||||||
|
await this.runWorkflow(workspaceFolder, workflow);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
|
||||||
|
|
||||||
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.');
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -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;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user