dstack
dstack copied to clipboard
Allow to use interpolation in environment variables
It is common practice to append to PATH like PATH=/opt/conda/envs/mnist/bin:$PATH
.
However using this in the workflow file env
seems ~seems to replace PATH literally without variable interpolation for $PATH
.~ the workflow does not even run - no log is shown and workflow simply fails.
- name: check-conda
provider: bash
env:
- PATH=/opt/conda/envs/mnist:$PATH
commands:
- echo 'checking $PATH'
- echo $PATH
- echo 'done'
- conda env list # this results in `conda not found`
If I understand right, it can be implemented if we instead of passing environment variables directly to the job, the provider will set environment variables via commands ( export ENV=VALUE
).
yes we can always do that, but the existence of env
itself sets the expectation that env setting should be done there, including pattern like:
env:
- PATH=/opt/conda/envs/mnist:$PATH
@kengz Yes, I mean, we can support this. The provider will handle it automatically.