Make it easier to run coverage reports locally #1750
Merged
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
What are you trying to accomplish?
In #1075 we discovered a regression in coverage from CI, but I found it quite hard to run the coverage reports locally - multiple
bundle exec appraisal rails-X rake
runs would overwrite the coverage from previous runs with different rails/ruby versions. And then therake coverage:report
task expects the coverage reports to be insimplecov-resultset-*
directories, which are usually generated in CI from the actions/download-artifact task.What approach did you choose and why?
spec_helper/test_helper do set a simplecov command_name, but only when
ENV["RUBY_VERSION"]
is set.I've updated it to always set a command name based on
Rails::VERSION
/RUBY_VERSION
rather than needing environment variables to be specified.I've also updated the
rake coverage:report
task to include resultsets in the default coverage directory, in addition tosimplecov-resultset-*