Edge-case when only a file under `data/whats_new/\w*.yml` is edited, `rspec:coverage` fails before the MR is approved

When only a file under data/whats_new/\w*.yml is edited, rspec:coverage fails before the MR is approved for the following reason:

  1. detect-tests properly map the data/whats_new/\w*.yml pattern to spec/lib/release_highlights/validator_spec.rb: https://gitlab.com/gitlab-org/gitlab/-/jobs/2231283646#L63
  2. Only rspec system minimal jobs are run since rspec unit pg12 minimal (which extend from .rails:rules:ee-and-foss-unit:minimal) only run for backend-patterns which doesn't include data/whats_new/\w*.yml
  3. rspec system minimal jobs don't actually run any tests as the only test to run is spec/lib/release_highlights/validator_spec.rb in this particular case
  4. rspec:coverage download the rspec system minimal artifacts but doesn't have any coverage file to process and fails with
$ run_timed_command "bundle exec scripts/merge-simplecov"
$ bundle exec scripts/merge-simplecov
bundler: failed to load command: scripts/merge-simplecov (scripts/merge-simplecov)
/builds/gitlab-org/gitlab/vendor/ruby/2.7.0/gems/simplecov-0.21.2/lib/simplecov.rb:87:in `collate': There are no reports to be merged (RuntimeError)
	from scripts/merge-simplecov:8:in `<top (required)>'
	from /usr/local/lib/ruby/gems/2.7.0/gems/bundler-2.3.6/lib/bundler/cli/exec.rb:58:in `load'
	from /usr/local/lib/ruby/gems/2.7.0/gems/bundler-2.3.6/lib/bundler/cli/exec.rb:58:in `kernel_load'
	from /usr/local/lib/ruby/gems/2.7.0/gems/bundler-2.3.6/lib/bundler/cli/exec.rb:23:in `run'
	from /usr/local/lib/ruby/gems/2.7.0/gems/bundler-2.3.6/lib/bundler/cli.rb:484:in `exec'
	from /usr/local/lib/ruby/gems/2.7.0/gems/bundler-2.3.6/lib/bundler/vendor/thor/lib/thor/command.rb:27:in `run'
	from /usr/local/lib/ruby/gems/2.7.0/gems/bundler-2.3.6/lib/bundler/vendor/thor/lib/thor/invocation.rb:127:in `invoke_command'
	from /usr/local/lib/ruby/gems/2.7.0/gems/bundler-2.3.6/lib/bundler/vendor/thor/lib/thor.rb:392:in `dispatch'
	from /usr/local/lib/ruby/gems/2.7.0/gems/bundler-2.3.6/lib/bundler/cli.rb:31:in `dispatch'
	from /usr/local/lib/ruby/gems/2.7.0/gems/bundler-2.3.6/lib/bundler/vendor/thor/lib/thor/base.rb:485:in `start'
	from /usr/local/lib/ruby/gems/2.7.0/gems/bundler-2.3.6/lib/bundler/cli.rb:25:in `start'
	from /usr/local/lib/ruby/gems/2.7.0/gems/bundler-2.3.6/exe/bundle:48:in `block in <top (required)>'
	from /usr/local/lib/ruby/gems/2.7.0/gems/bundler-2.3.6/lib/bundler/friendly_errors.rb:103:in `with_friendly_errors'
	from /usr/local/lib/ruby/gems/2.7.0/gems/bundler-2.3.6/exe/bundle:36:in `<top (required)>'
	from /usr/local/bin/bundle:23:in `load'
	from /usr/local/bin/bundle:23:in `<main>'

Potential solutions

  1. Add data/whats_new/\w*.yml to backend-patterns so that rspec unit minimal jobs run in that case
  2. Make rspec:coverage gracefully exit when there's no coverage files to process