Skip to content

Commit c80cf8e

Browse files
committed
NCL-9058 Synchronize Build Pushes with the current REST
1 parent 561f33c commit c80cf8e

File tree

19 files changed

+525
-242
lines changed

19 files changed

+525
-242
lines changed

src/AppRoutes.tsx

Lines changed: 8 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,6 @@ import { ArtifactsPage } from 'components/ArtifactsPage/ArtifactsPage';
1414
import { BuildAlignmentLogPage } from 'components/BuildAlignmentLogPage/BuildAlignmentLogPage';
1515
import { BuildArtifactDependencyGraphPage } from 'components/BuildArtifactDependencyGraphPage/BuildArtifactDependencyGraphPage';
1616
import { BuildArtifactsPage } from 'components/BuildArtifactsPage/BuildArtifactsPage';
17-
import { BuildBrewPushPage } from 'components/BuildBrewPushPage/BuildBrewPushPage';
1817
import { BuildConfigBuildMetricsPage } from 'components/BuildConfigBuildMetricsPage/BuildConfigBuildMetricsPage';
1918
import { BuildConfigCreateEditPage } from 'components/BuildConfigCreateEditPage/BuildConfigCreateEditPage';
2019
import { BuildConfigDependantsPage } from 'components/BuildConfigDependantsPage/BuildConfigDependantsPage';
@@ -31,6 +30,8 @@ import { BuildDetailPage } from 'components/BuildDetailPage/BuildDetailPage';
3130
import { BuildLogPage } from 'components/BuildLogPage/BuildLogPage';
3231
import { BuildMetricsPage } from 'components/BuildMetricsPage/BuildMetricsPage';
3332
import { BuildPages } from 'components/BuildPages/BuildPages';
33+
import { BuildPushPage } from 'components/BuildPushPage/BuildPushPage';
34+
import { BuildPushesPage } from 'components/BuildPushesPage/BuildPushesPage';
3435
import { BuildsPage } from 'components/BuildsPage/BuildsPage';
3536
import { DashboardPage } from 'components/DashboardPage/DashboardPage';
3637
import { DeliverableAnalysesPage } from 'components/DeliverableAnalysesPage/DeliverableAnalysesPage';
@@ -51,6 +52,7 @@ import { LiveBuildLogPage } from 'components/LiveBuildLogPage/LiveBuildLogPage';
5152
import { PreferencesPage } from 'components/PreferencesPage/PreferencesPage';
5253
import { ProductCreateEditPage } from 'components/ProductCreateEditPage/ProductCreateEditPage';
5354
import { ProductDetailPage } from 'components/ProductDetailPage/ProductDetailPage';
55+
import { ProductMilestoneBuildPushesPage } from 'components/ProductMilestoneBuildPushesPage/ProductMilestoneBuildPushesPage';
5456
import { ProductMilestoneBuildsPerformedPage } from 'components/ProductMilestoneBuildsPerformedPage/ProductMilestoneBuildsPerformedPage';
5557
import { ProductMilestoneComparisonPage } from 'components/ProductMilestoneComparisonPage/ProductMilestoneComparisonPage';
5658
import { ProductMilestoneCreateEditPage } from 'components/ProductMilestoneCreateEditPage/ProductMilestoneCreateEditPage';
@@ -179,6 +181,7 @@ export const AppRoutes = (
179181
<Route path=":productMilestoneId" element={<ProductMilestonePages />} handle={breadcrumbData.productMilestone.id}>
180182
<Route path="details" element={<ProductMilestoneDetailPage />} />
181183
<Route path="builds-performed" element={<ProductMilestoneBuildsPerformedPage />} />
184+
<Route path="build-pushes" element={<ProductMilestoneBuildPushesPage />} />
182185
<Route path="deliverable-analyses" element={<ProductMilestoneDeliverableAnalysesPage />} />
183186
<Route path="delivered-artifacts" element={<ProductMilestoneDeliveredArtifactsPage />} />
184187
<Route path="interconnection-graph" element={<ProductMilestoneInterconnectionGraphPage />} />
@@ -318,7 +321,10 @@ export const AppRoutes = (
318321
<Route path="alignment-log" element={<BuildAlignmentLogPage />} />
319322
<Route path="artifacts" element={<BuildArtifactsPage />} />
320323
<Route path="dependencies" element={<BuildDependenciesPage />} />
321-
<Route path="brew-push" element={<BuildBrewPushPage />} />
324+
<Route path="build-pushes" handle={breadcrumbData.buildPushes.id}>
325+
<Route index element={<BuildPushesPage />} />
326+
<Route path=":buildPushId" element={<BuildPushPage />} handle={breadcrumbData.buildPush.id} />
327+
</Route>
322328
<Route path="build-metrics" element={<BuildMetricsPage />} />
323329
<Route
324330
path="artifact-dependency-graph"

src/common/breadcrumbData.ts

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -64,6 +64,14 @@ export const breadcrumbData = {
6464
id: 'build',
6565
title: EntityTitles.build,
6666
},
67+
buildPushes: {
68+
id: 'buildPushes',
69+
title: PageTitles.buildPushes,
70+
},
71+
buildPush: {
72+
id: 'buildPush',
73+
title: EntityTitles.buildPush,
74+
},
6775
groupBuilds: {
6876
id: 'groupBuilds',
6977
title: PageTitles.groupBuilds,
Original file line numberDiff line numberDiff line change
@@ -1,18 +1,14 @@
1-
import { BuildPushResult } from 'pnc-api-types-ts';
1+
import { BuildPushReport } from 'pnc-api-types-ts';
22

33
import { TEntityAttributes } from 'common/entityAttributes';
44

5-
export const buildPushResultEntityAttributes = {
5+
export const buildPushReportEntityAttributes = {
66
id: {
77
id: 'id',
88
title: 'ID',
99
},
10-
status: {
11-
id: 'status',
12-
title: 'Status',
13-
},
14-
buildId: {
15-
id: 'buildId',
10+
build: {
11+
id: 'build',
1612
title: 'Build ID',
1713
},
1814
brewBuildId: {
@@ -23,4 +19,4 @@ export const buildPushResultEntityAttributes = {
2319
id: 'brewBuildUrl',
2420
title: 'Brew Build URL',
2521
},
26-
} as const satisfies TEntityAttributes<BuildPushResult>;
22+
} as const satisfies TEntityAttributes<BuildPushReport>;

src/common/constants.ts

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -27,6 +27,7 @@ export const PageTitles = {
2727
groupConfigCreate: 'Create Group Config',
2828
groupConfigEdit: 'Edit Group Config',
2929
builds: 'Builds',
30+
buildPushes: 'Build Pushes',
3031
buildHistory: 'Build History',
3132
buildMetrics: 'Build Metrics',
3233
groupBuilds: 'Group Builds',
@@ -55,6 +56,7 @@ export const ButtonTitles = {
5556
export const EntityTitles = {
5657
artifact: 'Artifact',
5758
build: 'Build',
59+
buildPush: 'Build Push',
5860
buildConfig: 'Build Config',
5961
groupBuild: 'Group Build',
6062
groupConfig: 'Group Config',

src/components/BuildBrewPushPage/BuildBrewPushPage.tsx

Lines changed: 0 additions & 134 deletions
This file was deleted.

src/components/BuildPages/BuildPages.tsx

Lines changed: 29 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,12 @@ import { buildStatusData } from 'common/buildStatusData';
88
import { TOTAL_COUNT_REQUEST_CONFIG } from 'common/constants';
99

1010
import { useParamsRequired } from 'hooks/useParamsRequired';
11-
import { hasBuildFinished, hasBuildStatusChanged, usePncWebSocketEffect } from 'hooks/usePncWebSocketEffect';
11+
import {
12+
hasBuildFinished,
13+
hasBuildPushFinished,
14+
hasBuildStatusChanged,
15+
usePncWebSocketEffect,
16+
} from 'hooks/usePncWebSocketEffect';
1217
import { IServiceContainerState, useServiceContainer } from 'hooks/useServiceContainer';
1318
import { useTitle } from 'hooks/useTitle';
1419

@@ -49,6 +54,9 @@ export const BuildPages = () => {
4954
const serviceContainerDependencies = useServiceContainer(buildApi.getDependencies);
5055
const serviceContainerDependenciesRunner = serviceContainerDependencies.run;
5156

57+
const serviceContainerBuildPushes = useServiceContainer(buildApi.getBuildPushes);
58+
const serviceContainerBuildPushesRunner = serviceContainerBuildPushes.run;
59+
5260
const serviceContainerBuildSshCredentials = useServiceContainer(buildApi.getSshCredentials);
5361
const serviceContainerBuildSshCredentialsRunner = serviceContainerBuildSshCredentials.run;
5462

@@ -72,7 +80,14 @@ export const BuildPages = () => {
7280

7381
serviceContainerArtifactsRunner({ serviceData: { id: buildId }, requestConfig: TOTAL_COUNT_REQUEST_CONFIG });
7482
serviceContainerDependenciesRunner({ serviceData: { id: buildId }, requestConfig: TOTAL_COUNT_REQUEST_CONFIG });
75-
}, [serviceContainerBuildRunner, serviceContainerArtifactsRunner, serviceContainerDependenciesRunner, buildId]);
83+
serviceContainerBuildPushesRunner({ serviceData: { id: buildId }, requestConfig: TOTAL_COUNT_REQUEST_CONFIG });
84+
}, [
85+
serviceContainerBuildRunner,
86+
serviceContainerArtifactsRunner,
87+
serviceContainerDependenciesRunner,
88+
serviceContainerBuildPushesRunner,
89+
buildId,
90+
]);
7691

7792
useEffect(() => {
7893
if (
@@ -107,13 +122,19 @@ export const BuildPages = () => {
107122
} else if (hasBuildStatusChanged(wsData, { buildId })) {
108123
const wsBuild: Build = wsData.build;
109124
serviceContainerBuildSetter(wsBuild);
125+
} else if (hasBuildPushFinished(wsData, { buildId })) {
126+
serviceContainerBuildPushesRunner({
127+
serviceData: { id: buildId },
128+
requestConfig: TOTAL_COUNT_REQUEST_CONFIG,
129+
});
110130
}
111131
},
112132
[
113133
serviceContainerBuildRunner,
114134
serviceContainerBuildSetter,
115135
serviceContainerArtifactsRunner,
116136
serviceContainerDependenciesRunner,
137+
serviceContainerBuildPushesRunner,
117138
buildId,
118139
]
119140
)
@@ -156,8 +177,8 @@ export const BuildPages = () => {
156177
{serviceContainerDependencies.data?.totalHits}
157178
</PageTabsLabel>
158179
</PageTabsItem>
159-
<PageTabsItem url="brew-push" isDisabled={isBuilding} tooltip={staticDataTooltip}>
160-
Brew Push
180+
<PageTabsItem url="build-pushes" isDisabled={isBuilding} tooltip={staticDataTooltip}>
181+
Build Pushes
161182
</PageTabsItem>
162183
<PageTabsItem url="build-metrics">Build Metrics</PageTabsItem>
163184
<ExperimentalContent>
@@ -198,7 +219,10 @@ export const BuildPages = () => {
198219
<ServiceContainerLoading {...serviceContainerBuild} title="Build details">
199220
<PageLayout
200221
title={<BuildStatus build={serviceContainerBuild.data!} long hideDatetime hideUsername includeConfigLink />}
201-
breadcrumbs={[{ entity: breadcrumbData.build.id, title: serviceContainerBuild.data?.id }]}
222+
breadcrumbs={[
223+
{ entity: breadcrumbData.build.id, title: serviceContainerBuild.data?.id },
224+
{ entity: breadcrumbData.buildPush.id, title: serviceContainerBuild.data?.id },
225+
]}
202226
tabs={pageTabs}
203227
actions={actions}
204228
>

0 commit comments

Comments
 (0)