lib/bolt/executor.rb in bolt-3.17.0 vs lib/bolt/executor.rb in bolt-3.18.0

- old
+ new

@@ -4,25 +4,25 @@ require 'English' require 'json' require 'logging' require 'pathname' require 'set' -require 'bolt/analytics' -require 'bolt/config' -require 'bolt/fiber_executor' -require 'bolt/puppetdb' -require 'bolt/result' -require 'bolt/result_set' +require_relative '../bolt/analytics' +require_relative '../bolt/config' +require_relative '../bolt/fiber_executor' +require_relative '../bolt/puppetdb' +require_relative '../bolt/result' +require_relative '../bolt/result_set' # Load transports -require 'bolt/transport/docker' -require 'bolt/transport/local' -require 'bolt/transport/lxd' -require 'bolt/transport/orch' -require 'bolt/transport/podman' -require 'bolt/transport/remote' -require 'bolt/transport/ssh' -require 'bolt/transport/winrm' +require_relative '../bolt/transport/docker' +require_relative '../bolt/transport/local' +require_relative '../bolt/transport/lxd' +require_relative '../bolt/transport/orch' +require_relative '../bolt/transport/podman' +require_relative '../bolt/transport/remote' +require_relative '../bolt/transport/ssh' +require_relative '../bolt/transport/winrm' module Bolt TRANSPORTS = { docker: Bolt::Transport::Docker, local: Bolt::Transport::Local, @@ -298,9 +298,12 @@ def run_script(targets, script, arguments, options = {}, position = []) description = options.fetch(:description, "script #{script}") log_action(description, targets) do options[:run_as] = run_as if run_as && !options.key?(:run_as) + options[:script_interpreter] = (future || {}).fetch('script_interpreter', false) + + @analytics&.event('Future', 'script_interpreter', label: options[:script_interpreter].to_s) batch_execute(targets) do |transport, batch| with_node_logging("Running script #{script} with '#{arguments.to_json}'", batch) do transport.batch_script(batch, script, arguments, options, position, &method(:publish_event)) end