diff --git a/.gitlab/ci/qa-common/rules.gitlab-ci.yml b/.gitlab/ci/qa-common/rules.gitlab-ci.yml index 6895d78fbf24fa2d467a5f98448296bfe665c9ab..7f7c9bbb6775877611be13089e047805865ef13f 100644 --- a/.gitlab/ci/qa-common/rules.gitlab-ci.yml +++ b/.gitlab/ci/qa-common/rules.gitlab-ci.yml @@ -183,7 +183,7 @@ include: QA_RSPEC_TAGS: "--tag smoke --tag ~orchestrated --tag ~skip_live_env" - if: '$CI_PROJECT_NAME == "omnibus-gitlab" && $PIPELINE_TYPE =~ /TRIGGERED_(CE|EE)_PIPELINE/ && $QA_OMNIBUS_MR_TESTS == "except-smoke"' variables: - QA_RSPEC_TAGS: "--tag ~smoke --tag ~orchestrated --tag ~skip_live_env --tag ~transient" + QA_RSPEC_TAGS: "--tag ~smoke --tag ~orchestrated --tag ~skip_live_env" # ------------------------------------------ # Report diff --git a/.rubocop_todo/layout/line_length.yml b/.rubocop_todo/layout/line_length.yml index 005f70f2d1a0f79c55f05b745457fb00aeb53e95..b05080e40613ec286f9f7e89f4834a977aa65faa 100644 --- a/.rubocop_todo/layout/line_length.yml +++ b/.rubocop_todo/layout/line_length.yml @@ -2427,7 +2427,6 @@ Layout/LineLength: - 'qa/qa/specs/features/browser_ui/2_plan/issue/issue_suggestions_spec.rb' - 'qa/qa/specs/features/browser_ui/2_plan/issue/real_time_assignee_spec.rb' - 'qa/qa/specs/features/browser_ui/2_plan/related_issues/related_issues_spec.rb' - - 'qa/qa/specs/features/browser_ui/2_plan/transient/comment_on_discussion_spec.rb' - 'qa/qa/specs/features/browser_ui/3_create/merge_request/create_merge_request_via_template_spec.rb' - 'qa/qa/specs/features/browser_ui/3_create/merge_request/rebase_merge_request_spec.rb' - 'qa/qa/specs/features/browser_ui/3_create/merge_request/squash_merge_request_spec.rb' diff --git a/doc/development/testing_guide/end_to_end/best_practices/rspec_metadata_tests.md b/doc/development/testing_guide/end_to_end/best_practices/rspec_metadata_tests.md index eaa03777188cec71aac0cd44994c568b59d02eb4..1f0bc517cd02276703a1cdf4fdcb520f071ea9cf 100644 --- a/doc/development/testing_guide/end_to_end/best_practices/rspec_metadata_tests.md +++ b/doc/development/testing_guide/end_to_end/best_practices/rspec_metadata_tests.md @@ -54,7 +54,6 @@ This is a partial list of the [RSpec metadata](https://rspec.info/features/3-12/ | `:health_check` | The test belongs to the smallest test suite, a subset of smoke. Used to monitor the status and health of the application | | `:smtp` | The test requires a GitLab instance to be configured to use an SMTP server. Tests SMTP notification email delivery from GitLab by using MailHog. | | `:testcase` | The link to the test case issue in the [GitLab Project test cases](https://gitlab.com/gitlab-org/gitlab/-/quality/test_cases). | -| `:transient` | The test tests transient bugs. It is excluded by default. | | `:ai_gateway` | The test requires a GitLab instance configured to use a local [AI gateway](https://gitlab.com/gitlab-org/modelops/applied-ml/code-suggestions/ai-assist) with a valid cloud license, Duo Pro add-on and Duo Pro seat assigned to the administrator user. Paired with the `:orchestrated` tag. | | `:ai_gateway_no_seat_assigned` | The test requires a GitLab instance configured to use a local [AI gateway](https://gitlab.com/gitlab-org/modelops/applied-ml/code-suggestions/ai-assist) where there is no seat assigned to the administrator user. Paired with the `:orchestrated` tag. | | `:ai_gateway_no_license` | The test requires a GitLab instance configured to use a local [AI gateway](https://gitlab.com/gitlab-org/modelops/applied-ml/code-suggestions/ai-assist) without a valid cloud license. Paired with the `:orchestrated` tag. | diff --git a/doc/development/testing_guide/end_to_end/running_tests/index.md b/doc/development/testing_guide/end_to_end/running_tests/index.md index 9bd45c05016914618db1ad9465062f4c378576bb..c03f27a23867578ba795a212c7f1a584e84d550e 100644 --- a/doc/development/testing_guide/end_to_end/running_tests/index.md +++ b/doc/development/testing_guide/end_to_end/running_tests/index.md @@ -136,15 +136,6 @@ Once you have the license file you can export it as an environment variable and export QA_EE_LICENSE=$(cat /path/to/gitlab_license) ``` -### Transient bugs - -A suite of tests have been written to test for [transient bugs](https://about.gitlab.com/handbook/engineering/quality/issue-triage/#transient-bugs). -Those tests are tagged `:transient` and therefore can be run via: - -```shell -bundle exec rspec --tag transient -``` - ### Quarantined tests Tests can be put in quarantine by assigning `:quarantine` metadata. This means they will be skipped unless run with `--tag quarantine`. This can be used for tests that are expected to fail while a fix is in progress (similar to how [`skip` or `pending`](https://relishapp.com/rspec/rspec-core/v/3-8/docs/pending-and-skipped-examples) can be used). diff --git a/qa/knapsack/master_report.json b/qa/knapsack/master_report.json index 47678134d56e9cf34ef5924e6df6de93d8997e71..14bf3a0dea7a4edcc0afc241cb50ef2ad337342b 100644 --- a/qa/knapsack/master_report.json +++ b/qa/knapsack/master_report.json @@ -60,7 +60,6 @@ "qa/specs/features/browser_ui/2_plan/project_wiki/project_based_list_spec.rb": 36.73259511800006, "qa/specs/features/browser_ui/2_plan/project_wiki/project_based_page_deletion_spec.rb": 44.374364992999745, "qa/specs/features/browser_ui/2_plan/related_issues/related_issues_spec.rb": 21.243798665999975, - "qa/specs/features/browser_ui/2_plan/transient/comment_on_discussion_spec.rb": 170.97194661700007, "qa/specs/features/browser_ui/3_create/merge_request/cherry_pick/cherry_pick_a_merge_spec.rb": 30.132673152000052, "qa/specs/features/browser_ui/3_create/merge_request/cherry_pick/cherry_pick_commit_spec.rb": 17.00821341599999, "qa/specs/features/browser_ui/3_create/merge_request/create_merge_request_spec.rb": 60.26460518700014, @@ -255,4 +254,4 @@ "qa/specs/features/ee/browser_ui/8_monitor/incident_management/incident_quick_action_spec.rb": 12.953126879000138, "qa/specs/features/ee/browser_ui/9_data_stores/group/prevent_forking_outside_group_spec.rb": 39.884931140999925, "qa/specs/features/ee/browser_ui/9_data_stores/group/share_group_with_group_spec.rb": 24.70188353599997 -} \ No newline at end of file +} diff --git a/qa/qa/runtime/env.rb b/qa/qa/runtime/env.rb index ff146086d675f528cdf93df53d2a828787dee288..503a30293df5b0c9bbb0fdf42858a60caae7488f 100644 --- a/qa/qa/runtime/env.rb +++ b/qa/qa/runtime/env.rb @@ -472,10 +472,6 @@ def geo_environment? QA::Runtime::Scenario.attributes.include?(:geo_secondary_address) end - def transient_trials - ENV.fetch('GITLAB_QA_TRANSIENT_TRIALS', 10).to_i - end - def gitlab_tls_certificate ENV['GITLAB_TLS_CERTIFICATE'] end diff --git a/qa/qa/specs/features/api/3_create/repository/push_postreceive_idempotent_spec.rb b/qa/qa/specs/features/api/3_create/repository/push_postreceive_idempotent_spec.rb index fddd1bfc69f2f7789569d2f470f4f7b4a9ae0e99..aa508dbaf54e2407254fd4a2623e48164792a875 100644 --- a/qa/qa/specs/features/api/3_create/repository/push_postreceive_idempotent_spec.rb +++ b/qa/qa/specs/features/api/3_create/repository/push_postreceive_idempotent_spec.rb @@ -12,12 +12,6 @@ module QA verify_single_event_per_push(repeat: 3) end - it 'repeatedly pushes and creates a single push event several times', :transient, testcase: 'https://gitlab.com/gitlab-org/gitlab/-/quality/test_cases/347642' do - verify_single_event_per_push(repeat: Runtime::Env.transient_trials) do |i| - QA::Runtime::Logger.info("Transient bug test action - Trial #{i}") - end - end - def verify_single_event_per_push(repeat:) repeat.times do |i| yield i if block_given? diff --git a/qa/qa/specs/features/browser_ui/2_plan/transient/comment_on_discussion_spec.rb b/qa/qa/specs/features/browser_ui/2_plan/transient/comment_on_discussion_spec.rb deleted file mode 100644 index b488fb3133688dd5694a809ea7711d3c290b588c..0000000000000000000000000000000000000000 --- a/qa/qa/specs/features/browser_ui/2_plan/transient/comment_on_discussion_spec.rb +++ /dev/null @@ -1,46 +0,0 @@ -# frozen_string_literal: true - -module QA - RSpec.describe 'Plan', :transient, product_group: :project_management do - describe 'Discussion comments transient bugs' do - let(:user1) { Runtime::User::Store.additional_test_user } - - let(:my_first_reply) { 'This is my first reply' } - let(:my_second_reply) { "@#{Runtime::Env.gitlab_qa_username_1}" } - let(:my_third_reply) { "@#{Runtime::Env.gitlab_qa_username_1} This is my third reply" } - let(:my_fourth_reply) { '/close' } - - before do - Flow::Login.sign_in - end - - it 'comments with mention on a discussion in an issue', testcase: 'https://gitlab.com/gitlab-org/gitlab/-/quality/test_cases/347940' do - Runtime::Env.transient_trials.times do |i| - QA::Runtime::Logger.info("Transient bug test action - Trial #{i}") - - create(:issue).visit! - - Page::Project::Issue::Show.perform do |issue_page| - issue_page.select_all_activities_filter - issue_page.start_discussion('My first discussion') - issue_page.reply_to_discussion(1, my_first_reply) - - expect(issue_page).to have_comment(my_first_reply) - - issue_page.reply_to_discussion(1, "#{my_second_reply}\n") - - expect(issue_page).to have_comment(my_second_reply) - - issue_page.reply_to_discussion(1, my_third_reply) - - expect(issue_page).to have_comment(my_third_reply) - - issue_page.reply_to_discussion(1, my_fourth_reply) - - expect(issue_page).to have_system_note('closed') - end - end - end - end - end -end diff --git a/qa/qa/specs/runner.rb b/qa/qa/specs/runner.rb index 474f8ea382538fa7a9004c1457e05ce5eec576df..525d1150bff01654ade186f8fe583cc4392ef77d 100644 --- a/qa/qa/specs/runner.rb +++ b/qa/qa/specs/runner.rb @@ -17,7 +17,7 @@ class Runner < Scenario::Template GitlabEdition.jh? ? File.expand_path('../../.././jh/qa/qa/specs/features', __dir__) : nil ].compact.freeze DEFAULT_STD_ARGS = [$stderr, $stdout].freeze - DEFAULT_SKIPPED_TAGS = %w[orchestrated transient].freeze + DEFAULT_SKIPPED_TAGS = %w[orchestrated].freeze def initialize @tty = false diff --git a/qa/spec/specs/runner_spec.rb b/qa/spec/specs/runner_spec.rb index 51cb80d728aa9b7ece3f6480dfbf6581e86752e2..3c121e23212a4858cdce13ac7490f365e745dc2a 100644 --- a/qa/spec/specs/runner_spec.rb +++ b/qa/spec/specs/runner_spec.rb @@ -13,7 +13,7 @@ end before do - stub_const('DEFAULT_SKIPPED_TAGS', %w[--tag ~orchestrated --tag ~transient].freeze) + stub_const('DEFAULT_SKIPPED_TAGS', %w[--tag ~orchestrated].freeze) end describe '#perform' do @@ -57,7 +57,7 @@ it 'sets the `--dry-run` flag and minimal arguments' do expect_rspec_runner_arguments( - ['--dry-run', '--tag', '~orchestrated', '--tag', '~transient', '--tag', '~geo', *described_class::DEFAULT_TEST_PATH_ARGS], + ['--dry-run', '--tag', '~orchestrated', '--tag', '~geo', *described_class::DEFAULT_TEST_PATH_ARGS], [err, out] ) @@ -136,7 +136,7 @@ it 'passes the given tests path and excludes the default skipped, and geo tags' do expect_rspec_runner_arguments( - ['--tag', '~orchestrated', '--tag', '~transient', '--tag', '~geo', + ['--tag', '~orchestrated', '--tag', '~geo', 'qa/specs/features/foo', '--format', 'documentation', '--format', 'QA::Support::JsonFormatter', '--out', "tmp/rspec-#{ENV['CI_JOB_ID'] || 'local'}-retried-false.json", @@ -150,7 +150,7 @@ context 'when "--tag smoke" and "qa/specs/features/foo" are set as options' do subject { described_class.new.tap { |runner| runner.options = %w[--tag smoke qa/specs/features/foo] } } - it 'focuses on the given tag and includes the path without excluding the orchestrated or transient tags' do + it 'focuses on the given tag and includes the path without excluding the orchestrated tag' do expect_rspec_runner_arguments( ['--tag', '~geo', '--tag', 'smoke', 'qa/specs/features/foo',