Skip to content

Commit aae21b8

Browse files
Merge pull request #2793 from JoelSpeed/fix-verify-feature-output
Update verify-feature-promotion HTML output to sort entries and fix overflow
2 parents ad9eb11 + 7480ccd commit aae21b8

2 files changed

Lines changed: 33 additions & 13 deletions

File tree

tools/codegen/cmd/featuregate-test-analyzer.go

Lines changed: 32 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -262,18 +262,10 @@ func (o *FeatureGateTestAnalyzerOptions) Run(ctx context.Context) error {
262262

263263
func buildHTMLFeatureGateData(name string, testingResults map[JobVariant]*TestingResults, blockingErrors []error, release string) utils.HTMLFeatureGate {
264264
jobVariantsSet := sets.KeySet(testingResults)
265-
jobVariants := jobVariantsSet.UnsortedList()
265+
jobVariants := OrderedJobVariants(jobVariantsSet.UnsortedList())
266+
267+
sort.Sort(jobVariants)
266268

267-
// For HTML sort so that the network stacks are in the same order.
268-
var networkStackOrder = map[string]int{
269-
"": 0,
270-
"ipv4": 1,
271-
"ipv6": 2,
272-
"dual": 3,
273-
}
274-
sort.SliceStable(jobVariants, func(i, j int) bool {
275-
return networkStackOrder[jobVariants[i].NetworkStack] < networkStackOrder[jobVariants[j].NetworkStack]
276-
})
277269
variants := make([]utils.HTMLVariantColumn, 0, len(jobVariants))
278270
for i, jv := range jobVariants {
279271
variants = append(variants, utils.HTMLVariantColumn{
@@ -645,14 +637,41 @@ func (a OrderedJobVariants) Less(i, j int) bool {
645637
return false
646638
}
647639

640+
// Map these to an ordered list of strings so that we can define the order
641+
// rather than them being alphabetical.
642+
var networkStackOrder = map[string]string{
643+
"": "0",
644+
"ipv4": "1",
645+
"ipv6": "2",
646+
"dual": "3",
647+
}
648+
649+
if strings.Compare(networkStackOrder[a[i].NetworkStack], networkStackOrder[a[j].NetworkStack]) < 0 {
650+
return true
651+
} else if strings.Compare(networkStackOrder[a[i].NetworkStack], networkStackOrder[a[j].NetworkStack]) > 0 {
652+
return false
653+
}
654+
655+
if strings.Compare(a[i].OS, a[j].OS) < 0 {
656+
return true
657+
} else if strings.Compare(a[i].OS, a[j].OS) > 0 {
658+
return false
659+
}
660+
661+
if strings.Compare(a[i].JobTiers, a[j].JobTiers) < 0 {
662+
return true
663+
} else if strings.Compare(a[i].JobTiers, a[j].JobTiers) > 0 {
664+
return false
665+
}
666+
648667
return false
649668
}
650669

651670
type TestingResults struct {
652671
JobVariant JobVariant
653672

654-
TestResults []TestResults
655-
HasCandidateTierResults bool // true if candidate-tier queries returned any test data
673+
TestResults []TestResults
674+
HasCandidateTierResults bool // true if candidate-tier queries returned any test data
656675
}
657676

658677
type TestResults struct {

tools/codegen/pkg/utils/html.go

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -47,6 +47,7 @@ const HTMLTemplateSrc = `<!DOCTYPE html>
4747
<meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">
4848
<style>
4949
body { padding: 20px; font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif; }
50+
.container-fluid { padding-bottom: 20px; }
5051
.sortable { cursor: pointer; user-select: none; }
5152
.sortable:hover { background-color: #e9ecef; }
5253
.sort-indicator::after { content: ' \2195'; opacity: 0.3; font-size: 0.8em; }

0 commit comments

Comments
 (0)