feat: add hierarchical grouping for dotted test paths#1885
feat: add hierarchical grouping for dotted test paths#1885gustavobtflores wants to merge 2 commits intokernelci:mainfrom
Conversation
6f70ba3 to
ddb3f92
Compare
There was a problem hiding this comment.
Pull request overview
Adds hierarchical grouping for dotted test paths in the dashboard tests table, enabling nested expand/collapse navigation and improving UX (including sticky headers and URL-synced path filtering).
Changes:
- Extend
TPathTeststo support hierarchical group metadata (sub_groups,path_prefix,is_leaf_group). - Rework
TestsTableto build a nested tree from dotted paths and render expandable rows with indentation + inline chevron. - Keep search filter synchronized with URL navigation (and avoid scroll resets on filter changes).
Reviewed changes
Copilot reviewed 6 out of 6 changed files in this pull request and generated 5 comments.
Show a summary per file
| File | Description |
|---|---|
| dashboard/src/types/general.ts | Extends TPathTests to represent hierarchical grouping. |
| dashboard/src/pages/TreeDetails/Tabs/Tests/TestsTab.tsx | Updates path-filter navigation behavior (resetScroll: false). |
| dashboard/src/components/TestsTable/TestsTable.tsx | Implements hierarchical grouping/filtering and expandable nested rows + sticky header container. |
| dashboard/src/components/TestsTable/DefaultTestsColumns.tsx | Adds indented path cell with chevron; removes separate chevron column. |
| dashboard/src/components/Table/BaseTable.tsx | Allows custom header className for sticky header use cases. |
| dashboard/src/components/AnimatedIcons/Chevron.tsx | Makes chevron controllable (expanded state + optional animation). |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
24b262e to
a9d571e
Compare
a9d571e to
e2e9968
Compare
| }); | ||
|
|
||
| const countStatus = (node: GroupNode, status?: string): void => { | ||
| node.total_tests++; |
There was a problem hiding this comment.
maybe it would be safer to use total_tests as a derived property? We sont have many status cases, so it might not hurt performance.
|
|
||
| let currentLevel = rootGroups; | ||
|
|
||
| for (let i = 0; i < segments.length; i++) { |
| path: string, | ||
| ): (fullPath: string) => boolean { | ||
| return function (fullPath: string): boolean { | ||
| return fullPath.includes(path); |
There was a problem hiding this comment.
Could we trim or even better remove all spaces from the search string?
There was a problem hiding this comment.
If this escapes the escope of current issue. Please disconsider.

Description
Adds hierarchical grouping for dotted test paths in the Tree Details Tests table so related tests can be expanded and reviewed by path segment.
Changes
How to test
pnpm testindashboard.Preview
Screencast.from.2026-05-08.16-16-05.webm