Skip to content

Commit

Permalink
fix: handle env-vars case sensitive
Browse files Browse the repository at this point in the history
Closes #1488
  • Loading branch information
KnisterPeter committed Dec 7, 2022
1 parent 8c5748a commit c29694a
Show file tree
Hide file tree
Showing 3 changed files with 35 additions and 10 deletions.
10 changes: 1 addition & 9 deletions pkg/model/workflow.go
Original file line number Diff line number Diff line change
Expand Up @@ -458,16 +458,8 @@ func (s *Step) String() string {
}

// Environments returns string-based key=value map for a step
// Note: all keys are uppercase
func (s *Step) Environment() map[string]string {
env := environment(s.Env)

for k, v := range env {
delete(env, k)
env[strings.ToUpper(k)] = v
}

return env
return environment(s.Env)
}

// GetEnv gets the env for a step
Expand Down
2 changes: 1 addition & 1 deletion pkg/runner/step.go
Original file line number Diff line number Diff line change
Expand Up @@ -183,7 +183,7 @@ func setupEnv(ctx context.Context, step step) error {
(*step.getEnv())[k] = exprEval.Interpolate(ctx, v)
}
}
// after we have an evaluated step context, update the expresson evaluator with a new env context
// after we have an evaluated step context, update the expressions evaluator with a new env context
// you can use step level env in the with property of a uses construct
exprEval = rc.NewExpressionEvaluatorWithEnv(ctx, *step.getEnv())
for k, v := range *step.getEnv() {
Expand Down
33 changes: 33 additions & 0 deletions pkg/runner/testdata/environment-variables/push.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,33 @@
name: environment variables
on: push

jobs:
test:
runs-on: ubuntu-latest
steps:
- name: Test on job level
run: |
echo \$UPPER=$UPPER
echo \$upper=$upper
echo \$LOWER=$LOWER
echo \$lower=$lower
[[ "$UPPER" = "UPPER" ]] || exit 1
[[ "$upper" = "" ]] || exit 1
[[ "$LOWER" = "" ]] || exit 1
[[ "$lower" = "lower" ]] || exit 1
- name: Test on step level
run: |
echo \$UPPER=$UPPER
echo \$upper=$upper
echo \$LOWER=$LOWER
echo \$lower=$lower
[[ "$UPPER" = "upper" ]] || exit 1
[[ "$upper" = "" ]] || exit 1
[[ "$LOWER" = "" ]] || exit 1
[[ "$lower" = "LOWER" ]] || exit 1
env:
UPPER: upper
lower: LOWER
env:
UPPER: UPPER
lower: lower

0 comments on commit c29694a

Please sign in to comment.