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
-
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' -
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.