-
-
Notifications
You must be signed in to change notification settings - Fork 231
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Output destination #1219
base: main
Are you sure you want to change the base?
Output destination #1219
Conversation
Is this destination for downstream consumers or only final outputs? If they later, then it would be better scoped as only being allowed in Workflow outputs (for 1.2) or as a requirement in Workflow proceses with no parent (as an extension). I see the user value, but this feels like it could get messy/confusing as per your example. How to deal with conflicts, etc.. |
In the current implementation, it only applies to final outputs. However, the behavior allows for renaming files and directories as well as the more obvious use of placing into subdirectories, which seems like it could be useful mid-workflow.
The primary motivation is that if you want to produce output with specific file names and/or directory structure, currently you need to use a Javascript hack like this: https://github.com/common-workflow-language/cwl-website/blob/master/site/mergesecondary.cwl With this feature, you directly output parameters with destination directories. You might still need to propagate a list of destination directories, but comparatively it is much easier to for the end user. A secondary motivation is that because "destination" gives you a way to specify output filenames that are static (or trivially derived from input) it seems like it could support reasoning about the behavior of a workflow -- thinking of rule-based systems like |
Codecov Report
@@ Coverage Diff @@
## master #1219 +/- ##
==========================================
- Coverage 77.07% 75.69% -1.39%
==========================================
Files 35 35
Lines 7216 7257 +41
Branches 1853 1843 -10
==========================================
- Hits 5562 5493 -69
- Misses 1182 1273 +91
- Partials 472 491 +19
Continue to review full report at Codecov.
|
Discussion points:
|
Experimental feature to set output destination of output files and directories. Simplifies file renaming and organizing output into a desired directory structure.
Work in progress.
Example:
This causes the "foo" file to be placed in the subdirectory "bar" (relative to the base output directory) in the final output.
The idea is for a future CWL spec (maybe 1.2?) to incorporate this directly into the output parameter: