Skip to content

Commit 43e5e94

Browse files
fix: add check for orchestrator image (#599)
1 parent 522f0a1 commit 43e5e94

File tree

4 files changed

+34
-19
lines changed

4 files changed

+34
-19
lines changed

src/app/runs/[id]/_Tabs/Configuration/DockerImageCollapsible.tsx

Lines changed: 14 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -12,9 +12,10 @@ import Redirect from "@/assets/icons/redirect.svg?react";
1212
import { CopyButton } from "@/components/CopyButton";
1313
import { Codesnippet } from "@/components/CodeSnippet";
1414
import { KeyValue } from "@/components/KeyValue";
15+
import { BuildItem } from "@/types/pipeline-builds";
1516

1617
type Props = {
17-
data: any;
18+
data: BuildItem;
1819
};
1920

2021
export function DockerImageCollapsible({ data }: Props) {
@@ -70,10 +71,18 @@ export function DockerImageCollapsible({ data }: Props) {
7071
}
7172
/>
7273
</dl>
73-
<p className="mb-2 mt-5 text-theme-text-secondary">Dockerfile</p>
74-
<Codesnippet fullWidth highlightCode wrap code={data.dockerfile} />
75-
<p className="mb-2 mt-5 text-theme-text-secondary">Requirements</p>
76-
<Codesnippet fullWidth highlightCode wrap code={data.requirements} />
74+
{data.dockerfile && (
75+
<>
76+
<p className="mb-2 mt-5 text-theme-text-secondary">Dockerfile</p>
77+
<Codesnippet fullWidth highlightCode wrap code={data.dockerfile} />
78+
</>
79+
)}
80+
{data.requirements && (
81+
<>
82+
<p className="mb-2 mt-5 text-theme-text-secondary">Requirements</p>
83+
<Codesnippet fullWidth highlightCode wrap code={data.requirements} />
84+
</>
85+
)}
7786
</CollapsibleContent>
7887
</CollapsiblePanel>
7988
);

src/app/runs/[id]/_Tabs/Configuration/index.tsx

Lines changed: 9 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,12 @@
1-
import { CodeCollapsible } from "./CodeCollapsible";
2-
import { EnvironmentCollapsible } from "./EnvironmentCollapsible";
3-
import { useParams } from "react-router-dom";
4-
import { usePipelineRun } from "@/data/pipeline-runs/pipeline-run-detail-query";
5-
import { Skeleton } from "@zenml-io/react-component-library";
61
import { NestedCollapsible } from "@/components/NestedCollapsible";
72
import { usePipelineBuild } from "@/data/pipeline-builds/all-pipeline-builds-query";
3+
import { usePipelineRun } from "@/data/pipeline-runs/pipeline-run-detail-query";
4+
import { BuildItem, BuildItemMap } from "@/types/pipeline-builds";
5+
import { Skeleton } from "@zenml-io/react-component-library";
6+
import { useParams } from "react-router-dom";
7+
import { CodeCollapsible } from "./CodeCollapsible";
88
import { DockerImageCollapsible } from "./DockerImageCollapsible";
9+
import { EnvironmentCollapsible } from "./EnvironmentCollapsible";
910

1011
export function ConfigurationTab() {
1112
const { runId } = useParams() as { runId: string };
@@ -31,7 +32,9 @@ export function ConfigurationTab() {
3132
return (
3233
<div className="grid grid-cols-1 gap-5">
3334
<NestedCollapsible title="Parameters" data={data.metadata?.config.parameters} />
34-
{buildData && <DockerImageCollapsible data={buildData?.metadata?.images?.orchestrator} />}
35+
{(buildData?.metadata?.images as BuildItemMap)?.orchestrator && (
36+
<DockerImageCollapsible data={buildData?.metadata?.images?.orchestrator as BuildItem} />
37+
)}
3538
<CodeCollapsible runId={runId} />
3639
<EnvironmentCollapsible run={data} />
3740
<NestedCollapsible title="Extra" data={data.metadata?.config.extra} />

src/components/steps/step-sheet/ConfigurationTab.tsx

Lines changed: 9 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1,15 +1,16 @@
1+
import { DockerImageCollapsible } from "@/app/runs/[id]/_Tabs/Configuration/DockerImageCollapsible";
2+
import { Codesnippet } from "@/components/CodeSnippet";
13
import { CollapsibleCard } from "@/components/CollapsibleCard";
2-
import { ErrorFallback } from "../../Error";
4+
import { KeyValue } from "@/components/KeyValue";
5+
import { usePipelineBuild } from "@/data/pipeline-builds/all-pipeline-builds-query";
6+
import { usePipelineRun } from "@/data/pipeline-runs/pipeline-run-detail-query";
37
import { useStepDetail } from "@/data/steps/step-detail-query";
8+
import { renderAnyToString } from "@/lib/strings";
49
import { AnyDict } from "@/types/common";
10+
import { BuildItemMap } from "@/types/pipeline-builds";
511
import { Skeleton } from "@zenml-io/react-component-library";
6-
import { KeyValue } from "@/components/KeyValue";
7-
import { Codesnippet } from "@/components/CodeSnippet";
8-
import { renderAnyToString } from "@/lib/strings";
9-
import { DockerImageCollapsible } from "@/app/runs/[id]/_Tabs/Configuration/DockerImageCollapsible";
10-
import { usePipelineBuild } from "@/data/pipeline-builds/all-pipeline-builds-query";
1112
import { useParams } from "react-router-dom";
12-
import { usePipelineRun } from "@/data/pipeline-runs/pipeline-run-detail-query";
13+
import { ErrorFallback } from "../../Error";
1314

1415
type Props = {
1516
stepId: string;
@@ -55,7 +56,7 @@ export function StepConfigTab({ stepId }: Props) {
5556

5657
const indexImage = findIndexImage();
5758

58-
const dataImage = indexImage && buildData?.metadata?.images?.[indexImage];
59+
const dataImage = indexImage && (buildData?.metadata?.images as BuildItemMap)?.[indexImage];
5960

6061
if (isError) {
6162
return <ErrorFallback err={error} />;

src/types/pipeline-builds.ts

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,5 @@
11
import { components } from "./core";
22

33
export type PipelineBuildResponse = components["schemas"]["PipelineBuildResponse"];
4+
export type BuildItem = components["schemas"]["BuildItem"];
5+
export type BuildItemMap = { [key: string]: BuildItem };

0 commit comments

Comments
 (0)