Loading gitlabci_local/types/environment.py +3 −1 Changes for gitlabci_local/types/environment.py: 3 added lines, 1 removed line. Original line number Diff line number Diff line Loading @@ -17,7 +17,9 @@ class Environment: # Avoid nested variable if variable: result = regex_sub(r'(?<!\\)\${?' + f'{variable}' + r'}?', '', result) result = regex_sub(r'(?<!\\)\${' + f'{variable}' + '}', '', result) result = regex_sub(r'(?<!\\)\$' + f'{variable}' + r'([^A-Za-z_]+|$)', '\\1', result) # Expand while needed while last != result: Loading tests/variables/.gitlab-ci.nested.yml +16 −0 Changes for tests/variables/.gitlab-ci.nested.yml: 16 added lines, 0 removed lines. Original line number Diff line number Diff line Loading @@ -16,6 +16,16 @@ variables: DOUBLE_NESTED_2_2: 'doublenested/variable/${NESTED_2_2}/value' UNKNOWN_1: ${UNKNOWN} DOUBLE_UNKNOWN_1: 'doubleunknown/variable/${UNKNOWN_1}/value' EXTENDED_1_NAME: extended_1 EXTENDED_1: /${EXTENDED_1_NAME}_path EXTENDED_2_NAME: extended_2 EXTENDED_2: /$EXTENDED_2_NAME/path EXTENDED_3_NAME: extended_3 EXTENDED_3: /$EXTENDED_3_NAME EXTENDED_4_NAME: extended_4 EXTENDED_4: /${EXTENDED_4}/path EXTENDED_5_NAME: extended_5 EXTENDED_5: /$EXTENDED_5/path LOCATION: $(readlink -f "${LOCATION}") PWD: $(readlink -f "${PWD}") SELF_VALUE: ${SELF_VALUE} Loading @@ -42,6 +52,12 @@ variables: - env | grep '^UNKNOWN=' && false || true - env | grep '^UNKNOWN_1=' | grep '^UNKNOWN_1=$' - env | grep '^DOUBLE_UNKNOWN_1=' | grep -v '\$' | grep '//' - env | grep '^EXTENDED_[12345]=' | sort - env | grep '^EXTENDED_1=' | grep '^EXTENDED_1=/extended_1_path$' - env | grep '^EXTENDED_2=' | grep '^EXTENDED_2=/extended_2/path$' - env | grep '^EXTENDED_3=' | grep '^EXTENDED_3=/extended_3$' - env | grep '^EXTENDED_4=' | grep '^EXTENDED_4=//path$' - env | grep '^EXTENDED_5=' | grep '^EXTENDED_5=//path$' - env | grep '^LOCATION=' | grep '^LOCATION=$(readlink -f "")$' - env | grep '^PWD=' | grep -v '\$' - env | grep '^SELF_VALUE=' | grep '^SELF_VALUE=$' Loading Loading
gitlabci_local/types/environment.py +3 −1 Changes for gitlabci_local/types/environment.py: 3 added lines, 1 removed line. Original line number Diff line number Diff line Loading @@ -17,7 +17,9 @@ class Environment: # Avoid nested variable if variable: result = regex_sub(r'(?<!\\)\${?' + f'{variable}' + r'}?', '', result) result = regex_sub(r'(?<!\\)\${' + f'{variable}' + '}', '', result) result = regex_sub(r'(?<!\\)\$' + f'{variable}' + r'([^A-Za-z_]+|$)', '\\1', result) # Expand while needed while last != result: Loading
tests/variables/.gitlab-ci.nested.yml +16 −0 Changes for tests/variables/.gitlab-ci.nested.yml: 16 added lines, 0 removed lines. Original line number Diff line number Diff line Loading @@ -16,6 +16,16 @@ variables: DOUBLE_NESTED_2_2: 'doublenested/variable/${NESTED_2_2}/value' UNKNOWN_1: ${UNKNOWN} DOUBLE_UNKNOWN_1: 'doubleunknown/variable/${UNKNOWN_1}/value' EXTENDED_1_NAME: extended_1 EXTENDED_1: /${EXTENDED_1_NAME}_path EXTENDED_2_NAME: extended_2 EXTENDED_2: /$EXTENDED_2_NAME/path EXTENDED_3_NAME: extended_3 EXTENDED_3: /$EXTENDED_3_NAME EXTENDED_4_NAME: extended_4 EXTENDED_4: /${EXTENDED_4}/path EXTENDED_5_NAME: extended_5 EXTENDED_5: /$EXTENDED_5/path LOCATION: $(readlink -f "${LOCATION}") PWD: $(readlink -f "${PWD}") SELF_VALUE: ${SELF_VALUE} Loading @@ -42,6 +52,12 @@ variables: - env | grep '^UNKNOWN=' && false || true - env | grep '^UNKNOWN_1=' | grep '^UNKNOWN_1=$' - env | grep '^DOUBLE_UNKNOWN_1=' | grep -v '\$' | grep '//' - env | grep '^EXTENDED_[12345]=' | sort - env | grep '^EXTENDED_1=' | grep '^EXTENDED_1=/extended_1_path$' - env | grep '^EXTENDED_2=' | grep '^EXTENDED_2=/extended_2/path$' - env | grep '^EXTENDED_3=' | grep '^EXTENDED_3=/extended_3$' - env | grep '^EXTENDED_4=' | grep '^EXTENDED_4=//path$' - env | grep '^EXTENDED_5=' | grep '^EXTENDED_5=//path$' - env | grep '^LOCATION=' | grep '^LOCATION=$(readlink -f "")$' - env | grep '^PWD=' | grep -v '\$' - env | grep '^SELF_VALUE=' | grep '^SELF_VALUE=$' Loading