🐛 Ensure fixed order in multi-line errors returned by crdupgradesafety validators by azych · Pull Request #1864 · operator-framework/operator-controller

Description

Because of #1863, we can now introduce proper fix for the issue of randomly ordered errors causing `ClusterExtension' status changes and unnecessary reconciliations (see original issue here: #1456) without having to wait until the upstream fix is accepted in kapp (carvel-dev/kapp#1047).

Apart from the introducing proper fix and removal of temporary solution, this also refactors ServedVersionValidator out of checks.go and adds unit tests for it.

Closes #1456

Reviewer Checklist

  • API Go Documentation
  • Tests: Unit Tests (and E2E Tests, if appropriate)
  • Comprehensive Commit Messages
  • Links to related GitHub Issue(s)