Review GitHub issue #90 for DDEV project #91
Merged
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Fixes #90
The post-install script was failing when DDEV_UPSTREAM_PROVIDER was not defined in the .env file. The script uses 'set -u' flag (via pipefail) which treats unset variables as errors.
Changed the conditional check from '$DDEV_UPSTREAM_PROVIDER' to '${DDEV_UPSTREAM_PROVIDER:-}' to use parameter expansion that provides an empty string if the variable is unset, preventing the script from failing when the variable doesn't exist.
Summary
$DDEV_UPSTREAM_PROVIDERto${DDEV_UPSTREAM_PROVIDER:-}to safely handle unset variablesProblem
The post-install script in
install.yamlwas failing on MacOS when theDDEV_UPSTREAM_PROVIDERvariable was not defined in the.envfile. The script uses bash's-uflag (treat unset variables as errors), which caused the script to exit immediately when trying to reference the undefined variable, even though it was inside a conditional check.Solution
Used parameter expansion syntax
${DDEV_UPSTREAM_PROVIDER:-}which provides an empty string if the variable is unset, allowing the conditional check to work properly without triggering an unbound variable error.Test Plan