INNER CODE UNIT · TypeScript
incompleteRuns
cloudposse/atmos · .github/actions/stopwatch/src/index.ts:209
const incompleteRuns = selectedRuns.filter((candidate) => candidate.status !== "completed");
if (incompleteRuns.length > 0) {
const reason = `Waiting for ${incompleteRuns.length} workflow(s): ${incompleteRuns.map((candidate) => candidate.name).join(", ")}`;
console.log(reason);
await setResult(false, reason);
return;
}
const jobsByRun = new Map<number, WorkflowJob[]>();
for (const workflowRun of selectedRuns) {
const jobs = await client.paginate<ApiWorkflowJob>(
(page) => `${encodedRepo}/actions/runs/${workflowRun.id}/jobs?filter=latest&per_page=100&page=${page}`,
unwrapProperty<ApiWorkflowJob>("jobs"),
);
jobsByRun.set(workflowRun.id, jobs.map((jobData) => toWorkflowJob(workflowRun.id, jobData)));
}
const incompleteJobs = [...jobsByRun.values()].flat().filter((jobData) => jobData.status !== "completed");