From 73682cc2ffccac7eb758f12b872b605e5d783ce1 Mon Sep 17 00:00:00 2001 From: Cara Wang Date: Thu, 9 Jan 2025 17:55:16 +0800 Subject: [PATCH] chore(KFLUXUI-256): replace component.spec.containerImage to component.status.lastPromotedImage --- .../__data__/WorkflowComponentsData.ts | 2 +- .../ComponentDetails/tabs/ComponentDetails.tsx | 2 +- .../ComponentDetails/tabs/ComponentLatestBuild.tsx | 2 +- .../tabs/__tests__/ComponentDetailsTab.spec.tsx | 2 +- .../ComponentsListView/ComponentsListRow.tsx | 6 +++--- .../CustomizedPipeline/CustomizePipelines.tsx | 10 +++++----- .../__tests__/CustomizePipeline.spec.tsx | 7 +++++-- .../tabs/__tests__/SnapshotComponentsListRow.spec.tsx | 2 +- src/types/component.ts | 2 +- src/utils/create-utils.ts | 2 -- 10 files changed, 19 insertions(+), 18 deletions(-) diff --git a/src/components/ApplicationDetails/__data__/WorkflowComponentsData.ts b/src/components/ApplicationDetails/__data__/WorkflowComponentsData.ts index e3357dbd..df8832f9 100644 --- a/src/components/ApplicationDetails/__data__/WorkflowComponentsData.ts +++ b/src/components/ApplicationDetails/__data__/WorkflowComponentsData.ts @@ -106,7 +106,6 @@ export const mockComponentsData = [ spec: { application: 'test-dev-samples', componentName: 'test-dotnet60', - containerImage: 'quay.io/redhat-appstudio/user-workload:test-ns-test-dotnet60', replicas: 1, resources: { requests: { @@ -140,6 +139,7 @@ export const mockComponentsData = [ type: 'Created', }, ], + lastPromotedImage: 'quay.io/redhat-appstudio/user-workload:test-ns-test-dotnet60', containerImage: 'quay.io/redhat-appstudio/user-workload:test-ns-test-dotnet60', devfile: 'commands:\n- apply:\n component: dockerfile-build\n id: build-image\ncomponents:\n- image:\n dockerfile:\n rootRequired: false\n uri: https://raw.githubusercontent.com/test-user-1/devfile-sample-dotnet60-basic/main/docker/Dockerfile\n imageName: ""\n name: dockerfile-build\n- attributes:\n deployment/container-port: 8081\n deployment/cpuRequest: 10m\n deployment/memoryRequest: 100Mi\n deployment/replicas: 1\n deployment/storageRequest: "0"\n kubernetes:\n inlined: placeholder\n name: kubernetes\nmetadata:\n description: Basic Devfile for a Dockerfile Component\n name: dockerfile-component\nschemaVersion: 2.2.0\n', diff --git a/src/components/Components/ComponentDetails/tabs/ComponentDetails.tsx b/src/components/Components/ComponentDetails/tabs/ComponentDetails.tsx index 46b4c969..1812713c 100644 --- a/src/components/Components/ComponentDetails/tabs/ComponentDetails.tsx +++ b/src/components/Components/ComponentDetails/tabs/ComponentDetails.tsx @@ -35,7 +35,7 @@ const ComponentDetails: React.FC> ? getPipelineRunStatusResults(latestPushBuildPLR) : null; const latestImageURL = results?.find((result) => result.name === RESULT_NAME); - const componentImageURL = latestImageURL?.value ?? component.spec.containerImage; + const componentImageURL = latestImageURL?.value ?? component.status.lastPromotedImage; const runTime = React.useMemo(() => { try { diff --git a/src/components/Components/ComponentDetails/tabs/ComponentLatestBuild.tsx b/src/components/Components/ComponentDetails/tabs/ComponentLatestBuild.tsx index 555e5779..4f616e0c 100644 --- a/src/components/Components/ComponentDetails/tabs/ComponentLatestBuild.tsx +++ b/src/components/Components/ComponentDetails/tabs/ComponentLatestBuild.tsx @@ -43,7 +43,7 @@ const ComponentLatestBuild: React.FC { it('should renderWithQueryClientAndRouter Component container image URL when latest build url not found', () => { useComponentMock.mockReturnValue([ - { ...mockComponent, spec: { containerImage: 'test-url', ...mockComponent.spec } }, + { ...mockComponent, status: { lastPromotedImage: 'test-url', ...mockComponent.status } }, true, ]); renderWithQueryClientAndRouter(); diff --git a/src/components/Components/ComponentsListView/ComponentsListRow.tsx b/src/components/Components/ComponentsListView/ComponentsListRow.tsx index 13f98ad9..20ee0243 100644 --- a/src/components/Components/ComponentsListView/ComponentsListRow.tsx +++ b/src/components/Components/ComponentsListView/ComponentsListRow.tsx @@ -66,14 +66,14 @@ const ComponentsListRow: React.FC< /> )} - {component.spec.containerImage && ( + {component?.status?.lastPromotedImage && ( tag */ style={{ userSelect: 'auto' }} - href={getContainerImageLink(component.spec.containerImage)} - text={component.spec.containerImage} + href={getContainerImageLink(component.status.lastPromotedImage)} + text={component.status.lastPromotedImage} /> )} diff --git a/src/components/CustomizedPipeline/CustomizePipelines.tsx b/src/components/CustomizedPipeline/CustomizePipelines.tsx index df708fca..d2c422d6 100644 --- a/src/components/CustomizedPipeline/CustomizePipelines.tsx +++ b/src/components/CustomizedPipeline/CustomizePipelines.tsx @@ -140,16 +140,16 @@ const Row: React.FC< /> )} - {component.spec.containerImage && ( + {component?.status?.lastPromotedImage && (
Image:{' '} } + text={} />
)} diff --git a/src/components/CustomizedPipeline/__tests__/CustomizePipeline.spec.tsx b/src/components/CustomizedPipeline/__tests__/CustomizePipeline.spec.tsx index 05a7fc53..66850a3b 100644 --- a/src/components/CustomizedPipeline/__tests__/CustomizePipeline.spec.tsx +++ b/src/components/CustomizedPipeline/__tests__/CustomizePipeline.spec.tsx @@ -239,11 +239,14 @@ describe('CustomizePipeline', () => { ({ const rowData: SnapshotComponentTableData = { metadata: { uid: mockComponentsData[1].metadata.uid, name: mockComponentsData[1].metadata.name }, name: mockComponentsData[1].metadata.name, - containerImage: mockComponentsData[1].spec.containerImage, + containerImage: mockComponentsData[1].status.lastPromotedImage, application: 'test-app', source: { git: { url: mockComponentsData[1].spec.source.git.url, revision: 'main' } }, }; diff --git a/src/types/component.ts b/src/types/component.ts index 85e4f87b..67f6b663 100644 --- a/src/types/component.ts +++ b/src/types/component.ts @@ -34,7 +34,6 @@ export type ComponentSpecs = { application: string; secret?: string; source?: ComponentSource; - containerImage?: string; resources?: ResourceRequirements; replicas?: number; releaseStrategies?: string[]; @@ -50,6 +49,7 @@ export type ComponentSpecs = { export type ComponentKind = K8sResourceCommon & { spec: ComponentSpecs; status?: { + lastPromotedImage?: string; containerImage?: string; conditions?: ResourceStatusCondition[]; devfile?: string; diff --git a/src/utils/create-utils.ts b/src/utils/create-utils.ts index daa93b4a..fc7039e8 100644 --- a/src/utils/create-utils.ts +++ b/src/utils/create-utils.ts @@ -113,7 +113,6 @@ export const createComponent = ( componentName, gitProviderAnnotation, gitURLAnnotation, - containerImage, source, replicas, resources, @@ -143,7 +142,6 @@ export const createComponent = ( application, source, secret, - containerImage, replicas, ...(isNumber(targetPort) && { targetPort }), resources,