Some checks failed
Build & Deploy / 🔍 Prepare (push) Successful in 20s
Build & Deploy / 🧪 QA (push) Failing after 34s
Build & Deploy / 🏗️ Build (push) Has started running
Build & Deploy / 🚀 Deploy (push) Has been cancelled
Build & Deploy / 🧪 Smoke Test (push) Has been cancelled
Build & Deploy / ⚡ Lighthouse (push) Has been cancelled
Build & Deploy / 🔔 Notify (push) Has been cancelled
37 lines
1.5 KiB
Plaintext
37 lines
1.5 KiB
Plaintext
export const getJobTaskStatus = ({ jobLog })=>{
|
|
const taskStatus = {};
|
|
if (!jobLog || !Array.isArray(jobLog)) {
|
|
return taskStatus;
|
|
}
|
|
// First, add (in order) the steps from the config to
|
|
// our status map
|
|
for (const loggedJob of jobLog){
|
|
if (!taskStatus[loggedJob.taskSlug]) {
|
|
taskStatus[loggedJob.taskSlug] = {};
|
|
}
|
|
if (!taskStatus[loggedJob.taskSlug]?.[loggedJob.taskID]) {
|
|
taskStatus[loggedJob.taskSlug][loggedJob.taskID] = {
|
|
complete: loggedJob.state === 'succeeded',
|
|
input: loggedJob.input,
|
|
output: loggedJob.output,
|
|
taskSlug: loggedJob.taskSlug,
|
|
totalTried: 1
|
|
};
|
|
} else {
|
|
const newTaskStatus = taskStatus[loggedJob.taskSlug][loggedJob.taskID];
|
|
newTaskStatus.totalTried += 1;
|
|
if (loggedJob.state === 'succeeded') {
|
|
newTaskStatus.complete = true;
|
|
// As the task currently saved in taskStatus has likely failed and thus has no
|
|
// Output data, we need to update it with the new data from the successful task
|
|
newTaskStatus.output = loggedJob.output;
|
|
newTaskStatus.input = loggedJob.input;
|
|
newTaskStatus.taskSlug = loggedJob.taskSlug;
|
|
}
|
|
taskStatus[loggedJob.taskSlug][loggedJob.taskID] = newTaskStatus;
|
|
}
|
|
}
|
|
return taskStatus;
|
|
};
|
|
|
|
//# sourceMappingURL=getJobTaskStatus.js.map |