Skip to content

Commit

Permalink
feat(issue-details): add tree col to builds table
Browse files Browse the repository at this point in the history
Part of #852
  • Loading branch information
murilx committed Feb 4, 2025
1 parent 1f69867 commit 4d7b24b
Show file tree
Hide file tree
Showing 7 changed files with 62 additions and 43 deletions.
20 changes: 12 additions & 8 deletions backend/kernelCI_app/typeModels/issueDetails.py
Original file line number Diff line number Diff line change
Expand Up @@ -39,14 +39,18 @@ class IssueDetailsPathParameters(BaseModel):


class IssueBuildItem(BaseModel):
id: Build__Id
architecture: Build__Architecture
config_name: Build__ConfigName
valid: Build__Valid
start_time: Build__StartTime
duration: Build__Duration
compiler: Build__Compiler
log_url: Build__LogUrl
id: Build__Id = Field(alias="build__id")
architecture: Build__Architecture = Field(alias="build__architecture")
config_name: Build__ConfigName = Field(alias="build__config_name")
valid: Build__Valid = Field(alias="build__valid")
start_time: Build__StartTime = Field(alias="build__start_time")
duration: Build__Duration = Field(alias="build__duration")
compiler: Build__Compiler = Field(alias="build__compiler")
log_url: Build__LogUrl = Field(alias="build__log_url")
tree_name: Checkout__TreeName = Field(alias="build__checkout__tree_name")
git_repository_branch: Checkout__GitRepositoryBranch = Field(
alias="build__checkout__git_repository_branch"
)


class IssueTestItem(BaseModel):
Expand Down
18 changes: 3 additions & 15 deletions backend/kernelCI_app/views/issueDetailsBuildsView.py
Original file line number Diff line number Diff line change
Expand Up @@ -27,26 +27,14 @@ def _fetch_incidents(self, *, issue_id: str, version: int) -> Optional[Dict]:
"build__duration",
"build__compiler",
"build__log_url",
"build__checkout__tree_name",
"build__checkout__git_repository_branch",
]

