Skip to content
Open
Changes from 3 commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
22 changes: 22 additions & 0 deletions pkg/testsuites/standard_suites.go
Original file line number Diff line number Diff line change
Expand Up @@ -107,6 +107,28 @@ func AllTestSuites(ctx context.Context) ([]*ginkgo.TestSuite, error) {

// staticSuites are all known test suites this binary should run
var staticSuites = []ginkgo.TestSuite{
{
Name: "openshift/stable",
Description: templates.LongDesc(`
Umbrella suite for stable, highly reliable component tests that run under
stable cluster conditions. All tests in this suite are expected to pass
consistently without flakes.
`),
Qualifiers: []string{
"name.contains('[Feature:Builds]')",

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.

Do you intent to use qualifiers for all tests in origin (vs having child suites)?

Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

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

The problem I was facing is the way openshift/build suite was filtering , so it was having many more tests if I use parent/child way.

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.

I wonder if we can use OTE labels. Then we need to use another way to label tests. One way is to use AI to add labels to all tests across all repos. Another way is to dynamically label tests based on certain criteria. Method one will not work for kube tests I think.

Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

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

right , dynamically adding labels to tests based on data that they are actually stable would be ideal ( But without a test id that won't be easy as names keeps changing )

},
Parallelism: 30,
MaximumAllowedFlakes: 0,
ClusterStabilityDuringTest: ginkgo.Stable,
Comment on lines +117 to +122

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

🎯 Functional Correctness | 🟠 Major | ⚡ Quick win

Exclude flaky tests from the stable suite.

The qualifier still includes build tests marked [Flaky]. MaximumAllowedFlakes: 0 only disables retries; it does not prevent those tests from running, contradicting the suite’s “without flakes” contract. Add an explicit flaky-test exclusion.

This repeats the prior review feedback that the stable suite must not contain flaky tests.

Proposed fix
 		Qualifiers: []string{
-			"name.contains('[Feature:Builds]')",
+			"name.contains('[Feature:Builds]') && !name.contains('[Flaky]')",
 		},
🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In `@pkg/testsuites/standard_suites.go` around lines 117 - 122, Add an explicit
qualifier to the stable suite configuration near the existing name qualifier so
tests marked [Flaky] are excluded, while preserving the current build-test
inclusion and MaximumAllowedFlakes setting. Update the Qualifiers used by the
standard suite definition.

},
{
Name: "openshift/active",
Description: templates.LongDesc(`
Umbrella suite for component suites that are actively being validated.
`),
Parallelism: 30,
ClusterStabilityDuringTest: ginkgo.Stable,
},
{
Name: "openshift/conformance",
Description: templates.LongDesc(`
Expand Down