Skip to content

🌱 E2E Summary Output Fix#2751

Draft
dtfranz wants to merge 1 commit into
operator-framework:mainfrom
dtfranz:e2e-summary-fix
Draft

🌱 E2E Summary Output Fix#2751
dtfranz wants to merge 1 commit into
operator-framework:mainfrom
dtfranz:e2e-summary-fix

Conversation

@dtfranz

@dtfranz dtfranz commented Jun 8, 2026

Copy link
Copy Markdown
Contributor

The serial e2e tests require pod restarts which causes the metrics to scrape two sets of results, which the summary generator did not allow. Now, the results from the new pod will be aggregated to the final set.

Description

Reviewer Checklist

  • API Go Documentation
  • Tests: Unit Tests (and E2E Tests, if appropriate)
  • Comprehensive Commit Messages
  • Links to related GitHub Issue(s)

Copilot AI review requested due to automatic review settings June 8, 2026 07:58
@openshift-ci openshift-ci Bot added the do-not-merge/work-in-progress Indicates that a PR should not merge because it is a work in progress. label Jun 8, 2026
@netlify

netlify Bot commented Jun 8, 2026

Copy link
Copy Markdown

Deploy Preview for olmv1 ready!

Name Link
🔨 Latest commit b6bada4
🔍 Latest deploy log https://app.netlify.com/projects/olmv1/deploys/6a27a2b3a4103300084a7071
😎 Deploy Preview https://deploy-preview-2751--olmv1.netlify.app
📱 Preview on mobile
Toggle QR Code...

QR Code

Use your smartphone camera to open QR code link.
🤖 Make changes Run an agent on this branch

To edit notification comments on pull requests, go to your Netlify project configuration.

@openshift-ci

openshift-ci Bot commented Jun 8, 2026

Copy link
Copy Markdown

[APPROVALNOTIFIER] This PR is NOT APPROVED

This pull-request has been approved by:
Once this PR has been reviewed and has the lgtm label, please assign tmshort for approval. For more information see the Code Review Process.

The full list of commands accepted by this bot can be found here.

Details Needs approval from an approver in each of these files:

Approvers can indicate their approval by writing /approve in a comment
Approvers can cancel approval by writing /approve cancel in a comment

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Pull request overview

This PR updates the E2E summary generator to tolerate Prometheus queries returning multiple time series (e.g., due to operator pod restarts during serial E2E runs), and reorganizes the summary logic/templates under test/internal/summary.

Changes:

  • Relaxed PerformanceQuery to accept multiple result streams instead of requiring exactly one.
  • Added new markdown templates for the overall summary, alerts, and mermaid charts.
  • Switched E2E suite wiring to call the new test/internal/summary package and removed the old test util helper.

Reviewed changes

Copilot reviewed 4 out of 7 changed files in this pull request and generated no comments.

Show a summary per file
File Description
test/internal/summary/templates/summary.md.tmpl Adds the main E2E summary markdown template and performance section layout.
test/internal/summary/templates/mermaid_chart.md.tmpl Adds a mermaid xychart-beta template used by performance queries.
test/internal/summary/templates/alert.md.tmpl Adds alert rendering template for firing/pending alerts.
test/internal/summary/summary.go Implements summary generation, Prometheus querying, and template execution with updated behavior for multiple streams.
test/internal/summary/artifacts.go Renames package to align with the new summary package structure.
test/e2e/features_test.go Calls summary.PrintSummary from the new package at the end of successful E2E runs.
internal/shared/util/test/utils.go Removes the old FindK8sClient helper (now unused).
Comments suppressed due to low confidence (2)

test/internal/summary/summary.go:87

  • When all samples are <= 0 (e.g., negative deriv(...) values), initializing chart.YMax to math.SmallestNonzeroFloat64 prevents YMax from ever updating (since 0 > SmallestNonzeroFloat64 is false). This produces an incorrect y-axis range in the rendered chart.
    test/internal/summary/summary.go:96
  • PerformanceQuery now allows multiple Prometheus result streams (e.g., when a pod restarts), but it concatenates each stream's samples in whatever order Prometheus returns them. That order is label-sorted, not time-sorted, so the final line data can be out of chronological order and render a misleading chart. Sort the streams by their first sample timestamp before appending values.

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

The serial e2e tests require pod restarts which causes the metrics to scrape two sets of results, which the summary generator did not allow. Now, the results from the new pod will be aggregated to the final set.

Signed-off-by: Daniel Franz <dfranz@redhat.com>
@dtfranz dtfranz force-pushed the e2e-summary-fix branch from 0faddeb to b6bada4 Compare June 9, 2026 05:20
@codecov

codecov Bot commented Jun 9, 2026

Copy link
Copy Markdown

Codecov Report

❌ Patch coverage is 0% with 3 lines in your changes missing coverage. Please review.
✅ Project coverage is 67.06%. Comparing base (053a6d5) to head (b6bada4).
⚠️ Report is 5 commits behind head on main.

Files with missing lines Patch % Lines
test/internal/summary/summary.go 0.00% 3 Missing ⚠️
Additional details and impacted files
@@            Coverage Diff             @@
##             main    #2751      +/-   ##
==========================================
- Coverage   67.10%   67.06%   -0.04%     
==========================================
  Files         149      148       -1     
  Lines       11341    11330      -11     
==========================================
- Hits         7610     7599      -11     
+ Misses       3178     3177       -1     
- Partials      553      554       +1     
Flag Coverage Δ
e2e 35.20% <ø> (+0.02%) ⬆️
experimental-e2e 52.61% <ø> (-0.26%) ⬇️
unit 52.30% <0.00%> (+0.05%) ⬆️

Flags with carried forward coverage won't be shown. Click here to find out more.

☔ View full report in Codecov by Harness.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

do-not-merge/work-in-progress Indicates that a PR should not merge because it is a work in progress.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants