-
Notifications
You must be signed in to change notification settings - Fork 140
Port feature gate promotion logic from o/api to sippy #3871
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
Open
dgoodwin
wants to merge
42
commits into
openshift:main
Choose a base branch
from
dgoodwin:merge-fg-api-review-logic
base: main
Could not load branches
Branch not found: {{ refName }}
Loading
Could not load tags
Nothing to show
Loading
Are you sure you want to change the base?
Some commits from the old base branch may be removed from the timeline,
and old review comments may become outdated.
Open
Changes from all commits
Commits
Show all changes
42 commits
Select commit
Hold shift + click to select a range
038428f
Initial port of api promotion requirements to sippy api
dgoodwin 8a0fcae
Fix column widths
dgoodwin f136dae
Fix text colors
dgoodwin 426bb8b
Explain errors better
dgoodwin 4f2a382
Only show errors if relevant
dgoodwin 89109e6
Replace broken ported assumptions about install gates
dgoodwin 98361f2
Improve cell rendering when pass rate is good but low runs
dgoodwin facca43
Remove yellow cells, confusing as warnings which they are not
dgoodwin 2a66e68
Sort warning/error lines
dgoodwin 0e4e73b
Better representation of variants in response
dgoodwin 92f0090
Begin working towards all tests passing 92% in jobs
dgoodwin 879e93b
Add a new tab for the owned job tests below 92%
dgoodwin 1875907
Fix the three fg tests pages to load properly
dgoodwin 500d0f6
Add a feature_gate details api instead of overloading the list api
dgoodwin 09138b6
Add matching_jobs to feature gate detail API and UI
dgoodwin 0a97099
Merge the fg promotion api into fg details
dgoodwin 5d3bd6a
Improve design to base analysis on hateoas links as authoritative
dgoodwin 698fb5c
Fix non-existant rhel10 OS variant (rhcos10)
dgoodwin 8c61591
Drop separate rhcos10 requirement, it's the default now
dgoodwin 17fe23e
Improve tab names
dgoodwin 61733ab
Document tabs better
dgoodwin fa26865
Link to job analysis for all owned jobs
dgoodwin ed25d83
Analyze all button
dgoodwin 4a93390
Fix cell links to direct to test details for that specific test/varia…
dgoodwin 46f1806
Do not report renamed tests as 0% 0 runs in this context
dgoodwin 95919d9
Merge remote-tracking branch 'up/main' into merge-fg-api-review-logic
dgoodwin 3bc741a
FeatureGatePromotionTab should be .jsx now
dgoodwin b49e5a7
Consider pass rate of all tests in owned jobs below 92% for promotion
dgoodwin a80de4a
Address perf issue with promotion api using a custom query
dgoodwin 4615536
Display the owned job test regressions on promotion readiness page
dgoodwin c2f1bdf
Separate tables for each class of promotion analysis
dgoodwin daa9601
Expand e2e cov for feature gate promotion testing
dgoodwin 36b72ee
Fix confusing seed data
dgoodwin 245c542
Add unit test for platform specific assumptions during promotion
dgoodwin 6f653b8
Fix lint issues and ensure API returns empty arrays for variant test …
dgoodwin cd59e42
Set Optional: true on OptionalSelfManagedPlatformVariants entries
dgoodwin 8ab3d46
Exclude aggregated jobs from capability regression query
dgoodwin be8e455
Use OperatorHasEntry for capability variant in InstallTestFilter
dgoodwin dc09d39
Guard minPassRate computation against zero-run test results
dgoodwin e5d63b9
Add require.NotEmpty before variant result loop in e2e test
dgoodwin beeefc5
Merge remote-tracking branch 'up/main' into merge-fg-api-review-logic
dgoodwin 0ff0c81
Filter out informing tests
dgoodwin File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,56 @@ | ||
| package featuregatepromotion | ||
|
|
||
| import ( | ||
| "fmt" | ||
|
|
||
| "github.com/openshift/sippy/pkg/filter" | ||
| ) | ||
|
|
||
| // GateTestFilter returns the canonical filter for annotation-based tests | ||
| // belonging to a feature gate. This is the authoritative definition used both | ||
| // to generate HATEOAS links and to query data for promotion evaluation. | ||
| func GateTestFilter(featureGate string) filter.Filter { | ||
| return filter.Filter{ | ||
| Items: []filter.FilterItem{ | ||
| {Field: "name", Operator: filter.OperatorContains, Value: fmt.Sprintf("FeatureGate:%s]", featureGate)}, | ||
| {Field: "variants", Not: true, Operator: filter.OperatorHasEntry, Value: "never-stable"}, | ||
| {Field: "variants", Not: true, Operator: filter.OperatorHasEntry, Value: "aggregated"}, | ||
| }, | ||
| LinkOperator: filter.LinkOperatorAnd, | ||
| } | ||
| } | ||
|
|
||
| // InstallTestFilter returns the canonical filter for install capability tests | ||
| // belonging to an Install feature gate. Only applicable when the feature gate | ||
| // name contains "Install". This is the authoritative definition used both | ||
| // to generate HATEOAS links and to query data for promotion evaluation. | ||
| func InstallTestFilter(featureGate string) filter.Filter { | ||
| return filter.Filter{ | ||
| Items: []filter.FilterItem{ | ||
| {Field: "name", Operator: filter.OperatorContains, Value: "install should succeed"}, | ||
| {Field: "variants", Operator: filter.OperatorHasEntry, Value: fmt.Sprintf("Capability:%s", featureGate)}, | ||
| {Field: "variants", Not: true, Operator: filter.OperatorHasEntry, Value: "never-stable"}, | ||
| {Field: "variants", Not: true, Operator: filter.OperatorHasEntry, Value: "aggregated"}, | ||
| }, | ||
| LinkOperator: filter.LinkOperatorAnd, | ||
| } | ||
| } | ||
|
|
||
| // CapabilityRegressionsFilter returns the filter for identifying tests with | ||
| // low pass rates on jobs owned by this feature gate's capability. | ||
| func CapabilityRegressionsFilter(featureGate string) filter.Filter { | ||
| return filter.Filter{ | ||
| Items: []filter.FilterItem{ | ||
| {Field: "variants", Not: true, Operator: filter.OperatorHasEntry, Value: "never-stable"}, | ||
| {Field: "variants", Not: true, Operator: filter.OperatorHasEntry, Value: "aggregated"}, | ||
| {Field: "variants", Operator: filter.OperatorHasEntry, Value: fmt.Sprintf("Capability:%s", featureGate)}, | ||
| {Field: "lifecycle", Operator: filter.OperatorEquals, Value: "blocking"}, | ||
| {Field: "current_working_percentage", Operator: filter.OperatorArithmeticLessThan, Value: "92"}, | ||
| {Field: "current_runs", Operator: filter.OperatorArithmeticGreaterThanOrEquals, Value: "1"}, | ||
| {Field: "name", Not: true, Operator: filter.OperatorContains, Value: "install should succeed"}, | ||
| {Field: "name", Not: true, Operator: filter.OperatorContains, Value: "openshift-tests should work"}, | ||
| {Field: "name", Not: true, Operator: filter.OperatorContains, Value: "infrastructure should work"}, | ||
| }, | ||
| LinkOperator: filter.LinkOperatorAnd, | ||
| } | ||
| } |
Oops, something went wrong.
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Uh oh!
There was an error while loading. Please reload this page.