@@ -229,7 +229,13 @@ func (o *FeatureGateTestAnalyzerOptions) Run(ctx context.Context) error {
229229 sort .Slice (jobVariants , func (i , j int ) bool {
230230 return jobVariants [i ].String () < jobVariants [j ].String ()
231231 })
232+ prevCloud := ""
232233 for _ , jobVariant := range jobVariants {
234+ if prevCloud != "" && jobVariant .Cloud != prevCloud {
235+ md .Text ("" )
236+ fmt .Fprintf (o .Out , "\n " )
237+ }
238+ prevCloud = jobVariant .Cloud
233239 installTest := installTestLevelData [jobVariant ]
234240 if installTest == nil {
235241 md .Textf (" - %v: test not found\n " , jobVariant )
@@ -741,6 +747,16 @@ var (
741747 NetworkStack : "dual" ,
742748 JobTiers : "candidate,standard,informing,blocking" ,
743749 },
750+ {
751+ Cloud : "metal" ,
752+ Architecture : "amd64" ,
753+ Topology : "single" ,
754+ },
755+ {
756+ Cloud : "metal" ,
757+ Architecture : "amd64" ,
758+ Topology : "compact" ,
759+ },
744760 }
745761
746762 nonHypershiftPlatforms = regexp .MustCompile ("(?i)nutanix|metal|vsphere|openstack|azure|gcp" )
@@ -913,6 +929,13 @@ func listTestResultFor(featureGate string, clusterProfiles sets.Set[string]) (ma
913929 }
914930
915931 jobVariantsToCheck = append (jobVariantsToCheck , selfManagedPlatformVariants ... )
932+
933+ // Always include metal single and compact variants as optional checks
934+ for _ , v := range optionalSelfManagedPlatformVariants {
935+ if strings .ToLower (v .Cloud ) == "metal" && (strings .ToLower (v .Topology ) == "single" || strings .ToLower (v .Topology ) == "compact" ) {
936+ jobVariantsToCheck = append (jobVariantsToCheck , v )
937+ }
938+ }
916939 }
917940
918941 // Validate all variants before making expensive API calls
0 commit comments