X-Git-Url: https://git.arvados.org/arvados.git/blobdiff_plain/6d23c29612aedb12e35930cf37a9c3b36839359b..a324727d478feb278ab35300c5b96e2349e23f3d:/apps/workbench/app/controllers/pipeline_instances_controller.rb diff --git a/apps/workbench/app/controllers/pipeline_instances_controller.rb b/apps/workbench/app/controllers/pipeline_instances_controller.rb index ffa0f5f6c1..fa724b82b4 100644 --- a/apps/workbench/app/controllers/pipeline_instances_controller.rb +++ b/apps/workbench/app/controllers/pipeline_instances_controller.rb @@ -64,7 +64,8 @@ class PipelineInstancesController < ApplicationController if component[:script_parameters] component[:script_parameters].each do |param, value_info| if value_info.is_a? Hash - if resource_class_for_uuid(value_info[:value]) == Link + value_info_class = resource_class_for_uuid(value_info[:value]) + if value_info_class == Link # Use the link target, not the link itself, as script # parameter; but keep the link info around as well. link = Link.find value_info[:value] @@ -76,6 +77,15 @@ class PipelineInstancesController < ApplicationController value_info[:link_uuid] = nil value_info[:link_name] = nil end + if value_info_class == Collection + # to ensure reproducibility, the script_parameter for a + # collection should be the portable_data_hash + # keep the collection name and uuid for human-readability + obj = Collection.find value_info[:value] + value_info[:value] = obj.portable_data_hash + value_info[:selection_uuid] = obj.uuid + value_info[:selection_name] = obj.name + end end end end @@ -172,7 +182,9 @@ class PipelineInstancesController < ApplicationController :all_script_parameters => true, :combine_jobs => :script_and_version, :pips => pips, - :only_components => true} + :only_components => true, + :no_docker => true, + :no_log => true} end super