-
-
Notifications
You must be signed in to change notification settings - Fork 793
Open
Labels
area: variablesChanges related to variables.Changes related to variables.
Description
This is an idea for the next major version, and would be a breaking change.
Nowadays both variables and envs are accessed as Go template values, like this:
{{.MY_VARIABLE}}
{{.MY_ENV}}This have a couple of drawbacks:
- Variables need to be declared in an specific order if you want to include one into another:
FOO: foo
FOOBAR: '{{.FOO}}bar'
FOOBARBAZ: '{{.FOOBAR}}baz'-
Variables and envs are mixed, and this often generate a bit of confusion to users.
-
Shell variables are always computed, even when they are not being used.
- We also currently cache them, which can be annoying if the user want to calculate it again on every call. On the current implementation removing the cache would not be a good idea, though, because it would calculate these multiple times unnecessarily.
This proposal to have two template functions called var and env to access these values:
MY_VARIABLE: '{{var "MY_VARIABLE"}}'
MY_ENV: '{{env "MY_ENV"}}'As part of these proposal, environment variables would stop being added to variables, so you need to really call env if you want an env.
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
area: variablesChanges related to variables.Changes related to variables.