class CircleCI::Parallel::Environment
@api private
Public Instance Methods
clean()
click to toggle source
# File lib/circleci/parallel/environment.rb, line 39 def clean FileUtils.rmtree(WORK_DIR) if Dir.exist?(WORK_DIR) end
configuration()
click to toggle source
# File lib/circleci/parallel/environment.rb, line 14 def configuration @configuration ||= Configuration.new end
configure() { |configuration| ... }
click to toggle source
# File lib/circleci/parallel/environment.rb, line 18 def configure yield configuration end
current_build()
click to toggle source
# File lib/circleci/parallel/environment.rb, line 22 def current_build @current_build ||= Build.new(ENV['CIRCLE_BUILD_NUM'].to_i, ENV['CIRCLE_NODE_TOTAL'].to_i) end
current_node()
click to toggle source
# File lib/circleci/parallel/environment.rb, line 26 def current_node @current_node ||= Node.new(current_build, ENV['CIRCLE_NODE_INDEX'].to_i) end
puts(*args)
click to toggle source
# File lib/circleci/parallel/environment.rb, line 35 def puts(*args) Kernel.puts(*args) unless configuration.silent end
sync()
click to toggle source
# File lib/circleci/parallel/environment.rb, line 30 def sync validate! task.run end
Private Instance Methods
master_task()
click to toggle source
# File lib/circleci/parallel/environment.rb, line 59 def master_task klass = configuration.mock_mode ? Task::MockMaster : Task::Master klass.new(current_node, configuration.master_node_configuration) end
slave_task()
click to toggle source
# File lib/circleci/parallel/environment.rb, line 64 def slave_task klass = configuration.mock_mode ? Task::MockSlave : Task::Slave klass.new(current_node, configuration.slave_node_configuration) end
task()
click to toggle source
# File lib/circleci/parallel/environment.rb, line 55 def task @task ||= current_node.master? ? master_task : slave_task end
validate!()
click to toggle source
# File lib/circleci/parallel/environment.rb, line 45 def validate! raise 'The current environment is not on CircleCI.' unless ENV['CIRCLECI'] unless ENV['CIRCLE_NODE_TOTAL'] warn 'Environment variable CIRCLE_NODE_TOTAL is not set. ' \ 'Maybe you forgot adding `parallel: true` to your circle.yml? ' \ 'https://circleci.com/docs/parallel-manual-setup/' end end