Using Knapsack Pro in Queue Mode with SimpleCov
This is needed only if you are using Knapsack Pro in Queue Mode.
Apply the following patch:
# spec_helper.rb or rails_helper.rb
require 'knapsack_pro'
require 'simplecov'
SimpleCov.start
KnapsackPro::Hooks::Queue.before_queue do |queue_id|
SimpleCov.command_name("rspec_ci_node_#{KnapsackPro::Config::Env.ci_node_index}")
end
This is needed to avoid conflicts between code coverage reports generated by parallel CI nodes.
If the local drive is common between parallel nodes on your CI, simplecov
will generate a single report at coverage/index.html
with merged data. Otherwise, you can refer to How to merge CodeClimate reports for parallel jobs (CI nodes) or How to merge SimpleCov results with parallel Rails specs on Semaphore CI.