Skip to content

Commit 72e4fe6

Browse files
Merge pull request #746 from zenml-io/staging
Release
2 parents e386f46 + bc0b60a commit 72e4fe6

File tree

7 files changed

+111
-50
lines changed

7 files changed

+111
-50
lines changed

package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -79,7 +79,7 @@
7979
"tailwindcss": "^3.4.17",
8080
"tailwindcss-animate": "^1.0.7",
8181
"typescript": "^5.8.3",
82-
"vite": "^6.2.6",
82+
"vite": "^6.2.7",
8383
"vite-plugin-bundle-prefetch": "^0.0.4",
8484
"vite-plugin-svgr": "^4.3.0",
8585
"vitest": "^3.1.1"

pnpm-lock.yaml

Lines changed: 40 additions & 16 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

src/app/runs/[id]/_Tabs/Overview/Orchestrator.tsx

Lines changed: 14 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
import ChevronDown from "@/assets/icons/chevron-down.svg?react";
22
import { CopyButton } from "@/components/CopyButton";
33
import { KeyValue } from "@/components/KeyValue";
4+
import { AuthRequired } from "@/components/runs/auth-required";
45
import { usePipelineRun } from "@/data/pipeline-runs/pipeline-run-detail-query";
56
import { isString } from "@/lib/type-guards";
67
import { MetadataMap } from "@/types/common";
@@ -67,16 +68,19 @@ export function OrchestratorCollapsible() {
6768
label="Orchestrator Logs"
6869
value={
6970
orchestrator_logs && isString(orchestrator_logs) ? (
70-
<div className="group/copybutton flex items-center gap-0.5">
71-
<a
72-
className="truncate text-theme-text-brand underline transition-all duration-200 hover:decoration-transparent"
73-
rel="noopener noreferrer"
74-
target="_blank"
75-
href={orchestrator_logs}
76-
>
77-
{orchestrator_logs}
78-
</a>
79-
<CopyButton copyText={orchestrator_logs} />
71+
<div className="flex items-center gap-1">
72+
<AuthRequired />
73+
<div className="group/copybutton flex items-center gap-0.5">
74+
<a
75+
className="truncate text-theme-text-brand underline transition-all duration-200 hover:decoration-transparent"
76+
rel="noopener noreferrer"
77+
target="_blank"
78+
href={orchestrator_logs}
79+
>
80+
{orchestrator_logs}
81+
</a>
82+
<CopyButton copyText={orchestrator_logs} />
83+
</div>
8084
</div>
8185
) : (
8286
"Not available"

src/components/artifacts/artifact-node-sheet/DetailCards.tsx

Lines changed: 5 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
import Pipelines from "@/assets/icons/pipeline.svg?react";
2-
import Spinner from "@/assets/icons/spinner.svg?react";
32
import Run from "@/assets/icons/terminal-square.svg?react";
3+
import { ComponentIcon } from "@/components/ComponentIcon";
44
import { DisplayDate } from "@/components/DisplayDate";
55
import { ErrorFallback } from "@/components/Error";
66
import { ExecutionStatusIcon, getExecutionStatusTagColor } from "@/components/ExecutionStatus";
@@ -24,7 +24,6 @@ import {
2424
import { Link } from "react-router-dom";
2525
import { Codesnippet } from "../../CodeSnippet";
2626
import { CollapsibleCard } from "../../CollapsibleCard";
27-
import { ComponentIcon } from "@/components/ComponentIcon";
2827

2928
type Props = {
3029
artifactVersionId: string;
@@ -151,17 +150,12 @@ function ProducerKeys({ producerRunId }: { producerRunId: string }) {
151150
value={
152151
<Link to={routes.runs.detail(producerRunId)}>
153152
<Tag
154-
color={getExecutionStatusTagColor(pipelineRun.data.body?.status)}
155-
className="inline-flex items-center gap-0.5"
156-
rounded={false}
157153
emphasis="subtle"
154+
rounded={false}
155+
className="inline-flex items-center gap-0.5"
156+
color={getExecutionStatusTagColor(pipelineRun.data.body?.status)}
158157
>
159-
{pipelineRun.data.body?.status === "running" ? (
160-
<Spinner className="mr-1 h-4 w-4 border-[2px]" />
161-
) : (
162-
<Run className={`mr-1 h-4 w-4 fill-current`} />
163-
)}
164-
158+
<Run className={`mr-1 h-4 w-4 fill-current`} />
165159
{producerRunId.split("-")[0]}
166160
</Tag>
167161
</Link>

src/components/repositories/RepoBadge.tsx

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -38,14 +38,14 @@ export function RepoBadge({ repositoryId, commit }: Props) {
3838
const defaultHost = "github.com";
3939
url =
4040
`https://www.${(typeof repositoryMetadata?.host === "string" ? repositoryMetadata.host : defaultHost).replace(/\/$/, "")}/${name}` +
41-
(commit ? `/tree/${commit}` : "");
41+
(commit ? `/commit/${commit}` : "");
4242
} else if (data?.body?.source?.attribute === "GitLabCodeRepository") {
4343
Icon = Gitlab;
4444
name = `${repositoryMetadata?.group}/${repositoryMetadata?.project}`;
4545
const defaultHost = "gitlab.com";
4646
url =
4747
`https://www.${(typeof repositoryMetadata?.host === "string" ? repositoryMetadata.host : defaultHost).replace(/\/$/, "")}/${name}` +
48-
(commit ? `/tree/${commit}` : "");
48+
(commit ? `/commit/${commit}` : "");
4949
}
5050

5151
return (

src/components/runs/auth-required.tsx

Lines changed: 35 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,35 @@
1+
import Triange from "@/assets/icons/alert-triangle.svg?react";
2+
import {
3+
Tag,
4+
Tooltip,
5+
TooltipContent,
6+
TooltipProvider,
7+
TooltipTrigger
8+
} from "@zenml-io/react-component-library";
9+
10+
export function AuthRequired() {
11+
return (
12+
<TooltipProvider>
13+
<Tooltip>
14+
<TooltipTrigger>
15+
<Tag
16+
color="yellow"
17+
className="flex items-center gap-0.5"
18+
rounded={false}
19+
emphasis="subtle"
20+
>
21+
<Triange className="h-4 w-4 shrink-0 fill-current" />
22+
Login Required
23+
</Tag>
24+
</TooltipTrigger>
25+
<TooltipContent>
26+
<p>
27+
You must be logged in for this link to work.
28+
<br />
29+
Please ensure you're signed in before accessing.
30+
</p>
31+
</TooltipContent>
32+
</Tooltip>
33+
</TooltipProvider>
34+
);
35+
}

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

Lines changed: 14 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -25,6 +25,7 @@ import { ErrorFallback } from "../../Error";
2525
import { ExecutionStatusIcon, getExecutionStatusTagColor } from "../../ExecutionStatus";
2626
import { Key, KeyValue, Value } from "../../KeyValue";
2727
import { RepoBadge } from "../../repositories/RepoBadge";
28+
import { AuthRequired } from "../../runs/auth-required";
2829

2930
type Props = {
3031
stepId: string;
@@ -263,16 +264,19 @@ export function OrchestratorCard({ className }: { className?: string }) {
263264
label="Orchestrator Logs"
264265
value={
265266
orchestrator_logs && isString(orchestrator_logs) ? (
266-
<div className="group/copybutton flex items-center gap-0.5">
267-
<a
268-
className="truncate text-theme-text-brand underline transition-all duration-200 hover:decoration-transparent"
269-
rel="noopener noreferrer"
270-
target="_blank"
271-
href={orchestrator_logs}
272-
>
273-
{orchestrator_logs}
274-
</a>
275-
<CopyButton copyText={orchestrator_logs} />
267+
<div className="flex items-center gap-1">
268+
<AuthRequired />
269+
<div className="group/copybutton flex items-center gap-0.5">
270+
<a
271+
className="truncate text-theme-text-brand underline transition-all duration-200 hover:decoration-transparent"
272+
rel="noopener noreferrer"
273+
target="_blank"
274+
href={orchestrator_logs}
275+
>
276+
{orchestrator_logs}
277+
</a>
278+
<CopyButton copyText={orchestrator_logs} />
279+
</div>
276280
</div>
277281
) : (
278282
"Not available"

0 commit comments

Comments
 (0)