fix: use unset-safe expansions in entrypoint validation checks#989
Open
fix: use unset-safe expansions in entrypoint validation checks#989
Conversation
Fixes base#988 The entrypoint scripts use `set -u` which causes bash to exit when an unset variable is expanded. However, the validation logic uses `-z "$VAR"` which expands the variable before checking if it's empty. This means if OP_NODE_NETWORK is unset and OP_NODE_ROLLUP_CONFIG is set, the script crashes on unbound OP_NODE_NETWORK expansion instead of evaluating the condition correctly. Changes: - op-node-entrypoint: Use `${OP_NODE_NETWORK:-}` and `${OP_NODE_ROLLUP_CONFIG:-}` - nethermind-entrypoint: Use `${OP_NODE_NETWORK:-}` and `${OP_NODE_L2_ENGINE_AUTH_RAW:-}` This allows the validation logic to work correctly while keeping `set -u` for safety.
Collaborator
🟡 Heimdall Review Status
|
When using `set -u` (nounset), referencing unset variables causes
an unbound variable error before the script can check if they're set.
This change uses `${VAR:-}` parameter expansion to safely handle
unset variables in validation checks, allowing proper error messages
instead of shell errors.
Fixes base#988
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
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 #988
Problem
The entrypoint scripts use
set -uwhich causes bash to exit when an unset variable is expanded. However, the validation logic uses-z "$VAR"which expands the variable before checking if it's empty.This means if
OP_NODE_NETWORKis unset andOP_NODE_ROLLUP_CONFIGis set (for op-node-entrypoint), the script crashes on unboundOP_NODE_NETWORKexpansion instead of evaluating the condition correctly.Solution
Use unset-safe expansions in checks (
${VAR:-}) while keepingset -ufor safety.Changes
op-node-entrypoint: Use${OP_NODE_NETWORK:-}and${OP_NODE_ROLLUP_CONFIG:-}nethermind/nethermind-entrypoint: Use${OP_NODE_NETWORK:-}and${OP_NODE_L2_ENGINE_AUTH_RAW:-}This ensures the validation logic works correctly even when variables are unset, while maintaining the safety benefits of
set -u.