import { duration } from '#/lib/checks.js'; import { cn } from '#/lib/utils.js'; /** * What the runner ran, in order, and how each step ended. The exit code * decides how a step's name reads. */ export function CheckSteps({ steps }) { return (
{steps.map((step) => { const failed = step.exitCode !== 0; return (
{/* The step takes what it needs up to a measure, and what it cost follows it. Every step reaches that measure on a wide window, so the times line up down the list. */} {step.name} {typeof step.durationMs === 'number' ? duration(step.durationMs) : ''} {failed ? `exit ${step.exitCode}` : 'ok'}
); })}
); }