SIGN IN SIGN UP

:seedling: Upgrade boxcutter to v0.14.0 and adapt sibling owners API (#2764)

Adapt the ClusterObjectSet controller to boxcutter v0.14.0's API:
- WithPreviousOwners is replaced by WithSiblingOwners, which takes all
  active sibling revisions (both lower and higher) so boxcutter can
  distinguish siblings from true collisions during handover.
- NewObjectEngine now requires a managedBy parameter.

Changes:
- listSiblingRevisions: returns all active revisions for the same
  ClusterExtension, excluding self, archived, and deleting revisions.
- listPreviousRevisions: returns only lower-revision active siblings,
  used for archiving after rollout completes.
- listOtherActiveRevisions: shared helper with predicate-based
  filtering used by both methods above.
- buildBoxcutterPhases: uses WithSiblingOwners instead of
  WithPreviousOwners.
- NewObjectEngine: passes FieldOwnerPrefix as the new managedBy param.
- Unit tests: separate table-driven tests for listSiblingRevisions and
  listPreviousRevisions with shared callRevisionLister helper.

Signed-off-by: Per G. da Silva <pegoncal@redhat.com>
Co-authored-by: Per G. da Silva <pegoncal@redhat.com>
Co-authored-by: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
P
Per Goncalves da Silva committed
cf0266c85935fdbdfdbf2e96f68a62f7c7710d1a
Parent: 8d49904
Committed by GitHub <noreply@github.com> on 6/26/2026, 3:49:16 PM