}
- statusCounts={boots.statusSummary}
+ statusCounts={bootsSummary.status}
/>
}
- archCompilerErrors={boots.archSummary}
+ archCompilerErrors={bootsSummary.architectures}
diffFilter={diffFilter}
/>
}
- issues={boots.issues}
- failedWithUnknownIssues={boots.failedWithUnknownIssues}
+ issues={bootsSummary.issues}
+ failedWithUnknownIssues={bootsSummary.unknown_issues}
diffFilter={diffFilter}
issueFilterSection="bootIssue"
detailsId={hardwareId}
@@ -128,7 +134,7 @@ const BootsTab = ({ boots, hardwareId, trees }: TBootsTab): JSX.Element => {
/>
}
- configStatusCounts={boots.configs}
+ configStatusCounts={bootsSummary.configs}
diffFilter={diffFilter}
/>
{
}
- statusCounts={boots.statusSummary}
+ statusCounts={bootsSummary.status}
/>
}
- configStatusCounts={boots.configs}
+ configStatusCounts={bootsSummary.configs}
diffFilter={diffFilter}
/>
{
/>
}
- archCompilerErrors={boots.archSummary}
+ archCompilerErrors={bootsSummary.architectures}
diffFilter={diffFilter}
/>
}
- issues={boots.issues}
- failedWithUnknownIssues={boots.failedWithUnknownIssues}
+ issues={bootsSummary.issues}
+ failedWithUnknownIssues={bootsSummary.unknown_issues}
diffFilter={diffFilter}
issueFilterSection="bootIssue"
detailsId={hardwareId}
@@ -177,7 +183,7 @@ const BootsTab = ({ boots, hardwareId, trees }: TBootsTab): JSX.Element => {
tableKey="hardwareDetailsBoots"
getRowLink={getRowLink}
filter={tableFilter.bootsTable}
- testHistory={boots.history}
+ testHistory={boots}
onClickFilter={onClickFilter}
updatePathFilter={updatePathFilter}
currentPathFilter={currentPathFilter}
diff --git a/dashboard/src/pages/hardwareDetails/Tabs/Build/BuildTab.tsx b/dashboard/src/pages/hardwareDetails/Tabs/Build/BuildTab.tsx
index fe1b7a766..5dbe6e1ba 100644
--- a/dashboard/src/pages/hardwareDetails/Tabs/Build/BuildTab.tsx
+++ b/dashboard/src/pages/hardwareDetails/Tabs/Build/BuildTab.tsx
@@ -25,13 +25,19 @@ import { RedirectFrom, type TFilterObjectsKeys } from '@/types/general';
import { HardwareDetailsBuildsTable } from './HardwareDetailsBuildsTable';
-interface TBuildTab {
+interface IBuildTab {
builds: THardwareDetails['builds'];
- trees: THardwareDetails['trees'];
+ buildsSummary: THardwareDetails['summary']['builds'];
+ trees: THardwareDetails['summary']['trees'];
hardwareId: string;
}
-const BuildTab = ({ builds, hardwareId, trees }: TBuildTab): JSX.Element => {
+const BuildTab = ({
+ buildsSummary,
+ builds,
+ hardwareId,
+ trees,
+}: IBuildTab): JSX.Element => {
const navigate = useNavigate({
from: '/hardware/$hardwareId',
});
@@ -66,19 +72,16 @@ const BuildTab = ({ builds, hardwareId, trees }: TBuildTab): JSX.Element => {
);
const archSummary = useMemo(
- () => sanitizeArchs(builds.summary.architectures),
- [builds.summary.architectures],
+ () => sanitizeArchs(buildsSummary.architectures),
+ [buildsSummary.architectures],
);
const configsItems = useMemo(
- () => sanitizeConfigs(builds.summary.configs),
- [builds.summary.configs],
+ () => sanitizeConfigs(buildsSummary.configs),
+ [buildsSummary.configs],
);
- const buildItems = useMemo(
- () => sanitizeBuilds(builds.items),
- [builds.items],
- );
+ const buildItems = useMemo(() => sanitizeBuilds(builds), [builds]);
return (
@@ -86,7 +89,7 @@ const BuildTab = ({ builds, hardwareId, trees }: TBuildTab): JSX.Element => {
{
/>
}
- issues={builds.issues}
- failedWithUnknownIssues={builds.failedWithUnknownIssues}
+ issues={buildsSummary.issues}
+ failedWithUnknownIssues={buildsSummary.unknown_issues}
diffFilter={diffFilter}
issueFilterSection="buildIssue"
detailsId={hardwareId}
@@ -119,7 +122,7 @@ const BuildTab = ({ builds, hardwareId, trees }: TBuildTab): JSX.Element => {
{
}
- issues={builds.issues}
- failedWithUnknownIssues={builds.failedWithUnknownIssues}
+ issues={buildsSummary.issues}
+ failedWithUnknownIssues={buildsSummary.unknown_issues}
diffFilter={diffFilter}
issueFilterSection="buildIssue"
detailsId={hardwareId}
diff --git a/dashboard/src/pages/hardwareDetails/Tabs/HardwareCommitNavigationGraph.tsx b/dashboard/src/pages/hardwareDetails/Tabs/HardwareCommitNavigationGraph.tsx
index a99489da3..c983f2bb7 100644
--- a/dashboard/src/pages/hardwareDetails/Tabs/HardwareCommitNavigationGraph.tsx
+++ b/dashboard/src/pages/hardwareDetails/Tabs/HardwareCommitNavigationGraph.tsx
@@ -6,7 +6,7 @@ import type { THardwareDetails } from '@/types/hardware/hardwareDetails';
import CommitNavigationGraph from '@/components/CommitNavigationGraph/CommitNavigationGraph';
interface ICommitNavigationGraph {
- trees: THardwareDetails['trees'];
+ trees: THardwareDetails['summary']['trees'];
hardwareId: string;
}
const HardwareCommitNavigationGraph = ({
@@ -52,15 +52,15 @@ const HardwareCommitNavigationGraph = ({
if (!tree) return <>>;
- const treeId = treeCommits?.[treeIdx] ?? tree['headGitCommitHash'];
+ const treeId = treeCommits?.[treeIdx] ?? tree['head_git_commit_hash'];
return (
),
@@ -71,9 +72,10 @@ const HardwareDetailsTabs = ({
name: 'global.boots',
content: (
),
rightElement: countElements['global.boots'],
@@ -83,9 +85,10 @@ const HardwareDetailsTabs = ({
name: 'global.tests',
content: (
),
rightElement: countElements['global.tests'],
@@ -93,8 +96,11 @@ const HardwareDetailsTabs = ({
},
],
[
+ hardwareDetailsData.summary.builds,
+ hardwareDetailsData.summary.trees,
+ hardwareDetailsData.summary.boots,
+ hardwareDetailsData.summary.tests,
hardwareDetailsData.builds,
- hardwareDetailsData.trees,
hardwareDetailsData.boots,
hardwareDetailsData.tests,
hardwareId,
diff --git a/dashboard/src/pages/hardwareDetails/Tabs/Tests/TestsTab.tsx b/dashboard/src/pages/hardwareDetails/Tabs/Tests/TestsTab.tsx
index 2095d8b7e..049e51928 100644
--- a/dashboard/src/pages/hardwareDetails/Tabs/Tests/TestsTab.tsx
+++ b/dashboard/src/pages/hardwareDetails/Tabs/Tests/TestsTab.tsx
@@ -31,13 +31,19 @@ import { RedirectFrom } from '@/types/general';
import HardwareDetailsTestTable from './HardwareDetailsTestsTable';
-interface TTestsTab {
+interface ITestsTab {
tests: THardwareDetails['tests'];
- trees: THardwareDetails['trees'];
+ testsSummary: THardwareDetails['summary']['tests'];
+ trees: THardwareDetails['summary']['trees'];
hardwareId: string;
}
-const TestsTab = ({ tests, trees, hardwareId }: TTestsTab): JSX.Element => {
+const TestsTab = ({
+ testsSummary,
+ tests,
+ trees,
+ hardwareId,
+}: ITestsTab): JSX.Element => {
const { tableFilter, diffFilter } = useSearch({
from: '/hardware/$hardwareId',
});
@@ -80,8 +86,8 @@ const TestsTab = ({ tests, trees, hardwareId }: TTestsTab): JSX.Element => {
);
const platformItems = useMemo(
- () => sanitizePlatforms(tests.platforms),
- [tests.platforms],
+ () => sanitizePlatforms(testsSummary.platforms),
+ [testsSummary.platforms],
);
return (
@@ -90,17 +96,17 @@ const TestsTab = ({ tests, trees, hardwareId }: TTestsTab): JSX.Element => {
}
- statusCounts={tests.statusSummary}
+ statusCounts={testsSummary.status}
/>
}
- archCompilerErrors={tests.archSummary}
+ archCompilerErrors={testsSummary.architectures}
diffFilter={diffFilter}
/>
}
- issues={tests.issues}
- failedWithUnknownIssues={tests.failedWithUnknownIssues}
+ issues={testsSummary.issues}
+ failedWithUnknownIssues={testsSummary.unknown_issues}
diffFilter={diffFilter}
issueFilterSection="testIssue"
detailsId={hardwareId}
@@ -114,7 +120,7 @@ const TestsTab = ({ tests, trees, hardwareId }: TTestsTab): JSX.Element => {
/>
}
- configStatusCounts={tests.configs}
+ configStatusCounts={testsSummary.configs}
diffFilter={diffFilter}
/>
{
}
- statusCounts={tests.statusSummary}
+ statusCounts={testsSummary.status}
/>
}
- configStatusCounts={tests.configs}
+ configStatusCounts={testsSummary.configs}
diffFilter={diffFilter}
/>
{
/>
}
- archCompilerErrors={tests.archSummary}
+ archCompilerErrors={testsSummary.architectures}
diffFilter={diffFilter}
/>
}
- issues={tests.issues}
- failedWithUnknownIssues={tests.failedWithUnknownIssues}
+ issues={testsSummary.issues}
+ failedWithUnknownIssues={testsSummary.unknown_issues}
diffFilter={diffFilter}
issueFilterSection="testIssue"
detailsId={hardwareId}
@@ -161,7 +167,7 @@ const TestsTab = ({ tests, trees, hardwareId }: TTestsTab): JSX.Element => {
;
- architectures: Record<
- string,
- {
- valid: number;
- invalid: number;
- null: number;
- compilers: string[];
- }
- >;
-};
-
-type BuildsData = {
- items: BuildsTabBuild[];
- issues: TIssue[];
- summary: BuildSummary;
- platforms: Record;
- failedWithUnknownIssues: number;
-};
-
-type Tests = {
- archSummary: ArchCompilerStatus[];
- history: TestHistory[];
- platforms: Record;
- platformsFailing: string[];
- statusSummary: StatusCounts;
- failReasons: Record;
- configs: Record;
- issues: TIssue[];
- failedWithUnknownIssues: number;
-};
+import type { BuildSummary, TestSummary } from '@/types/tree/TreeDetails';
type TTreesStatusSummary = {
builds: Partial;
@@ -51,13 +15,13 @@ type TTreesStatusSummary = {
};
export type Trees = {
- treeName?: string;
- gitRepositoryBranch?: string;
- gitRepositoryUrl?: string;
- headGitCommitName?: string;
- headGitCommitHash?: string;
- headGitCommitTags?: string[];
- selectedCommitStatusSummary?: TTreesStatusSummary;
+ tree_name?: string;
+ git_repository_branch?: string;
+ git_repository_url?: string;
+ head_git_commit_name?: string;
+ head_git_commit_hash?: string;
+ head_git_commit_tags?: string[];
+ selected_commit_status?: TTreesStatusSummary;
index: string;
};
@@ -67,17 +31,24 @@ export type PreparedTrees = Trees & {
isMainPageLoading: boolean;
};
-export type THardwareDetails = {
- builds: BuildsData;
- tests: Tests;
- boots: Tests;
+type HardwareSummary = {
+ builds: BuildSummary;
+ boots: TestSummary;
+ tests: TestSummary;
trees: Trees[];
configs: string[];
- archs: string[];
+ architectures: string[];
compilers: string[];
compatibles: string[];
};
+export type THardwareDetails = {
+ builds: BuildsTabBuild[];
+ tests: TestHistory[];
+ boots: TestHistory[];
+ summary: HardwareSummary;
+};
+
export interface THardwareDetailsFilter
extends Partial<{
[K in keyof Omit<
diff --git a/dashboard/src/types/tree/TreeDetails.tsx b/dashboard/src/types/tree/TreeDetails.tsx
index b6c5167b9..1758dd376 100644
--- a/dashboard/src/types/tree/TreeDetails.tsx
+++ b/dashboard/src/types/tree/TreeDetails.tsx
@@ -63,19 +63,20 @@ export type TTreeTestsData = {
environmentCompatible: PropertyStatusCounts;
};
-type TestSummary = {
+export type TestSummary = {
status: StatusCounts;
architectures: ArchCompilerStatus[];
configs: PropertyStatusCounts;
issues: TIssue[];
unknown_issues: number;
- enviroment_compatible: PropertyStatusCounts;
- enviroment_misc: PropertyStatusCounts;
fail_reasons: Record;
failed_platforms: string[];
+ enviroment_compatible?: PropertyStatusCounts;
+ enviroment_misc?: PropertyStatusCounts;
+ platforms?: PropertyStatusCounts;
};
-type BuildSummary = {
+export type BuildSummary = {
status: BuildStatus;
architectures: Architecture;
configs: Record;
@@ -83,7 +84,7 @@ type BuildSummary = {
unknown_issues: number;
};
-type Summary = {
+type TreeSummary = {
boots: TestSummary;
builds: BuildSummary;
tests: TestSummary;
@@ -96,7 +97,7 @@ export type TTreeTestsFullData = {
builds: BuildsTabBuild[];
boots: TestHistory[];
tests: TestHistory[];
- summary: Summary;
+ summary: TreeSummary;
};
export const possibleTabs = [