Skip to content

Commit 0c2bc50

Browse files
committed
fix: determine if images should be pushed based on localCluster and imageLoadingRequired
1 parent 9a5c614 commit 0c2bc50

File tree

2 files changed

+9
-3
lines changed

2 files changed

+9
-3
lines changed

pkg/skaffold/build/local/types.go

+8-2
Original file line numberDiff line numberDiff line change
@@ -61,6 +61,7 @@ type Builder struct {
6161
// into private functions for testability
6262

6363
var getLocalCluster = config.GetLocalCluster
64+
var isImageLoadingRequired = config.IsImageLoadingRequired
6465

6566
type Config interface {
6667
docker.Config
@@ -91,10 +92,15 @@ func NewBuilder(cfg Config) (*Builder, error) {
9192
return nil, fmt.Errorf("getting localCluster: %w", err)
9293
}
9394

95+
imageLoadingRequired, err := isImageLoadingRequired(cfg.GlobalConfig())
96+
if err != nil {
97+
return nil, fmt.Errorf("getting imageLoadingRequired: %w", err)
98+
}
99+
94100
var pushImages bool
95101
if cfg.Pipeline().Build.LocalBuild.Push == nil {
96-
pushImages = !localCluster
97-
logrus.Debugf("push value not present, defaulting to %t because localCluster is %t", pushImages, localCluster)
102+
pushImages = !localCluster && !imageLoadingRequired
103+
logrus.Debugf("push value not present, defaulting to %t because localCluster is %t and imageLoadingRequired is %t", pushImages, localCluster, imageLoadingRequired)
98104
} else {
99105
pushImages = *cfg.Pipeline().Build.LocalBuild.Push
100106
}

pkg/skaffold/runner/deploy.go

+1-1
Original file line numberDiff line numberDiff line change
@@ -59,7 +59,7 @@ See https://skaffold.dev/docs/pipeline-stages/taggers/#how-tagging-works`)
5959
return fmt.Errorf("unable to connect to Kubernetes: %w", err)
6060
}
6161

62-
if r.runCtx.ImageLoadingRequired && r.imagesAreLocal {
62+
if r.imagesAreLocal && r.runCtx.ImageLoadingRequired {
6363
err := r.loadImagesIntoCluster(ctx, out, artifacts)
6464
if err != nil {
6565
return err

0 commit comments

Comments
 (0)