Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Get the TestGrid UI deployed with equivalent functionality #4

Open
22 tasks
michelle192837 opened this issue Mar 18, 2024 · 0 comments
Open
22 tasks
Labels
help wanted Denotes an issue that needs help from a contributor. Must meet "help wanted" guidelines.

Comments

@michelle192837
Copy link
Contributor

tl;dr: Listing the work remaining to get the TestGrid UI MVP (this repo) to have equivalent functionality to the existing closed-source UI (at https://testgrid.k8s.io/).

(Needs the import to be done first, ref #2).

The UI is basically a collection of web components that read data from the TestGrid API and handle specific functions within the UI. The main ones are navigation (to move between pages), the index (list of dashboard groups and dashboards), summary (display recorded summary data), and the grid component (the main logic; displays recorded test history in an interactive grid).

Most of this should require some familiarity with (or willingness to learn) frontend tech (TypeScript, web components, Lit, CSS, etc.). This is not currently deployed anywhere, but once the import is complete you should be able to run it locally.

It may help to have familiarity with (or willingness to learn) Golang as well so you can work with the API.

Note: This list is a work-in-progress and is expected to update with missing items as we come across them.
All the work below should come with sufficient testing (unit and manual tests).

  • Navigation component
    • (Is there any remaining work?)
  • Index page
    • (Is there any remaining work?)
  • Summary component
    • (Is there any remaining work?)
  • Grid component
    • Update component for performance (should handle 1 million elements easily)
    • Ensure all statuses (color, icon, message) are handled
    • Properly handle grouped/nested rows
    • Properly handle all column and row headers (e.g. frozen to top and left sides, and scroll appropriately)
    • Handle right-click context menu on cells (e.g. can file a bug and open test results)
    • Add code-search link on failing rows
    • Add tooltips (on cells and column headers)
  • Accessibility: Verify that components are accessible
  • Style: Unify styles across all components / pages
  • Documentation: Update documentation for all components
  • Deploy
    • Deploy UI in a community-owned project (coordinate with K8s Infra)
    • Hook UI up to existing TestGrid API endpoint
    • Add link for new UI (separate from testgrid.k8s.io)
    • If all is well, switch testgrid.k8s.io to point to the new UI
@michelle192837 michelle192837 added the help wanted Denotes an issue that needs help from a contributor. Must meet "help wanted" guidelines. label Mar 18, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
help wanted Denotes an issue that needs help from a contributor. Must meet "help wanted" guidelines.
Projects
None yet
Development

No branches or pull requests

1 participant