Allow `source` and `test` definitions to be lists
Now, we map many sources to one test, one source to many tests, as well as many sources to many tests.
This enables the following redundant definitions:
mapping:
- source: 'db/(?:post_)?migrate/(?:[0-9]+)_(.+)\.rb'
test: 'spec/migrations/%s_spec.rb'
- source: 'db/(?:post_)?migrate/([0-9]+)_(.+)\.rb'
test: 'spec/migrations/%s_%s_spec.rb'
- source: 'ee/config/metrics/.*.yml'
test: 'ee/spec/config/metrics/every_metric_definition_spec.rb'
- source: 'ee/lib/ee/gitlab/usage_data_counters/known_events/.*.yml'
test: 'ee/spec/config/metrics/every_metric_definition_spec.rb'
to be consolidated as
mapping:
- source: 'db/(?:post_)?migrate/(?:[0-9]+)_(.+)\.rb'
test:
- 'spec/migrations/%s_spec.rb'
- 'spec/migrations/%s_%s_spec.rb'
- source:
- 'ee/config/metrics/.*.yml'
- 'ee/lib/ee/gitlab/usage_data_counters/known_events/.*.yml'
test: 'ee/spec/config/metrics/every_metric_definition_spec.rb'
See https://gitlab.com/gitlab-org/gitlab/-/blob/8597c87f5422ad4aefb57ccaae361f5416746909/tests.yml#L92-95 and https://gitlab.com/gitlab-org/gitlab/-/blob/8597c87f5422ad4aefb57ccaae361f5416746909/tests.yml#L114-117.
Edited by Peter Leitzen