ci: Allow to fast-quarantine RSpec examples
What does this MR do and why?
This uses an external source of truth at https://gitlab-org.gitlab.io/quality/engineering-productivity/fast-quarantine/rspec/fast_quarantine-gitlab.txt so that we'll be able to quickly & temporarily quarantine problematic tests without having to open/merge a merge request.
That could be especially useful for Delivery pipelines. We’d need to support E2E tests fast-quarantining, though, as these are the ones that usually need to be quarantined for Delivery pipelines.
Examples
With https://gitlab-org.gitlab.io/quality/engineering-productivity/fast-quarantine/rspec/fast_quarantine-gitlab.txt having the following content:
./spec/tasks/gitlab/usage_data_rake_spec.rb[1:5:2:1]
ee/spec/features/boards/swimlanes/epics_swimlanes_sidebar_spec.rb
Example of a quarantined example via example id:
Skipping ./spec/tasks/gitlab/usage_data_rake_spec.rb[1:5:2:1] 'gitlab:usage data take tasks generate_and_send generate_ci_template_events generates /builds/gitlab-org/gitlab/lib/gitlab/usage_data_counters/known_events/ci_templates.yml' because it's been fast-quarantined with 'spec/tasks/gitlab/usage_data_rake_spec.rb[1:5:2:1]'.
Example of a quarantined file:
epics swimlanes sidebar
Starting the Capybara driver server...
in project boards
behaves like issue boards sidebar
Skipping ./ee/spec/features/boards/swimlanes/epics_swimlanes_sidebar_spec.rb[1:1:1:1] 'epics swimlanes sidebar in project boards behaves like issue boards sidebar shows sidebar when clicking issue' because it's been fast-quarantined with 'ee/spec/features/boards/swimlanes/epics_swimlanes_sidebar_spec.rb'.
shows sidebar when clicking issue (PENDING: around hook at ./spec/support/fast_quarantine.rb:27 did not execute the example)
Skipping ./ee/spec/features/boards/swimlanes/epics_swimlanes_sidebar_spec.rb[1:1:1:2] 'epics swimlanes sidebar in project boards behaves like issue boards sidebar closes sidebar when clicking issue' because it's been fast-quarantined with 'ee/spec/features/boards/swimlanes/epics_swimlanes_sidebar_spec.rb'.
[...]
MR acceptance checklist
This checklist encourages us to confirm any changes have been analyzed to reduce risks in quality, performance, reliability, security, and maintainability.
-
I have evaluated the MR acceptance checklist for this MR.
Related to gitlab-org/quality/engineering-productivity/team#204 (closed).