diff --git a/internal/controller/promotion/git.go b/internal/controller/promotion/git.go index c39494761..98cc3413f 100644 --- a/internal/controller/promotion/git.go +++ b/internal/controller/promotion/git.go @@ -139,7 +139,7 @@ func (g *gitMechanism) Promote( ); err != nil { return nil, newFreight, err } - newStatus = aggregateGitPromoStatus(newStatus, *otherStatus).WithFreight(&newFreight) + newStatus = aggregateGitPromoStatus(newStatus, *otherStatus) } logger.Debugf("done executing %s", g.name) diff --git a/internal/controller/promotions/promotions.go b/internal/controller/promotions/promotions.go index c106f66f3..a1dad5ad4 100644 --- a/internal/controller/promotions/promotions.go +++ b/internal/controller/promotions/promotions.go @@ -452,18 +452,12 @@ func (r *reconciler) promote( if err != nil { return nil, err } - // record the freight reference to the promotion's status - err = kubeclient.PatchStatus(ctx, r.kargoClient, &promo, func(status *kargoapi.PromotionStatus) { - status.Freight = &targetFreightRef - }) - if err != nil { - logger.Errorf("Promotion status patch failed: %v", err) - } newStatus, nextFreight, err := r.promoMechanisms.Promote(ctx, stage, &promo, targetFreightRef) if err != nil { return nil, err } + newStatus = newStatus.WithFreight(&targetFreight) logger.Debugf("promotion %s", newStatus.Phase)