Story #19132

Updated by Ward Vandewege 8 months ago

Support versioning for registered workflows in Workbench. 

 Possible features: 

 * When launching a workflow, user can choose among multiple versions 
 * Can easily determine which version of the workflow was used to run a particular pipeline. 
 * Text of workflow that is used for execution is more like the text that the user started from (instead of workflow packing). 
 * Text of workflow as submitted (i.e. original) is also saved so that users can compare the "original" they submitted against their VCS later (good for auditability). 

 Possible design: 

 * Use collection versioning 
 * Store workflow metadata in properties 
 ** entry point 
 ** input spec 
 ** git commit/branch/repo?    if uploaded a git directory 
 ** docker jobs image to use 
 * Are "workflow" records even needed any more?    Could be kept in a collection with "type: workflow" property  
 * Identify the workflow version used for a given pipeline by matching the PDH  


 * arvados-cwl-runner support for creating/updating new-style registered workflows 
 * Workbench 2 support (this is probably the majority of the work) 
 ** picking 
 ** viewing 
 ** launching