diff --git a/pkg/cvo/availableupdates.go b/pkg/cvo/availableupdates.go index 8c24a79a2..2c9d13469 100644 --- a/pkg/cvo/availableupdates.go +++ b/pkg/cvo/availableupdates.go @@ -282,6 +282,12 @@ func (u *availableUpdates) evaluateConditionalUpdates(ctx context.Context) { return } + sort.Slice(u.ConditionalUpdates, func(i, j int) bool { + vi := semver.MustParse(u.ConditionalUpdates[i].Release.Version) + vj := semver.MustParse(u.ConditionalUpdates[j].Release.Version) + return vi.GTE(vj) + }) + for i, conditionalUpdate := range u.ConditionalUpdates { if errorCondition := evaluateConditionalUpdate(ctx, &conditionalUpdate); errorCondition != nil { meta.SetStatusCondition(&conditionalUpdate.Conditions, *errorCondition)