github.com/tilt-dev/tilt@v0.33.15-0.20240515162809-0a22ed45d8a0/internal/store/tiltfiles/args.go (about)

     1  package tiltfiles
     2  
     3  import (
     4  	"context"
     5  
     6  	"k8s.io/apimachinery/pkg/types"
     7  	"sigs.k8s.io/controller-runtime/pkg/client"
     8  
     9  	"github.com/tilt-dev/tilt/internal/controllers/apicmp"
    10  	"github.com/tilt-dev/tilt/pkg/apis/core/v1alpha1"
    11  	"github.com/tilt-dev/tilt/pkg/model"
    12  )
    13  
    14  func SetTiltfileArgs(ctx context.Context, client client.Client, args []string) error {
    15  	nn := types.NamespacedName{Name: model.MainTiltfileManifestName.String()}
    16  	var tf v1alpha1.Tiltfile
    17  	err := client.Get(ctx, nn, &tf)
    18  	if err != nil {
    19  		return err
    20  	}
    21  
    22  	if apicmp.DeepEqual(tf.Spec.Args, args) {
    23  		return nil
    24  	}
    25  
    26  	update := tf.DeepCopy()
    27  	update.Spec.Args = args
    28  	err = client.Update(ctx, update)
    29  	if err != nil {
    30  		return err
    31  	}
    32  
    33  	return nil
    34  }