chore: Add skip_cells Rspec tag to tests with the health_check tag that fail on Cells currently

What does this MR do and why?

chore: Add Rspec tags to health_check tests that fail on Cells

Related to https://gitlab.com/gitlab-com/gl-infra/delivery/-/issues/21521.

We are going to run QA tests against Cells, through the HTTP router. When we do this, 6/10 tests that are tagged with health_check pass. The remaining 4 tests fail because the features required for them to pass has not yet been implemented in Cells (Git SSH routing and webhooks routing)

CI job: https://ops.gitlab.net/gitlab-com/gl-infra/cells/tissue/-/jobs/20291256#L1758

This job shows that the four failing tests were the following:

Finished in 6 minutes 41 seconds (files took 2.3 seconds to load)
10 examples, 4 failures
Failed examples:
rspec ./qa/specs/features/browser_ui/3_create/repository/push_over_ssh_spec.rb:16 # Create SSH key support pushes code to the repository via SSH
rspec ./qa/specs/features/browser_ui/3_create/repository/push_over_ssh_spec.rb:34 # Create SSH key support pushes multiple branches and tags together
rspec ./qa/specs/features/browser_ui/3_create/merge_request/create_merge_request_spec.rb:23 # Create Create a new merge request creates a basic merge request
rspec ./qa/specs/features/browser_ui/3_create/merge_request/create_merge_request_spec.rb:45 # Create Create a new merge request creates a merge request with a milestone and label

I have added the skip_cells Rspec tag to these tests. Using this tag, we can run only the tests that we know will pass on Cells using a variation of this command:

(code/gitlab-org/gitlab) $ cd qa/ 
(code/gitlab-org/gitlab) $ bundle exec bin/qa Test::Instance::All https://gitlab.example.com -- --dry-run --tag health_check --tag '~skip_cells'
[snip]
Plan
  Issue creation
    closes an issue
    creates an issue
    creates an issue and updates the description
    when using attachments in comments
      comments on an issue with an attachment

Software Supply Chain Security
  Project access tokens
    can be created and revoked via the UI

Software Supply Chain Security
  basic user login
    user logs in using basic credentials and logs out

Finished in 0.02033 seconds (files took 1.56 seconds to load)
6 examples, 0 failures

Also, we can use this tag to get a quick idea of the features that are supported by the Legacy cell that are not yet supported by the HTTP router:

$ bundle exec bin/qa Test::Instance::All https://gitlab.example.com -- --dry-run --tag skip_cells
[snip]
Create
  SSH key support
    pushes code to the repository via SSH
    pushes multiple branches and tags together

Create
  Create a new merge request
    creates a basic merge request (PENDING: In quarantine : https://gitlab.com/gitlab-org/gitlab/-/issues/412361)
    creates a merge request with a milestone and label (PENDING: In quarantine : https://gitlab.com/gitlab-org/gitlab/-/issues/494054)

References

https://gitlab.com/gitlab-com/gl-infra/delivery/-/issues/21521#note_2739162769

How to set up and validate locally

  1. Run the following commands from the root of the GitLab codebase

    $ cd qa
    $ bundle exec bin/qa Test::Instance::All https://gitlab.example.com -- --dry-run --tag health_check --tag '~skip_cells'
  2. Confirm that only 6 examples will run without --dry-run

MR acceptance checklist

Evaluate this MR against the MR acceptance checklist. It helps you analyze changes to reduce risks in quality, performance, reliability, security, and maintainability.

Edited by Siddharth Kannan

Merge request reports

Loading