Skip to content

Commit 7dafc2a

Browse files
samejrmatt-aitken
authored andcommitted
Adds new “Machine” column to the runs list
1 parent c570803 commit 7dafc2a

File tree

1 file changed

+69
-1
lines changed

1 file changed

+69
-1
lines changed

apps/webapp/app/components/runs/v3/TaskRunsTable.tsx

Lines changed: 69 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,11 @@ import {
88
} from "@heroicons/react/20/solid";
99
import { BeakerIcon, BookOpenIcon, CheckIcon } from "@heroicons/react/24/solid";
1010
import { useLocation } from "@remix-run/react";
11-
import { formatDuration, formatDurationMilliseconds } from "@trigger.dev/core/v3";
11+
import {
12+
formatDuration,
13+
formatDurationMilliseconds,
14+
MachinePresetName,
15+
} from "@trigger.dev/core/v3";
1216
import { useCallback, useRef } from "react";
1317
import { Badge } from "~/components/primitives/Badge";
1418
import { Button, LinkButton } from "~/components/primitives/Buttons";
@@ -52,6 +56,8 @@ import {
5256
filterableTaskRunStatuses,
5357
TaskRunStatusCombo,
5458
} from "./TaskRunStatus";
59+
import { MachineIcon } from "~/assets/icons/MachineIcon";
60+
import { MachineLabelCombo } from "~/components/MachineLabelCombo";
5561

5662
type RunsTableProps = {
5763
total: number;
@@ -201,6 +207,65 @@ export function TaskRunsTable({
201207
<TableHeaderCell>Compute</TableHeaderCell>
202208
</>
203209
)}
210+
<TableHeaderCell
211+
className="pl-4"
212+
tooltip={
213+
<div className="flex max-w-xs flex-col gap-4 p-1">
214+
<div>
215+
<div className="mb-0.5 flex items-center gap-1.5">
216+
<MachineIcon preset="no-machine" />
217+
<Header3>No machine yet</Header3>
218+
</div>
219+
<Paragraph variant="small" className="text-text-dimmed">
220+
The machine is set at the moment the run is dequeued.
221+
</Paragraph>
222+
</div>
223+
<div>
224+
<div className="mb-0.5 flex items-center gap-1.5">
225+
<MachineIcon preset="micro" />
226+
<Header3>Micro</Header3>
227+
</div>
228+
<Paragraph variant="small" className="text-text-dimmed">
229+
The smallest and cheapest machine available.
230+
</Paragraph>
231+
</div>
232+
<div>
233+
<div className="mb-0.5 flex items-center gap-1.5">
234+
<MachineIcon preset="small-1x" /> <Header3>Small 1x & 2x</Header3>
235+
</div>
236+
<Paragraph variant="small" className="text-text-dimmed">
237+
Smaller machines for basic workloads. Small 1x is the default machine.
238+
</Paragraph>
239+
</div>
240+
<div>
241+
<div className="mb-0.5 flex items-center gap-1.5">
242+
<MachineIcon preset="medium-1x" /> <Header3>Medium 1x & 2x</Header3>
243+
</div>
244+
<Paragraph variant="small" className="text-text-dimmed">
245+
Medium machines for more demanding workloads.
246+
</Paragraph>
247+
</div>
248+
<div>
249+
<div className="mb-0.5 flex items-center gap-1.5">
250+
<MachineIcon preset="large-1x" /> <Header3>Large 1x & 2x</Header3>
251+
</div>
252+
<Paragraph variant="small" className="text-text-dimmed">
253+
Larger machines for the most demanding workloads such as video processing. The
254+
larger the machine, the more expensive it is.
255+
</Paragraph>
256+
</div>
257+
<LinkButton
258+
to={docsPath("machines#machine-configurations")}
259+
variant="docs/small"
260+
LeadingIcon={BookOpenIcon}
261+
>
262+
Read docs
263+
</LinkButton>
264+
</div>
265+
}
266+
>
267+
Machine
268+
</TableHeaderCell>
204269
<TableHeaderCell>Test</TableHeaderCell>
205270
<TableHeaderCell>Created at</TableHeaderCell>
206271
<TableHeaderCell
@@ -375,6 +440,9 @@ export function TaskRunsTable({
375440
: "–"}
376441
</TableCell>
377442
)}
443+
<TableCell to={path}>
444+
<MachineLabelCombo preset={run.machinePreset as MachinePresetName} />
445+
</TableCell>
378446
<TableCell to={path}>
379447
{run.isTest ? <CheckIcon className="size-4 text-charcoal-400" /> : "–"}
380448
</TableCell>

0 commit comments

Comments
 (0)