diff --git a/cmd/demo_scripts/create_qovery_demo.sh b/cmd/demo_scripts/create_qovery_demo.sh index 38b1e5fb..0d1b5f00 100755 --- a/cmd/demo_scripts/create_qovery_demo.sh +++ b/cmd/demo_scripts/create_qovery_demo.sh @@ -154,7 +154,7 @@ install_or_upgrade_helm_charts() { --set services.qovery.qovery-cluster-agent.enabled=false \ --set services.qovery.qovery-engine.enabled=false \ --set services.qovery.qovery-operator.enabled=false \ - "${engine_image_overrides[@]}" qovery "$chart_source" + "${engine_image_overrides[@]+"${engine_image_overrides[@]}"}" qovery "$chart_source" fi for i in $(seq 1 3); do @@ -162,7 +162,7 @@ install_or_upgrade_helm_charts() { helm upgrade --install --create-namespace ${HELM_DEBUG} --timeout=15m -n qovery "${helm_values_args[@]}" --wait --atomic \ --set services.ingress.envoy-gateway-crd.enabled=false \ --set services.qovery.qovery-operator.enabled=false \ - "${engine_image_overrides[@]}" qovery "$chart_source" && break + "${engine_image_overrides[@]+"${engine_image_overrides[@]}"}" qovery "$chart_source" && break set +x echo "Install failed. Retrying in 10 seconds. To let the cluster initialize" sleep 10 diff --git a/cmd/demo_up_local_overrides_test.go b/cmd/demo_up_local_overrides_test.go index 94f5e77b..58baff03 100644 --- a/cmd/demo_up_local_overrides_test.go +++ b/cmd/demo_up_local_overrides_test.go @@ -3,6 +3,7 @@ package cmd import ( "os" "path/filepath" + "strings" "testing" ) @@ -32,3 +33,11 @@ func TestDemoEngineImageOverride(t *testing.T) { t.Fatalf("expected docker.io/library/qovery-demo-engine:local, got %s:%s", repository, tag) } } + +func TestDemoScriptUsesNounsetSafeEmptyEngineImageOverrides(t *testing.T) { + const nounsetSafeOverrides = `"${engine_image_overrides[@]+"${engine_image_overrides[@]}"}"` + + if count := strings.Count(string(demoScriptsCreate), nounsetSafeOverrides); count != 2 { + t.Fatalf("expected both Helm invocations to use a Bash 3.2 nounset-safe engine image override expansion, found %d", count) + } +}