1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59
|
module Knapsack
module Config
class Env
class << self
def report_path
ENV['KNAPSACK_REPORT_PATH']
end
def ci_node_total
ENV['CI_NODE_TOTAL'] || ENV['CIRCLE_NODE_TOTAL'] || ENV['SEMAPHORE_JOB_COUNT'] || ENV['SEMAPHORE_THREAD_COUNT'] || ENV['BUILDKITE_PARALLEL_JOB_COUNT'] || ENV['SNAP_WORKER_TOTAL'] || ENV['BITBUCKET_PARALLEL_STEP_COUNT'] || 1
end
def ci_node_index
gitlab_ci_node_index || ENV['CI_NODE_INDEX'] || ENV['CIRCLE_NODE_INDEX'] || semaphore_job_index || semaphore_current_thread || ENV['BUILDKITE_PARALLEL_JOB'] || snap_ci_worker_index || ENV['BITBUCKET_PARALLEL_STEP'] || 0
end
def test_file_pattern
ENV['KNAPSACK_TEST_FILE_PATTERN']
end
def test_dir
ENV['KNAPSACK_TEST_DIR']
end
def log_level
{
"debug" => Knapsack::Logger::DEBUG,
"info" => Knapsack::Logger::INFO,
"warn" => Knapsack::Logger::WARN,
}[ENV['KNAPSACK_LOG_LEVEL']] || Knapsack::Logger::INFO
end
private
def index_starting_from_one(index)
index.to_i - 1 if index
end
def semaphore_job_index
index_starting_from_one(ENV['SEMAPHORE_JOB_INDEX'])
end
def semaphore_current_thread
index_starting_from_one(ENV['SEMAPHORE_CURRENT_THREAD'])
end
def snap_ci_worker_index
index_starting_from_one(ENV['SNAP_WORKER_INDEX'])
end
def gitlab_ci_node_index
return unless ENV['GITLAB_CI']
index_starting_from_one(ENV['CI_NODE_INDEX'])
end
end
end
end
end
|