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

Native Test Report Integration Proposal #1022

Open
wants to merge 10 commits into
base: main
Choose a base branch
from

Conversation

timhuynh94
Copy link
Contributor

@timhuynh94 timhuynh94 commented Nov 5, 2024

In this proposal, there 2 approaches being proposed for native test-report step.

  1. Dedicate docker image
  2. Leveraging container output enhancement

Copy link
Member

@wass3rw3rk wass3rw3rk left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

just first round of feedback. i might do a separate one for Details section which looks pretty good, but want to review more closely. Will probably just respond as comments instead of reviewing PR.

Provide your description here.
-->

* Currently, there is a lack of native support for handling, visualizing, and tracking test results across builds. Inspired by the feature set in Projektor.dev, this proposal aims to add a dedicated, native support `test-report` feature to Vela.This feature will allow users to parse, store, and visualize test results in a more user-friendly manner.
Copy link
Member

@wass3rw3rk wass3rw3rk Nov 6, 2024

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@wass3rw3rk
Copy link
Member

wass3rw3rk commented Nov 8, 2024

Phase 1: Basic Test Reporting
    Implement the test-report step and backend support for storing test results.
    Simple UI to display test results.
Phase 2: Advanced Features
    Add code coverage, performance metrics, and code quality reporting.
    Integrate object storage for test artifacts.
    Enhance the UI to visualize test data and metrics.
Phase 3: Slack Integration
    Implement Slack notifications for test results and flaky tests.
    Allow users to configure Slack settings in .vela.yml.
Phase 4: Historical Data and Analytics
    Develop a dashboard to show historical test data and trends.
    Add analytics features to track test performance over time.

using your implementation phases as a guide, what about the following order:

  1. Basic Test Reporting
    • Integrate Object Storage (ability to hook up Vela to a storage system)
      • includes backend, database, api work
    • Implement means for a user to store test results from a step to the storage system
    • UI/UX research
  2. UI
    • UI to display test results/data, including code coverage, perf metrics, etc
  3. Enhanced UI
    • Enhance UI with visualizations and dashboards/historical data (trends)

In terms of chunks of work and adding incremental value, those phases seem appropriate. Phase 1 is pretty heavy, so i pulled UI out and turned that into two phases for the whole effort and combined some points. There probably could be more detailed subsections within each phase but at a high level, what do you think?

You will notice that I dropped the Slack integration part. I think this could be a bigger play and separate effort to integrate native ways of triggering notifications, not limited to Slack or this test reporting feature. In the meantime, there are ways to leverage something like the Slack plugin today, I think.

@timhuynh94 timhuynh94 marked this pull request as ready for review November 15, 2024 19:04
@timhuynh94 timhuynh94 requested a review from a team as a code owner November 15, 2024 19:04
@timhuynh94 timhuynh94 changed the title Native Projektor Integration proposal Native Test Report Integration proposal Nov 15, 2024
@timhuynh94 timhuynh94 changed the title Native Test Report Integration proposal Native Test Report Integration Proposal Nov 15, 2024
@JordanSussman
Copy link
Collaborator

As discussed within Slack, it would be nice if the storage pattern developed as part of this approach could be re-usable to enable future use-cases similar to GitHub Actions artifacts.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants