-
Notifications
You must be signed in to change notification settings - Fork 1.3k
Closed
Labels
A: templatingRelated to the templating featureRelated to the templating featurediscussionrequires active participation to reach a conclusionrequires active participation to reach a conclusionenhancementEnhances DVCEnhances DVCuiuser interface / interactionuser interface / interaction
Description
Continues #4854
Bugs?
dvc reproexecutes stage groups alphabetically e,g, if myforeachlist isfoo, bar, baz(in that order) still the stages gets reproed (and saved to dvc.locl) in this order:stg@bar,stg@baz,stg@foo.
Generalized and extracted to repro: fallback order of execution for independent stages #5181
UI/UX
- Foreach loops: since
do:always contains all the regular stage fields, what about avoidingdoand go straight tocmd, etc.? Like this:stages: something: foreach: ... cmd: python script.py --thresh ${item...} deps: ...
This way the only syntax change is to add the
foreachfield, which makes the whole entry into a stage group. - If a directory path in
vars, repro prints a genericERROR: unexpected error - [Errno 21] Is a directory: '{path}'.which while informative enough, seems like it could be better handled. (Fix on parametrization: fix error when the file invarsis a directory #5171)
Feature design/ Side-effects
- There seems to be no way to indicate you don't want any params file to be loaded (even if it exists for other purposes). Earlier on you could
use: none. - Similarly, there's no way to ONLY use an alternative params file e.g.
params.jsonand avoid the default (params.yaml). I feel like the default behavior should be to skip params.yaml if any params files are specified. E.g.: params.jsonvarscannot overwrite any values in params files, but params files accept repeated objects IF they can be merged without conflict.{"grp": {"a": 1}}params2.json{"grp": {"b": 2}}can both be included even whengrpis overloaded,but you can't definegrpat all invars.
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
A: templatingRelated to the templating featureRelated to the templating featurediscussionrequires active participation to reach a conclusionrequires active participation to reach a conclusionenhancementEnhances DVCEnhances DVCuiuser interface / interactionuser interface / interaction