From 5f9b14df9f4d552c5495ba17aadd819036ebad4b Mon Sep 17 00:00:00 2001 From: Joseph Johansen Date: Wed, 21 Aug 2024 11:35:20 +0100 Subject: [PATCH] Implement rake task to combine results --- lib/tasks/simplecov.rake | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) create mode 100644 lib/tasks/simplecov.rake diff --git a/lib/tasks/simplecov.rake b/lib/tasks/simplecov.rake new file mode 100644 index 0000000000..bc190c1fe4 --- /dev/null +++ b/lib/tasks/simplecov.rake @@ -0,0 +1,18 @@ +# frozen_string_literal: true + +namespace :simplecov do + desc "Collates all result sets produced during parallel test runs" + task :collate_results, # rubocop:disable Rails/RakeEnvironment doesn't need the full env + [:path_to_results, :coverage_dir] do |_t, args| + require "simplecov" + + path_to_results = args[:path_to_results].presence || "tmp/simple-cov" + coverage_dir = args[:coverage_dir].presence || "coverage" + + SimpleCov.collate Dir[File.join(path_to_results, "**", ".resultset.json")], "rails" do + formatter SimpleCov::Formatter::HTMLFormatter + + coverage_dir coverage_dir + end + end +end