builds = Incidents.objects.filter(
return Incidents.objects.filter(
issue_id=issue_id, issue_version=version
).values(*fields)

return [
{
"id": build["build__id"],
"architecture": build["build__architecture"],
"config_name": build["build__config_name"],
"valid": build["build__valid"],
"start_time": build["build__start_time"],
"duration": build["build__duration"],
"compiler": build["build__compiler"],
"log_url": build["build__log_url"],
}
for build in builds
]

@extend_schema(
request=IssueDetailsRequest, responses=IssueBuildsResponse, methods=["GET"]
)
Expand Down
10 changes: 6 additions & 4 deletions backend/requests/issue-details-builds-get.sh
Original file line number Diff line number Diff line change
Expand Up @@ -7,11 +7,11 @@ http http://localhost:8000/api/issue/maestro:bba672c389cd8e575694e468d87a80b1b40
# HTTP/1.1 200 OK
# Allow: GET, HEAD, OPTIONS
# Cache-Control: max-age=0
# Content-Length: 493
# Content-Length: 555
# Content-Type: application/json
# Cross-Origin-Opener-Policy: same-origin
# Date: Fri, 31 Jan 2025 13:11:33 GMT
# Expires: Fri, 31 Jan 2025 13:11:33 GMT
# Date: Tue, 04 Feb 2025 12:22:58 GMT
# Expires: Tue, 04 Feb 2025 12:22:58 GMT
# Referrer-Policy: same-origin
# Server: WSGIServer/0.2 CPython/3.12.7
# Vary: Accept, Cookie, origin
Expand All @@ -24,9 +24,11 @@ http http://localhost:8000/api/issue/maestro:bba672c389cd8e575694e468d87a80b1b40
# "compiler": "clang-17",
# "config_name": "defconfig+allnoconfig",
# "duration": null,
# "git_repository_branch": "android11-5.4",
# "id": "maestro:67952a5e09f33884b1941e14",
# "log_url": "https://kciapistagingstorage1.file.core.windows.net/production/kbuild-clang-17-riscv-android-defconfig-67952a5e09f33884b1941e14/build.log.gz?sv=2022-11-02&ss=f&srt=sco&sp=r&se=2026-10-18T13:36:18Z&st=2024-10-17T05:36:18Z&spr=https&sig=xFxYOOh5uXJWeN9I3YKAUvpGGQivo89HKZbD78gcxvc%3D",
# "start_time": "2025-01-25T18:15:58.287000Z",
# "tree_name": "android",
# "valid": false
# }
# ]
# ]
38 changes: 22 additions & 16 deletions backend/schema.yml
Original file line number Diff line number Diff line change
Expand Up @@ -1445,31 +1445,37 @@ components:
type: object
IssueBuildItem:
properties:
id:
build__id:
$ref: '#/components/schemas/Build__Id'
architecture:
build__architecture:
$ref: '#/components/schemas/Build__Architecture'
config_name:
build__config_name:
$ref: '#/components/schemas/Build__ConfigName'
valid:
build__valid:
$ref: '#/components/schemas/Build__Valid'
start_time:
build__start_time:
$ref: '#/components/schemas/Build__StartTime'
duration:
build__duration:
$ref: '#/components/schemas/Build__Duration'
compiler:
build__compiler:
$ref: '#/components/schemas/Build__Compiler'
log_url:
build__log_url:
$ref: '#/components/schemas/Build__LogUrl'
build__checkout__tree_name:
$ref: '#/components/schemas/Checkout__TreeName'
build__checkout__git_repository_branch:
$ref: '#/components/schemas/Checkout__GitRepositoryBranch'
required:
- id
- architecture
- config_name
- valid
- start_time
- duration
- compiler
- log_url
- build__id
- build__architecture
- build__config_name
- build__valid
- build__start_time
- build__duration
- build__compiler
- build__log_url
- build__checkout__tree_name
- build__checkout__git_repository_branch
title: IssueBuildItem
type: object
IssueBuildsResponse:
Expand Down
16 changes: 16 additions & 0 deletions dashboard/src/components/IssueDetails/IssueDetailsBuildSection.tsx
Original file line number Diff line number Diff line change
@@ -1,5 +1,7 @@
import type { LinkProps } from '@tanstack/react-router';

import type { ColumnDef } from '@tanstack/react-table';

import { useIntl } from 'react-intl';

import { useMemo } from 'react';
Expand All @@ -15,6 +17,9 @@ import type {
import { useIssueDetailsBuilds } from '@/api/issueDetails';

import { BuildsTable } from '@/components/BuildsTable/BuildsTable';
import { defaultBuildColumns } from '@/components/BuildsTable/DefaultBuildsColumns';
import { TableHeader } from '@/components/Table/TableHeader';

import { sanitizeBuildTable } from '@/utils/utils';
import { NOT_FOUND_STATUS } from '@/types/issueDetails';

Expand All @@ -26,6 +31,16 @@ interface IIssueDetailsBuildSection {
getTableRowLink: (testId: string) => LinkProps;
}

const columns: ColumnDef<AccordionItemBuilds>[] = [
{
accessorKey: 'treeBranch',
header: ({ column }): JSX.Element => (
<TableHeader column={column} intlKey="hardwareDetails.treeBranch" />
),
},
...defaultBuildColumns,
];

export const IssueDetailsBuildSection = ({
issueId,
versionNumber,
Expand Down Expand Up @@ -65,6 +80,7 @@ export const IssueDetailsBuildSection = ({
filter={buildTableFilter}
getRowLink={getTableRowLink}
onClickFilter={onClickFilter}
columns={columns}
/>
</div>
) : (
Expand Down
2 changes: 2 additions & 0 deletions dashboard/src/types/general.ts
Original file line number Diff line number Diff line change
Expand Up @@ -85,6 +85,8 @@ export type BuildsTableBuild = Pick<
| 'duration'
| 'compiler'
| 'log_url'
| 'tree_name'
| 'git_repository_branch'
>;

export type BuildStatus = {
Expand Down
1 change: 1 addition & 0 deletions dashboard/src/utils/utils.ts
Original file line number Diff line number Diff line change
Expand Up @@ -163,6 +163,7 @@ export const sanitizeBuildTable = (
buildErrors: isBuildError(build.valid),
status: getBuildStatus(build.valid),
buildLogs: build.log_url,
treeBranch: buildTreeBranch(build.tree_name, build.git_repository_branch),
}));
};

Expand Down

0 comments on commit 4d7b24b

Please sign in to comment.