Repository: gohugoio/hugo (language: go)

Issue:
deploy: --invalidateCDN, --maxDelete needs be explicitly set
See https://discourse.gohugo.io/t/hugo-appears-to-have-stopped-invalidating-my-cloudfront-cache/44841/2


Discussion / hints:

Fix patch:
diff --git a/commands/deploy.go b/commands/deploy.go
index 82127adf4c7..ce1af95469c 100644
--- a/commands/deploy.go
+++ b/commands/deploy.go
@@ -63,9 +63,9 @@ documentation.
 			cmd.Flags().Bool("confirm", false, "ask for confirmation before making changes to the target")
 			cmd.Flags().Bool("dryRun", false, "dry run")
 			cmd.Flags().Bool("force", false, "force upload of all files")
-			cmd.Flags().Bool("invalidateCDN", true, "invalidate the CDN cache listed in the deployment target")
-			cmd.Flags().Int("maxDeletes", 256, "maximum # of files to delete, or -1 to disable")
-			cmd.Flags().Int("workers", 10, "number of workers to transfer files. defaults to 10")
+			cmd.Flags().Bool("invalidateCDN", deploy.DefaultConfig.InvalidateCDN, "invalidate the CDN cache listed in the deployment target")
+			cmd.Flags().Int("maxDeletes", deploy.DefaultConfig.MaxDeletes, "maximum # of files to delete, or -1 to disable")
+			cmd.Flags().Int("workers", deploy.DefaultConfig.Workers, "number of workers to transfer files. defaults to 10")
 		},
 	}
 }
diff --git a/deploy/deployConfig.go b/deploy/deployConfig.go
index 3f54651711a..5bbec5ab4db 100644
--- a/deploy/deployConfig.go
+++ b/deploy/deployConfig.go
@@ -127,11 +127,16 @@ func (m *Matcher) Matches(path string) bool {
 	return m.re.MatchString(path)
 }
 
+var DefaultConfig = DeployConfig{
+	Workers:       10,
+	InvalidateCDN: true,
+	MaxDeletes:    256,
+}
+
 // DecodeConfig creates a config from a given Hugo configuration.
 func DecodeConfig(cfg config.Provider) (DeployConfig, error) {
-	var (
-		dcfg DeployConfig
-	)
+
+	dcfg := DefaultConfig
 
 	if !cfg.IsSet(deploymentConfigKey) {
 		return dcfg, nil


Test patch:
diff --git a/testscripts/commands/deploy.txt b/testscripts/commands/deploy.txt
index b21bf0b38e7..0afe1fc44ef 100644
--- a/testscripts/commands/deploy.txt
+++ b/testscripts/commands/deploy.txt
@@ -3,10 +3,10 @@
 hugo deploy -h
 stdout 'Deploy your site to a Cloud provider\.'
 mkdir mybucket
-hugo deploy --target mydeployment
+hugo deploy --target mydeployment --invalidateCDN=false
 grep 'hello' mybucket/index.html
 replace  public/index.html 'hello' 'changed'
-hugo deploy --target mydeployment --invalidateCDN --dryRun
+hugo deploy --target mydeployment --dryRun
 stdout 'Would upload: index.html'
 stdout 'Would invalidate CloudFront CDN with ID foobar'
 -- hugo.toml --