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");

View source record →

📰 Research Paper
Loading…
⏳ Fetching content…