diff --git a/GITLAB_KAS_VERSION b/GITLAB_KAS_VERSION index 4743c05f55b..2db6229eb27 100644 --- a/GITLAB_KAS_VERSION +++ b/GITLAB_KAS_VERSION @@ -1 +1 @@ -1e47c7b6599377e58e2cce50984817aed247a3f2 +d13f8f0278c9e81ffcad439d4c0d55b4c2ee67e8 diff --git a/app/controllers/admin/impersonation_tokens_controller.rb b/app/controllers/admin/impersonation_tokens_controller.rb index ecacb81b8d4..0ba04a3416a 100644 --- a/app/controllers/admin/impersonation_tokens_controller.rb +++ b/app/controllers/admin/impersonation_tokens_controller.rb @@ -84,6 +84,8 @@ class Admin::ImpersonationTokensController < Admin::ApplicationController def set_index_vars @scopes = Gitlab::Auth.available_scopes_for(current_user) + @scopes = ::VirtualRegistries.filter_token_scopes(@scopes, current_user) + @impersonation_token ||= finder.build @active_impersonation_tokens = active_impersonation_tokens end diff --git a/app/controllers/concerns/access_tokens_actions.rb b/app/controllers/concerns/access_tokens_actions.rb index 7fcb3210ed4..c9eb45424cb 100644 --- a/app/controllers/concerns/access_tokens_actions.rb +++ b/app/controllers/concerns/access_tokens_actions.rb @@ -98,6 +98,9 @@ module AccessTokensActions resource.members.load @scopes = Gitlab::Auth.available_scopes_for(resource) + + @scopes = ::VirtualRegistries.filter_token_scopes(@scopes, current_user) + @active_access_tokens, @active_access_tokens_size = active_access_tokens @inactive_access_tokens_size = inactive_access_tokens.size end diff --git a/app/controllers/user_settings/personal_access_tokens_controller.rb b/app/controllers/user_settings/personal_access_tokens_controller.rb index d8f0975145c..825e6878009 100644 --- a/app/controllers/user_settings/personal_access_tokens_controller.rb +++ b/app/controllers/user_settings/personal_access_tokens_controller.rb @@ -106,6 +106,9 @@ module UserSettings def set_index_vars @scopes = Gitlab::Auth.available_scopes_for(current_user) + + @scopes = ::VirtualRegistries.filter_token_scopes(@scopes, current_user) + @active_access_tokens, @active_access_tokens_size = active_access_tokens end diff --git a/app/models/hooks/web_hook_log.rb b/app/models/hooks/web_hook_log.rb index 8c904cf44bc..6f5914c52af 100644 --- a/app/models/hooks/web_hook_log.rb +++ b/app/models/hooks/web_hook_log.rb @@ -6,6 +6,12 @@ class WebHookLog < ApplicationRecord include CreatedAtFilterable include PartitionedTable + ROUTING_FEATURE_FLAG = 'web_hook_logs_daily_enabled' + self.define_singleton_method(:routing_table_name) { 'web_hook_logs_daily' } + self.define_singleton_method(:routing_table_name_flag) { ROUTING_FEATURE_FLAG } + + include ::Ci::Partitionable::Switch # rubocop:disable Layout/ClassStructure -- required to be loaded after constant + OVERSIZE_REQUEST_DATA = { 'oversize' => true }.freeze MAX_RECENT_DAYS = 7 diff --git a/app/models/virtual_registries.rb b/app/models/virtual_registries.rb new file mode 100644 index 00000000000..ab4cafc4feb --- /dev/null +++ b/app/models/virtual_registries.rb @@ -0,0 +1,11 @@ +# frozen_string_literal: true + +# Remove this file when virtual_registry_maven *and* dependency_proxy_read_write_scopes are removed +module VirtualRegistries + def self.filter_token_scopes(scopes, current_user) + return scopes if Feature.enabled?(:virtual_registry_maven, current_user) || + Feature.enabled?(:dependency_proxy_read_write_scopes, current_user) + + scopes - ::Gitlab::Auth.virtual_registry_scopes + end +end diff --git a/app/services/import/source_users/base_service.rb b/app/services/import/source_users/base_service.rb index 94b784b904d..f2f880da32f 100644 --- a/app/services/import/source_users/base_service.rb +++ b/app/services/import/source_users/base_service.rb @@ -23,7 +23,7 @@ module Import end def send_user_reassign_email - Notify.import_source_user_reassign(import_source_user.id).deliver_now + Notify.import_source_user_reassign(import_source_user.id).deliver_later end end end diff --git a/config/feature_flags/gitlab_com_derisk/web_hook_logs_daily_enabled.yml b/config/feature_flags/gitlab_com_derisk/web_hook_logs_daily_enabled.yml new file mode 100644 index 00000000000..26ca4fc9d9c --- /dev/null +++ b/config/feature_flags/gitlab_com_derisk/web_hook_logs_daily_enabled.yml @@ -0,0 +1,9 @@ +--- +name: web_hook_logs_daily_enabled +feature_issue_url: https://gitlab.com/gitlab-org/gitlab/-/issues/514530 +introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/180522 +rollout_issue_url: https://gitlab.com/gitlab-org/gitlab/-/issues/517450 +milestone: '17.9' +group: group::database frameworks +type: gitlab_com_derisk +default_enabled: false diff --git a/config/feature_flags/wip/dependency_proxy_read_write_scopes.yml b/config/feature_flags/wip/dependency_proxy_read_write_scopes.yml new file mode 100644 index 00000000000..c00229cc400 --- /dev/null +++ b/config/feature_flags/wip/dependency_proxy_read_write_scopes.yml @@ -0,0 +1,9 @@ +--- +name: dependency_proxy_read_write_scopes +feature_issue_url: https://gitlab.com/gitlab-org/gitlab/-/issues/336800 +introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/180333 +rollout_issue_url: https://gitlab.com/gitlab-org/gitlab/-/issues/517249 +milestone: '17.9' +group: group::container registry +type: wip +default_enabled: false diff --git a/db/docs/issue_links.yml b/db/docs/issue_links.yml index 02a07d5ecff..7a12515737f 100644 --- a/db/docs/issue_links.yml +++ b/db/docs/issue_links.yml @@ -9,14 +9,6 @@ description: Links two issues by relationship type, which can be related or bloc introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/1719 milestone: '9.4' gitlab_schema: gitlab_main_cell -desired_sharding_key: - namespace_id: - references: namespaces - backfill_via: - parent: - foreign_key: source_id - table: issues - sharding_key: namespace_id - belongs_to: source -desired_sharding_key_migration_job_name: BackfillIssueLinksNamespaceId table_size: small +sharding_key: + namespace_id: namespaces diff --git a/db/docs/web_hook_logs_daily.yml b/db/docs/web_hook_logs_daily.yml index f3420090878..1972d89a925 100644 --- a/db/docs/web_hook_logs_daily.yml +++ b/db/docs/web_hook_logs_daily.yml @@ -2,6 +2,7 @@ table_name: web_hook_logs_daily classes: - WebHookLog +- WebHookLog::Partitioned feature_categories: - integrations description: Webhooks logs data partitioned by day. diff --git a/db/post_migrate/20250210065510_validate_issue_links_namespace_id_not_null_constraint.rb b/db/post_migrate/20250210065510_validate_issue_links_namespace_id_not_null_constraint.rb new file mode 100644 index 00000000000..01ad63bf71b --- /dev/null +++ b/db/post_migrate/20250210065510_validate_issue_links_namespace_id_not_null_constraint.rb @@ -0,0 +1,13 @@ +# frozen_string_literal: true + +class ValidateIssueLinksNamespaceIdNotNullConstraint < Gitlab::Database::Migration[2.2] + milestone '17.10' + + def up + validate_not_null_constraint :issue_links, :namespace_id + end + + def down + # no-op + end +end diff --git a/db/schema_migrations/20250210065510 b/db/schema_migrations/20250210065510 new file mode 100644 index 00000000000..f0bdfbeb7cb --- /dev/null +++ b/db/schema_migrations/20250210065510 @@ -0,0 +1 @@ +51a1cdee9b563c02c0d51fb689d71226b893c2a9f5fb08c8570f68b4e7bec08b \ No newline at end of file diff --git a/db/structure.sql b/db/structure.sql index b531209f827..3a83cbe40db 100644 --- a/db/structure.sql +++ b/db/structure.sql @@ -15273,7 +15273,8 @@ CREATE TABLE issue_links ( created_at timestamp without time zone, updated_at timestamp without time zone, link_type smallint DEFAULT 0 NOT NULL, - namespace_id bigint + namespace_id bigint, + CONSTRAINT check_c32f659c75 CHECK ((namespace_id IS NOT NULL)) ); CREATE SEQUENCE issue_links_id_seq @@ -27262,9 +27263,6 @@ ALTER TABLE approval_merge_request_rules ALTER TABLE approvals ADD CONSTRAINT check_9da7c942dc CHECK ((project_id IS NOT NULL)) NOT VALID; -ALTER TABLE issue_links - ADD CONSTRAINT check_c32f659c75 CHECK ((namespace_id IS NOT NULL)) NOT VALID; - ALTER TABLE sprints ADD CONSTRAINT check_ccd8a1eae0 CHECK ((start_date IS NOT NULL)) NOT VALID; diff --git a/doc/development/i18n/img/crowdin-editor-string-context.png b/doc/development/i18n/img/crowdin-editor-string-context.png index f6120605e46..acb1e6e8e35 100644 Binary files a/doc/development/i18n/img/crowdin-editor-string-context.png and b/doc/development/i18n/img/crowdin-editor-string-context.png differ diff --git a/doc/development/i18n/img/gitlab-search-occurrence.png b/doc/development/i18n/img/gitlab-search-occurrence.png index 1be619f3679..9f4fd613a31 100644 Binary files a/doc/development/i18n/img/gitlab-search-occurrence.png and b/doc/development/i18n/img/gitlab-search-occurrence.png differ diff --git a/doc/development/i18n/proofreader.md b/doc/development/i18n/proofreader.md index 2b8a302b90a..8cdfc28d6f2 100644 --- a/doc/development/i18n/proofreader.md +++ b/doc/development/i18n/proofreader.md @@ -48,6 +48,8 @@ are very appreciative of the work done by translators and proofreaders! - Proofreaders needed. - Estonian - Proofreaders needed. +- Farsi + - Iman manati [GitLab](https://gitlab.com/baratiiman3), [Crowdin](https://crowdin.com/profile/iman31) - Filipino - Proofreaders needed. - French diff --git a/doc/development/i18n/translation.md b/doc/development/i18n/translation.md index 99e45236b31..2233cf56fc2 100644 --- a/doc/development/i18n/translation.md +++ b/doc/development/i18n/translation.md @@ -43,21 +43,6 @@ Remember to **Save** each translation. ### Context -{{< details >}} - -- Status: Beta - -{{< /details >}} - -{{< alert type="warning" >}} - -This feature is in [beta](../../policy/development_stages_support.md#beta). -You might get a string similar to the one you want to translate, -so be sure to select the correct string and line of code. -If you cannot find a string with code search, post a comment in Crowdin with that string. - -{{< /alert >}} - In Crowdin, each string contains a link that shows all instances of the string in the entire GitLab codebase. When you translate a string, you can go to the relevant commit or merge request to get more context. diff --git a/doc/user/gitlab_duo_chat/_index.md b/doc/user/gitlab_duo_chat/_index.md index 8f95b294b48..d0f2474f638 100644 --- a/doc/user/gitlab_duo_chat/_index.md +++ b/doc/user/gitlab_duo_chat/_index.md @@ -24,8 +24,14 @@ title: GitLab Duo Chat {{< /history >}} -GitLab Duo Chat is your personal AI-powered assistant for boosting productivity. -It can assist various tasks of your daily work with the AI-generated content. +GitLab Duo Chat is an AI-powered assistant that accelerates development with +contextual, conversational AI. Duo Chat: + +- Explains code and suggests improvements directly in your development environment. +- Analyzes code, merge requests, issues, and other GitLab artifacts. +- Generates code, tests, and documentation based on your requirements and codebase. +- Integrates directly in the GitLab UI, Web IDE, VS Code, JetBrains IDEs, and Visual Studio. +- Can include information from your repositories and projects to deliver targeted improvements. ## Supported editor extensions diff --git a/gems/activerecord-gitlab/README.md b/gems/activerecord-gitlab/README.md index c5b56e367b9..021477bf154 100644 --- a/gems/activerecord-gitlab/README.md +++ b/gems/activerecord-gitlab/README.md @@ -1,4 +1,4 @@ -# ActiveRecord::GitlabPatches +# activerecord-gitlab -This gem adds GitLab specific Active Record patches. +This gem adds GitLab specific Active Record patches and a fixed items model concern and association. We have patches as a separate gem to isolate complexity. diff --git a/gems/activerecord-gitlab/lib/active_record/fixed_items_model.rb b/gems/activerecord-gitlab/lib/active_record/fixed_items_model.rb new file mode 100644 index 00000000000..f95ff85a7b7 --- /dev/null +++ b/gems/activerecord-gitlab/lib/active_record/fixed_items_model.rb @@ -0,0 +1,4 @@ +# frozen_string_literal: true + +require_relative "fixed_items_model/model" +require_relative "fixed_items_model/has_one" diff --git a/gems/activerecord-gitlab/lib/active_record/fixed_items_model/has_one.rb b/gems/activerecord-gitlab/lib/active_record/fixed_items_model/has_one.rb new file mode 100644 index 00000000000..32484ea239d --- /dev/null +++ b/gems/activerecord-gitlab/lib/active_record/fixed_items_model/has_one.rb @@ -0,0 +1,82 @@ +# frozen_string_literal: true + +module ActiveRecord + module FixedItemsModel + # Realizes a has one association with a fixed items model. + # + # See ActiveRecord::FixedItemsModel::Model for reference + # for such a fixed items model. + # + # A minimal example is: + # + # class MyModel < ApplicationRecord + # include ActiveRecord::FixedItemsModel::HasOne + # + # belongs_to_fixed_items :static_model, fixed_items_class: StaticModel + # end + # + # The attribute `static_model_id` must exist for the model. + # + # Usage: + # + # m = MyModel.last + # m.static_model # Returns fixed items model instance + # m.static_model = StaticModel.find(1) + # m.static_model_id = 1 # still possible + # m.static_model? # Bool + # + module HasOne + extend ActiveSupport::Concern + + class_methods do + def belongs_to_fixed_items(association_name, fixed_items_class:, foreign_key: nil) + foreign_key ||= "#{association_name}_id" + + raise "Missing attribute #{foreign_key}" unless attribute_names.include?(foreign_key) + + # Getter method + define_method(association_name) do + current_id = read_attribute(foreign_key) + return if current_id.nil? + + @cached_static_associations ||= {} + + cached_association = @cached_static_associations[association_name] + + # Invalidate cache if the foreign key has changed + if cached_association && cached_association.id != current_id + @cached_static_associations.delete(association_name) + end + + @cached_static_associations[association_name] ||= fixed_items_class.find(current_id) + end + + # Setter method + define_method(:"#{association_name}=") do |static_object| + @cached_static_associations&.delete(association_name) + write_attribute(foreign_key, static_object&.id) + end + + # Query method + define_method(:"#{association_name}?") do + attribute_present?(foreign_key) + end + + # Clear cache on reset + if method_defined?(:reset) + after_reset = instance_method(:reset) + define_method(:reset) do |*args| + @cached_static_associations = nil + after_reset.bind_call(self, *args) + end + else + define_method(:reset) do + @cached_static_associations = nil + self + end + end + end + end + end + end +end diff --git a/gems/activerecord-gitlab/lib/active_record/fixed_items_model/model.rb b/gems/activerecord-gitlab/lib/active_record/fixed_items_model/model.rb new file mode 100644 index 00000000000..1627c4082e1 --- /dev/null +++ b/gems/activerecord-gitlab/lib/active_record/fixed_items_model/model.rb @@ -0,0 +1,96 @@ +# frozen_string_literal: true + +module ActiveRecord + module FixedItemsModel + # Includes handy AR-like methods to models that have a fixed set + # of items that are stored in code instead of the database. + # + # See ActiveRecord::FixedItemsModel::HasOne for reference + # on how to build associations. + # + # A minimal example of such a model is: + # + # class StaticModel + # include ActiveModel::Model + # include ActiveModel::Attributes + # include ActiveRecord::FixedItemsModel::Model + # + # ITEMS = [ + # { + # id: 1, + # name: 'To do' + # } + # ] + # + # attribute :id, :integer + # attribute :name, :string + # end + # + # Usage: + # + # StaticModel.find(1) + # StaticModel.where(name: 'To do') + # StaticModel.find_by(name: 'To do') + # StaticModel.all + # + module Model + extend ActiveSupport::Concern + + class_methods do + # Caches created instances for fast retrieval used in associations. + def find(id) + find_instances[id] ||= self::ITEMS.find { |item| item[:id] == id }&.then do |item_data| + new(item_data) + end + end + + def all + self::ITEMS.map { |data| new(data) } + end + + def where(**conditions) + all.select { |item| item.matches?(conditions) } + end + + def find_by(**conditions) + all.find { |item| item.matches?(conditions) } + end + + private + + def find_instances + @find_instances ||= [] + end + end + + included do + def matches?(conditions) + conditions.all? do |attribute, value| + if value.is_a?(Array) + value.include?(read_attribute(attribute)) + else + read_attribute(attribute) == value + end + end + end + + def has_attribute?(key) + attribute_names.include?(key.to_s) + end + + def read_attribute(key) + return nil unless has_attribute?(key) + + # Passed attributes are actual attributes of the model + # rubocop:disable GitlabSecurity/PublicSend -- Reason above + public_send(key) + # rubocop:enable GitlabSecurity/PublicSend + end + + def inspect + "#<#{self.class} #{attributes.map { |k, v| "#{k}: #{v.inspect}" }.join(', ')}>" + end + end + end + end +end diff --git a/gems/activerecord-gitlab/lib/activerecord-gitlab.rb b/gems/activerecord-gitlab/lib/activerecord-gitlab.rb index 31cf29c70a1..bedc5a8a61e 100644 --- a/gems/activerecord-gitlab/lib/activerecord-gitlab.rb +++ b/gems/activerecord-gitlab/lib/activerecord-gitlab.rb @@ -2,4 +2,6 @@ # frozen_string_literal: true require_relative "active_record/gitlab_patches" +require_relative "active_record/fixed_items_model" + # rubocop:enable Naming/FileName diff --git a/gems/activerecord-gitlab/spec/active_record/fixed_items_model/has_one_spec.rb b/gems/activerecord-gitlab/spec/active_record/fixed_items_model/has_one_spec.rb new file mode 100644 index 00000000000..adcb7190c42 --- /dev/null +++ b/gems/activerecord-gitlab/spec/active_record/fixed_items_model/has_one_spec.rb @@ -0,0 +1,157 @@ +# frozen_string_literal: true + +require 'spec_helper' + +RSpec.describe ActiveRecord::FixedItemsModel::HasOne, feature_category: :shared do + before do + stub_const('TestStaticModel', Class.new do + include ActiveModel::Model + include ActiveModel::Attributes + include ActiveRecord::FixedItemsModel::Model + + attribute :id, :integer + attribute :name, :string + end) + + stub_const('TestStaticModel::ITEMS', [ + { id: 1, name: 'Item 1' }, + { id: 2, name: 'Item 2' }, + { id: 3, name: 'Item 3' } + ].freeze) + + stub_const('TestRecord', Class.new do + include ActiveModel::Attributes + include ActiveRecord::FixedItemsModel::HasOne + + attribute :static_item_id, :integer + + # Mock AR methods + def read_attribute(attr_name) + send(attr_name) + end + + def write_attribute(attr_name, value) + send("#{attr_name}=", value) + end + + def attribute_present?(attr_name) + send(attr_name).present? + end + + # Mock reset method + def reset + @static_item = nil + self + end + + belongs_to_fixed_items :static_item, fixed_items_class: TestStaticModel + end) + end + + subject(:record) { TestRecord.new } + + describe '#belongs_to_fixed_items' do + it { is_expected.to respond_to(:static_item) } + it { is_expected.to respond_to(:static_item=) } + it { is_expected.to respond_to(:static_item?) } + + context 'when foreign key attribute does not exist' do + it 'raises runtime error' do + expect do + stub_const('TestRecord', Class.new do + include ActiveModel::Attributes + include ActiveRecord::FixedItemsModel::HasOne + + attribute :static_item_id, :integer + + # No need for mock methods because they're not called + # because of the guard raise + + belongs_to_fixed_items :doesnt_exist, fixed_items_class: TestStaticModel + end) + end.to raise_error(RuntimeError, "Missing attribute doesnt_exist_id") + end + end + end + + describe 'getter method' do + it 'returns nil when foreign key is nil' do + expect(record.static_item).to be_nil + end + + it 'returns the correct static item when foreign key is set' do + record.static_item_id = 2 + expect(record.static_item.name).to eq('Item 2') + # Ensure cache is invalidated when id is changed + record.static_item_id = 3 + expect(record.static_item.name).to eq('Item 3') + end + + it 'caches the result' do + record.static_item_id = 1 + expect(TestStaticModel).to receive(:find).once.and_call_original + 2.times { record.static_item } + end + end + + describe 'setter method' do + it 'sets the foreign key when assigning a static item' do + static_item = TestStaticModel.find(3) + record.static_item = static_item + expect(record.static_item_id).to eq(3) + end + + it 'sets the foreign key to nil when assigning nil' do + record.static_item_id = 1 + record.static_item = nil + expect(record.static_item_id).to be_nil + end + + it 'clears the cache when setting a new value' do + record.static_item_id = 1 + record.static_item # cache the value + record.static_item = TestStaticModel.find(2) + expect(TestStaticModel).to receive(:find).once.and_call_original + record.static_item # should refetch the object + end + end + + describe 'query method' do + it 'returns true when foreign key is present' do + record.static_item_id = 1 + expect(record.static_item?).to be true + end + + it 'returns false when foreign key is nil' do + record.static_item_id = nil + expect(record.static_item?).to be false + end + end + + describe '#reset' do + it 'clears the cache when reloading' do + record.static_item_id = 1 + record.static_item # cache the value + expect(TestStaticModel).to receive(:find).once.and_call_original + record.reset + record.static_item # should refetch the object + end + + context 'when original #reset is not defined' do + before do + stub_const('TestRecord', Class.new do + include ActiveModel::Attributes + include ActiveRecord::FixedItemsModel::HasOne + + attribute :static_item_id, :integer + + belongs_to_fixed_items :static_item, fixed_items_class: TestStaticModel + end) + end + + it 'does not raise an error' do + expect { record.reset }.not_to raise_error + end + end + end +end diff --git a/gems/activerecord-gitlab/spec/active_record/fixed_items_model/model_spec.rb b/gems/activerecord-gitlab/spec/active_record/fixed_items_model/model_spec.rb new file mode 100644 index 00000000000..cb5d1195bc6 --- /dev/null +++ b/gems/activerecord-gitlab/spec/active_record/fixed_items_model/model_spec.rb @@ -0,0 +1,167 @@ +# frozen_string_literal: true + +require 'spec_helper' + +RSpec.describe ActiveRecord::FixedItemsModel::Model, feature_category: :shared do + before do + stub_const('TestStaticModel', Class.new do + include ActiveModel::Model + include ActiveModel::Attributes + include ActiveRecord::FixedItemsModel::Model + + attribute :id, :integer + attribute :name, :string + attribute :category + end) + + stub_const('TestStaticModel::ITEMS', [ + { id: 1, name: 'Item 1', category: :a }, + { id: 2, name: 'Item 2', category: :b }, + { id: 3, name: 'Item 3', category: :a } + ].freeze) + end + + describe '.find' do + it 'returns the correct item by id' do + item = TestStaticModel.find(2) + expect(item.name).to eq('Item 2') + end + + it 'returns nil for non-existent id' do + expect(TestStaticModel.find(999)).to be_nil + end + + it 'caches the found instance' do + item1 = TestStaticModel.find(1) + item2 = TestStaticModel.find(1) + expect(item1).to be(item2) + end + end + + describe '.all' do + it 'returns all items' do + expect(TestStaticModel.all.map(&:id)).to eq([1, 2, 3]) + end + end + + describe '.where' do + it 'returns items matching the conditions' do + items = TestStaticModel.where(category: :a) + expect(items.map(&:id)).to eq([1, 3]) + end + + it 'returns empty array when no items match' do + expect(TestStaticModel.where(category: :c)).to be_empty + end + + it 'handles multiple conditions' do + items = TestStaticModel.where(category: :a, name: 'Item 1') + expect(items.map(&:id)).to eq([1]) + end + + it 'handles array conditions' do + items = TestStaticModel.where(category: [:a, :b]) + expect(items.map(&:id)).to eq([1, 2, 3]) + end + end + + describe '.find_by' do + it 'returns the first item matching the conditions' do + item = TestStaticModel.find_by(category: :a) + expect(item.id).to eq(1) + end + + it 'returns nil when no items match' do + expect(TestStaticModel.find_by(category: :c)).to be_nil + end + end + + describe 'cache isolation' do + it 'creates new cache instances for each subclass' do + # Create a subclass of TestModelA + subclass = Class.new(TestStaticModel) + + # Modifying the subclass cache shouldn't affect the parent class data + # rubocop:disable GitlabSecurity/PublicSend -- Just used for mocking + subclass.send(:find_instances)[2] = 'test' + expect(subclass.send(:find_instances)[2]).to eq('test') + expect(TestStaticModel.send(:find_instances)[2]).to be_nil + # rubocop:enable GitlabSecurity/PublicSend + end + end + + describe '#matches?' do + let(:item) { TestStaticModel.find(1) } + + it 'returns true when all conditions match' do + expect(item.matches?(category: :a, name: 'Item 1')).to be true + end + + it 'returns false when any condition does not match' do + expect(item.matches?(category: :b, name: 'Item 1')).to be false + end + + it 'handles array conditions' do + expect(item.matches?(category: [:a, :b])).to be true + expect(item.matches?(category: [:b, :c])).to be false + end + + it 'does not match with unpermitted attribute' do + expect(item).not_to receive(:doesnt_exist) + expect(item.matches?(doesnt_exist: 'test', name: 'Item 1')).to be false + end + end + + describe '#has_attribute?' do + let(:item) { TestStaticModel.new(id: 1) } + + it 'returns true for valid attributes' do + expect(item.has_attribute?(:id)).to be true + end + + it 'returns false for invalid attributes' do + expect(item.has_attribute?(:non_existent)).to be false + end + + it 'handles both symbol and string keys' do + expect(item.has_attribute?(:id)).to be true + expect(item.has_attribute?('id')).to be true + end + + it 'returns false for nil or empty string keys' do + expect(item.has_attribute?(nil)).to be false + expect(item.has_attribute?('')).to be false + end + end + + describe '#read_attribute' do + let(:item) { TestStaticModel.new(id: 1, name: 'Test', category: :a) } + + it 'returns the value of a valid attribute' do + expect(item.read_attribute(:id)).to eq(1) + expect(item.read_attribute(:name)).to eq('Test') + expect(item.read_attribute(:category)).to eq(:a) + end + + it 'returns nil for an invalid attribute' do + expect(item.read_attribute(:non_existent)).to be_nil + end + + it 'handles both symbol and string keys' do + expect(item.read_attribute(:id)).to eq(1) + expect(item.read_attribute('id')).to eq(1) + end + + it 'returns nil for nil or empty string keys' do + expect(item.read_attribute(nil)).to be_nil + expect(item.read_attribute('')).to be_nil + end + end + + describe '#inspect' do + it 'returns a string representation of the object' do + item = TestStaticModel.find(1) + expect(item.inspect).to eq('#') + end + end +end diff --git a/gems/activerecord-gitlab/spec/spec_helper.rb b/gems/activerecord-gitlab/spec/spec_helper.rb index 548295b3f2c..5cc4faf2e37 100644 --- a/gems/activerecord-gitlab/spec/spec_helper.rb +++ b/gems/activerecord-gitlab/spec/spec_helper.rb @@ -3,6 +3,7 @@ ENV["RAILS_ENV"] = "test" require "active_record/gitlab_patches" +require "active_record/fixed_items_model" RSpec.configure do |config| # Enable flags like --only-failures and --next-failure diff --git a/lib/gitlab/application_rate_limiter.rb b/lib/gitlab/application_rate_limiter.rb index bad6ba9032b..91a7b6be286 100644 --- a/lib/gitlab/application_rate_limiter.rb +++ b/lib/gitlab/application_rate_limiter.rb @@ -142,10 +142,10 @@ module Gitlab # one registered in `.rate_limits` # # @return [Boolean] Whether or not a request should be throttled - def resource_usage_throttled?(key, scope:, resource_key:, threshold:, interval:) + def resource_usage_throttled?(key, scope:, resource_key:, threshold:, interval:, peek: false) strategy = IncrementResourceUsagePerAction.new(resource_key) - _throttled?(key, scope: scope, strategy: strategy, threshold: threshold, interval: interval) + _throttled?(key, scope: scope, strategy: strategy, threshold: threshold, interval: interval, peek: peek) end # Similar to #throttled? above but checks for the bypass header in the request and logs the request when it is over the rate limit diff --git a/lib/gitlab/github_import/importer/collaborator_importer.rb b/lib/gitlab/github_import/importer/collaborator_importer.rb index 71112c7d378..36aec9efdb9 100644 --- a/lib/gitlab/github_import/importer/collaborator_importer.rb +++ b/lib/gitlab/github_import/importer/collaborator_importer.rb @@ -25,7 +25,7 @@ module Gitlab if user_finder.source_user_accepted?(collaborator) membership = existing_user_membership(user_id) - return if membership && membership[:access_level] >= map_access_level + return if membership && membership[:access_level] > map_access_level create_membership!(user_id, access_level) else @@ -40,7 +40,11 @@ module Gitlab private def existing_user_membership(user_id) - members_finder.execute.find_by_user_id(user_id) + members_finder.execute(include_relations: member_finder_relations).find_by_user_id(user_id) + end + + def member_finder_relations + ::Import::ReassignPlaceholderUserRecordsService::PROJECT_FINDER_MEMBER_RELATIONS end def map_access_level diff --git a/lib/gitlab/resource_usage_limiter.rb b/lib/gitlab/resource_usage_limiter.rb index fd7102b6683..2f61385325f 100644 --- a/lib/gitlab/resource_usage_limiter.rb +++ b/lib/gitlab/resource_usage_limiter.rb @@ -14,6 +14,12 @@ module Gitlab end end + def exceeded_limits? + limits.filter.any? do |limit| + throttled?(limit, peek: true) + end + end + private def limits @@ -22,7 +28,7 @@ module Gitlab Gitlab::SidekiqLimits.limits_for(@params[:worker_name]) end - def throttled?(limit) + def throttled?(limit, peek: false) # Return false as some scopes are missing avoid inflating another limit's count scope = limit.scopes.filter_map { |sk| @params[sk.to_sym] } return false if scope.size != limit.scopes.size @@ -32,7 +38,8 @@ module Gitlab resource_key: limit.resource_key, scope: scope, threshold: limit.threshold, - interval: limit.interval + interval: limit.interval, + peek: peek ) end end diff --git a/qa/knapsack/example_runtimes/master_report.json b/qa/knapsack/example_runtimes/master_report.json index 23c1cdf71c8..bfae74470f8 100644 --- a/qa/knapsack/example_runtimes/master_report.json +++ b/qa/knapsack/example_runtimes/master_report.json @@ -1,559 +1,534 @@ { - "./qa/specs/features/api/10_govern/group_access_token_spec.rb[1:1:1]": 17.713515699, - "./qa/specs/features/api/10_govern/group_access_token_spec.rb[1:1:2]": 14.378283021, - "./qa/specs/features/api/10_govern/project_access_token_spec.rb[1:1:1:1]": 17.499983658, - "./qa/specs/features/api/10_govern/project_access_token_spec.rb[1:1:1:2]": 12.970650582, - "./qa/specs/features/api/10_govern/project_access_token_spec.rb[1:1:2:1]": 22.120362804, - "./qa/specs/features/api/10_govern/project_access_token_spec.rb[1:1:2:2]": 18.249437423, - "./qa/specs/features/api/12_systems/gitaly/automatic_failover_and_recovery_spec.rb[1:1:1]": 70.392179325, - "./qa/specs/features/api/12_systems/gitaly/automatic_failover_and_recovery_spec.rb[1:1:2:1]": 36.448288872, - "./qa/specs/features/api/12_systems/gitaly/backend_node_recovery_spec.rb[1:1:1]": 115.87754678, - "./qa/specs/features/api/12_systems/gitaly/distributed_reads_spec.rb[1:1:1]": 46.080426218, - "./qa/specs/features/api/12_systems/gitaly/distributed_reads_spec.rb[1:1:2:1]": 60.629959381, - "./qa/specs/features/api/12_systems/gitaly/gitaly_mtls_spec.rb[1:1:1]": 19.001982918, - "./qa/specs/features/api/1_manage/import/import_github_repo_spec.rb[1:1:1:1]": 63.26932629, - "./qa/specs/features/api/1_manage/integrations/webhook_events_spec.rb[1:1:1]": 8.036449482, - "./qa/specs/features/api/1_manage/integrations/webhook_events_spec.rb[1:1:2]": 9.673160164, - "./qa/specs/features/api/1_manage/integrations/webhook_events_spec.rb[1:1:3]": 7.850384542, - "./qa/specs/features/api/1_manage/integrations/webhook_events_spec.rb[1:1:4]": 11.49290299, - "./qa/specs/features/api/1_manage/integrations/webhook_events_spec.rb[1:1:5]": 15.203773888, - "./qa/specs/features/api/1_manage/migration/gitlab_migration_group_spec.rb[1:1:2:1]": 51.502758282, - "./qa/specs/features/api/1_manage/migration/gitlab_migration_issue_spec.rb[1:1:2:1]": 104.107614816, - "./qa/specs/features/api/1_manage/migration/gitlab_migration_issue_spec.rb[1:1:3:1]": 94.969218255, - "./qa/specs/features/api/1_manage/migration/gitlab_migration_pipeline_spec.rb[1:1:1:1]": 95.08253956, - "./qa/specs/features/api/1_manage/migration/gitlab_migration_project_spec.rb[1:1:4:1]": 96.926171525, - "./qa/specs/features/api/1_manage/rate_limits_spec.rb[1:1:1]": 14.295300094, - "./qa/specs/features/api/2_plan/closes_issue_via_pushing_a_commit_spec.rb[1:1:1]": 24.292929619, - "./qa/specs/features/api/3_create/merge_request/push_options_labels_spec.rb[1:1:1]": 12.177619955, - "./qa/specs/features/api/3_create/merge_request/push_options_labels_spec.rb[1:1:2:1]": 17.887412087, - "./qa/specs/features/api/3_create/merge_request/push_options_mwps_spec.rb[1:1:1]": 16.734459115, - "./qa/specs/features/api/3_create/merge_request/push_options_remove_source_branch_spec.rb[1:1:1]": 35.849599535, + "./qa/specs/features/api/10_govern/group_access_token_spec.rb[1:1:1]": 23.82460234, + "./qa/specs/features/api/10_govern/group_access_token_spec.rb[1:1:2]": 13.190852329, + "./qa/specs/features/api/10_govern/project_access_token_spec.rb[1:1:1:1]": 24.602550787, + "./qa/specs/features/api/10_govern/project_access_token_spec.rb[1:1:1:2]": 11.812475138, + "./qa/specs/features/api/10_govern/project_access_token_spec.rb[1:1:2:1]": 21.793043406, + "./qa/specs/features/api/10_govern/project_access_token_spec.rb[1:1:2:2]": 17.516287634, + "./qa/specs/features/api/12_systems/gitaly/automatic_failover_and_recovery_spec.rb[1:1:1]": 67.155768521, + "./qa/specs/features/api/12_systems/gitaly/automatic_failover_and_recovery_spec.rb[1:1:2:1]": 33.340499398, + "./qa/specs/features/api/12_systems/gitaly/backend_node_recovery_spec.rb[1:1:1]": 109.495024404, + "./qa/specs/features/api/12_systems/gitaly/distributed_reads_spec.rb[1:1:1]": 51.468460357, + "./qa/specs/features/api/12_systems/gitaly/distributed_reads_spec.rb[1:1:2:1]": 55.040943132, + "./qa/specs/features/api/12_systems/gitaly/gitaly_mtls_spec.rb[1:1:1]": 15.799374557, + "./qa/specs/features/api/1_manage/import/import_github_repo_spec.rb[1:1:1:1]": 128.368130788, + "./qa/specs/features/api/1_manage/integrations/webhook_events_spec.rb[1:1:1]": 9.764792678, + "./qa/specs/features/api/1_manage/integrations/webhook_events_spec.rb[1:1:2]": 16.386034547, + "./qa/specs/features/api/1_manage/integrations/webhook_events_spec.rb[1:1:3]": 12.853978749, + "./qa/specs/features/api/1_manage/integrations/webhook_events_spec.rb[1:1:4]": 14.083394321, + "./qa/specs/features/api/1_manage/integrations/webhook_events_spec.rb[1:1:5]": 12.230052359, + "./qa/specs/features/api/1_manage/migration/gitlab_migration_group_spec.rb[1:1:2:1]": 64.134960608, + "./qa/specs/features/api/1_manage/migration/gitlab_migration_issue_spec.rb[1:1:2:1]": 120.802716708, + "./qa/specs/features/api/1_manage/migration/gitlab_migration_issue_spec.rb[1:1:3:1]": 103.505920672, + "./qa/specs/features/api/1_manage/migration/gitlab_migration_pipeline_spec.rb[1:1:1:1]": 102.102132018, + "./qa/specs/features/api/1_manage/migration/gitlab_migration_project_spec.rb[1:1:4:1]": 99.440285268, + "./qa/specs/features/api/1_manage/rate_limits_spec.rb[1:1:1]": 15.982613437, + "./qa/specs/features/api/2_plan/closes_issue_via_pushing_a_commit_spec.rb[1:1:1]": 20.482144219, + "./qa/specs/features/api/3_create/merge_request/push_options_labels_spec.rb[1:1:1]": 18.994465944, + "./qa/specs/features/api/3_create/merge_request/push_options_labels_spec.rb[1:1:2:1]": 17.288727466, + "./qa/specs/features/api/3_create/merge_request/push_options_mwps_spec.rb[1:1:1]": 12.446403762, + "./qa/specs/features/api/3_create/merge_request/push_options_remove_source_branch_spec.rb[1:1:1]": 27.518031778, "./qa/specs/features/api/3_create/merge_request/push_options_target_branch_spec.rb[1:1:1]": 31.133650909, - "./qa/specs/features/api/3_create/merge_request/push_options_title_description_spec.rb[1:1:1]": 31.637965331, - "./qa/specs/features/api/3_create/merge_request/view_merge_requests_spec.rb[1:1:1:1]": 2.412787835, - "./qa/specs/features/api/3_create/repository/add_list_delete_branches_spec.rb[1:1:1]": 18.299660092, - "./qa/specs/features/api/3_create/repository/commit_to_templated_project_spec.rb[1:1:1]": 21.469919996, - "./qa/specs/features/api/3_create/repository/default_branch_name_setting_spec.rb[1:1:1]": 8.792263773, - "./qa/specs/features/api/3_create/repository/default_branch_name_setting_spec.rb[1:1:2]": 6.229310801, - "./qa/specs/features/api/3_create/repository/files_spec.rb[1:1:1]": 3.920482076, - "./qa/specs/features/api/3_create/repository/files_spec.rb[1:1:2:1]": 3.739707872, - "./qa/specs/features/api/3_create/repository/project_archive_compare_spec.rb[1:1:1]": 14.958655179, - "./qa/specs/features/api/3_create/repository/push_postreceive_idempotent_spec.rb[1:1:1]": 26.505414728, - "./qa/specs/features/api/3_create/repository/storage_size_spec.rb[1:1:1]": 16.014137689, - "./qa/specs/features/api/3_create/repository/tag_revision_trigger_prereceive_hook_spec.rb[1:1:1:1:1]": 8.728627083, - "./qa/specs/features/api/4_verify/api_variable_inheritance_with_forward_pipeline_variables_spec.rb[1:1:1]": 78.89262624, - "./qa/specs/features/api/4_verify/cancel_pipeline_when_block_user_spec.rb[1:1:1]": 15.48289999, - "./qa/specs/features/api/4_verify/file_variable_spec.rb[1:1:1]": 26.342508093, - "./qa/specs/features/api/4_verify/file_variable_spec.rb[1:1:2]": 37.639300601, - "./qa/specs/features/api/4_verify/job_downloads_artifacts_spec.rb[1:1:1]": 52.288782966, - "./qa/specs/features/api/5_package/container_registry/saas/container_registry_spec.rb[1:1:1]": 71.800959886, - "./qa/specs/features/api/8_monitor/metrics_spec.rb[1:1:2:1]": 3.230245287, - "./qa/specs/features/api/8_monitor/metrics_spec.rb[1:2:1:1]": 2.027325588, - "./qa/specs/features/api/9_data_stores/user_inherited_access_spec.rb[1:1:1:1]": 21.471492858, - "./qa/specs/features/api/9_data_stores/user_inherited_access_spec.rb[1:1:1:2]": 22.933281597, - "./qa/specs/features/api/9_data_stores/user_inherited_access_spec.rb[1:1:1:3]": 18.603140804, - "./qa/specs/features/api/9_data_stores/user_inherited_access_spec.rb[1:1:2:1]": 46.271673336, - "./qa/specs/features/api/9_data_stores/user_inherited_access_spec.rb[1:1:2:2]": 15.51707526, - "./qa/specs/features/api/9_data_stores/user_inherited_access_spec.rb[1:1:2:3]": 11.47878532, - "./qa/specs/features/api/9_data_stores/users_spec.rb[1:1:1]": 1.650048837, - "./qa/specs/features/api/9_data_stores/users_spec.rb[1:1:2]": 3.677806853, - "./qa/specs/features/api/9_data_stores/users_spec.rb[1:1:3]": 1.571911551, - "./qa/specs/features/browser_ui/10_govern/group/group_access_token_spec.rb[1:1:1]": 19.844721573, - "./qa/specs/features/browser_ui/10_govern/login/2fa_recovery_spec.rb[1:1:1]": 44.100941593, - "./qa/specs/features/browser_ui/10_govern/login/2fa_ssh_recovery_spec.rb[1:1:1]": 45.583287338, - "./qa/specs/features/browser_ui/10_govern/login/log_in_spec.rb[1:1:1]": 13.401347702, - "./qa/specs/features/browser_ui/10_govern/login/log_in_with_2fa_spec.rb[1:1:1]": 85.925896927, - "./qa/specs/features/browser_ui/10_govern/login/log_into_gitlab_via_ldap_spec.rb[1:1:1]": 4.034288774, - "./qa/specs/features/browser_ui/10_govern/login/log_into_mattermost_via_gitlab_spec.rb[1:1:1]": 29.35834189, - "./qa/specs/features/browser_ui/10_govern/login/login_via_instance_wide_saml_sso_spec.rb[1:1:1]": 17.313229202, - "./qa/specs/features/browser_ui/10_govern/login/oauth_login_with_github_spec.rb[1:1:1]": 41.213389322, - "./qa/specs/features/browser_ui/10_govern/login/register_spec.rb[1:1:1]": 4.543618994, - "./qa/specs/features/browser_ui/10_govern/login/register_spec.rb[1:2:1:1:1]": 31.795174476, - "./qa/specs/features/browser_ui/10_govern/login/register_spec.rb[1:2:1:2:1]": 87.928799749, - "./qa/specs/features/browser_ui/10_govern/login/register_spec.rb[1:2:2:1]": 52.795468439, - "./qa/specs/features/browser_ui/10_govern/project/project_access_token_spec.rb[1:1:1]": 23.114883894, - "./qa/specs/features/browser_ui/10_govern/user/impersonation_token_spec.rb[1:1:1]": 33.895819022, - "./qa/specs/features/browser_ui/10_govern/user/user_access_termination_spec.rb[1:1:1:1]": 21.392442876, - "./qa/specs/features/browser_ui/10_govern/user/user_access_termination_spec.rb[1:1:1:2]": 14.727896811, - "./qa/specs/features/browser_ui/10_govern/user/user_access_termination_spec.rb[1:1:1:3]": 8.945075119, - "./qa/specs/features/browser_ui/14_analytics/performance_bar_spec.rb[1:1:1:1]": 26.921009558, - "./qa/specs/features/browser_ui/14_analytics/service_ping_default_enabled_spec.rb[1:1:1:1]": 16.247576949, - "./qa/specs/features/browser_ui/14_analytics/service_ping_disabled_spec.rb[1:1:1:1]": 11.621520023, - "./qa/specs/features/browser_ui/1_manage/integrations/jenkins/jenkins_build_status_spec.rb[1:1:1]": 76.323214588, - "./qa/specs/features/browser_ui/1_manage/integrations/jira/jira_basic_integration_spec.rb[1:1:1]": 32.906757699, - "./qa/specs/features/browser_ui/1_manage/integrations/jira/jira_basic_integration_spec.rb[1:1:2]": 29.966803032, - "./qa/specs/features/browser_ui/1_manage/integrations/jira/jira_issue_import_spec.rb[1:1:1]": 37.627080824, - "./qa/specs/features/browser_ui/1_manage/integrations/pipeline_status_emails_spec.rb[1:1:1:1]": 38.283820265, - "./qa/specs/features/browser_ui/1_manage/integrations/pipeline_status_emails_spec.rb[1:1:2:1]": 32.323859924, - "./qa/specs/features/browser_ui/1_manage/migration/gitlab_migration_group_spec.rb[1:1:1]": 54.13425361, - "./qa/specs/features/browser_ui/1_manage/migration/gitlab_migration_user_contribution_reassignment_spec.rb[1:1:1:1]": 183.431762919, - "./qa/specs/features/browser_ui/2_plan/design_management/add_design_content_spec.rb[1:1:1]": 25.85949383, - "./qa/specs/features/browser_ui/2_plan/design_management/archive_design_content_spec.rb[1:1:1]": 29.851323213, - "./qa/specs/features/browser_ui/2_plan/design_management/modify_design_content_spec.rb[1:1:1]": 25.113726787, - "./qa/specs/features/browser_ui/2_plan/email/trigger_email_notification_spec.rb[1:1:1]": 16.703454046, - "./qa/specs/features/browser_ui/2_plan/issue/check_mentions_for_xss_spec.rb[1:1:1]": 29.64007647, - "./qa/specs/features/browser_ui/2_plan/issue/collapse_comments_in_discussions_spec.rb[1:1:1]": 24.060903882, - "./qa/specs/features/browser_ui/2_plan/issue/comment_issue_spec.rb[1:1:1]": 25.328070515, - "./qa/specs/features/browser_ui/2_plan/issue/create_issue_spec.rb[1:1:1]": 28.115869122, - "./qa/specs/features/browser_ui/2_plan/issue/create_issue_spec.rb[1:1:2]": 26.385272257, - "./qa/specs/features/browser_ui/2_plan/issue/create_issue_spec.rb[1:1:3:1]": 25.743066788, - "./qa/specs/features/browser_ui/2_plan/issue/custom_issue_template_spec.rb[1:1:1]": 26.879063725, - "./qa/specs/features/browser_ui/2_plan/issue/export_as_csv_spec.rb[1:1:1]": 23.048566907, - "./qa/specs/features/browser_ui/2_plan/issue/filter_issue_comments_spec.rb[1:1:1]": 26.140969635, - "./qa/specs/features/browser_ui/2_plan/issue/issue_suggestions_spec.rb[1:1:1]": 21.950209933, - "./qa/specs/features/browser_ui/2_plan/issue/mentions_spec.rb[1:1:1]": 31.058895067, - "./qa/specs/features/browser_ui/2_plan/issue/real_time_assignee_spec.rb[1:1:1]": 26.107155823, - "./qa/specs/features/browser_ui/2_plan/issue_boards/focus_mode_spec.rb[1:1:1]": 18.166378483, - "./qa/specs/features/browser_ui/2_plan/milestone/assign_milestone_spec.rb[1:1:1:1:1]": 26.514882517, - "./qa/specs/features/browser_ui/2_plan/milestone/assign_milestone_spec.rb[1:1:1:2:1]": 27.214863416, - "./qa/specs/features/browser_ui/2_plan/milestone/assign_milestone_spec.rb[1:1:2:1:1]": 25.766544078, - "./qa/specs/features/browser_ui/2_plan/milestone/assign_milestone_spec.rb[1:1:2:2:1]": 26.046805543, - "./qa/specs/features/browser_ui/2_plan/milestone/create_group_milestone_spec.rb[1:1:1]": 23.728998484, - "./qa/specs/features/browser_ui/2_plan/milestone/create_project_milestone_spec.rb[1:1:1]": 25.537766604, - "./qa/specs/features/browser_ui/2_plan/project_wiki/project_based_content_creation_spec.rb[1:1:1]": 24.158951865, - "./qa/specs/features/browser_ui/2_plan/project_wiki/project_based_content_creation_spec.rb[1:1:2]": 23.743312001, - "./qa/specs/features/browser_ui/2_plan/project_wiki/project_based_content_creation_spec.rb[1:1:3]": 21.216932213, - "./qa/specs/features/browser_ui/2_plan/project_wiki/project_based_content_creation_spec.rb[1:1:4]": 21.930973065, - "./qa/specs/features/browser_ui/2_plan/project_wiki/project_based_content_creation_spec.rb[1:1:5]": 22.395214039, - "./qa/specs/features/browser_ui/2_plan/project_wiki/project_based_content_manipulation_spec.rb[1:1:1]": 21.445524592, - "./qa/specs/features/browser_ui/2_plan/project_wiki/project_based_content_manipulation_spec.rb[1:1:2]": 27.31882354, - "./qa/specs/features/browser_ui/2_plan/project_wiki/project_based_content_manipulation_spec.rb[1:1:3]": 21.874188218, - "./qa/specs/features/browser_ui/2_plan/project_wiki/project_based_directory_management_spec.rb[1:1:1]": 22.714283984, - "./qa/specs/features/browser_ui/2_plan/project_wiki/project_based_file_upload_spec.rb[1:1:1]": 39.66400416, - "./qa/specs/features/browser_ui/2_plan/project_wiki/project_based_list_spec.rb[1:1:1:1]": 26.046857405, - "./qa/specs/features/browser_ui/2_plan/project_wiki/project_based_list_spec.rb[1:1:2:1]": 48.78296011, - "./qa/specs/features/browser_ui/2_plan/project_wiki/project_based_page_deletion_spec.rb[1:1:1]": 21.157081624, - "./qa/specs/features/browser_ui/2_plan/project_wiki/project_based_page_deletion_spec.rb[1:1:2]": 38.321104373, - "./qa/specs/features/browser_ui/2_plan/related_issues/related_issues_spec.rb[1:1:1]": 22.828525823, - "./qa/specs/features/browser_ui/3_create/merge_request/cherry_pick/cherry_pick_a_merge_spec.rb[1:1:1]": 47.831726855, - "./qa/specs/features/browser_ui/3_create/merge_request/cherry_pick/cherry_pick_commit_spec.rb[1:1:1]": 42.210410523, + "./qa/specs/features/api/3_create/merge_request/push_options_title_description_spec.rb[1:1:1]": 28.38659008, + "./qa/specs/features/api/3_create/merge_request/view_merge_requests_spec.rb[1:1:1:1]": 1.066474312, + "./qa/specs/features/api/3_create/repository/add_list_delete_branches_spec.rb[1:1:1]": 17.302973593, + "./qa/specs/features/api/3_create/repository/commit_to_templated_project_spec.rb[1:1:1]": 11.947510366, + "./qa/specs/features/api/3_create/repository/default_branch_name_setting_spec.rb[1:1:1]": 5.199001933, + "./qa/specs/features/api/3_create/repository/default_branch_name_setting_spec.rb[1:1:2]": 7.359269357, + "./qa/specs/features/api/3_create/repository/files_spec.rb[1:1:1]": 3.562225529, + "./qa/specs/features/api/3_create/repository/files_spec.rb[1:1:2:1]": 2.676635256, + "./qa/specs/features/api/3_create/repository/project_archive_compare_spec.rb[1:1:1]": 6.915351225, + "./qa/specs/features/api/3_create/repository/push_postreceive_idempotent_spec.rb[1:1:1]": 15.161442064, + "./qa/specs/features/api/3_create/repository/storage_size_spec.rb[1:1:1]": 19.619850314, + "./qa/specs/features/api/3_create/repository/tag_revision_trigger_prereceive_hook_spec.rb[1:1:1:1:1]": 7.566050907, + "./qa/specs/features/api/4_verify/api_variable_inheritance_with_forward_pipeline_variables_spec.rb[1:1:1]": 70.961604516, + "./qa/specs/features/api/4_verify/cancel_pipeline_when_block_user_spec.rb[1:1:1]": 23.319435391, + "./qa/specs/features/api/4_verify/file_variable_spec.rb[1:1:1]": 26.624113996, + "./qa/specs/features/api/4_verify/file_variable_spec.rb[1:1:2]": 19.204517366, + "./qa/specs/features/api/4_verify/job_downloads_artifacts_spec.rb[1:1:1]": 42.621245139, + "./qa/specs/features/api/8_monitor/metrics_spec.rb[1:1:2:1]": 1.597735308, + "./qa/specs/features/api/8_monitor/metrics_spec.rb[1:2:1:1]": 2.839951948, + "./qa/specs/features/api/9_data_stores/user_inherited_access_spec.rb[1:1:1:1]": 18.714423287, + "./qa/specs/features/api/9_data_stores/user_inherited_access_spec.rb[1:1:1:2]": 19.117390032, + "./qa/specs/features/api/9_data_stores/user_inherited_access_spec.rb[1:1:1:3]": 9.272178606, + "./qa/specs/features/api/9_data_stores/user_inherited_access_spec.rb[1:1:2:1]": 42.168970851, + "./qa/specs/features/api/9_data_stores/user_inherited_access_spec.rb[1:1:2:2]": 9.617200556, + "./qa/specs/features/api/9_data_stores/user_inherited_access_spec.rb[1:1:2:3]": 10.476145376, + "./qa/specs/features/api/9_data_stores/users_spec.rb[1:1:1]": 0.92384179, + "./qa/specs/features/api/9_data_stores/users_spec.rb[1:1:2]": 1.07997482, + "./qa/specs/features/api/9_data_stores/users_spec.rb[1:1:3]": 1.23857198, + "./qa/specs/features/browser_ui/10_govern/group/group_access_token_spec.rb[1:1:1]": 20.884159578, + "./qa/specs/features/browser_ui/10_govern/login/2fa_recovery_spec.rb[1:1:1]": 48.6030293, + "./qa/specs/features/browser_ui/10_govern/login/2fa_ssh_recovery_spec.rb[1:1:1]": 46.12915366, + "./qa/specs/features/browser_ui/10_govern/login/log_in_spec.rb[1:1:1]": 13.470389703, + "./qa/specs/features/browser_ui/10_govern/login/log_in_with_2fa_spec.rb[1:1:1]": 96.799800295, + "./qa/specs/features/browser_ui/10_govern/login/log_into_gitlab_via_ldap_spec.rb[1:1:1]": 3.675757443, + "./qa/specs/features/browser_ui/10_govern/login/log_into_mattermost_via_gitlab_spec.rb[1:1:1]": 29.499194668, + "./qa/specs/features/browser_ui/10_govern/login/login_via_instance_wide_saml_sso_spec.rb[1:1:1]": 15.675629414, + "./qa/specs/features/browser_ui/10_govern/login/oauth_login_with_github_spec.rb[1:1:1]": 41.344800517, + "./qa/specs/features/browser_ui/10_govern/login/register_spec.rb[1:1:1]": 4.313488738, + "./qa/specs/features/browser_ui/10_govern/login/register_spec.rb[1:2:1:1:1]": 29.511644645, + "./qa/specs/features/browser_ui/10_govern/login/register_spec.rb[1:2:1:2:1]": 72.956968739, + "./qa/specs/features/browser_ui/10_govern/login/register_spec.rb[1:2:2:1]": 47.958203957, + "./qa/specs/features/browser_ui/10_govern/project/project_access_token_spec.rb[1:1:1]": 23.619697619, + "./qa/specs/features/browser_ui/10_govern/user/impersonation_token_spec.rb[1:1:1]": 31.737938604, + "./qa/specs/features/browser_ui/10_govern/user/user_access_termination_spec.rb[1:1:1:1]": 19.493180515, + "./qa/specs/features/browser_ui/10_govern/user/user_access_termination_spec.rb[1:1:1:2]": 9.052561238, + "./qa/specs/features/browser_ui/10_govern/user/user_access_termination_spec.rb[1:1:1:3]": 9.842785652, + "./qa/specs/features/browser_ui/14_analytics/performance_bar_spec.rb[1:1:1:1]": 29.550035142, + "./qa/specs/features/browser_ui/14_analytics/service_ping_default_enabled_spec.rb[1:1:1:1]": 12.507425154, + "./qa/specs/features/browser_ui/14_analytics/service_ping_disabled_spec.rb[1:1:1:1]": 11.554329748, + "./qa/specs/features/browser_ui/1_manage/integrations/jenkins/jenkins_build_status_spec.rb[1:1:1]": 74.75657917, + "./qa/specs/features/browser_ui/1_manage/integrations/jira/jira_basic_integration_spec.rb[1:1:1]": 17.269184531, + "./qa/specs/features/browser_ui/1_manage/integrations/jira/jira_basic_integration_spec.rb[1:1:2]": 32.935426443, + "./qa/specs/features/browser_ui/1_manage/integrations/jira/jira_issue_import_spec.rb[1:1:1]": 46.263476784, + "./qa/specs/features/browser_ui/1_manage/integrations/pipeline_status_emails_spec.rb[1:1:1:1]": 40.701550616, + "./qa/specs/features/browser_ui/1_manage/integrations/pipeline_status_emails_spec.rb[1:1:2:1]": 31.837229242, + "./qa/specs/features/browser_ui/1_manage/migration/gitlab_migration_group_spec.rb[1:1:1]": 66.548360156, + "./qa/specs/features/browser_ui/1_manage/migration/gitlab_migration_user_contribution_reassignment_spec.rb[1:1:1:1]": 184.810823405, + "./qa/specs/features/browser_ui/2_plan/design_management/add_design_content_spec.rb[1:1:1]": 17.112755198, + "./qa/specs/features/browser_ui/2_plan/design_management/archive_design_content_spec.rb[1:1:1]": 20.622880317, + "./qa/specs/features/browser_ui/2_plan/design_management/modify_design_content_spec.rb[1:1:1]": 24.396673998, + "./qa/specs/features/browser_ui/2_plan/email/trigger_email_notification_spec.rb[1:1:1]": 18.837022052, + "./qa/specs/features/browser_ui/2_plan/issue/check_mentions_for_xss_spec.rb[1:1:1]": 25.513142393, + "./qa/specs/features/browser_ui/2_plan/issue/collapse_comments_in_discussions_spec.rb[1:1:1]": 23.130392583, + "./qa/specs/features/browser_ui/2_plan/issue/comment_issue_spec.rb[1:1:1]": 23.799777454, + "./qa/specs/features/browser_ui/2_plan/issue/create_issue_spec.rb[1:1:1]": 24.963146007, + "./qa/specs/features/browser_ui/2_plan/issue/create_issue_spec.rb[1:1:2]": 21.766901126, + "./qa/specs/features/browser_ui/2_plan/issue/create_issue_spec.rb[1:1:3:1]": 22.208659558, + "./qa/specs/features/browser_ui/2_plan/issue/custom_issue_template_spec.rb[1:1:1]": 28.123835432, + "./qa/specs/features/browser_ui/2_plan/issue/export_as_csv_spec.rb[1:1:1]": 25.793262974, + "./qa/specs/features/browser_ui/2_plan/issue/filter_issue_comments_spec.rb[1:1:1]": 27.9527115, + "./qa/specs/features/browser_ui/2_plan/issue/issue_suggestions_spec.rb[1:1:1]": 22.082827172, + "./qa/specs/features/browser_ui/2_plan/issue/mentions_spec.rb[1:1:1]": 29.762502589, + "./qa/specs/features/browser_ui/2_plan/issue/real_time_assignee_spec.rb[1:1:1]": 18.243268385, + "./qa/specs/features/browser_ui/2_plan/issue_boards/focus_mode_spec.rb[1:1:1]": 13.205469003, + "./qa/specs/features/browser_ui/2_plan/milestone/assign_milestone_spec.rb[1:1:1:1:1]": 27.053237507, + "./qa/specs/features/browser_ui/2_plan/milestone/assign_milestone_spec.rb[1:1:1:2:1]": 26.107258699, + "./qa/specs/features/browser_ui/2_plan/milestone/assign_milestone_spec.rb[1:1:2:1:1]": 23.550697096, + "./qa/specs/features/browser_ui/2_plan/milestone/assign_milestone_spec.rb[1:1:2:2:1]": 25.539217398, + "./qa/specs/features/browser_ui/2_plan/milestone/create_group_milestone_spec.rb[1:1:1]": 14.578324534, + "./qa/specs/features/browser_ui/2_plan/milestone/create_project_milestone_spec.rb[1:1:1]": 25.551894049, + "./qa/specs/features/browser_ui/2_plan/project_wiki/project_based_content_creation_spec.rb[1:1:1]": 19.250354209, + "./qa/specs/features/browser_ui/2_plan/project_wiki/project_based_content_creation_spec.rb[1:1:2]": 14.810068408, + "./qa/specs/features/browser_ui/2_plan/project_wiki/project_based_content_creation_spec.rb[1:1:3]": 11.603312715, + "./qa/specs/features/browser_ui/2_plan/project_wiki/project_based_content_creation_spec.rb[1:1:4]": 11.593181248, + "./qa/specs/features/browser_ui/2_plan/project_wiki/project_based_content_creation_spec.rb[1:1:5]": 11.690278664, + "./qa/specs/features/browser_ui/2_plan/project_wiki/project_based_content_manipulation_spec.rb[1:1:1]": 14.128900835, + "./qa/specs/features/browser_ui/2_plan/project_wiki/project_based_content_manipulation_spec.rb[1:1:2]": 14.60206934, + "./qa/specs/features/browser_ui/2_plan/project_wiki/project_based_content_manipulation_spec.rb[1:1:3]": 10.517817702, + "./qa/specs/features/browser_ui/2_plan/project_wiki/project_based_directory_management_spec.rb[1:1:1]": 19.344108191, + "./qa/specs/features/browser_ui/2_plan/project_wiki/project_based_file_upload_spec.rb[1:1:1]": 34.361448197, + "./qa/specs/features/browser_ui/2_plan/project_wiki/project_based_list_spec.rb[1:1:1:1]": 16.929047187, + "./qa/specs/features/browser_ui/2_plan/project_wiki/project_based_list_spec.rb[1:1:2:1]": 28.908223629, + "./qa/specs/features/browser_ui/2_plan/project_wiki/project_based_page_deletion_spec.rb[1:1:1]": 11.470195204, + "./qa/specs/features/browser_ui/2_plan/project_wiki/project_based_page_deletion_spec.rb[1:1:2]": 26.01677772, + "./qa/specs/features/browser_ui/2_plan/related_issues/related_issues_spec.rb[1:1:1]": 23.959302156, + "./qa/specs/features/browser_ui/3_create/merge_request/cherry_pick/cherry_pick_a_merge_spec.rb[1:1:1]": 42.896576228, + "./qa/specs/features/browser_ui/3_create/merge_request/cherry_pick/cherry_pick_commit_spec.rb[1:1:1]": 35.344173919, "./qa/specs/features/browser_ui/3_create/merge_request/create_merge_request_spec.rb[1:1:1]": 36.812886248, - "./qa/specs/features/browser_ui/3_create/merge_request/create_merge_request_spec.rb[1:1:2]": 40.861686065, - "./qa/specs/features/browser_ui/3_create/merge_request/create_merge_request_via_template_spec.rb[1:1:1]": 42.884679903, - "./qa/specs/features/browser_ui/3_create/merge_request/merge_merge_request_from_fork_spec.rb[1:1:1]": 42.39481007, - "./qa/specs/features/browser_ui/3_create/merge_request/merge_request_set_to_auto_merge_spec.rb[1:1:1]": 66.316861225, - "./qa/specs/features/browser_ui/3_create/merge_request/rebase_merge_request_spec.rb[1:1:1]": 78.839397559, - "./qa/specs/features/browser_ui/3_create/merge_request/revert/revert_commit_spec.rb[1:1:1]": 32.719442996, - "./qa/specs/features/browser_ui/3_create/merge_request/revert/reverting_merge_request_spec.rb[1:1:1]": 44.662585073, - "./qa/specs/features/browser_ui/3_create/merge_request/squash_merge_request_spec.rb[1:1:1]": 43.188893906, - "./qa/specs/features/browser_ui/3_create/merge_request/suggestions/batch_suggestion_spec.rb[1:1:1]": 68.1749663, - "./qa/specs/features/browser_ui/3_create/merge_request/suggestions/custom_commit_suggestion_spec.rb[1:1:1]": 66.211108869, - "./qa/specs/features/browser_ui/3_create/merge_request/view_merge_request_diff_patch_spec.rb[1:1:1]": 25.509288385, - "./qa/specs/features/browser_ui/3_create/merge_request/view_merge_request_diff_patch_spec.rb[1:1:2]": 25.180127301, - "./qa/specs/features/browser_ui/3_create/repository/add_file_template_spec.rb[1:1:1]": 26.092362864, - "./qa/specs/features/browser_ui/3_create/repository/add_file_template_spec.rb[1:1:2]": 25.933351394, - "./qa/specs/features/browser_ui/3_create/repository/add_file_template_spec.rb[1:1:3]": 25.037064771, - "./qa/specs/features/browser_ui/3_create/repository/add_file_template_spec.rb[1:1:4]": 25.14618237, - "./qa/specs/features/browser_ui/3_create/repository/add_new_branch_rule_spec.rb[1:1:1]": 36.464513447, - "./qa/specs/features/browser_ui/3_create/repository/branch_with_unusual_name_spec.rb[1:1:1:1]": 23.728558417, - "./qa/specs/features/browser_ui/3_create/repository/clone_spec.rb[1:1:1]": 12.48351942, - "./qa/specs/features/browser_ui/3_create/repository/clone_spec.rb[1:1:2]": 11.313869976, - "./qa/specs/features/browser_ui/3_create/repository/file/create_file_via_web_spec.rb[1:1:1]": 26.457367728, - "./qa/specs/features/browser_ui/3_create/repository/file/delete_file_via_web_spec.rb[1:1:1]": 23.011221592, - "./qa/specs/features/browser_ui/3_create/repository/file/edit_file_via_web_spec.rb[1:1:1]": 25.267087996, - "./qa/specs/features/browser_ui/3_create/repository/file/file_with_unusual_name_spec.rb[1:1:1:1]": 30.818279196, - "./qa/specs/features/browser_ui/3_create/repository/license_detection_spec.rb[1:1:1:1:1]": 16.91162159, - "./qa/specs/features/browser_ui/3_create/repository/license_detection_spec.rb[1:1:2:1:1]": 16.304269086, - "./qa/specs/features/browser_ui/3_create/repository/protected_tags_spec.rb[1:1:1:1:1]": 23.578138875, - "./qa/specs/features/browser_ui/3_create/repository/protected_tags_spec.rb[1:1:1:2:1]": 25.366726494, - "./qa/specs/features/browser_ui/3_create/repository/protected_tags_spec.rb[1:1:2:1:1]": 46.666509159, - "./qa/specs/features/browser_ui/3_create/repository/protected_tags_spec.rb[1:1:2:2:1]": 48.207892658, - "./qa/specs/features/browser_ui/3_create/repository/protocol_v2_push_http_spec.rb[1:1:1]": 25.250917316, - "./qa/specs/features/browser_ui/3_create/repository/protocol_v2_push_ssh_spec.rb[1:1:1]": 29.749885185, - "./qa/specs/features/browser_ui/3_create/repository/push_http_private_token_spec.rb[1:1:1]": 28.959297006, - "./qa/specs/features/browser_ui/3_create/repository/push_mirroring_lfs_over_http_spec.rb[1:1:1]": 76.192584769, - "./qa/specs/features/browser_ui/3_create/repository/push_mirroring_over_http_spec.rb[1:1:1]": 69.755045933, - "./qa/specs/features/browser_ui/3_create/repository/push_over_http_file_size_spec.rb[1:1:1]": 8.043030983, - "./qa/specs/features/browser_ui/3_create/repository/push_over_http_file_size_spec.rb[1:1:2]": 38.827728943, - "./qa/specs/features/browser_ui/3_create/repository/push_over_http_spec.rb[1:1:1]": 24.809581491, - "./qa/specs/features/browser_ui/3_create/repository/push_over_http_spec.rb[1:1:2]": 11.132127382, - "./qa/specs/features/browser_ui/3_create/repository/push_over_ssh_spec.rb[1:1:1]": 26.265089272, - "./qa/specs/features/browser_ui/3_create/repository/push_over_ssh_spec.rb[1:1:2]": 26.380269967, - "./qa/specs/features/browser_ui/3_create/repository/push_protected_branch_spec.rb[1:1:1:1]": 23.909537047, - "./qa/specs/features/browser_ui/3_create/repository/push_to_canary_gitaly_spec.rb[1:1:1]": 24.10235971, - "./qa/specs/features/browser_ui/3_create/repository/ssh_key_support_create_spec.rb[1:1:1]": 35.533406608, - "./qa/specs/features/browser_ui/3_create/repository/ssh_key_support_delete_spec.rb[1:1:1]": 31.337760044, - "./qa/specs/features/browser_ui/3_create/repository/user_views_commit_diff_patch_spec.rb[1:1:1]": 14.786753782, - "./qa/specs/features/browser_ui/3_create/repository/user_views_commit_diff_patch_spec.rb[1:1:2]": 29.856754441, - "./qa/specs/features/browser_ui/3_create/snippet/add_comment_to_snippet_spec.rb[1:1:1:1]": 24.543837705, - "./qa/specs/features/browser_ui/3_create/snippet/add_comment_to_snippet_spec.rb[1:1:2:1]": 31.389901122, - "./qa/specs/features/browser_ui/3_create/snippet/add_file_to_snippet_spec.rb[1:1:1:1]": 24.861359134, - "./qa/specs/features/browser_ui/3_create/snippet/add_file_to_snippet_spec.rb[1:1:2:1]": 23.975598732, - "./qa/specs/features/browser_ui/3_create/snippet/clone_push_pull_personal_snippet_spec.rb[1:1:1]": 35.989991377, - "./qa/specs/features/browser_ui/3_create/snippet/clone_push_pull_personal_snippet_spec.rb[1:1:2]": 42.030822372, - "./qa/specs/features/browser_ui/3_create/snippet/clone_push_pull_project_snippet_spec.rb[1:1:1]": 37.547607087, - "./qa/specs/features/browser_ui/3_create/snippet/clone_push_pull_project_snippet_spec.rb[1:1:2]": 37.664183814, - "./qa/specs/features/browser_ui/3_create/snippet/copy_snippet_file_contents_spec.rb[1:1:1:1]": 24.39125482, - "./qa/specs/features/browser_ui/3_create/snippet/copy_snippet_file_contents_spec.rb[1:1:2:1]": 25.596979708, - "./qa/specs/features/browser_ui/3_create/snippet/create_personal_snippet_spec.rb[1:1:1]": 14.174265896, - "./qa/specs/features/browser_ui/3_create/snippet/create_personal_snippet_with_multiple_files_spec.rb[1:1:1]": 14.639778009, - "./qa/specs/features/browser_ui/3_create/snippet/create_project_snippet_spec.rb[1:1:1]": 22.832990738, - "./qa/specs/features/browser_ui/3_create/snippet/create_project_snippet_with_multiple_files_spec.rb[1:1:1]": 30.003782008, - "./qa/specs/features/browser_ui/3_create/snippet/delete_file_from_snippet_spec.rb[1:1:1:1]": 22.608023239, - "./qa/specs/features/browser_ui/3_create/snippet/delete_file_from_snippet_spec.rb[1:1:2:1]": 23.746144392, - "./qa/specs/features/browser_ui/3_create/snippet/share_snippet_spec.rb[1:1:1:1]": 16.795260454, - "./qa/specs/features/browser_ui/3_create/snippet/share_snippet_spec.rb[1:1:2:1]": 15.635882189, - "./qa/specs/features/browser_ui/3_create/snippet/snippet_index_page_spec.rb[1:1:1:1]": 12.227522339, - "./qa/specs/features/browser_ui/3_create/snippet/snippet_index_page_spec.rb[1:1:2:1]": 28.042588865, - "./qa/specs/features/browser_ui/3_create/snippet/snippet_index_page_spec.rb[1:1:3:1]": 32.362173067, - "./qa/specs/features/browser_ui/3_create/snippet/snippet_index_page_spec.rb[1:1:4:1]": 15.728451493, - "./qa/specs/features/browser_ui/3_create/source_editor/source_editor_toolbar_spec.rb[1:1:1]": 28.113785988, - "./qa/specs/features/browser_ui/3_create/web_ide/add_first_file_in_web_ide_spec.rb[1:1:1:1]": 21.242044146, - "./qa/specs/features/browser_ui/3_create/web_ide/add_first_file_in_web_ide_spec.rb[1:1:2:1]": 30.583818127, - "./qa/specs/features/browser_ui/3_create/web_ide/add_new_directory_in_web_ide_spec.rb[1:1:1:1]": 33.413791186, - "./qa/specs/features/browser_ui/3_create/web_ide/add_new_directory_in_web_ide_spec.rb[1:1:2:1]": 48.746973819, - "./qa/specs/features/browser_ui/3_create/web_ide/closing_web_ide_with_unsaved_changes_spec.rb[1:1:1]": 23.81562883, - "./qa/specs/features/browser_ui/3_create/web_ide/upload_new_file_in_web_ide_spec.rb[1:1:1:1]": 28.555504245, - "./qa/specs/features/browser_ui/3_create/web_ide/upload_new_file_in_web_ide_spec.rb[1:1:2:1:1]": 33.477780804, - "./qa/specs/features/browser_ui/3_create/web_ide/upload_new_file_in_web_ide_spec.rb[1:1:3:1:1]": 34.483492738, - "./qa/specs/features/browser_ui/4_verify/ci_components_catalog/ci_catalog_sorting_spec.rb[1:1:1:2:1:1]": 39.238848238, - "./qa/specs/features/browser_ui/4_verify/ci_components_catalog/ci_catalog_sorting_spec.rb[1:1:1:2:2:1]": 50.902843678, - "./qa/specs/features/browser_ui/4_verify/ci_components_catalog/release_with_glab_spec.rb[1:1:1]": 98.09450108, - "./qa/specs/features/browser_ui/4_verify/ci_components_catalog/release_with_glab_spec.rb[1:1:2]": 70.096068372, - "./qa/specs/features/browser_ui/4_verify/ci_components_catalog/release_with_release_cli_spec.rb[1:1:1]": 53.238275637, - "./qa/specs/features/browser_ui/4_verify/ci_components_catalog/release_with_release_cli_spec.rb[1:1:2]": 59.872209786, - "./qa/specs/features/browser_ui/4_verify/ci_components_catalog/run_component_in_project_pipeline_spec.rb[1:1:1]": 52.640730466, - "./qa/specs/features/browser_ui/4_verify/ci_job_artifacts/expose_job_artifacts_in_mr_spec.rb[1:1:1:1]": 78.097937916, - "./qa/specs/features/browser_ui/4_verify/ci_job_artifacts/job_artifacts_access_keyword_spec.rb[1:1:1:1:1]": 34.218789942, - "./qa/specs/features/browser_ui/4_verify/ci_job_artifacts/job_artifacts_access_keyword_spec.rb[1:1:1:1:2]": 34.416144818, - "./qa/specs/features/browser_ui/4_verify/ci_job_artifacts/job_artifacts_access_keyword_spec.rb[1:1:2:1:1]": 39.302304474, - "./qa/specs/features/browser_ui/4_verify/ci_job_artifacts/job_artifacts_access_keyword_spec.rb[1:1:2:1:2]": 39.967679511, - "./qa/specs/features/browser_ui/4_verify/ci_job_artifacts/job_artifacts_access_keyword_spec.rb[1:1:3:1:1]": 36.467616262, - "./qa/specs/features/browser_ui/4_verify/ci_job_artifacts/job_artifacts_access_keyword_spec.rb[1:1:3:1:2]": 45.071622385, - "./qa/specs/features/browser_ui/4_verify/ci_job_artifacts/unlocking_job_artifacts_across_pipelines_spec.rb[1:1:1:1]": 59.047091145, - "./qa/specs/features/browser_ui/4_verify/ci_job_artifacts/unlocking_job_artifacts_across_pipelines_spec.rb[1:1:2:1]": 113.876354392, - "./qa/specs/features/browser_ui/4_verify/ci_job_artifacts/unlocking_job_artifacts_across_pipelines_spec.rb[1:1:3:1]": 68.552225854, - "./qa/specs/features/browser_ui/4_verify/ci_project_artifacts/user_can_bulk_delete_artifacts_spec.rb[1:1:1:1]": 86.877077345, - "./qa/specs/features/browser_ui/4_verify/ci_variable/custom_variable_spec.rb[1:1:1]": 45.569080506, - "./qa/specs/features/browser_ui/4_verify/ci_variable/pipeline_with_protected_variable_spec.rb[1:1:1]": 51.138083431, - "./qa/specs/features/browser_ui/4_verify/ci_variable/pipeline_with_protected_variable_spec.rb[1:1:2]": 54.444443835, - "./qa/specs/features/browser_ui/4_verify/ci_variable/prefill_variables_spec.rb[1:1:1]": 35.942650913, - "./qa/specs/features/browser_ui/4_verify/ci_variable/prefill_variables_spec.rb[1:1:2]": 26.573381573, - "./qa/specs/features/browser_ui/4_verify/ci_variable/raw_variables_defined_in_yaml_spec.rb[1:1:1]": 29.595233703, - "./qa/specs/features/browser_ui/4_verify/ci_variable/ui_variable_inheritable_when_forward_pipeline_variables_true_spec.rb[1:1:1]": 155.588445339, - "./qa/specs/features/browser_ui/4_verify/pipeline/include_local_config_file_paths_with_wildcard_spec.rb[1:1:1]": 23.459718339, - "./qa/specs/features/browser_ui/4_verify/pipeline/include_multiple_files_from_a_project_spec.rb[1:1:1]": 82.948983168, - "./qa/specs/features/browser_ui/4_verify/pipeline/include_multiple_files_from_multiple_projects_spec.rb[1:1:1]": 48.272808897, - "./qa/specs/features/browser_ui/4_verify/pipeline/parent_child_pipelines_independent_relationship_spec.rb[1:1:1]": 41.006744275, - "./qa/specs/features/browser_ui/4_verify/pipeline/parent_child_pipelines_independent_relationship_spec.rb[1:1:2]": 43.130308014, - "./qa/specs/features/browser_ui/4_verify/pipeline/pass_dotenv_variables_to_downstream_via_bridge_spec.rb[1:1:1]": 56.5634157, - "./qa/specs/features/browser_ui/4_verify/pipeline/run_pipeline_with_manual_jobs_spec.rb[1:1:1]": 73.453418726, - "./qa/specs/features/browser_ui/4_verify/pipeline/trigger_child_pipeline_with_manual_spec.rb[1:1:1]": 44.490095637, - "./qa/specs/features/browser_ui/4_verify/pipeline/trigger_matrix_spec.rb[1:1:1]": 32.912208563, - "./qa/specs/features/browser_ui/4_verify/pipeline/update_ci_file_with_pipeline_editor_spec.rb[1:1:1]": 33.41696766, - "./qa/specs/features/browser_ui/4_verify/runner/deprecated_registration_token_spec.rb[1:1:1]": 27.255567205, - "./qa/specs/features/browser_ui/4_verify/runner/deprecated_unregister_runner_spec.rb[1:1:1]": 34.72891057, - "./qa/specs/features/browser_ui/4_verify/runner/fleet_visibility/group_runner_counts_spec.rb[1:1:1]": 23.788181643, - "./qa/specs/features/browser_ui/4_verify/runner/fleet_visibility/group_runner_status_counts_spec.rb[1:1:1]": 18.169601756, - "./qa/specs/features/browser_ui/4_verify/runner/register_group_runner_spec.rb[1:1:1]": 20.202194613, - "./qa/specs/features/browser_ui/4_verify/runner/register_project_runner_spec.rb[1:1:1]": 58.906034581, - "./qa/specs/features/browser_ui/4_verify/testing/endpoint_coverage_spec.rb[1:1:1]": 51.836840746, - "./qa/specs/features/browser_ui/5_package/container_registry/saas/container_registry_spec.rb[1:1:1]": 163.193004342, - "./qa/specs/features/browser_ui/5_package/container_registry/self_managed/container_registry_spec.rb[1:1:1:1:1]": 104.889076715, - "./qa/specs/features/browser_ui/5_package/container_registry/self_managed/container_registry_spec.rb[1:1:1:2:1]": 105.227437588, - "./qa/specs/features/browser_ui/5_package/container_registry/self_managed/container_registry_spec.rb[1:1:1:3:1]": 118.508956474, - "./qa/specs/features/browser_ui/5_package/dependency_proxy/dependency_proxy_spec.rb[1:1:1:1]": 57.270673042, - "./qa/specs/features/browser_ui/5_package/dependency_proxy/dependency_proxy_spec.rb[1:1:2:1]": 59.85349189, - "./qa/specs/features/browser_ui/5_package/dependency_proxy/dependency_proxy_spec.rb[1:1:3:1]": 66.886096751, - "./qa/specs/features/browser_ui/5_package/package_registry/composer_registry_spec.rb[1:1:1]": 62.08611696, - "./qa/specs/features/browser_ui/5_package/package_registry/conan_repository_spec.rb[1:1:1]": 107.864049619, - "./qa/specs/features/browser_ui/5_package/package_registry/generic_repository_spec.rb[1:1:1]": 62.388574114, - "./qa/specs/features/browser_ui/5_package/package_registry/helm_registry_spec.rb[1:1:1:1]": 97.897841754, - "./qa/specs/features/browser_ui/5_package/package_registry/helm_registry_spec.rb[1:1:2:1]": 107.686177696, - "./qa/specs/features/browser_ui/5_package/package_registry/helm_registry_spec.rb[1:1:3:1]": 103.709199276, - "./qa/specs/features/browser_ui/5_package/package_registry/maven/maven_group_level_spec.rb[1:1:1:1:1]": 109.950526513, - "./qa/specs/features/browser_ui/5_package/package_registry/maven/maven_group_level_spec.rb[1:1:1:2:1]": 115.203926162, - "./qa/specs/features/browser_ui/5_package/package_registry/maven/maven_group_level_spec.rb[1:1:1:3:1]": 110.876434781, - "./qa/specs/features/browser_ui/5_package/package_registry/maven/maven_group_level_spec.rb[1:1:2:1:1]": 137.580865097, - "./qa/specs/features/browser_ui/5_package/package_registry/maven/maven_group_level_spec.rb[1:1:2:2:1]": 120.844274163, - "./qa/specs/features/browser_ui/5_package/package_registry/maven/maven_project_level_spec.rb[1:1:1:1]": 106.046019901, - "./qa/specs/features/browser_ui/5_package/package_registry/maven/maven_project_level_spec.rb[1:1:2:1]": 100.10549847, - "./qa/specs/features/browser_ui/5_package/package_registry/maven/maven_project_level_spec.rb[1:1:3:1]": 100.15244019, - "./qa/specs/features/browser_ui/5_package/package_registry/maven_gradle_repository_spec.rb[1:1:1:1]": 97.819000806, - "./qa/specs/features/browser_ui/5_package/package_registry/maven_gradle_repository_spec.rb[1:1:2:1]": 98.648672674, - "./qa/specs/features/browser_ui/5_package/package_registry/maven_gradle_repository_spec.rb[1:1:3:1]": 112.857366711, - "./qa/specs/features/browser_ui/5_package/package_registry/npm/npm_group_level_spec.rb[1:1:1:1]": 107.186319841, - "./qa/specs/features/browser_ui/5_package/package_registry/npm/npm_group_level_spec.rb[1:1:2:1]": 109.428371062, - "./qa/specs/features/browser_ui/5_package/package_registry/npm/npm_group_level_spec.rb[1:1:3:1]": 84.51100629, - "./qa/specs/features/browser_ui/5_package/package_registry/npm/npm_instance_level_spec.rb[1:1:1:1]": 108.028536061, - "./qa/specs/features/browser_ui/5_package/package_registry/npm/npm_instance_level_spec.rb[1:1:2:1]": 83.453745941, - "./qa/specs/features/browser_ui/5_package/package_registry/npm/npm_instance_level_spec.rb[1:1:3:1]": 156.594146844, - "./qa/specs/features/browser_ui/5_package/package_registry/pypi_repository_spec.rb[1:1:1:1]": 106.406871549, - "./qa/specs/features/browser_ui/6_release/deploy_key/add_deploy_key_spec.rb[1:1:1]": 29.327765963, - "./qa/specs/features/browser_ui/6_release/deploy_key/clone_using_deploy_key_spec.rb[1:1:1]": 90.697387857, - "./qa/specs/features/browser_ui/6_release/deploy_key/clone_using_deploy_key_spec.rb[1:1:2]": 47.685087556, - "./qa/specs/features/browser_ui/6_release/deploy_key/clone_using_deploy_key_spec.rb[1:1:3]": 50.333216215, - "./qa/specs/features/browser_ui/6_release/deploy_token/add_deploy_token_spec.rb[1:1:1]": 14.698590564, + "./qa/specs/features/browser_ui/3_create/merge_request/create_merge_request_spec.rb[1:1:2]": 47.270657321, + "./qa/specs/features/browser_ui/3_create/merge_request/create_merge_request_via_template_spec.rb[1:1:1]": 35.080966204, + "./qa/specs/features/browser_ui/3_create/merge_request/merge_merge_request_from_fork_spec.rb[1:1:1]": 59.780308378, + "./qa/specs/features/browser_ui/3_create/merge_request/merge_request_set_to_auto_merge_spec.rb[1:1:1]": 64.4228714, + "./qa/specs/features/browser_ui/3_create/merge_request/rebase_merge_request_spec.rb[1:1:1]": 64.580042078, + "./qa/specs/features/browser_ui/3_create/merge_request/revert/revert_commit_spec.rb[1:1:1]": 29.634038914, + "./qa/specs/features/browser_ui/3_create/merge_request/revert/reverting_merge_request_spec.rb[1:1:1]": 39.661481913, + "./qa/specs/features/browser_ui/3_create/merge_request/squash_merge_request_spec.rb[1:1:1]": 33.270783184, + "./qa/specs/features/browser_ui/3_create/merge_request/suggestions/batch_suggestion_spec.rb[1:1:1]": 62.738790531, + "./qa/specs/features/browser_ui/3_create/merge_request/suggestions/custom_commit_suggestion_spec.rb[1:1:1]": 45.482610788, + "./qa/specs/features/browser_ui/3_create/merge_request/view_merge_request_diff_patch_spec.rb[1:1:1]": 15.700102968, + "./qa/specs/features/browser_ui/3_create/merge_request/view_merge_request_diff_patch_spec.rb[1:1:2]": 26.846865308, + "./qa/specs/features/browser_ui/3_create/repository/add_file_template_spec.rb[1:1:1]": 23.742314015, + "./qa/specs/features/browser_ui/3_create/repository/add_file_template_spec.rb[1:1:2]": 20.221193756, + "./qa/specs/features/browser_ui/3_create/repository/add_file_template_spec.rb[1:1:3]": 19.489717536, + "./qa/specs/features/browser_ui/3_create/repository/add_file_template_spec.rb[1:1:4]": 16.81244766, + "./qa/specs/features/browser_ui/3_create/repository/add_new_branch_rule_spec.rb[1:1:1]": 19.150883778, + "./qa/specs/features/browser_ui/3_create/repository/branch_with_unusual_name_spec.rb[1:1:1:1]": 14.062908421, + "./qa/specs/features/browser_ui/3_create/repository/clone_spec.rb[1:1:1]": 12.325410084, + "./qa/specs/features/browser_ui/3_create/repository/clone_spec.rb[1:1:2]": 11.324948865, + "./qa/specs/features/browser_ui/3_create/repository/file/create_file_via_web_spec.rb[1:1:1]": 13.465740873, + "./qa/specs/features/browser_ui/3_create/repository/file/delete_file_via_web_spec.rb[1:1:1]": 12.293439471, + "./qa/specs/features/browser_ui/3_create/repository/file/edit_file_via_web_spec.rb[1:1:1]": 25.052504758, + "./qa/specs/features/browser_ui/3_create/repository/file/file_with_unusual_name_spec.rb[1:1:1:1]": 19.696802301, + "./qa/specs/features/browser_ui/3_create/repository/license_detection_spec.rb[1:1:1:1:1]": 21.188744378, + "./qa/specs/features/browser_ui/3_create/repository/license_detection_spec.rb[1:1:2:1:1]": 18.682937065, + "./qa/specs/features/browser_ui/3_create/repository/protected_tags_spec.rb[1:1:1:1:1]": 15.687072909, + "./qa/specs/features/browser_ui/3_create/repository/protected_tags_spec.rb[1:1:1:2:1]": 15.703930497, + "./qa/specs/features/browser_ui/3_create/repository/protected_tags_spec.rb[1:1:2:1:1]": 31.982650856, + "./qa/specs/features/browser_ui/3_create/repository/protected_tags_spec.rb[1:1:2:2:1]": 27.587359161, + "./qa/specs/features/browser_ui/3_create/repository/protocol_v2_push_http_spec.rb[1:1:1]": 18.312376595, + "./qa/specs/features/browser_ui/3_create/repository/protocol_v2_push_ssh_spec.rb[1:1:1]": 14.736077082, + "./qa/specs/features/browser_ui/3_create/repository/push_http_private_token_spec.rb[1:1:1]": 22.757864065, + "./qa/specs/features/browser_ui/3_create/repository/push_mirroring_lfs_over_http_spec.rb[1:1:1]": 56.914073221, + "./qa/specs/features/browser_ui/3_create/repository/push_mirroring_over_http_spec.rb[1:1:1]": 55.727138589, + "./qa/specs/features/browser_ui/3_create/repository/push_over_http_file_size_spec.rb[1:1:1]": 11.177250848, + "./qa/specs/features/browser_ui/3_create/repository/push_over_http_file_size_spec.rb[1:1:2]": 38.580368598, + "./qa/specs/features/browser_ui/3_create/repository/push_over_http_spec.rb[1:1:1]": 22.399281194, + "./qa/specs/features/browser_ui/3_create/repository/push_over_http_spec.rb[1:1:2]": 10.556900734, + "./qa/specs/features/browser_ui/3_create/repository/push_over_ssh_spec.rb[1:1:1]": 25.229711539, + "./qa/specs/features/browser_ui/3_create/repository/push_over_ssh_spec.rb[1:1:2]": 21.533574879, + "./qa/specs/features/browser_ui/3_create/repository/push_protected_branch_spec.rb[1:1:1:1]": 9.029045173, + "./qa/specs/features/browser_ui/3_create/repository/push_to_canary_gitaly_spec.rb[1:1:1]": 21.429995577, + "./qa/specs/features/browser_ui/3_create/repository/ssh_key_support_create_spec.rb[1:1:1]": 26.508486488, + "./qa/specs/features/browser_ui/3_create/repository/ssh_key_support_delete_spec.rb[1:1:1]": 27.461300325, + "./qa/specs/features/browser_ui/3_create/repository/user_views_commit_diff_patch_spec.rb[1:1:1]": 35.441381264, + "./qa/specs/features/browser_ui/3_create/repository/user_views_commit_diff_patch_spec.rb[1:1:2]": 19.917262112, + "./qa/specs/features/browser_ui/3_create/snippet/add_comment_to_snippet_spec.rb[1:1:1:1]": 15.223569465, + "./qa/specs/features/browser_ui/3_create/snippet/add_comment_to_snippet_spec.rb[1:1:2:1]": 24.230613898, + "./qa/specs/features/browser_ui/3_create/snippet/add_file_to_snippet_spec.rb[1:1:1:1]": 25.251180892, + "./qa/specs/features/browser_ui/3_create/snippet/add_file_to_snippet_spec.rb[1:1:2:1]": 16.466305012, + "./qa/specs/features/browser_ui/3_create/snippet/clone_push_pull_personal_snippet_spec.rb[1:1:1]": 17.694722561, + "./qa/specs/features/browser_ui/3_create/snippet/clone_push_pull_personal_snippet_spec.rb[1:1:2]": 26.692441294, + "./qa/specs/features/browser_ui/3_create/snippet/clone_push_pull_project_snippet_spec.rb[1:1:1]": 20.496215074, + "./qa/specs/features/browser_ui/3_create/snippet/clone_push_pull_project_snippet_spec.rb[1:1:2]": 28.526641238, + "./qa/specs/features/browser_ui/3_create/snippet/copy_snippet_file_contents_spec.rb[1:1:1:1]": 13.742546744, + "./qa/specs/features/browser_ui/3_create/snippet/copy_snippet_file_contents_spec.rb[1:1:2:1]": 15.203365451, + "./qa/specs/features/browser_ui/3_create/snippet/create_personal_snippet_spec.rb[1:1:1]": 14.603115557, + "./qa/specs/features/browser_ui/3_create/snippet/create_personal_snippet_with_multiple_files_spec.rb[1:1:1]": 9.928460233, + "./qa/specs/features/browser_ui/3_create/snippet/create_project_snippet_spec.rb[1:1:1]": 14.187126475, + "./qa/specs/features/browser_ui/3_create/snippet/create_project_snippet_with_multiple_files_spec.rb[1:1:1]": 20.229409726, + "./qa/specs/features/browser_ui/3_create/snippet/delete_file_from_snippet_spec.rb[1:1:1:1]": 15.852576443, + "./qa/specs/features/browser_ui/3_create/snippet/delete_file_from_snippet_spec.rb[1:1:2:1]": 23.866238806, + "./qa/specs/features/browser_ui/3_create/snippet/share_snippet_spec.rb[1:1:1:1]": 11.776568571, + "./qa/specs/features/browser_ui/3_create/snippet/share_snippet_spec.rb[1:1:2:1]": 12.651097968, + "./qa/specs/features/browser_ui/3_create/snippet/snippet_index_page_spec.rb[1:1:1:1]": 14.483752624, + "./qa/specs/features/browser_ui/3_create/snippet/snippet_index_page_spec.rb[1:1:2:1]": 5.566518905, + "./qa/specs/features/browser_ui/3_create/snippet/snippet_index_page_spec.rb[1:1:3:1]": 23.142571195, + "./qa/specs/features/browser_ui/3_create/snippet/snippet_index_page_spec.rb[1:1:4:1]": 8.490265649, + "./qa/specs/features/browser_ui/3_create/source_editor/source_editor_toolbar_spec.rb[1:1:1]": 16.659267465, + "./qa/specs/features/browser_ui/3_create/web_ide/add_first_file_in_web_ide_spec.rb[1:1:1:1]": 16.296082001, + "./qa/specs/features/browser_ui/3_create/web_ide/add_first_file_in_web_ide_spec.rb[1:1:2:1]": 28.700406612, + "./qa/specs/features/browser_ui/3_create/web_ide/add_new_directory_in_web_ide_spec.rb[1:1:1:1]": 21.012164169, + "./qa/specs/features/browser_ui/3_create/web_ide/add_new_directory_in_web_ide_spec.rb[1:1:2:1]": 39.039861582, + "./qa/specs/features/browser_ui/3_create/web_ide/closing_web_ide_with_unsaved_changes_spec.rb[1:1:1]": 16.098516881, + "./qa/specs/features/browser_ui/3_create/web_ide/upload_new_file_in_web_ide_spec.rb[1:1:1:1]": 18.557198397, + "./qa/specs/features/browser_ui/3_create/web_ide/upload_new_file_in_web_ide_spec.rb[1:1:2:1:1]": 24.10353928, + "./qa/specs/features/browser_ui/3_create/web_ide/upload_new_file_in_web_ide_spec.rb[1:1:3:1:1]": 81.511033754, + "./qa/specs/features/browser_ui/4_verify/ci_components_catalog/ci_catalog_sorting_spec.rb[1:1:1:2:1:1]": 37.882018352, + "./qa/specs/features/browser_ui/4_verify/ci_components_catalog/ci_catalog_sorting_spec.rb[1:1:1:2:2:1]": 51.76896481, + "./qa/specs/features/browser_ui/4_verify/ci_components_catalog/release_with_glab_spec.rb[1:1:1]": 48.611551089, + "./qa/specs/features/browser_ui/4_verify/ci_components_catalog/release_with_glab_spec.rb[1:1:2]": 71.855417227, + "./qa/specs/features/browser_ui/4_verify/ci_components_catalog/release_with_release_cli_spec.rb[1:1:1]": 61.214895639, + "./qa/specs/features/browser_ui/4_verify/ci_components_catalog/release_with_release_cli_spec.rb[1:1:2]": 49.05785621, + "./qa/specs/features/browser_ui/4_verify/ci_components_catalog/run_component_in_project_pipeline_spec.rb[1:1:1]": 59.471201613, + "./qa/specs/features/browser_ui/4_verify/ci_job_artifacts/expose_job_artifacts_in_mr_spec.rb[1:1:1:1]": 45.067420642, + "./qa/specs/features/browser_ui/4_verify/ci_job_artifacts/job_artifacts_access_keyword_spec.rb[1:1:1:1:1]": 52.216233213, + "./qa/specs/features/browser_ui/4_verify/ci_job_artifacts/job_artifacts_access_keyword_spec.rb[1:1:1:1:2]": 28.625240493, + "./qa/specs/features/browser_ui/4_verify/ci_job_artifacts/job_artifacts_access_keyword_spec.rb[1:1:2:1:1]": 32.920186373, + "./qa/specs/features/browser_ui/4_verify/ci_job_artifacts/job_artifacts_access_keyword_spec.rb[1:1:2:1:2]": 21.927904823, + "./qa/specs/features/browser_ui/4_verify/ci_job_artifacts/job_artifacts_access_keyword_spec.rb[1:1:3:1:1]": 25.893313808, + "./qa/specs/features/browser_ui/4_verify/ci_job_artifacts/job_artifacts_access_keyword_spec.rb[1:1:3:1:2]": 27.302487618, + "./qa/specs/features/browser_ui/4_verify/ci_job_artifacts/unlocking_job_artifacts_across_pipelines_spec.rb[1:1:1:1]": 55.31526204, + "./qa/specs/features/browser_ui/4_verify/ci_job_artifacts/unlocking_job_artifacts_across_pipelines_spec.rb[1:1:2:1]": 63.071686032, + "./qa/specs/features/browser_ui/4_verify/ci_job_artifacts/unlocking_job_artifacts_across_pipelines_spec.rb[1:1:3:1]": 123.363120151, + "./qa/specs/features/browser_ui/4_verify/ci_project_artifacts/user_can_bulk_delete_artifacts_spec.rb[1:1:1:1]": 93.836106531, + "./qa/specs/features/browser_ui/4_verify/ci_variable/custom_variable_spec.rb[1:1:1]": 48.024213995, + "./qa/specs/features/browser_ui/4_verify/ci_variable/pipeline_with_protected_variable_spec.rb[1:1:1]": 41.052596593, + "./qa/specs/features/browser_ui/4_verify/ci_variable/pipeline_with_protected_variable_spec.rb[1:1:2]": 52.619394038, + "./qa/specs/features/browser_ui/4_verify/ci_variable/prefill_variables_spec.rb[1:1:1]": 19.020511181, + "./qa/specs/features/browser_ui/4_verify/ci_variable/prefill_variables_spec.rb[1:1:2]": 15.896705279, + "./qa/specs/features/browser_ui/4_verify/ci_variable/raw_variables_defined_in_yaml_spec.rb[1:1:1]": 30.904135899, + "./qa/specs/features/browser_ui/4_verify/ci_variable/ui_variable_inheritable_when_forward_pipeline_variables_true_spec.rb[1:1:1]": 77.762237231, + "./qa/specs/features/browser_ui/4_verify/pipeline/include_local_config_file_paths_with_wildcard_spec.rb[1:1:1]": 16.459257098, + "./qa/specs/features/browser_ui/4_verify/pipeline/include_multiple_files_from_a_project_spec.rb[1:1:1]": 45.310208661, + "./qa/specs/features/browser_ui/4_verify/pipeline/include_multiple_files_from_multiple_projects_spec.rb[1:1:1]": 36.273191348, + "./qa/specs/features/browser_ui/4_verify/pipeline/parent_child_pipelines_independent_relationship_spec.rb[1:1:1]": 35.265371132, + "./qa/specs/features/browser_ui/4_verify/pipeline/parent_child_pipelines_independent_relationship_spec.rb[1:1:2]": 50.698412154, + "./qa/specs/features/browser_ui/4_verify/pipeline/pass_dotenv_variables_to_downstream_via_bridge_spec.rb[1:1:1]": 57.639760794, + "./qa/specs/features/browser_ui/4_verify/pipeline/run_pipeline_with_manual_jobs_spec.rb[1:1:1]": 57.584826949, + "./qa/specs/features/browser_ui/4_verify/pipeline/trigger_child_pipeline_with_manual_spec.rb[1:1:1]": 43.224803965, + "./qa/specs/features/browser_ui/4_verify/pipeline/trigger_matrix_spec.rb[1:1:1]": 62.718836569, + "./qa/specs/features/browser_ui/4_verify/pipeline/update_ci_file_with_pipeline_editor_spec.rb[1:1:1]": 30.10048182, + "./qa/specs/features/browser_ui/4_verify/runner/deprecated_registration_token_spec.rb[1:1:1]": 15.951011883, + "./qa/specs/features/browser_ui/4_verify/runner/deprecated_unregister_runner_spec.rb[1:1:1]": 29.562428523, + "./qa/specs/features/browser_ui/4_verify/runner/fleet_visibility/group_runner_counts_spec.rb[1:1:1]": 24.808070433, + "./qa/specs/features/browser_ui/4_verify/runner/fleet_visibility/group_runner_status_counts_spec.rb[1:1:1]": 14.921769528, + "./qa/specs/features/browser_ui/4_verify/runner/register_group_runner_spec.rb[1:1:1]": 17.852138531, + "./qa/specs/features/browser_ui/4_verify/runner/register_project_runner_spec.rb[1:1:1]": 27.274066684, + "./qa/specs/features/browser_ui/4_verify/testing/endpoint_coverage_spec.rb[1:1:1]": 48.670504167, + "./qa/specs/features/browser_ui/5_package/container_registry/self_managed/container_registry_spec.rb[1:1:1:1:1]": 127.738958792, + "./qa/specs/features/browser_ui/5_package/container_registry/self_managed/container_registry_spec.rb[1:1:1:2:1]": 108.88733227, + "./qa/specs/features/browser_ui/5_package/container_registry/self_managed/container_registry_spec.rb[1:1:1:3:1]": 106.292429677, + "./qa/specs/features/browser_ui/5_package/dependency_proxy/dependency_proxy_spec.rb[1:1:1:1]": 53.172565304, + "./qa/specs/features/browser_ui/5_package/dependency_proxy/dependency_proxy_spec.rb[1:1:2:1]": 55.338171317, + "./qa/specs/features/browser_ui/5_package/dependency_proxy/dependency_proxy_spec.rb[1:1:3:1]": 59.111187668, + "./qa/specs/features/browser_ui/5_package/package_registry/composer_registry_spec.rb[1:1:1]": 36.168808185, + "./qa/specs/features/browser_ui/5_package/package_registry/conan_repository_spec.rb[1:1:1]": 74.173228599, + "./qa/specs/features/browser_ui/5_package/package_registry/generic_repository_spec.rb[1:1:1]": 58.14390326, + "./qa/specs/features/browser_ui/5_package/package_registry/helm_registry_spec.rb[1:1:1:1]": 82.38173574, + "./qa/specs/features/browser_ui/5_package/package_registry/helm_registry_spec.rb[1:1:2:1]": 84.778698134, + "./qa/specs/features/browser_ui/5_package/package_registry/helm_registry_spec.rb[1:1:3:1]": 75.397567398, + "./qa/specs/features/browser_ui/5_package/package_registry/maven/maven_group_level_spec.rb[1:1:1:1:1]": 102.084349987, + "./qa/specs/features/browser_ui/5_package/package_registry/maven/maven_group_level_spec.rb[1:1:1:2:1]": 86.865113007, + "./qa/specs/features/browser_ui/5_package/package_registry/maven/maven_group_level_spec.rb[1:1:1:3:1]": 91.520342677, + "./qa/specs/features/browser_ui/5_package/package_registry/maven/maven_group_level_spec.rb[1:1:2:1:1]": 71.947738389, + "./qa/specs/features/browser_ui/5_package/package_registry/maven/maven_group_level_spec.rb[1:1:2:2:1]": 108.932442269, + "./qa/specs/features/browser_ui/5_package/package_registry/maven/maven_project_level_spec.rb[1:1:1:1]": 101.448213431, + "./qa/specs/features/browser_ui/5_package/package_registry/maven/maven_project_level_spec.rb[1:1:2:1]": 88.217201892, + "./qa/specs/features/browser_ui/5_package/package_registry/maven/maven_project_level_spec.rb[1:1:3:1]": 97.436570701, + "./qa/specs/features/browser_ui/5_package/package_registry/maven_gradle_repository_spec.rb[1:1:1:1]": 89.392625173, + "./qa/specs/features/browser_ui/5_package/package_registry/maven_gradle_repository_spec.rb[1:1:2:1]": 71.3726789, + "./qa/specs/features/browser_ui/5_package/package_registry/maven_gradle_repository_spec.rb[1:1:3:1]": 85.777152931, + "./qa/specs/features/browser_ui/5_package/package_registry/npm/npm_group_level_spec.rb[1:1:1:1]": 100.51916712, + "./qa/specs/features/browser_ui/5_package/package_registry/npm/npm_group_level_spec.rb[1:1:2:1]": 97.873921836, + "./qa/specs/features/browser_ui/5_package/package_registry/npm/npm_group_level_spec.rb[1:1:3:1]": 79.841358798, + "./qa/specs/features/browser_ui/5_package/package_registry/npm/npm_instance_level_spec.rb[1:1:1:1]": 123.000521428, + "./qa/specs/features/browser_ui/5_package/package_registry/npm/npm_instance_level_spec.rb[1:1:2:1]": 102.474582196, + "./qa/specs/features/browser_ui/5_package/package_registry/npm/npm_instance_level_spec.rb[1:1:3:1]": 81.163963948, + "./qa/specs/features/browser_ui/5_package/package_registry/pypi_repository_spec.rb[1:1:1:1]": 89.191043624, + "./qa/specs/features/browser_ui/6_release/deploy_key/add_deploy_key_spec.rb[1:1:1]": 26.403964987, + "./qa/specs/features/browser_ui/6_release/deploy_key/clone_using_deploy_key_spec.rb[1:1:1]": 50.858886011, + "./qa/specs/features/browser_ui/6_release/deploy_key/clone_using_deploy_key_spec.rb[1:1:2]": 35.941581513, + "./qa/specs/features/browser_ui/6_release/deploy_key/clone_using_deploy_key_spec.rb[1:1:3]": 48.465290682, + "./qa/specs/features/browser_ui/6_release/deploy_token/add_deploy_token_spec.rb[1:1:1]": 7.15636057, "./qa/specs/features/browser_ui/8_monitor/alert_management/alert_settings_create_new_alerts_spec.rb[1:1:1:1:1]": 26.003599109, - "./qa/specs/features/browser_ui/8_monitor/alert_management/alert_settings_create_new_alerts_spec.rb[1:1:2:1:1]": 26.354257453, - "./qa/specs/features/browser_ui/8_monitor/alert_management/automatically_creates_incident_for_alert_spec.rb[1:1:1:1:1]": 31.460237713, - "./qa/specs/features/browser_ui/8_monitor/alert_management/automatically_creates_incident_for_alert_spec.rb[1:1:2:1:1]": 30.58972532, - "./qa/specs/features/browser_ui/8_monitor/alert_management/create_alert_using_authorization_key_spec.rb[1:1:1:1:1]": 26.321669181, - "./qa/specs/features/browser_ui/8_monitor/alert_management/create_alert_using_authorization_key_spec.rb[1:1:2:1:1]": 24.255692584, - "./qa/specs/features/browser_ui/8_monitor/alert_management/email_notification_for_alert_spec.rb[1:1:1:1:1:1]": 19.844188617, - "./qa/specs/features/browser_ui/8_monitor/alert_management/email_notification_for_alert_spec.rb[1:1:1:2:1:1]": 17.811396991, - "./qa/specs/features/browser_ui/8_monitor/alert_management/email_notification_for_alert_spec.rb[1:1:2:1:1:1]": 19.226572439, - "./qa/specs/features/browser_ui/8_monitor/alert_management/email_notification_for_alert_spec.rb[1:1:2:2:1:1]": 15.540053012, - "./qa/specs/features/browser_ui/8_monitor/alert_management/recovery_alert_resolves_correct_alert_spec.rb[1:1:1:1:1]": 29.470219297, - "./qa/specs/features/browser_ui/9_data_stores/group/create_group_with_mattermost_team_spec.rb[1:1:1]": 8.143943888, - "./qa/specs/features/browser_ui/9_data_stores/group/group_member_access_request_spec.rb[1:1:1]": 20.416061602, - "./qa/specs/features/browser_ui/9_data_stores/group/group_member_access_request_spec.rb[1:1:2:1:1]": 18.684505706, - "./qa/specs/features/browser_ui/9_data_stores/group/group_member_access_request_spec.rb[1:1:2:2:1]": 20.217369474, - "./qa/specs/features/browser_ui/9_data_stores/group/transfer_project_spec.rb[1:1:1]": 22.223200836, - "./qa/specs/features/browser_ui/9_data_stores/project/add_project_member_spec.rb[1:1:1]": 30.228395089, - "./qa/specs/features/browser_ui/9_data_stores/project/create_project_badge_spec.rb[1:1:1]": 26.47440979, - "./qa/specs/features/browser_ui/9_data_stores/project/create_project_spec.rb[1:1:1:1:1]": 29.244196979, - "./qa/specs/features/browser_ui/9_data_stores/project/create_project_spec.rb[1:1:2:1:1]": 27.680360977, - "./qa/specs/features/browser_ui/9_data_stores/project/dashboard_images_spec.rb[1:1:1:1:1]": 10.590326836, - "./qa/specs/features/browser_ui/9_data_stores/project/dashboard_images_spec.rb[1:1:2:1:1]": 7.526937297, - "./qa/specs/features/browser_ui/9_data_stores/project/invite_group_to_project_spec.rb[1:1:1:1:1]": 34.210315622, - "./qa/specs/features/browser_ui/9_data_stores/project/invite_group_to_project_spec.rb[1:1:2:1:1]": 42.853492757, - "./qa/specs/features/browser_ui/9_data_stores/project/project_owner_permissions_spec.rb[1:1:1:1:1]": 22.246562269, - "./qa/specs/features/browser_ui/9_data_stores/project/project_owner_permissions_spec.rb[1:1:1:2:1]": 20.986855943, - "./qa/specs/features/browser_ui/9_data_stores/project/project_owner_permissions_spec.rb[1:1:2:1:1]": 28.239776221, - "./qa/specs/features/browser_ui/9_data_stores/project/project_owner_permissions_spec.rb[1:1:2:2:1]": 29.234616838, - "./qa/specs/features/browser_ui/9_data_stores/project/view_project_activity_spec.rb[1:1:1:1]": 30.729891519, - "./qa/specs/features/browser_ui/9_data_stores/user/follow_user_activity_spec.rb[1:1:1]": 28.12556536, - "./qa/specs/features/browser_ui/9_data_stores/user/parent_group_access_termination_spec.rb[1:1:1:1]": 25.595656177, - "./qa/specs/features/browser_ui/9_data_stores/user/user_inherited_access_spec.rb[1:1:1:1]": 13.232767957, - "./qa/specs/features/browser_ui/9_data_stores/user/user_inherited_access_spec.rb[1:1:2:1]": 11.557867058, - "./qa/specs/features/ee/api/10_govern/compliance_pipeline_spec.rb[1:1:1:1]": 44.953216412, - "./qa/specs/features/ee/api/10_govern/instance_audit_event_streaming_spec.rb[1:1:1:1]": 17.013822607, - "./qa/specs/features/ee/api/10_govern/instance_audit_event_streaming_spec.rb[1:1:4:1]": 25.947721775, - "./qa/specs/features/ee/api/10_govern/user/minimal_access_user_spec.rb[1:1:1]": 49.368156521, - "./qa/specs/features/ee/api/10_govern/user/minimal_access_user_spec.rb[1:1:2]": 20.262218929, - "./qa/specs/features/ee/api/10_govern/user/minimal_access_user_spec.rb[1:1:3]": 13.132791952, - "./qa/specs/features/ee/api/1_manage/import/import_github_repo_spec.rb[1:1:1:1]": 124.452661764, - "./qa/specs/features/ee/api/1_manage/integrations/group_webhook_events_spec.rb[1:1:1]": 11.694093681, - "./qa/specs/features/ee/api/1_manage/migration/gitlab_migration_group_spec.rb[1:1:1:1]": 82.717425116, - "./qa/specs/features/ee/api/2_plan/analytics/dora_metrics_spec.rb[1:1:1:1:1]": 1.004369817, - "./qa/specs/features/ee/api/2_plan/analytics/dora_metrics_spec.rb[1:1:2:1:1]": 1.606094002, - "./qa/specs/features/ee/api/2_plan/epics_milestone_dates_spec.rb[1:1:1]": 15.792954859, - "./qa/specs/features/ee/api/2_plan/epics_milestone_dates_spec.rb[1:1:2]": 20.37172246, - "./qa/specs/features/ee/api/2_plan/epics_milestone_dates_spec.rb[1:1:3]": 16.183675521, - "./qa/specs/features/ee/api/2_plan/epics_milestone_dates_spec.rb[1:1:4]": 15.439558934, - "./qa/specs/features/ee/api/3_create/code_suggestions_spec.rb[1:1:1:1:1:1]": 0.710675824, - "./qa/specs/features/ee/api/3_create/code_suggestions_spec.rb[1:1:1:1:2:1:1]": 1.306522118, - "./qa/specs/features/ee/api/3_create/code_suggestions_spec.rb[1:1:1:2:1:1:1:1:1]": 0.87589792, - "./qa/specs/features/ee/api/3_create/code_suggestions_spec.rb[1:1:1:2:1:1:1:2:1:1]": 0.782994675, - "./qa/specs/features/ee/api/3_create/code_suggestions_spec.rb[1:1:2:1:1:1]": 7.406960388, - "./qa/specs/features/ee/api/3_create/code_suggestions_spec.rb[1:1:2:2:1:1:1:1:1]": 0.906602151, - "./qa/specs/features/ee/api/3_create/code_suggestions_spec.rb[1:1:2:2:1:1:2:1]": 2.985709694, - "./qa/specs/features/ee/api/3_create/code_suggestions_spec.rb[1:1:2:2:1:2:1]": 3.040014936, - "./qa/specs/features/ee/api/3_create/code_suggestions_spec.rb[1:1:2:2:2:1]": 0.092501572, - "./qa/specs/features/ee/api/3_create/code_suggestions_spec.rb[1:1:2:3:1:1]": 5.866255176, - "./qa/specs/features/ee/api/3_create/code_suggestions_spec.rb[1:1:2:3:2:1:1:1:1]": 1.206376014, - "./qa/specs/features/ee/api/3_create/code_suggestions_spec.rb[1:1:3:1:1]": 3.299035475, - "./qa/specs/features/ee/api/3_create/code_suggestions_spec.rb[1:1:3:1:2]": 3.223179632, - "./qa/specs/features/ee/api/3_create/code_suggestions_spec.rb[1:1:3:2:1:1:1:1]": 0.333123895, - "./qa/specs/features/ee/api/3_create/code_suggestions_spec.rb[1:1:3:2:1:1:1:2]": 1.722503407, - "./qa/specs/features/ee/api/3_create/code_suggestions_spec.rb[1:1:3:2:1:1:1:3:1]": 1.239423546, - "./qa/specs/features/ee/api/9_data_stores/elasticsearch/advanced_global_advanced_syntax_search_spec.rb[1:1:1:1]": 74.589749313, - "./qa/specs/features/ee/api/9_data_stores/elasticsearch/advanced_global_advanced_syntax_search_spec.rb[1:1:1:2]": 102.874218629, - "./qa/specs/features/ee/api/9_data_stores/elasticsearch/elasticsearch_api_spec.rb[1:1:1]": 22.272973313, - "./qa/specs/features/ee/api/9_data_stores/elasticsearch/elasticsearch_api_spec.rb[1:1:2:1]": 43.05180357, - "./qa/specs/features/ee/api/9_data_stores/elasticsearch/elasticsearch_api_spec.rb[1:1:2:2]": 23.449887643, - "./qa/specs/features/ee/api/9_data_stores/elasticsearch/index_tests/commit_index/commit_index_spec.rb[1:1:1]": 113.761138715, - "./qa/specs/features/ee/api/9_data_stores/elasticsearch/index_tests/issues_index/issue_index_spec.rb[1:1:1]": 94.191328237, - "./qa/specs/features/ee/api/9_data_stores/elasticsearch/index_tests/main_index/blob_index_spec.rb[1:1:1]": 44.073263399, - "./qa/specs/features/ee/api/9_data_stores/elasticsearch/index_tests/merge_request_index/merge_request_index_spec.rb[1:1:1]": 53.637057678, - "./qa/specs/features/ee/api/9_data_stores/elasticsearch/index_tests/notes_index/note_index_spec.rb[1:1:1]": 57.685242512, - "./qa/specs/features/ee/api/9_data_stores/elasticsearch/index_tests/user_index/user_index_spec.rb[1:1:1]": 53.947907517, - "./qa/specs/features/ee/api/9_data_stores/elasticsearch/nightly_elasticsearch_test_spec.rb[1:1:1]": 22.758491453, - "./qa/specs/features/ee/browser_ui/10_govern/change_vulnerability_status_spec.rb[1:1:1]": 52.961982521, - "./qa/specs/features/ee/browser_ui/10_govern/change_vulnerability_status_spec.rb[1:1:2]": 41.593119286, - "./qa/specs/features/ee/browser_ui/10_govern/change_vulnerability_status_spec.rb[1:1:3]": 34.919073838, - "./qa/specs/features/ee/browser_ui/10_govern/create_merge_request_with_secure_spec.rb[1:1:1]": 67.504473966, - "./qa/specs/features/ee/browser_ui/10_govern/dismissed_vulnerabilities_in_security_widget_spec.rb[1:1:1]": 120.244884641, - "./qa/specs/features/ee/browser_ui/10_govern/explain_this_vulnerability_spec.rb[1:1:1]": 54.82291775, - "./qa/specs/features/ee/browser_ui/10_govern/export_vulnerability_report_spec.rb[1:1:1]": 27.923855203, - "./qa/specs/features/ee/browser_ui/10_govern/fix_vulnerability_workflow_spec.rb[1:1:1]": 198.566644822, - "./qa/specs/features/ee/browser_ui/10_govern/group/group_audit_event_streaming_spec.rb[1:1:1:1]": 20.495700499, - "./qa/specs/features/ee/browser_ui/10_govern/group/group_audit_event_streaming_spec.rb[1:1:2:1:1]": 13.835476449, - "./qa/specs/features/ee/browser_ui/10_govern/group/group_audit_event_streaming_spec.rb[1:1:2:2:1]": 12.070909221, - "./qa/specs/features/ee/browser_ui/10_govern/group/group_audit_event_streaming_spec.rb[1:1:2:3:1]": 10.52174915, - "./qa/specs/features/ee/browser_ui/10_govern/group/group_audit_logs_1_spec.rb[1:1:1:1:1]": 28.255730938, - "./qa/specs/features/ee/browser_ui/10_govern/group/group_audit_logs_1_spec.rb[1:1:2:1:1]": 10.558823322, - "./qa/specs/features/ee/browser_ui/10_govern/group/group_audit_logs_1_spec.rb[1:1:3:1:1]": 11.408451778, - "./qa/specs/features/ee/browser_ui/10_govern/group/group_audit_logs_1_spec.rb[1:1:4:1:1]": 28.392456561, - "./qa/specs/features/ee/browser_ui/10_govern/group/group_audit_logs_1_spec.rb[1:1:5:1:1]": 20.020863994, - "./qa/specs/features/ee/browser_ui/10_govern/group/group_ldap_sync_spec.rb[1:1:1:1:1]": 40.387602561, - "./qa/specs/features/ee/browser_ui/10_govern/group/group_ldap_sync_spec.rb[1:1:1:1:2]": 11.078309377, - "./qa/specs/features/ee/browser_ui/10_govern/group/group_ldap_sync_spec.rb[1:1:1:1:3]": 12.71317704, - "./qa/specs/features/ee/browser_ui/10_govern/group/group_ldap_sync_spec.rb[1:1:2:1:1]": 34.247191766, - "./qa/specs/features/ee/browser_ui/10_govern/group/group_ldap_sync_spec.rb[1:1:2:1:2]": 14.075033025, - "./qa/specs/features/ee/browser_ui/10_govern/group/group_ldap_sync_spec.rb[1:1:2:1:3]": 14.880877581, - "./qa/specs/features/ee/browser_ui/10_govern/group/restrict_by_ip_address_spec.rb[1:1:1:1:1]": 20.156739976, - "./qa/specs/features/ee/browser_ui/10_govern/group/restrict_by_ip_address_spec.rb[1:1:1:2:1]": 10.831139952, - "./qa/specs/features/ee/browser_ui/10_govern/group/restrict_by_ip_address_spec.rb[1:1:1:3:1]": 47.335903659, - "./qa/specs/features/ee/browser_ui/10_govern/group/restrict_by_ip_address_spec.rb[1:1:2:1:1]": 14.47435078, - "./qa/specs/features/ee/browser_ui/10_govern/group/restrict_by_ip_address_spec.rb[1:1:2:2:1]": 10.735250098, - "./qa/specs/features/ee/browser_ui/10_govern/group/restrict_by_ip_address_spec.rb[1:1:2:3:1]": 36.923450169, - "./qa/specs/features/ee/browser_ui/10_govern/group_pipeline_execution_policy_spec.rb[1:1:1]": 160.784906704, - "./qa/specs/features/ee/browser_ui/10_govern/group_pipeline_execution_policy_spec.rb[1:1:2]": 149.953089615, - "./qa/specs/features/ee/browser_ui/10_govern/instance/instance_audit_logs_spec.rb[1:1:1:1:1]": 13.422880233, - "./qa/specs/features/ee/browser_ui/10_govern/instance/instance_audit_logs_spec.rb[1:1:2:1:1]": 12.772169683, - "./qa/specs/features/ee/browser_ui/10_govern/instance/instance_audit_logs_spec.rb[1:1:3:1:1]": 19.621312541, - "./qa/specs/features/ee/browser_ui/10_govern/instance/instance_audit_logs_spec.rb[1:1:4:1:1]": 16.969343235, - "./qa/specs/features/ee/browser_ui/10_govern/instance/instance_audit_logs_spec.rb[1:1:5:1:1]": 19.560790197, - "./qa/specs/features/ee/browser_ui/10_govern/instance/instance_audit_logs_spec.rb[1:1:6:1:1]": 19.737804464, - "./qa/specs/features/ee/browser_ui/10_govern/project/project_audit_logs_spec.rb[1:1:1:1:1]": 38.768613508, - "./qa/specs/features/ee/browser_ui/10_govern/project/project_audit_logs_spec.rb[1:1:2:1:1]": 34.144334159, - "./qa/specs/features/ee/browser_ui/10_govern/project/project_audit_logs_spec.rb[1:1:3:1:1]": 31.938086299, - "./qa/specs/features/ee/browser_ui/10_govern/project/project_audit_logs_spec.rb[1:1:4:1:1]": 33.440194256, - "./qa/specs/features/ee/browser_ui/10_govern/project/project_audit_logs_spec.rb[1:1:5:1:1]": 57.413364105, - "./qa/specs/features/ee/browser_ui/10_govern/project/project_audit_logs_spec.rb[1:1:6:1:1]": 43.005606357, - "./qa/specs/features/ee/browser_ui/10_govern/project_security_dashboard_spec.rb[1:1:1]": 27.696721466, - "./qa/specs/features/ee/browser_ui/10_govern/project_security_dashboard_spec.rb[1:1:2]": 38.334829111, - "./qa/specs/features/ee/browser_ui/10_govern/resolve_this_vulnerability_spec.rb[1:1:1]": 62.073244889, - "./qa/specs/features/ee/browser_ui/10_govern/resolve_vulnerability_in_merge_request_duo_spec.rb[1:1:1]": 74.938109056, - "./qa/specs/features/ee/browser_ui/10_govern/scan_execution_policy_vulnerabilities_spec.rb[1:1:1]": 66.936967512, - "./qa/specs/features/ee/browser_ui/10_govern/scan_execution_policy_vulnerabilities_spec.rb[1:1:2]": 83.905676348, - "./qa/specs/features/ee/browser_ui/10_govern/scan_result_policy_license_finding_spec.rb[1:1:1]": 111.94132359, - "./qa/specs/features/ee/browser_ui/10_govern/scan_result_policy_vulnerabilities_spec.rb[1:1:1]": 113.627956914, - "./qa/specs/features/ee/browser_ui/10_govern/scan_result_policy_vulnerabilities_spec.rb[1:1:2]": 52.081654044, - "./qa/specs/features/ee/browser_ui/10_govern/security_policies_spec.rb[1:1:1]": 19.834409871, - "./qa/specs/features/ee/browser_ui/10_govern/security_policies_spec.rb[1:1:2]": 21.667088417, - "./qa/specs/features/ee/browser_ui/10_govern/security_policies_spec.rb[1:1:3]": 32.277043155, - "./qa/specs/features/ee/browser_ui/10_govern/security_reports_spec.rb[1:1:1]": 20.297474458, - "./qa/specs/features/ee/browser_ui/10_govern/security_reports_spec.rb[1:1:2]": 63.195294043, - "./qa/specs/features/ee/browser_ui/10_govern/security_reports_spec.rb[1:1:3]": 85.853737963, - "./qa/specs/features/ee/browser_ui/10_govern/security_reports_spec.rb[1:1:4]": 66.013983297, - "./qa/specs/features/ee/browser_ui/10_govern/security_reports_spec.rb[1:1:6:1]": 38.361105117, - "./qa/specs/features/ee/browser_ui/10_govern/user/minimal_access_user_spec.rb[1:1:1]": 19.450109901, - "./qa/specs/features/ee/browser_ui/10_govern/vulnerabilities_jira_integration_spec.rb[1:1:1]": 37.673220483, - "./qa/specs/features/ee/browser_ui/10_govern/vulnerability_management_spec.rb[1:1:1]": 74.5949141, - "./qa/specs/features/ee/browser_ui/10_govern/vulnerability_management_spec.rb[1:1:2]": 63.56470962, - "./qa/specs/features/ee/browser_ui/10_govern/vulnerability_management_spec.rb[1:1:3]": 118.955378368, - "./qa/specs/features/ee/browser_ui/10_govern/vulnerability_management_spec.rb[1:1:4]": 104.236682001, - "./qa/specs/features/ee/browser_ui/10_govern/vulnerability_security_training_spec.rb[1:1:1]": 65.102753988, - "./qa/specs/features/ee/browser_ui/10_govern/vulnerability_security_training_spec.rb[1:1:2]": 75.181311327, - "./qa/specs/features/ee/browser_ui/11_fulfillment/license/cloud_activation_spec.rb[1:1:1]": 12.722576034, - "./qa/specs/features/ee/browser_ui/11_fulfillment/license/cloud_activation_spec.rb[1:2:1]": 12.042281706, - "./qa/specs/features/ee/browser_ui/11_fulfillment/license/license_spec.rb[1:1:1]": 5.131675512, - "./qa/specs/features/ee/browser_ui/11_fulfillment/saas_user_limit_experience_spec.rb[1:1:1:1]": 51.882023234, - "./qa/specs/features/ee/browser_ui/11_fulfillment/saas_user_limit_experience_spec.rb[1:1:1:2]": 30.461337666, - "./qa/specs/features/ee/browser_ui/11_fulfillment/saas_user_limit_experience_spec.rb[1:1:1:3]": 25.382920857, - "./qa/specs/features/ee/browser_ui/11_fulfillment/saas_user_limit_experience_spec.rb[1:1:1:4]": 58.75854649, - "./qa/specs/features/ee/browser_ui/11_fulfillment/utilization/free_namespace_storage_spec.rb[1:1:1:1]": 338.338097346, - "./qa/specs/features/ee/browser_ui/11_fulfillment/utilization/namespace_storage_limit_spec.rb[1:1:1:1]": 360.676223119, - "./qa/specs/features/ee/browser_ui/11_fulfillment/utilization/saas_user_caps_spec.rb[1:1:1:1]": 40.118905731, - "./qa/specs/features/ee/browser_ui/11_fulfillment/utilization/user_registration_billing_spec.rb[1:1:1:1:1]": 16.159188081, - "./qa/specs/features/ee/browser_ui/13_secure/cvs_dependency_scanning_spec.rb[1:1:1:1]": 49.641502586, - "./qa/specs/features/ee/browser_ui/13_secure/enable_advanced_sast_spec.rb[1:1:1]": 112.049596474, - "./qa/specs/features/ee/browser_ui/13_secure/enable_scanning_from_configuration_spec.rb[1:1:1:1]": 133.136942376, - "./qa/specs/features/ee/browser_ui/13_secure/enable_scanning_from_configuration_spec.rb[1:1:2:1]": 45.628662098, - "./qa/specs/features/ee/browser_ui/13_secure/license_scanning_spec.rb[1:1:1:1]": 125.274490067, - "./qa/specs/features/ee/browser_ui/13_secure/secret_push_protection_spec.rb[1:1:1]": 42.096295897, - "./qa/specs/features/ee/browser_ui/13_secure/secret_push_protection_spec.rb[1:1:2:1]": 64.628865798, - "./qa/specs/features/ee/browser_ui/15_growth/free_trial_spec.rb[1:1:1:1:1]": 39.105035085, - "./qa/specs/features/ee/browser_ui/15_growth/free_trial_spec.rb[1:1:1:2:1]": 27.347844699, - "./qa/specs/features/ee/browser_ui/16_ai_powered/duo_chat/duo_chat_spec.rb[1:1:1:1:1]": 37.723813596, - "./qa/specs/features/ee/browser_ui/16_ai_powered/duo_chat/duo_chat_spec.rb[1:1:1:2:1]": 11.206066185, - "./qa/specs/features/ee/browser_ui/16_ai_powered/duo_chat/root_cause_analysis_with_duo_chat_spec.rb[1:1:1:1]": 38.493899247, - "./qa/specs/features/ee/browser_ui/1_manage/integrations/jira_issues_list_spec.rb[1:1:1]": 23.171379469, - "./qa/specs/features/ee/browser_ui/1_manage/integrations/jira_issues_list_spec.rb[1:1:2]": 16.379530429, - "./qa/specs/features/ee/browser_ui/1_manage/integrations/jira_issues_list_spec.rb[1:1:3]": 16.453281675, - "./qa/specs/features/ee/browser_ui/2_plan/analytics/contribution_analytics_spec.rb[1:1:1]": 157.222857101, - "./qa/specs/features/ee/browser_ui/2_plan/analytics/mr_analytics_spec.rb[1:1:1]": 60.625560632, - "./qa/specs/features/ee/browser_ui/2_plan/analytics/value_stream_analytics_spec.rb[1:1:1:1:1:1]": 27.415676966, - "./qa/specs/features/ee/browser_ui/2_plan/analytics/value_stream_analytics_spec.rb[1:1:1:2:1:1]": 28.624472149, - "./qa/specs/features/ee/browser_ui/2_plan/analytics/value_stream_analytics_spec.rb[1:1:2:1]": 17.946267846, - "./qa/specs/features/ee/browser_ui/2_plan/burndown_chart/burndown_chart_spec.rb[1:1:1]": 24.113672335, - "./qa/specs/features/ee/browser_ui/2_plan/custom_email/custom_email_spec.rb[1:1:1]": 19.752673914, - "./qa/specs/features/ee/browser_ui/2_plan/epic/epics_management_spec.rb[1:1:1]": 25.170635567, - "./qa/specs/features/ee/browser_ui/2_plan/epic/epics_management_spec.rb[1:1:2]": 25.602323796, - "./qa/specs/features/ee/browser_ui/2_plan/epic/epics_management_spec.rb[1:1:3:1:1]": 55.777011107, - "./qa/specs/features/ee/browser_ui/2_plan/epic/epics_management_spec.rb[1:1:3:1:2]": 52.229458974, - "./qa/specs/features/ee/browser_ui/2_plan/epic/epics_management_spec.rb[1:1:3:1:3]": 95.116585911, - "./qa/specs/features/ee/browser_ui/2_plan/epic/epics_management_spec.rb[1:1:3:2]": 65.603671587, - "./qa/specs/features/ee/browser_ui/2_plan/epic/promote_issue_to_epic_spec.rb[1:1:1]": 32.244788208, - "./qa/specs/features/ee/browser_ui/2_plan/epic/roadmap_spec.rb[1:1:1]": 14.062045857, - "./qa/specs/features/ee/browser_ui/2_plan/group_wiki/create_group_wiki_page_spec.rb[1:1:1:1]": 21.618521815, - "./qa/specs/features/ee/browser_ui/2_plan/group_wiki/create_group_wiki_page_spec.rb[1:1:2:1]": 23.025525253, - "./qa/specs/features/ee/browser_ui/2_plan/group_wiki/delete_group_wiki_page_spec.rb[1:1:1]": 17.442662008, - "./qa/specs/features/ee/browser_ui/2_plan/group_wiki/file_upload_group_wiki_page_spec.rb[1:1:1]": 36.175085225, - "./qa/specs/features/ee/browser_ui/2_plan/insights/default_insights_spec.rb[1:1:1:1]": 16.457415849, - "./qa/specs/features/ee/browser_ui/2_plan/insights/default_insights_spec.rb[1:2:1:1]": 18.315704702, - "./qa/specs/features/ee/browser_ui/2_plan/issue/default_issue_template_spec.rb[1:1:1]": 31.559494821, - "./qa/specs/features/ee/browser_ui/2_plan/issue_boards/configurable_issue_board_spec.rb[1:1:1]": 21.200958268, + "./qa/specs/features/browser_ui/8_monitor/alert_management/alert_settings_create_new_alerts_spec.rb[1:1:2:1:1]": 22.75310594, + "./qa/specs/features/browser_ui/8_monitor/alert_management/automatically_creates_incident_for_alert_spec.rb[1:1:1:1:1]": 17.741008485, + "./qa/specs/features/browser_ui/8_monitor/alert_management/automatically_creates_incident_for_alert_spec.rb[1:1:2:1:1]": 28.867919772, + "./qa/specs/features/browser_ui/8_monitor/alert_management/create_alert_using_authorization_key_spec.rb[1:1:1:1:1]": 24.260249686, + "./qa/specs/features/browser_ui/8_monitor/alert_management/create_alert_using_authorization_key_spec.rb[1:1:2:1:1]": 21.869932685, + "./qa/specs/features/browser_ui/8_monitor/alert_management/email_notification_for_alert_spec.rb[1:1:1:1:1:1]": 17.326798275, + "./qa/specs/features/browser_ui/8_monitor/alert_management/email_notification_for_alert_spec.rb[1:1:1:2:1:1]": 16.126986893, + "./qa/specs/features/browser_ui/8_monitor/alert_management/email_notification_for_alert_spec.rb[1:1:2:1:1:1]": 14.765348676, + "./qa/specs/features/browser_ui/8_monitor/alert_management/email_notification_for_alert_spec.rb[1:1:2:2:1:1]": 15.099973689, + "./qa/specs/features/browser_ui/8_monitor/alert_management/recovery_alert_resolves_correct_alert_spec.rb[1:1:1:1:1]": 22.255371439, + "./qa/specs/features/browser_ui/9_data_stores/group/create_group_with_mattermost_team_spec.rb[1:1:1]": 8.218689961, + "./qa/specs/features/browser_ui/9_data_stores/group/group_member_access_request_spec.rb[1:1:1]": 20.395841626, + "./qa/specs/features/browser_ui/9_data_stores/group/group_member_access_request_spec.rb[1:1:2:1:1]": 21.272171929, + "./qa/specs/features/browser_ui/9_data_stores/group/group_member_access_request_spec.rb[1:1:2:2:1]": 20.922550398, + "./qa/specs/features/browser_ui/9_data_stores/group/transfer_project_spec.rb[1:1:1]": 21.377610899, + "./qa/specs/features/browser_ui/9_data_stores/project/add_project_member_spec.rb[1:1:1]": 29.94356556, + "./qa/specs/features/browser_ui/9_data_stores/project/create_project_badge_spec.rb[1:1:1]": 18.211674726, + "./qa/specs/features/browser_ui/9_data_stores/project/create_project_spec.rb[1:1:1:1:1]": 26.804615262, + "./qa/specs/features/browser_ui/9_data_stores/project/create_project_spec.rb[1:1:2:1:1]": 24.981070713, + "./qa/specs/features/browser_ui/9_data_stores/project/dashboard_images_spec.rb[1:1:1:1:1]": 5.86794066, + "./qa/specs/features/browser_ui/9_data_stores/project/dashboard_images_spec.rb[1:1:2:1:1]": 6.141062505, + "./qa/specs/features/browser_ui/9_data_stores/project/invite_group_to_project_spec.rb[1:1:1:1:1]": 34.018454754, + "./qa/specs/features/browser_ui/9_data_stores/project/invite_group_to_project_spec.rb[1:1:2:1:1]": 41.913061461, + "./qa/specs/features/browser_ui/9_data_stores/project/project_owner_permissions_spec.rb[1:1:1:1:1]": 28.249545552, + "./qa/specs/features/browser_ui/9_data_stores/project/project_owner_permissions_spec.rb[1:1:1:2:1]": 22.682610571, + "./qa/specs/features/browser_ui/9_data_stores/project/project_owner_permissions_spec.rb[1:1:2:1:1]": 25.273226556, + "./qa/specs/features/browser_ui/9_data_stores/project/project_owner_permissions_spec.rb[1:1:2:2:1]": 22.192687271, + "./qa/specs/features/browser_ui/9_data_stores/project/view_project_activity_spec.rb[1:1:1:1]": 25.584366387, + "./qa/specs/features/browser_ui/9_data_stores/user/follow_user_activity_spec.rb[1:1:1]": 30.704322695, + "./qa/specs/features/browser_ui/9_data_stores/user/parent_group_access_termination_spec.rb[1:1:1:1]": 24.760187266, + "./qa/specs/features/browser_ui/9_data_stores/user/user_inherited_access_spec.rb[1:1:1:1]": 19.524151376, + "./qa/specs/features/browser_ui/9_data_stores/user/user_inherited_access_spec.rb[1:1:2:1]": 14.757603767, + "./qa/specs/features/ee/api/10_govern/compliance_pipeline_spec.rb[1:1:1:1]": 37.249822315, + "./qa/specs/features/ee/api/10_govern/instance_audit_event_streaming_spec.rb[1:1:1:1]": 15.68899498, + "./qa/specs/features/ee/api/10_govern/instance_audit_event_streaming_spec.rb[1:1:4:1]": 22.459221618, + "./qa/specs/features/ee/api/10_govern/user/minimal_access_user_spec.rb[1:1:1]": 45.770417927, + "./qa/specs/features/ee/api/10_govern/user/minimal_access_user_spec.rb[1:1:2]": 11.549961709, + "./qa/specs/features/ee/api/10_govern/user/minimal_access_user_spec.rb[1:1:3]": 21.981082558, + "./qa/specs/features/ee/api/1_manage/import/import_github_repo_spec.rb[1:1:1:1]": 68.157577469, + "./qa/specs/features/ee/api/1_manage/integrations/group_webhook_events_spec.rb[1:1:1]": 6.175398375, + "./qa/specs/features/ee/api/1_manage/migration/gitlab_migration_group_spec.rb[1:1:1:1]": 76.611877391, + "./qa/specs/features/ee/api/2_plan/epics_milestone_dates_spec.rb[1:1:1]": 11.34158387, + "./qa/specs/features/ee/api/2_plan/epics_milestone_dates_spec.rb[1:1:2]": 20.482104614, + "./qa/specs/features/ee/api/2_plan/epics_milestone_dates_spec.rb[1:1:3]": 16.309632488, + "./qa/specs/features/ee/api/2_plan/epics_milestone_dates_spec.rb[1:1:4]": 11.814560083, + "./qa/specs/features/ee/api/3_create/code_suggestions_spec.rb[1:1:1:1:1:1]": 1.166552101, + "./qa/specs/features/ee/api/3_create/code_suggestions_spec.rb[1:1:1:1:2:1:1]": 1.10823165, + "./qa/specs/features/ee/api/3_create/code_suggestions_spec.rb[1:1:1:2:1:1:1:1:1]": 1.478573996, + "./qa/specs/features/ee/api/3_create/code_suggestions_spec.rb[1:1:1:2:1:1:1:2:1:1]": 1.04811042, + "./qa/specs/features/ee/api/3_create/code_suggestions_spec.rb[1:1:2:1:1:1]": 6.086153047, + "./qa/specs/features/ee/api/3_create/code_suggestions_spec.rb[1:1:2:2:1:1:1:1:1]": 0.935104054, + "./qa/specs/features/ee/api/3_create/code_suggestions_spec.rb[1:1:2:2:1:1:2:1]": 2.684340089, + "./qa/specs/features/ee/api/3_create/code_suggestions_spec.rb[1:1:2:2:1:2:1]": 2.933271836, + "./qa/specs/features/ee/api/3_create/code_suggestions_spec.rb[1:1:2:2:2:1]": 0.12741863, + "./qa/specs/features/ee/api/3_create/code_suggestions_spec.rb[1:1:2:3:1:1]": 4.29834011, + "./qa/specs/features/ee/api/3_create/code_suggestions_spec.rb[1:1:2:3:2:1:1:1:1]": 0.974420319, + "./qa/specs/features/ee/api/3_create/code_suggestions_spec.rb[1:1:3:1:1]": 3.889236836, + "./qa/specs/features/ee/api/3_create/code_suggestions_spec.rb[1:1:3:1:2]": 3.478818025, + "./qa/specs/features/ee/api/3_create/code_suggestions_spec.rb[1:1:3:2:1:1:1:1]": 0.32261687, + "./qa/specs/features/ee/api/3_create/code_suggestions_spec.rb[1:1:3:2:1:1:1:2]": 1.271364783, + "./qa/specs/features/ee/api/3_create/code_suggestions_spec.rb[1:1:3:2:1:1:1:3:1]": 1.012254925, + "./qa/specs/features/ee/api/9_data_stores/elasticsearch/advanced_global_advanced_syntax_search_spec.rb[1:1:1:1]": 152.791818812, + "./qa/specs/features/ee/api/9_data_stores/elasticsearch/advanced_global_advanced_syntax_search_spec.rb[1:1:1:2]": 68.730243457, + "./qa/specs/features/ee/api/9_data_stores/elasticsearch/elasticsearch_api_spec.rb[1:1:1]": 20.886117985, + "./qa/specs/features/ee/api/9_data_stores/elasticsearch/elasticsearch_api_spec.rb[1:1:2:1]": 20.326987983, + "./qa/specs/features/ee/api/9_data_stores/elasticsearch/elasticsearch_api_spec.rb[1:1:2:2]": 8.997885676, + "./qa/specs/features/ee/api/9_data_stores/elasticsearch/index_tests/commit_index/commit_index_spec.rb[1:1:1]": 25.281285966, + "./qa/specs/features/ee/api/9_data_stores/elasticsearch/index_tests/issues_index/issue_index_spec.rb[1:1:1]": 68.643452195, + "./qa/specs/features/ee/api/9_data_stores/elasticsearch/index_tests/main_index/blob_index_spec.rb[1:1:1]": 25.124937659, + "./qa/specs/features/ee/api/9_data_stores/elasticsearch/index_tests/merge_request_index/merge_request_index_spec.rb[1:1:1]": 65.973047329, + "./qa/specs/features/ee/api/9_data_stores/elasticsearch/index_tests/notes_index/note_index_spec.rb[1:1:1]": 127.609178426, + "./qa/specs/features/ee/api/9_data_stores/elasticsearch/index_tests/user_index/user_index_spec.rb[1:1:1]": 31.673484341, + "./qa/specs/features/ee/api/9_data_stores/elasticsearch/nightly_elasticsearch_test_spec.rb[1:1:1]": 12.993213276, + "./qa/specs/features/ee/browser_ui/10_govern/change_vulnerability_status_spec.rb[1:1:1]": 47.922651711, + "./qa/specs/features/ee/browser_ui/10_govern/change_vulnerability_status_spec.rb[1:1:2]": 43.369407067, + "./qa/specs/features/ee/browser_ui/10_govern/change_vulnerability_status_spec.rb[1:1:3]": 26.96441162, + "./qa/specs/features/ee/browser_ui/10_govern/create_merge_request_with_secure_spec.rb[1:1:1]": 83.41515636, + "./qa/specs/features/ee/browser_ui/10_govern/dismissed_vulnerabilities_in_security_widget_spec.rb[1:1:1]": 97.634803005, + "./qa/specs/features/ee/browser_ui/10_govern/export_vulnerability_report_spec.rb[1:1:1]": 27.580469374, + "./qa/specs/features/ee/browser_ui/10_govern/fix_vulnerability_workflow_spec.rb[1:1:1]": 132.622915286, + "./qa/specs/features/ee/browser_ui/10_govern/group/group_audit_event_streaming_spec.rb[1:1:1:1]": 10.01955901, + "./qa/specs/features/ee/browser_ui/10_govern/group/group_audit_event_streaming_spec.rb[1:1:2:1:1]": 5.803457509, + "./qa/specs/features/ee/browser_ui/10_govern/group/group_audit_event_streaming_spec.rb[1:1:2:2:1]": 9.574220791, + "./qa/specs/features/ee/browser_ui/10_govern/group/group_audit_event_streaming_spec.rb[1:1:2:3:1]": 10.756834391, + "./qa/specs/features/ee/browser_ui/10_govern/group/group_audit_logs_1_spec.rb[1:1:1:1:1]": 28.08014009, + "./qa/specs/features/ee/browser_ui/10_govern/group/group_audit_logs_1_spec.rb[1:1:2:1:1]": 10.495170443, + "./qa/specs/features/ee/browser_ui/10_govern/group/group_audit_logs_1_spec.rb[1:1:3:1:1]": 19.945636105, + "./qa/specs/features/ee/browser_ui/10_govern/group/group_audit_logs_1_spec.rb[1:1:4:1:1]": 26.291342133, + "./qa/specs/features/ee/browser_ui/10_govern/group/group_audit_logs_1_spec.rb[1:1:5:1:1]": 20.721127907, + "./qa/specs/features/ee/browser_ui/10_govern/group/group_ldap_sync_spec.rb[1:1:1:1:1]": 12.215511965, + "./qa/specs/features/ee/browser_ui/10_govern/group/group_ldap_sync_spec.rb[1:1:1:1:2]": 8.723842948, + "./qa/specs/features/ee/browser_ui/10_govern/group/group_ldap_sync_spec.rb[1:1:1:1:3]": 12.857980039, + "./qa/specs/features/ee/browser_ui/10_govern/group/group_ldap_sync_spec.rb[1:1:2:1:1]": 38.201028954, + "./qa/specs/features/ee/browser_ui/10_govern/group/group_ldap_sync_spec.rb[1:1:2:1:2]": 12.15235513, + "./qa/specs/features/ee/browser_ui/10_govern/group/group_ldap_sync_spec.rb[1:1:2:1:3]": 12.709867729, + "./qa/specs/features/ee/browser_ui/10_govern/group/restrict_by_ip_address_spec.rb[1:1:1:1:1]": 13.363567346, + "./qa/specs/features/ee/browser_ui/10_govern/group/restrict_by_ip_address_spec.rb[1:1:1:2:1]": 12.058497457, + "./qa/specs/features/ee/browser_ui/10_govern/group/restrict_by_ip_address_spec.rb[1:1:1:3:1]": 44.997153048, + "./qa/specs/features/ee/browser_ui/10_govern/group/restrict_by_ip_address_spec.rb[1:1:2:1:1]": 16.681184396, + "./qa/specs/features/ee/browser_ui/10_govern/group/restrict_by_ip_address_spec.rb[1:1:2:2:1]": 19.344725163, + "./qa/specs/features/ee/browser_ui/10_govern/group/restrict_by_ip_address_spec.rb[1:1:2:3:1]": 18.661736836, + "./qa/specs/features/ee/browser_ui/10_govern/group_pipeline_execution_policy_spec.rb[1:1:1]": 160.972767573, + "./qa/specs/features/ee/browser_ui/10_govern/group_pipeline_execution_policy_spec.rb[1:1:2]": 57.96681269, + "./qa/specs/features/ee/browser_ui/10_govern/instance/instance_audit_logs_spec.rb[1:1:1:1:1]": 13.700942229, + "./qa/specs/features/ee/browser_ui/10_govern/instance/instance_audit_logs_spec.rb[1:1:2:1:1]": 11.620988602, + "./qa/specs/features/ee/browser_ui/10_govern/instance/instance_audit_logs_spec.rb[1:1:3:1:1]": 16.894815129, + "./qa/specs/features/ee/browser_ui/10_govern/instance/instance_audit_logs_spec.rb[1:1:4:1:1]": 16.020946553, + "./qa/specs/features/ee/browser_ui/10_govern/instance/instance_audit_logs_spec.rb[1:1:5:1:1]": 16.322733059, + "./qa/specs/features/ee/browser_ui/10_govern/instance/instance_audit_logs_spec.rb[1:1:6:1:1]": 20.325419199, + "./qa/specs/features/ee/browser_ui/10_govern/project/project_audit_logs_spec.rb[1:1:1:1:1]": 15.15433327, + "./qa/specs/features/ee/browser_ui/10_govern/project/project_audit_logs_spec.rb[1:1:2:1:1]": 23.076678744, + "./qa/specs/features/ee/browser_ui/10_govern/project/project_audit_logs_spec.rb[1:1:3:1:1]": 18.881406622, + "./qa/specs/features/ee/browser_ui/10_govern/project/project_audit_logs_spec.rb[1:1:4:1:1]": 15.065140132, + "./qa/specs/features/ee/browser_ui/10_govern/project/project_audit_logs_spec.rb[1:1:5:1:1]": 49.174208277, + "./qa/specs/features/ee/browser_ui/10_govern/project/project_audit_logs_spec.rb[1:1:6:1:1]": 25.844216298, + "./qa/specs/features/ee/browser_ui/10_govern/project_security_dashboard_spec.rb[1:1:1]": 25.556559023, + "./qa/specs/features/ee/browser_ui/10_govern/project_security_dashboard_spec.rb[1:1:2]": 34.10010122, + "./qa/specs/features/ee/browser_ui/10_govern/scan_execution_policy_vulnerabilities_spec.rb[1:1:1]": 80.133657874, + "./qa/specs/features/ee/browser_ui/10_govern/scan_execution_policy_vulnerabilities_spec.rb[1:1:2]": 84.919394121, + "./qa/specs/features/ee/browser_ui/10_govern/scan_result_policy_vulnerabilities_spec.rb[1:1:1]": 64.897163138, + "./qa/specs/features/ee/browser_ui/10_govern/scan_result_policy_vulnerabilities_spec.rb[1:1:2]": 51.35773896, + "./qa/specs/features/ee/browser_ui/10_govern/security_policies_spec.rb[1:1:1]": 21.105257972, + "./qa/specs/features/ee/browser_ui/10_govern/security_policies_spec.rb[1:1:2]": 23.026632559, + "./qa/specs/features/ee/browser_ui/10_govern/security_policies_spec.rb[1:1:3]": 34.500644115, + "./qa/specs/features/ee/browser_ui/10_govern/security_reports_spec.rb[1:1:1]": 21.071429872, + "./qa/specs/features/ee/browser_ui/10_govern/security_reports_spec.rb[1:1:2]": 69.068569757, + "./qa/specs/features/ee/browser_ui/10_govern/security_reports_spec.rb[1:1:3]": 52.288053924, + "./qa/specs/features/ee/browser_ui/10_govern/security_reports_spec.rb[1:1:4]": 47.11756323, + "./qa/specs/features/ee/browser_ui/10_govern/security_reports_spec.rb[1:1:6:1]": 29.224278697, + "./qa/specs/features/ee/browser_ui/10_govern/user/minimal_access_user_spec.rb[1:1:1]": 11.265978197, + "./qa/specs/features/ee/browser_ui/10_govern/vulnerabilities_jira_integration_spec.rb[1:1:1]": 22.508863297, + "./qa/specs/features/ee/browser_ui/10_govern/vulnerability_management_spec.rb[1:1:1]": 123.631566315, + "./qa/specs/features/ee/browser_ui/10_govern/vulnerability_management_spec.rb[1:1:2]": 59.11564555, + "./qa/specs/features/ee/browser_ui/10_govern/vulnerability_management_spec.rb[1:1:3]": 110.962967522, + "./qa/specs/features/ee/browser_ui/10_govern/vulnerability_management_spec.rb[1:1:4]": 83.078896578, + "./qa/specs/features/ee/browser_ui/10_govern/vulnerability_security_training_spec.rb[1:1:1]": 44.55186387, + "./qa/specs/features/ee/browser_ui/10_govern/vulnerability_security_training_spec.rb[1:1:2]": 73.325338474, + "./qa/specs/features/ee/browser_ui/11_fulfillment/license/cloud_activation_spec.rb[1:1:1]": 21.528307139, + "./qa/specs/features/ee/browser_ui/11_fulfillment/license/cloud_activation_spec.rb[1:2:1]": 15.242738553, + "./qa/specs/features/ee/browser_ui/11_fulfillment/license/license_spec.rb[1:1:1]": 9.665360797, + "./qa/specs/features/ee/browser_ui/11_fulfillment/utilization/user_registration_billing_spec.rb[1:1:1:1:1]": 14.977692629, + "./qa/specs/features/ee/browser_ui/13_secure/cvs_dependency_scanning_spec.rb[1:1:1:1]": 51.608331159, + "./qa/specs/features/ee/browser_ui/13_secure/enable_advanced_sast_spec.rb[1:1:1]": 116.03136399, + "./qa/specs/features/ee/browser_ui/13_secure/enable_scanning_from_configuration_spec.rb[1:1:1:1]": 21.152068216, + "./qa/specs/features/ee/browser_ui/13_secure/enable_scanning_from_configuration_spec.rb[1:1:2:1]": 35.420566794, + "./qa/specs/features/ee/browser_ui/13_secure/secret_push_protection_spec.rb[1:1:1]": 39.724295416, + "./qa/specs/features/ee/browser_ui/13_secure/secret_push_protection_spec.rb[1:1:2:1]": 58.556440406, + "./qa/specs/features/ee/browser_ui/16_ai_powered/duo_chat/duo_chat_spec.rb[1:1:1:2:1]": 10.692725172, + "./qa/specs/features/ee/browser_ui/1_manage/integrations/jira_issues_list_spec.rb[1:1:1]": 26.575853275, + "./qa/specs/features/ee/browser_ui/1_manage/integrations/jira_issues_list_spec.rb[1:1:2]": 13.117700894, + "./qa/specs/features/ee/browser_ui/1_manage/integrations/jira_issues_list_spec.rb[1:1:3]": 16.259778133, + "./qa/specs/features/ee/browser_ui/2_plan/analytics/contribution_analytics_spec.rb[1:1:1]": 40.807896316, + "./qa/specs/features/ee/browser_ui/2_plan/analytics/mr_analytics_spec.rb[1:1:1]": 36.103928129, + "./qa/specs/features/ee/browser_ui/2_plan/analytics/value_stream_analytics_spec.rb[1:1:1:1:1:1]": 22.553391279, + "./qa/specs/features/ee/browser_ui/2_plan/analytics/value_stream_analytics_spec.rb[1:1:1:2:1:1]": 17.728434785, + "./qa/specs/features/ee/browser_ui/2_plan/burndown_chart/burndown_chart_spec.rb[1:1:1]": 12.659101894, + "./qa/specs/features/ee/browser_ui/2_plan/custom_email/custom_email_spec.rb[1:1:1]": 11.58376173, + "./qa/specs/features/ee/browser_ui/2_plan/epic/epics_management_spec.rb[1:1:1]": 20.106494446, + "./qa/specs/features/ee/browser_ui/2_plan/epic/epics_management_spec.rb[1:1:2]": 17.831000724, + "./qa/specs/features/ee/browser_ui/2_plan/epic/epics_management_spec.rb[1:1:3:1:1]": 15.290387918, + "./qa/specs/features/ee/browser_ui/2_plan/epic/epics_management_spec.rb[1:1:3:1:2]": 13.634358013, + "./qa/specs/features/ee/browser_ui/2_plan/epic/epics_management_spec.rb[1:1:3:1:3]": 55.716424546, + "./qa/specs/features/ee/browser_ui/2_plan/epic/epics_management_spec.rb[1:1:3:2]": 19.227669055, + "./qa/specs/features/ee/browser_ui/2_plan/epic/promote_issue_to_epic_spec.rb[1:1:1]": 22.525327881, + "./qa/specs/features/ee/browser_ui/2_plan/epic/roadmap_spec.rb[1:1:1]": 7.500150224, + "./qa/specs/features/ee/browser_ui/2_plan/group_wiki/create_group_wiki_page_spec.rb[1:1:1:1]": 13.102242419, + "./qa/specs/features/ee/browser_ui/2_plan/group_wiki/create_group_wiki_page_spec.rb[1:1:2:1]": 12.600035351, + "./qa/specs/features/ee/browser_ui/2_plan/group_wiki/delete_group_wiki_page_spec.rb[1:1:1]": 9.675779404, + "./qa/specs/features/ee/browser_ui/2_plan/group_wiki/file_upload_group_wiki_page_spec.rb[1:1:1]": 30.957822153, + "./qa/specs/features/ee/browser_ui/2_plan/insights/default_insights_spec.rb[1:1:1:1]": 7.807271733, + "./qa/specs/features/ee/browser_ui/2_plan/insights/default_insights_spec.rb[1:2:1:1]": 8.431118363, + "./qa/specs/features/ee/browser_ui/2_plan/issue/default_issue_template_spec.rb[1:1:1]": 29.249965, + "./qa/specs/features/ee/browser_ui/2_plan/issue_boards/configurable_issue_board_spec.rb[1:1:1]": 17.492410485, "./qa/specs/features/ee/browser_ui/2_plan/issue_boards/configure_issue_board_by_label_spec.rb[1:1:1]": 37.026881088, - "./qa/specs/features/ee/browser_ui/2_plan/issue_boards/create_group_issue_board_spec.rb[1:1:1]": 40.297194774, - "./qa/specs/features/ee/browser_ui/2_plan/issue_boards/group_issue_boards_spec.rb[1:1:1]": 33.053333919, - "./qa/specs/features/ee/browser_ui/2_plan/issue_boards/project_issue_boards_spec.rb[1:1:1:1]": 22.794770413, - "./qa/specs/features/ee/browser_ui/2_plan/issue_boards/project_issue_boards_spec.rb[1:1:2:1]": 24.073864595, - "./qa/specs/features/ee/browser_ui/2_plan/issue_boards/project_issue_boards_spec.rb[1:1:3:1]": 29.654093504, - "./qa/specs/features/ee/browser_ui/2_plan/issue_boards/read_only_board_configuration_spec.rb[1:1:1]": 31.591133683, - "./qa/specs/features/ee/browser_ui/2_plan/issue_boards/sum_of_issues_weights_spec.rb[1:1:1]": 24.444189943, - "./qa/specs/features/ee/browser_ui/2_plan/issues_analytics/issues_analytics_spec.rb[1:1:1:1]": 15.792967278, - "./qa/specs/features/ee/browser_ui/2_plan/issues_analytics/issues_analytics_spec.rb[1:2:1:1]": 16.182042329, - "./qa/specs/features/ee/browser_ui/2_plan/issues_weight/issue_weight_visualization_spec.rb[1:1:1]": 24.741162705, - "./qa/specs/features/ee/browser_ui/2_plan/iterations/assign_group_iteration_spec.rb[1:1:1]": 30.638181297, - "./qa/specs/features/ee/browser_ui/2_plan/iterations/create_group_iteration_spec.rb[1:1:1:1]": 21.924608077, - "./qa/specs/features/ee/browser_ui/2_plan/iterations/create_group_iteration_spec.rb[1:1:2:1]": 21.874099804, - "./qa/specs/features/ee/browser_ui/2_plan/multiple_assignees_for_issues/four_assignees_spec.rb[1:1:1]": 30.591574551, - "./qa/specs/features/ee/browser_ui/2_plan/multiple_assignees_for_issues/more_than_four_assignees_spec.rb[1:1:1]": 32.534168045, - "./qa/specs/features/ee/browser_ui/2_plan/multiple_assignees_for_issues/more_than_four_assignees_spec.rb[1:1:2]": 32.621192569, - "./qa/specs/features/ee/browser_ui/2_plan/scoped_labels/editing_scoped_labels_spec.rb[1:1:1]": 22.698721453, - "./qa/specs/features/ee/browser_ui/3_create/merge_request/add_batch_comments_in_merge_request_spec.rb[1:1:1]": 46.310723869, - "./qa/specs/features/ee/browser_ui/3_create/merge_request/add_batch_comments_in_merge_request_spec.rb[1:1:2]": 46.718133383, - "./qa/specs/features/ee/browser_ui/3_create/merge_request/approval_rules_spec.rb[1:1:1]": 123.610149575, - "./qa/specs/features/ee/browser_ui/3_create/merge_request/default_merge_request_template_spec.rb[1:1:1]": 47.439682203, - "./qa/specs/features/ee/browser_ui/3_create/merge_request/generate_commit_message_spec.rb[1:1:1:1]": 31.625208, - "./qa/specs/features/ee/browser_ui/3_create/remote_development/workspace_actions_spec.rb[1:1:1:1:1]": 571.157858578, - "./qa/specs/features/ee/browser_ui/3_create/repository/assign_code_owners_spec.rb[1:1:1]": 62.104326601, - "./qa/specs/features/ee/browser_ui/3_create/repository/code_owners_spec.rb[1:1:1]": 30.475563695, - "./qa/specs/features/ee/browser_ui/3_create/repository/code_owners_with_protected_branch_and_squashed_commits_spec.rb[1:1:1]": 33.75106562, - "./qa/specs/features/ee/browser_ui/3_create/repository/duo_chat_explain_code_spec.rb[1:1:1]": 28.478300814, - "./qa/specs/features/ee/browser_ui/3_create/repository/file_locking_spec.rb[1:1:1]": 71.577715338, - "./qa/specs/features/ee/browser_ui/3_create/repository/file_locking_spec.rb[1:1:2]": 61.069462218, - "./qa/specs/features/ee/browser_ui/3_create/repository/file_locking_spec.rb[1:1:3]": 42.57600745, - "./qa/specs/features/ee/browser_ui/3_create/repository/file_locking_spec.rb[1:1:4]": 53.57400144, - "./qa/specs/features/ee/browser_ui/3_create/repository/file_locking_spec.rb[1:1:5]": 50.142034454, - "./qa/specs/features/ee/browser_ui/3_create/repository/group_file_template_spec.rb[1:1:1]": 43.490742972, - "./qa/specs/features/ee/browser_ui/3_create/repository/group_file_template_spec.rb[1:1:2]": 43.786390268, - "./qa/specs/features/ee/browser_ui/3_create/repository/group_file_template_spec.rb[1:1:3]": 43.690544653, - "./qa/specs/features/ee/browser_ui/3_create/repository/group_file_template_spec.rb[1:1:4]": 44.215707316, - "./qa/specs/features/ee/browser_ui/3_create/repository/merge_with_code_owner_in_root_group_spec.rb[1:1:1:1:1:1]": 60.295031648, - "./qa/specs/features/ee/browser_ui/3_create/repository/merge_with_code_owner_in_root_group_spec.rb[1:1:1:2:1:1]": 60.067855824, - "./qa/specs/features/ee/browser_ui/3_create/repository/merge_with_code_owner_in_subgroup_spec.rb[1:1:1:1:1:1]": 75.501359105, - "./qa/specs/features/ee/browser_ui/3_create/repository/merge_with_code_owner_in_subgroup_spec.rb[1:1:1:2:1:1]": 57.0524847, - "./qa/specs/features/ee/browser_ui/3_create/repository/merge_with_code_owner_in_subgroup_spec.rb[1:1:1:3:1:1]": 59.320921194, - "./qa/specs/features/ee/browser_ui/3_create/repository/project_templates_spec.rb[1:1:1:1]": 42.973281716, - "./qa/specs/features/ee/browser_ui/3_create/repository/project_templates_spec.rb[1:1:3:1]": 125.912779476, - "./qa/specs/features/ee/browser_ui/3_create/repository/pull_mirroring_over_http_spec.rb[1:1:1]": 48.211144716, - "./qa/specs/features/ee/browser_ui/3_create/repository/pull_mirroring_over_ssh_with_key_spec.rb[1:1:1]": 63.208217308, - "./qa/specs/features/ee/browser_ui/3_create/repository/push_rules_spec.rb[1:1:1:1]": 31.649617979, - "./qa/specs/features/ee/browser_ui/3_create/repository/push_rules_spec.rb[1:1:1:2]": 39.95799937, - "./qa/specs/features/ee/browser_ui/3_create/repository/push_rules_spec.rb[1:1:1:3]": 43.878385775, - "./qa/specs/features/ee/browser_ui/3_create/repository/push_rules_spec.rb[1:1:1:4]": 40.279526074, - "./qa/specs/features/ee/browser_ui/3_create/repository/push_rules_spec.rb[1:1:1:5]": 61.749312595, - "./qa/specs/features/ee/browser_ui/3_create/repository/push_rules_spec.rb[1:1:1:6]": 40.482833532, - "./qa/specs/features/ee/browser_ui/3_create/repository/push_rules_spec.rb[1:1:1:7]": 40.879521778, - "./qa/specs/features/ee/browser_ui/3_create/repository/push_rules_spec.rb[1:1:1:8]": 44.686275085, - "./qa/specs/features/ee/browser_ui/3_create/repository/push_rules_spec.rb[1:1:1:9]": 49.256105948, - "./qa/specs/features/ee/browser_ui/3_create/repository/push_rules_spec.rb[1:1:2:1]": 53.691024528, - "./qa/specs/features/ee/browser_ui/3_create/repository/restrict_push_protected_branch_spec.rb[1:1:1:1:1]": 48.581641583, - "./qa/specs/features/ee/browser_ui/3_create/repository/restrict_push_protected_branch_spec.rb[1:1:1:2:1]": 52.414732472, - "./qa/specs/features/ee/browser_ui/3_create/repository/restrict_push_protected_branch_spec.rb[1:1:2:1:1]": 52.536562354, - "./qa/specs/features/ee/browser_ui/3_create/repository/restrict_push_protected_branch_spec.rb[1:1:2:2:1]": 64.010027577, - "./qa/specs/features/ee/browser_ui/3_create/repository/restrict_push_protected_branch_spec.rb[1:1:3:1:1]": 47.832730381, - "./qa/specs/features/ee/browser_ui/3_create/web_ide/code_suggestions_in_web_ide_spec.rb[1:1:1:1:1]": 31.612510062, - "./qa/specs/features/ee/browser_ui/3_create/web_ide/code_suggestions_in_web_ide_spec.rb[1:1:1:2:1]": 37.137016094, - "./qa/specs/features/ee/browser_ui/3_create/web_ide/code_suggestions_in_web_ide_spec.rb[1:1:2:1:1:1:1:1]": 26.68596389, - "./qa/specs/features/ee/browser_ui/3_create/web_ide/code_suggestions_in_web_ide_spec.rb[1:1:2:1:1:2:1:1]": 25.508528183, - "./qa/specs/features/ee/browser_ui/3_create/web_ide/code_suggestions_in_web_ide_spec.rb[1:1:2:1:2:1:1]": 22.822894253, - "./qa/specs/features/ee/browser_ui/3_create/web_ide/code_suggestions_in_web_ide_spec.rb[1:1:2:2:1:1]": 26.277709191, - "./qa/specs/features/ee/browser_ui/3_create/web_ide/duo_chat_in_web_ide_spec.rb[1:1:1:1:1]": 35.11706178, - "./qa/specs/features/ee/browser_ui/4_verify/multi-project_pipelines_spec.rb[1:1:1]": 54.267491703, - "./qa/specs/features/ee/browser_ui/4_verify/parent_child_pipelines_dependent_relationship_spec.rb[1:1:1]": 49.368065874, - "./qa/specs/features/ee/browser_ui/4_verify/parent_child_pipelines_dependent_relationship_spec.rb[1:1:2]": 46.426047495, - "./qa/specs/features/ee/browser_ui/4_verify/pipeline_for_merged_result_spec.rb[1:1:1]": 62.295641429, - "./qa/specs/features/ee/browser_ui/4_verify/pipeline_subscription_with_group_owned_project_spec.rb[1:1:1:1]": 66.629194377, - "./qa/specs/features/ee/browser_ui/8_monitor/incident_management/incident_quick_action_spec.rb[1:1:1]": 22.324902426, - "./qa/specs/features/ee/browser_ui/9_data_stores/elasticsearch/elasticsearch_reindexing_spec.rb[1:1:1]": 47.27284432, - "./qa/specs/features/ee/browser_ui/9_data_stores/elasticsearch/elasticsearch_reindexing_spec.rb[1:1:2]": 89.728908089, - "./qa/specs/features/ee/browser_ui/9_data_stores/group/prevent_forking_outside_group_spec.rb[1:1:1:1]": 25.727284816, - "./qa/specs/features/ee/browser_ui/9_data_stores/group/prevent_forking_outside_group_spec.rb[1:1:2:1]": 24.900638468, - "./qa/specs/features/ee/browser_ui/9_data_stores/group/share_group_with_group_spec.rb[1:1:1]": 38.096980432 + "./qa/specs/features/ee/browser_ui/2_plan/issue_boards/create_group_issue_board_spec.rb[1:1:1]": 21.34695632, + "./qa/specs/features/ee/browser_ui/2_plan/issue_boards/group_issue_boards_spec.rb[1:1:1]": 16.793227441, + "./qa/specs/features/ee/browser_ui/2_plan/issue_boards/project_issue_boards_spec.rb[1:1:1:1]": 11.489492068, + "./qa/specs/features/ee/browser_ui/2_plan/issue_boards/project_issue_boards_spec.rb[1:1:2:1]": 15.111602398, + "./qa/specs/features/ee/browser_ui/2_plan/issue_boards/project_issue_boards_spec.rb[1:1:3:1]": 12.085622892, + "./qa/specs/features/ee/browser_ui/2_plan/issue_boards/read_only_board_configuration_spec.rb[1:1:1]": 20.336747158, + "./qa/specs/features/ee/browser_ui/2_plan/issue_boards/sum_of_issues_weights_spec.rb[1:1:1]": 13.48637805, + "./qa/specs/features/ee/browser_ui/2_plan/issues_analytics/issues_analytics_spec.rb[1:1:1:1]": 9.540367603, + "./qa/specs/features/ee/browser_ui/2_plan/issues_analytics/issues_analytics_spec.rb[1:2:1:1]": 8.223610343, + "./qa/specs/features/ee/browser_ui/2_plan/issues_weight/issue_weight_visualization_spec.rb[1:1:1]": 25.342011643, + "./qa/specs/features/ee/browser_ui/2_plan/iterations/assign_group_iteration_spec.rb[1:1:1]": 29.066942874, + "./qa/specs/features/ee/browser_ui/2_plan/iterations/create_group_iteration_spec.rb[1:1:1:1]": 26.320248993, + "./qa/specs/features/ee/browser_ui/2_plan/iterations/create_group_iteration_spec.rb[1:1:2:1]": 13.125768209, + "./qa/specs/features/ee/browser_ui/2_plan/multiple_assignees_for_issues/four_assignees_spec.rb[1:1:1]": 27.22286239, + "./qa/specs/features/ee/browser_ui/2_plan/multiple_assignees_for_issues/more_than_four_assignees_spec.rb[1:1:1]": 25.835147276, + "./qa/specs/features/ee/browser_ui/2_plan/multiple_assignees_for_issues/more_than_four_assignees_spec.rb[1:1:2]": 18.94926245, + "./qa/specs/features/ee/browser_ui/2_plan/scoped_labels/editing_scoped_labels_spec.rb[1:1:1]": 18.807005081, + "./qa/specs/features/ee/browser_ui/3_create/merge_request/add_batch_comments_in_merge_request_spec.rb[1:1:1]": 44.568447665, + "./qa/specs/features/ee/browser_ui/3_create/merge_request/add_batch_comments_in_merge_request_spec.rb[1:1:2]": 51.911036966, + "./qa/specs/features/ee/browser_ui/3_create/merge_request/approval_rules_spec.rb[1:1:1]": 74.671810428, + "./qa/specs/features/ee/browser_ui/3_create/merge_request/default_merge_request_template_spec.rb[1:1:1]": 37.714924927, + "./qa/specs/features/ee/browser_ui/3_create/repository/assign_code_owners_spec.rb[1:1:1]": 44.637867443, + "./qa/specs/features/ee/browser_ui/3_create/repository/code_owners_spec.rb[1:1:1]": 26.644627482, + "./qa/specs/features/ee/browser_ui/3_create/repository/code_owners_with_protected_branch_and_squashed_commits_spec.rb[1:1:1]": 30.831724099, + "./qa/specs/features/ee/browser_ui/3_create/repository/file_locking_spec.rb[1:1:1]": 38.912089282, + "./qa/specs/features/ee/browser_ui/3_create/repository/file_locking_spec.rb[1:1:2]": 42.06549614, + "./qa/specs/features/ee/browser_ui/3_create/repository/file_locking_spec.rb[1:1:3]": 24.750685546, + "./qa/specs/features/ee/browser_ui/3_create/repository/file_locking_spec.rb[1:1:4]": 57.770425537, + "./qa/specs/features/ee/browser_ui/3_create/repository/file_locking_spec.rb[1:1:5]": 26.028945316, + "./qa/specs/features/ee/browser_ui/3_create/repository/group_file_template_spec.rb[1:1:1]": 31.726537152, + "./qa/specs/features/ee/browser_ui/3_create/repository/group_file_template_spec.rb[1:1:2]": 28.5597328, + "./qa/specs/features/ee/browser_ui/3_create/repository/group_file_template_spec.rb[1:1:3]": 29.264946977, + "./qa/specs/features/ee/browser_ui/3_create/repository/group_file_template_spec.rb[1:1:4]": 30.029597482, + "./qa/specs/features/ee/browser_ui/3_create/repository/merge_with_code_owner_in_root_group_spec.rb[1:1:1:1:1:1]": 45.423792716, + "./qa/specs/features/ee/browser_ui/3_create/repository/merge_with_code_owner_in_root_group_spec.rb[1:1:1:2:1:1]": 44.429862514, + "./qa/specs/features/ee/browser_ui/3_create/repository/merge_with_code_owner_in_subgroup_spec.rb[1:1:1:1:1:1]": 56.646438606, + "./qa/specs/features/ee/browser_ui/3_create/repository/merge_with_code_owner_in_subgroup_spec.rb[1:1:1:2:1:1]": 45.24174136, + "./qa/specs/features/ee/browser_ui/3_create/repository/merge_with_code_owner_in_subgroup_spec.rb[1:1:1:3:1:1]": 47.913075114, + "./qa/specs/features/ee/browser_ui/3_create/repository/project_templates_spec.rb[1:1:1:1]": 22.955965688, + "./qa/specs/features/ee/browser_ui/3_create/repository/project_templates_spec.rb[1:1:3:1]": 43.16515124, + "./qa/specs/features/ee/browser_ui/3_create/repository/pull_mirroring_over_http_spec.rb[1:1:1]": 27.106594879, + "./qa/specs/features/ee/browser_ui/3_create/repository/pull_mirroring_over_ssh_with_key_spec.rb[1:1:1]": 46.357188145, + "./qa/specs/features/ee/browser_ui/3_create/repository/push_rules_spec.rb[1:1:1:1]": 23.678399909, + "./qa/specs/features/ee/browser_ui/3_create/repository/push_rules_spec.rb[1:1:1:2]": 40.466766417, + "./qa/specs/features/ee/browser_ui/3_create/repository/push_rules_spec.rb[1:1:1:3]": 41.509540678, + "./qa/specs/features/ee/browser_ui/3_create/repository/push_rules_spec.rb[1:1:1:4]": 25.723843685, + "./qa/specs/features/ee/browser_ui/3_create/repository/push_rules_spec.rb[1:1:1:5]": 41.707133808, + "./qa/specs/features/ee/browser_ui/3_create/repository/push_rules_spec.rb[1:1:1:6]": 27.294651367, + "./qa/specs/features/ee/browser_ui/3_create/repository/push_rules_spec.rb[1:1:1:7]": 24.974807892, + "./qa/specs/features/ee/browser_ui/3_create/repository/push_rules_spec.rb[1:1:1:8]": 25.211340653, + "./qa/specs/features/ee/browser_ui/3_create/repository/push_rules_spec.rb[1:1:1:9]": 30.034785751, + "./qa/specs/features/ee/browser_ui/3_create/repository/push_rules_spec.rb[1:1:2:1]": 31.400779008, + "./qa/specs/features/ee/browser_ui/3_create/repository/restrict_push_protected_branch_spec.rb[1:1:1:1:1]": 38.732084782, + "./qa/specs/features/ee/browser_ui/3_create/repository/restrict_push_protected_branch_spec.rb[1:1:1:2:1]": 56.836572787, + "./qa/specs/features/ee/browser_ui/3_create/repository/restrict_push_protected_branch_spec.rb[1:1:2:1:1]": 35.677999417, + "./qa/specs/features/ee/browser_ui/3_create/repository/restrict_push_protected_branch_spec.rb[1:1:2:2:1]": 49.484271221, + "./qa/specs/features/ee/browser_ui/3_create/repository/restrict_push_protected_branch_spec.rb[1:1:3:1:1]": 53.2705647, + "./qa/specs/features/ee/browser_ui/3_create/web_ide/code_suggestions_in_web_ide_spec.rb[1:1:1:1:1]": 37.706709127, + "./qa/specs/features/ee/browser_ui/3_create/web_ide/code_suggestions_in_web_ide_spec.rb[1:1:1:2:1]": 33.905220911, + "./qa/specs/features/ee/browser_ui/3_create/web_ide/code_suggestions_in_web_ide_spec.rb[1:1:2:1:1:1:1:1]": 28.082694082, + "./qa/specs/features/ee/browser_ui/3_create/web_ide/code_suggestions_in_web_ide_spec.rb[1:1:2:1:1:2:1:1]": 24.404767851, + "./qa/specs/features/ee/browser_ui/3_create/web_ide/code_suggestions_in_web_ide_spec.rb[1:1:2:1:2:1:1]": 24.393368506, + "./qa/specs/features/ee/browser_ui/3_create/web_ide/code_suggestions_in_web_ide_spec.rb[1:1:2:2:1:1]": 25.40245337, + "./qa/specs/features/ee/browser_ui/4_verify/multi-project_pipelines_spec.rb[1:1:1]": 74.40245243, + "./qa/specs/features/ee/browser_ui/4_verify/parent_child_pipelines_dependent_relationship_spec.rb[1:1:1]": 44.744339541, + "./qa/specs/features/ee/browser_ui/4_verify/parent_child_pipelines_dependent_relationship_spec.rb[1:1:2]": 69.446242835, + "./qa/specs/features/ee/browser_ui/4_verify/pipeline_for_merged_result_spec.rb[1:1:1]": 34.890185963, + "./qa/specs/features/ee/browser_ui/4_verify/pipeline_subscription_with_group_owned_project_spec.rb[1:1:1:1]": 46.661045643, + "./qa/specs/features/ee/browser_ui/8_monitor/incident_management/incident_quick_action_spec.rb[1:1:1]": 15.961611537, + "./qa/specs/features/ee/browser_ui/9_data_stores/elasticsearch/elasticsearch_reindexing_spec.rb[1:1:1]": 82.885939835, + "./qa/specs/features/ee/browser_ui/9_data_stores/elasticsearch/elasticsearch_reindexing_spec.rb[1:1:2]": 98.066875137, + "./qa/specs/features/ee/browser_ui/9_data_stores/group/prevent_forking_outside_group_spec.rb[1:1:1:1]": 21.382622725, + "./qa/specs/features/ee/browser_ui/9_data_stores/group/prevent_forking_outside_group_spec.rb[1:1:2:1]": 20.605364649, + "./qa/specs/features/ee/browser_ui/9_data_stores/group/share_group_with_group_spec.rb[1:1:1]": 41.767111724 } diff --git a/qa/knapsack/master_report.json b/qa/knapsack/master_report.json index 34fcca7dba6..777a47fc6bd 100644 --- a/qa/knapsack/master_report.json +++ b/qa/knapsack/master_report.json @@ -1,315 +1,297 @@ { - "qa/specs/features/api/10_govern/group_access_token_spec.rb": 32.09179872, - "qa/specs/features/api/10_govern/project_access_token_spec.rb": 70.84043446700001, - "qa/specs/features/api/12_systems/gitaly/automatic_failover_and_recovery_spec.rb": 106.840468197, - "qa/specs/features/api/12_systems/gitaly/backend_node_recovery_spec.rb": 115.87754678, - "qa/specs/features/api/12_systems/gitaly/distributed_reads_spec.rb": 106.710385599, - "qa/specs/features/api/12_systems/gitaly/gitaly_mtls_spec.rb": 19.001982918, - "qa/specs/features/api/1_manage/import/import_github_repo_spec.rb": 63.26932629, - "qa/specs/features/api/1_manage/integrations/webhook_events_spec.rb": 52.256671066, - "qa/specs/features/api/1_manage/migration/gitlab_migration_group_spec.rb": 51.502758282, - "qa/specs/features/api/1_manage/migration/gitlab_migration_issue_spec.rb": 199.076833071, - "qa/specs/features/api/1_manage/migration/gitlab_migration_pipeline_spec.rb": 95.08253956, - "qa/specs/features/api/1_manage/migration/gitlab_migration_project_spec.rb": 96.926171525, - "qa/specs/features/api/1_manage/rate_limits_spec.rb": 14.295300094, - "qa/specs/features/api/2_plan/closes_issue_via_pushing_a_commit_spec.rb": 24.292929619, - "qa/specs/features/api/3_create/merge_request/push_options_labels_spec.rb": 30.065032042000002, - "qa/specs/features/api/3_create/merge_request/push_options_mwps_spec.rb": 16.734459115, - "qa/specs/features/api/3_create/merge_request/push_options_remove_source_branch_spec.rb": 35.849599535, + "qa/specs/features/api/10_govern/group_access_token_spec.rb": 37.015454669, + "qa/specs/features/api/10_govern/project_access_token_spec.rb": 75.724356965, + "qa/specs/features/api/12_systems/gitaly/automatic_failover_and_recovery_spec.rb": 100.49626791899999, + "qa/specs/features/api/12_systems/gitaly/backend_node_recovery_spec.rb": 109.495024404, + "qa/specs/features/api/12_systems/gitaly/distributed_reads_spec.rb": 106.509403489, + "qa/specs/features/api/12_systems/gitaly/gitaly_mtls_spec.rb": 15.799374557, + "qa/specs/features/api/1_manage/import/import_github_repo_spec.rb": 128.368130788, + "qa/specs/features/api/1_manage/integrations/webhook_events_spec.rb": 65.318252654, + "qa/specs/features/api/1_manage/migration/gitlab_migration_group_spec.rb": 64.134960608, + "qa/specs/features/api/1_manage/migration/gitlab_migration_issue_spec.rb": 224.30863738, + "qa/specs/features/api/1_manage/migration/gitlab_migration_pipeline_spec.rb": 102.102132018, + "qa/specs/features/api/1_manage/migration/gitlab_migration_project_spec.rb": 99.440285268, + "qa/specs/features/api/1_manage/rate_limits_spec.rb": 15.982613437, + "qa/specs/features/api/2_plan/closes_issue_via_pushing_a_commit_spec.rb": 20.482144219, + "qa/specs/features/api/3_create/merge_request/push_options_labels_spec.rb": 36.28319341, + "qa/specs/features/api/3_create/merge_request/push_options_mwps_spec.rb": 12.446403762, + "qa/specs/features/api/3_create/merge_request/push_options_remove_source_branch_spec.rb": 27.518031778, "qa/specs/features/api/3_create/merge_request/push_options_target_branch_spec.rb": 31.133650909, - "qa/specs/features/api/3_create/merge_request/push_options_title_description_spec.rb": 31.637965331, - "qa/specs/features/api/3_create/merge_request/view_merge_requests_spec.rb": 2.412787835, - "qa/specs/features/api/3_create/repository/add_list_delete_branches_spec.rb": 18.299660092, - "qa/specs/features/api/3_create/repository/commit_to_templated_project_spec.rb": 21.469919996, - "qa/specs/features/api/3_create/repository/default_branch_name_setting_spec.rb": 15.021574573999999, - "qa/specs/features/api/3_create/repository/files_spec.rb": 7.660189947999999, - "qa/specs/features/api/3_create/repository/project_archive_compare_spec.rb": 14.958655179, - "qa/specs/features/api/3_create/repository/push_postreceive_idempotent_spec.rb": 26.505414728, - "qa/specs/features/api/3_create/repository/storage_size_spec.rb": 16.014137689, - "qa/specs/features/api/3_create/repository/tag_revision_trigger_prereceive_hook_spec.rb": 8.728627083, - "qa/specs/features/api/4_verify/api_variable_inheritance_with_forward_pipeline_variables_spec.rb": 78.89262624, - "qa/specs/features/api/4_verify/cancel_pipeline_when_block_user_spec.rb": 15.48289999, - "qa/specs/features/api/4_verify/file_variable_spec.rb": 63.981808694, - "qa/specs/features/api/4_verify/job_downloads_artifacts_spec.rb": 52.288782966, - "qa/specs/features/api/5_package/container_registry/saas/container_registry_spec.rb": 71.800959886, - "qa/specs/features/api/8_monitor/metrics_spec.rb": 5.257570875, - "qa/specs/features/api/9_data_stores/user_inherited_access_spec.rb": 136.275449175, - "qa/specs/features/api/9_data_stores/users_spec.rb": 6.899767240999999, - "qa/specs/features/browser_ui/10_govern/group/group_access_token_spec.rb": 19.844721573, - "qa/specs/features/browser_ui/10_govern/login/2fa_recovery_spec.rb": 44.100941593, - "qa/specs/features/browser_ui/10_govern/login/2fa_ssh_recovery_spec.rb": 45.583287338, - "qa/specs/features/browser_ui/10_govern/login/log_in_spec.rb": 13.401347702, - "qa/specs/features/browser_ui/10_govern/login/log_in_with_2fa_spec.rb": 85.925896927, - "qa/specs/features/browser_ui/10_govern/login/log_into_gitlab_via_ldap_spec.rb": 4.034288774, - "qa/specs/features/browser_ui/10_govern/login/log_into_mattermost_via_gitlab_spec.rb": 29.35834189, - "qa/specs/features/browser_ui/10_govern/login/login_via_instance_wide_saml_sso_spec.rb": 17.313229202, - "qa/specs/features/browser_ui/10_govern/login/oauth_login_with_github_spec.rb": 41.213389322, - "qa/specs/features/browser_ui/10_govern/login/register_spec.rb": 177.063061658, - "qa/specs/features/browser_ui/10_govern/project/project_access_token_spec.rb": 23.114883894, - "qa/specs/features/browser_ui/10_govern/user/impersonation_token_spec.rb": 33.895819022, - "qa/specs/features/browser_ui/10_govern/user/user_access_termination_spec.rb": 45.065414806, - "qa/specs/features/browser_ui/14_analytics/performance_bar_spec.rb": 26.921009558, - "qa/specs/features/browser_ui/14_analytics/service_ping_default_enabled_spec.rb": 16.247576949, - "qa/specs/features/browser_ui/14_analytics/service_ping_disabled_spec.rb": 11.621520023, - "qa/specs/features/browser_ui/1_manage/integrations/jenkins/jenkins_build_status_spec.rb": 76.323214588, - "qa/specs/features/browser_ui/1_manage/integrations/jira/jira_basic_integration_spec.rb": 62.873560731000005, - "qa/specs/features/browser_ui/1_manage/integrations/jira/jira_issue_import_spec.rb": 37.627080824, - "qa/specs/features/browser_ui/1_manage/integrations/pipeline_status_emails_spec.rb": 70.607680189, - "qa/specs/features/browser_ui/1_manage/migration/gitlab_migration_group_spec.rb": 54.13425361, - "qa/specs/features/browser_ui/1_manage/migration/gitlab_migration_user_contribution_reassignment_spec.rb": 183.431762919, - "qa/specs/features/browser_ui/2_plan/design_management/add_design_content_spec.rb": 25.85949383, - "qa/specs/features/browser_ui/2_plan/design_management/archive_design_content_spec.rb": 29.851323213, - "qa/specs/features/browser_ui/2_plan/design_management/modify_design_content_spec.rb": 25.113726787, - "qa/specs/features/browser_ui/2_plan/email/trigger_email_notification_spec.rb": 16.703454046, - "qa/specs/features/browser_ui/2_plan/issue/check_mentions_for_xss_spec.rb": 29.64007647, - "qa/specs/features/browser_ui/2_plan/issue/collapse_comments_in_discussions_spec.rb": 24.060903882, - "qa/specs/features/browser_ui/2_plan/issue/comment_issue_spec.rb": 25.328070515, - "qa/specs/features/browser_ui/2_plan/issue/create_issue_spec.rb": 80.24420816700001, - "qa/specs/features/browser_ui/2_plan/issue/custom_issue_template_spec.rb": 26.879063725, - "qa/specs/features/browser_ui/2_plan/issue/export_as_csv_spec.rb": 23.048566907, - "qa/specs/features/browser_ui/2_plan/issue/filter_issue_comments_spec.rb": 26.140969635, - "qa/specs/features/browser_ui/2_plan/issue/issue_suggestions_spec.rb": 21.950209933, - "qa/specs/features/browser_ui/2_plan/issue/mentions_spec.rb": 31.058895067, - "qa/specs/features/browser_ui/2_plan/issue/real_time_assignee_spec.rb": 26.107155823, - "qa/specs/features/browser_ui/2_plan/issue_boards/focus_mode_spec.rb": 18.166378483, - "qa/specs/features/browser_ui/2_plan/milestone/assign_milestone_spec.rb": 105.543095554, - "qa/specs/features/browser_ui/2_plan/milestone/create_group_milestone_spec.rb": 23.728998484, - "qa/specs/features/browser_ui/2_plan/milestone/create_project_milestone_spec.rb": 25.537766604, - "qa/specs/features/browser_ui/2_plan/project_wiki/project_based_content_creation_spec.rb": 113.445383183, - "qa/specs/features/browser_ui/2_plan/project_wiki/project_based_content_manipulation_spec.rb": 70.63853635000001, - "qa/specs/features/browser_ui/2_plan/project_wiki/project_based_directory_management_spec.rb": 22.714283984, - "qa/specs/features/browser_ui/2_plan/project_wiki/project_based_file_upload_spec.rb": 39.66400416, - "qa/specs/features/browser_ui/2_plan/project_wiki/project_based_list_spec.rb": 74.829817515, - "qa/specs/features/browser_ui/2_plan/project_wiki/project_based_page_deletion_spec.rb": 59.478185997, - "qa/specs/features/browser_ui/2_plan/related_issues/related_issues_spec.rb": 22.828525823, - "qa/specs/features/browser_ui/3_create/merge_request/cherry_pick/cherry_pick_a_merge_spec.rb": 47.831726855, - "qa/specs/features/browser_ui/3_create/merge_request/cherry_pick/cherry_pick_commit_spec.rb": 42.210410523, - "qa/specs/features/browser_ui/3_create/merge_request/create_merge_request_spec.rb": 77.674572313, - "qa/specs/features/browser_ui/3_create/merge_request/create_merge_request_via_template_spec.rb": 42.884679903, - "qa/specs/features/browser_ui/3_create/merge_request/merge_merge_request_from_fork_spec.rb": 42.39481007, - "qa/specs/features/browser_ui/3_create/merge_request/merge_request_set_to_auto_merge_spec.rb": 66.316861225, - "qa/specs/features/browser_ui/3_create/merge_request/rebase_merge_request_spec.rb": 78.839397559, - "qa/specs/features/browser_ui/3_create/merge_request/revert/revert_commit_spec.rb": 32.719442996, - "qa/specs/features/browser_ui/3_create/merge_request/revert/reverting_merge_request_spec.rb": 44.662585073, - "qa/specs/features/browser_ui/3_create/merge_request/squash_merge_request_spec.rb": 43.188893906, - "qa/specs/features/browser_ui/3_create/merge_request/suggestions/batch_suggestion_spec.rb": 68.1749663, - "qa/specs/features/browser_ui/3_create/merge_request/suggestions/custom_commit_suggestion_spec.rb": 66.211108869, - "qa/specs/features/browser_ui/3_create/merge_request/view_merge_request_diff_patch_spec.rb": 50.689415686000004, - "qa/specs/features/browser_ui/3_create/repository/add_file_template_spec.rb": 102.208961399, - "qa/specs/features/browser_ui/3_create/repository/add_new_branch_rule_spec.rb": 36.464513447, - "qa/specs/features/browser_ui/3_create/repository/branch_with_unusual_name_spec.rb": 23.728558417, - "qa/specs/features/browser_ui/3_create/repository/clone_spec.rb": 23.797389396, - "qa/specs/features/browser_ui/3_create/repository/file/create_file_via_web_spec.rb": 26.457367728, - "qa/specs/features/browser_ui/3_create/repository/file/delete_file_via_web_spec.rb": 23.011221592, - "qa/specs/features/browser_ui/3_create/repository/file/edit_file_via_web_spec.rb": 25.267087996, - "qa/specs/features/browser_ui/3_create/repository/file/file_with_unusual_name_spec.rb": 30.818279196, - "qa/specs/features/browser_ui/3_create/repository/license_detection_spec.rb": 33.215890676, - "qa/specs/features/browser_ui/3_create/repository/protected_tags_spec.rb": 143.819267186, - "qa/specs/features/browser_ui/3_create/repository/protocol_v2_push_http_spec.rb": 25.250917316, - "qa/specs/features/browser_ui/3_create/repository/protocol_v2_push_ssh_spec.rb": 29.749885185, - "qa/specs/features/browser_ui/3_create/repository/push_http_private_token_spec.rb": 28.959297006, - "qa/specs/features/browser_ui/3_create/repository/push_mirroring_lfs_over_http_spec.rb": 76.192584769, - "qa/specs/features/browser_ui/3_create/repository/push_mirroring_over_http_spec.rb": 69.755045933, - "qa/specs/features/browser_ui/3_create/repository/push_over_http_file_size_spec.rb": 46.870759926, - "qa/specs/features/browser_ui/3_create/repository/push_over_http_spec.rb": 35.941708872999996, - "qa/specs/features/browser_ui/3_create/repository/push_over_ssh_spec.rb": 52.645359239, - "qa/specs/features/browser_ui/3_create/repository/push_protected_branch_spec.rb": 23.909537047, - "qa/specs/features/browser_ui/3_create/repository/push_to_canary_gitaly_spec.rb": 24.10235971, - "qa/specs/features/browser_ui/3_create/repository/ssh_key_support_create_spec.rb": 35.533406608, - "qa/specs/features/browser_ui/3_create/repository/ssh_key_support_delete_spec.rb": 31.337760044, - "qa/specs/features/browser_ui/3_create/repository/user_views_commit_diff_patch_spec.rb": 44.643508223, - "qa/specs/features/browser_ui/3_create/snippet/add_comment_to_snippet_spec.rb": 55.933738827, - "qa/specs/features/browser_ui/3_create/snippet/add_file_to_snippet_spec.rb": 48.836957866000006, - "qa/specs/features/browser_ui/3_create/snippet/clone_push_pull_personal_snippet_spec.rb": 78.02081374900001, - "qa/specs/features/browser_ui/3_create/snippet/clone_push_pull_project_snippet_spec.rb": 75.211790901, - "qa/specs/features/browser_ui/3_create/snippet/copy_snippet_file_contents_spec.rb": 49.988234528, - "qa/specs/features/browser_ui/3_create/snippet/create_personal_snippet_spec.rb": 14.174265896, - "qa/specs/features/browser_ui/3_create/snippet/create_personal_snippet_with_multiple_files_spec.rb": 14.639778009, - "qa/specs/features/browser_ui/3_create/snippet/create_project_snippet_spec.rb": 22.832990738, - "qa/specs/features/browser_ui/3_create/snippet/create_project_snippet_with_multiple_files_spec.rb": 30.003782008, - "qa/specs/features/browser_ui/3_create/snippet/delete_file_from_snippet_spec.rb": 46.354167631, - "qa/specs/features/browser_ui/3_create/snippet/share_snippet_spec.rb": 32.431142643, - "qa/specs/features/browser_ui/3_create/snippet/snippet_index_page_spec.rb": 88.360735764, - "qa/specs/features/browser_ui/3_create/source_editor/source_editor_toolbar_spec.rb": 28.113785988, - "qa/specs/features/browser_ui/3_create/web_ide/add_first_file_in_web_ide_spec.rb": 51.825862273, - "qa/specs/features/browser_ui/3_create/web_ide/add_new_directory_in_web_ide_spec.rb": 82.160765005, - "qa/specs/features/browser_ui/3_create/web_ide/closing_web_ide_with_unsaved_changes_spec.rb": 23.81562883, - "qa/specs/features/browser_ui/3_create/web_ide/upload_new_file_in_web_ide_spec.rb": 96.516777787, - "qa/specs/features/browser_ui/4_verify/ci_components_catalog/ci_catalog_sorting_spec.rb": 90.14169191600001, - "qa/specs/features/browser_ui/4_verify/ci_components_catalog/release_with_glab_spec.rb": 168.190569452, - "qa/specs/features/browser_ui/4_verify/ci_components_catalog/release_with_release_cli_spec.rb": 113.110485423, - "qa/specs/features/browser_ui/4_verify/ci_components_catalog/run_component_in_project_pipeline_spec.rb": 52.640730466, - "qa/specs/features/browser_ui/4_verify/ci_job_artifacts/expose_job_artifacts_in_mr_spec.rb": 78.097937916, - "qa/specs/features/browser_ui/4_verify/ci_job_artifacts/job_artifacts_access_keyword_spec.rb": 229.44415739200002, - "qa/specs/features/browser_ui/4_verify/ci_job_artifacts/unlocking_job_artifacts_across_pipelines_spec.rb": 241.475671391, - "qa/specs/features/browser_ui/4_verify/ci_project_artifacts/user_can_bulk_delete_artifacts_spec.rb": 86.877077345, - "qa/specs/features/browser_ui/4_verify/ci_variable/custom_variable_spec.rb": 45.569080506, - "qa/specs/features/browser_ui/4_verify/ci_variable/pipeline_with_protected_variable_spec.rb": 105.582527266, - "qa/specs/features/browser_ui/4_verify/ci_variable/prefill_variables_spec.rb": 62.516032486, - "qa/specs/features/browser_ui/4_verify/ci_variable/raw_variables_defined_in_yaml_spec.rb": 29.595233703, - "qa/specs/features/browser_ui/4_verify/ci_variable/ui_variable_inheritable_when_forward_pipeline_variables_true_spec.rb": 155.588445339, - "qa/specs/features/browser_ui/4_verify/pipeline/include_local_config_file_paths_with_wildcard_spec.rb": 23.459718339, - "qa/specs/features/browser_ui/4_verify/pipeline/include_multiple_files_from_a_project_spec.rb": 82.948983168, - "qa/specs/features/browser_ui/4_verify/pipeline/include_multiple_files_from_multiple_projects_spec.rb": 48.272808897, - "qa/specs/features/browser_ui/4_verify/pipeline/parent_child_pipelines_independent_relationship_spec.rb": 84.137052289, - "qa/specs/features/browser_ui/4_verify/pipeline/pass_dotenv_variables_to_downstream_via_bridge_spec.rb": 56.5634157, - "qa/specs/features/browser_ui/4_verify/pipeline/run_pipeline_with_manual_jobs_spec.rb": 73.453418726, - "qa/specs/features/browser_ui/4_verify/pipeline/trigger_child_pipeline_with_manual_spec.rb": 44.490095637, - "qa/specs/features/browser_ui/4_verify/pipeline/trigger_matrix_spec.rb": 32.912208563, - "qa/specs/features/browser_ui/4_verify/pipeline/update_ci_file_with_pipeline_editor_spec.rb": 33.41696766, - "qa/specs/features/browser_ui/4_verify/runner/deprecated_registration_token_spec.rb": 27.255567205, - "qa/specs/features/browser_ui/4_verify/runner/deprecated_unregister_runner_spec.rb": 34.72891057, - "qa/specs/features/browser_ui/4_verify/runner/fleet_visibility/group_runner_counts_spec.rb": 23.788181643, - "qa/specs/features/browser_ui/4_verify/runner/fleet_visibility/group_runner_status_counts_spec.rb": 18.169601756, - "qa/specs/features/browser_ui/4_verify/runner/register_group_runner_spec.rb": 20.202194613, - "qa/specs/features/browser_ui/4_verify/runner/register_project_runner_spec.rb": 58.906034581, - "qa/specs/features/browser_ui/4_verify/testing/endpoint_coverage_spec.rb": 51.836840746, - "qa/specs/features/browser_ui/5_package/container_registry/saas/container_registry_spec.rb": 163.193004342, - "qa/specs/features/browser_ui/5_package/container_registry/self_managed/container_registry_spec.rb": 328.62547077700003, - "qa/specs/features/browser_ui/5_package/dependency_proxy/dependency_proxy_spec.rb": 184.010261683, - "qa/specs/features/browser_ui/5_package/package_registry/composer_registry_spec.rb": 62.08611696, - "qa/specs/features/browser_ui/5_package/package_registry/conan_repository_spec.rb": 107.864049619, - "qa/specs/features/browser_ui/5_package/package_registry/generic_repository_spec.rb": 62.388574114, - "qa/specs/features/browser_ui/5_package/package_registry/helm_registry_spec.rb": 309.293218726, - "qa/specs/features/browser_ui/5_package/package_registry/maven/maven_group_level_spec.rb": 594.456026716, - "qa/specs/features/browser_ui/5_package/package_registry/maven/maven_project_level_spec.rb": 306.303958561, - "qa/specs/features/browser_ui/5_package/package_registry/maven_gradle_repository_spec.rb": 309.32504019099997, - "qa/specs/features/browser_ui/5_package/package_registry/npm/npm_group_level_spec.rb": 301.125697193, - "qa/specs/features/browser_ui/5_package/package_registry/npm/npm_instance_level_spec.rb": 348.076428846, - "qa/specs/features/browser_ui/5_package/package_registry/pypi_repository_spec.rb": 106.406871549, - "qa/specs/features/browser_ui/6_release/deploy_key/add_deploy_key_spec.rb": 29.327765963, - "qa/specs/features/browser_ui/6_release/deploy_key/clone_using_deploy_key_spec.rb": 188.715691628, - "qa/specs/features/browser_ui/6_release/deploy_token/add_deploy_token_spec.rb": 14.698590564, - "qa/specs/features/browser_ui/8_monitor/alert_management/alert_settings_create_new_alerts_spec.rb": 52.357856561999995, - "qa/specs/features/browser_ui/8_monitor/alert_management/automatically_creates_incident_for_alert_spec.rb": 62.049963033, - "qa/specs/features/browser_ui/8_monitor/alert_management/create_alert_using_authorization_key_spec.rb": 50.577361765, - "qa/specs/features/browser_ui/8_monitor/alert_management/email_notification_for_alert_spec.rb": 72.42221105899999, - "qa/specs/features/browser_ui/8_monitor/alert_management/recovery_alert_resolves_correct_alert_spec.rb": 29.470219297, - "qa/specs/features/browser_ui/9_data_stores/group/create_group_with_mattermost_team_spec.rb": 8.143943888, - "qa/specs/features/browser_ui/9_data_stores/group/group_member_access_request_spec.rb": 59.317936782, - "qa/specs/features/browser_ui/9_data_stores/group/transfer_project_spec.rb": 22.223200836, - "qa/specs/features/browser_ui/9_data_stores/project/add_project_member_spec.rb": 30.228395089, - "qa/specs/features/browser_ui/9_data_stores/project/create_project_badge_spec.rb": 26.47440979, - "qa/specs/features/browser_ui/9_data_stores/project/create_project_spec.rb": 56.924557956, - "qa/specs/features/browser_ui/9_data_stores/project/dashboard_images_spec.rb": 18.117264133, - "qa/specs/features/browser_ui/9_data_stores/project/invite_group_to_project_spec.rb": 77.063808379, - "qa/specs/features/browser_ui/9_data_stores/project/project_owner_permissions_spec.rb": 100.707811271, - "qa/specs/features/browser_ui/9_data_stores/project/view_project_activity_spec.rb": 30.729891519, - "qa/specs/features/browser_ui/9_data_stores/user/follow_user_activity_spec.rb": 28.12556536, - "qa/specs/features/browser_ui/9_data_stores/user/parent_group_access_termination_spec.rb": 25.595656177, - "qa/specs/features/browser_ui/9_data_stores/user/user_inherited_access_spec.rb": 24.790635015, - "qa/specs/features/ee/api/10_govern/compliance_pipeline_spec.rb": 44.953216412, - "qa/specs/features/ee/api/10_govern/instance_audit_event_streaming_spec.rb": 42.961544382, - "qa/specs/features/ee/api/10_govern/user/minimal_access_user_spec.rb": 82.76316740200001, - "qa/specs/features/ee/api/1_manage/import/import_github_repo_spec.rb": 124.452661764, - "qa/specs/features/ee/api/1_manage/integrations/group_webhook_events_spec.rb": 11.694093681, - "qa/specs/features/ee/api/1_manage/migration/gitlab_migration_group_spec.rb": 82.717425116, - "qa/specs/features/ee/api/2_plan/analytics/dora_metrics_spec.rb": 2.610463819, - "qa/specs/features/ee/api/2_plan/epics_milestone_dates_spec.rb": 67.78791177400001, - "qa/specs/features/ee/api/3_create/code_suggestions_spec.rb": 34.997776423, - "qa/specs/features/ee/api/9_data_stores/elasticsearch/advanced_global_advanced_syntax_search_spec.rb": 177.463967942, - "qa/specs/features/ee/api/9_data_stores/elasticsearch/elasticsearch_api_spec.rb": 88.774664526, - "qa/specs/features/ee/api/9_data_stores/elasticsearch/index_tests/commit_index/commit_index_spec.rb": 113.761138715, - "qa/specs/features/ee/api/9_data_stores/elasticsearch/index_tests/issues_index/issue_index_spec.rb": 94.191328237, - "qa/specs/features/ee/api/9_data_stores/elasticsearch/index_tests/main_index/blob_index_spec.rb": 44.073263399, - "qa/specs/features/ee/api/9_data_stores/elasticsearch/index_tests/merge_request_index/merge_request_index_spec.rb": 53.637057678, - "qa/specs/features/ee/api/9_data_stores/elasticsearch/index_tests/notes_index/note_index_spec.rb": 57.685242512, - "qa/specs/features/ee/api/9_data_stores/elasticsearch/index_tests/user_index/user_index_spec.rb": 53.947907517, - "qa/specs/features/ee/api/9_data_stores/elasticsearch/nightly_elasticsearch_test_spec.rb": 22.758491453, - "qa/specs/features/ee/browser_ui/10_govern/change_vulnerability_status_spec.rb": 129.474175645, - "qa/specs/features/ee/browser_ui/10_govern/create_merge_request_with_secure_spec.rb": 67.504473966, - "qa/specs/features/ee/browser_ui/10_govern/dismissed_vulnerabilities_in_security_widget_spec.rb": 120.244884641, - "qa/specs/features/ee/browser_ui/10_govern/explain_this_vulnerability_spec.rb": 54.82291775, - "qa/specs/features/ee/browser_ui/10_govern/export_vulnerability_report_spec.rb": 27.923855203, - "qa/specs/features/ee/browser_ui/10_govern/fix_vulnerability_workflow_spec.rb": 198.566644822, - "qa/specs/features/ee/browser_ui/10_govern/group/group_audit_event_streaming_spec.rb": 56.923835319, - "qa/specs/features/ee/browser_ui/10_govern/group/group_audit_logs_1_spec.rb": 98.63632659299999, - "qa/specs/features/ee/browser_ui/10_govern/group/group_ldap_sync_spec.rb": 127.38219135, - "qa/specs/features/ee/browser_ui/10_govern/group/restrict_by_ip_address_spec.rb": 140.456834634, - "qa/specs/features/ee/browser_ui/10_govern/group_pipeline_execution_policy_spec.rb": 310.737996319, - "qa/specs/features/ee/browser_ui/10_govern/instance/instance_audit_logs_spec.rb": 102.084300353, - "qa/specs/features/ee/browser_ui/10_govern/project/project_audit_logs_spec.rb": 238.71019868399998, - "qa/specs/features/ee/browser_ui/10_govern/project_security_dashboard_spec.rb": 66.03155057699999, - "qa/specs/features/ee/browser_ui/10_govern/resolve_this_vulnerability_spec.rb": 62.073244889, - "qa/specs/features/ee/browser_ui/10_govern/resolve_vulnerability_in_merge_request_duo_spec.rb": 74.938109056, - "qa/specs/features/ee/browser_ui/10_govern/scan_execution_policy_vulnerabilities_spec.rb": 150.84264386, - "qa/specs/features/ee/browser_ui/10_govern/scan_result_policy_license_finding_spec.rb": 111.94132359, - "qa/specs/features/ee/browser_ui/10_govern/scan_result_policy_vulnerabilities_spec.rb": 165.70961095799998, - "qa/specs/features/ee/browser_ui/10_govern/security_policies_spec.rb": 73.778541443, - "qa/specs/features/ee/browser_ui/10_govern/security_reports_spec.rb": 273.721594878, - "qa/specs/features/ee/browser_ui/10_govern/user/minimal_access_user_spec.rb": 19.450109901, - "qa/specs/features/ee/browser_ui/10_govern/vulnerabilities_jira_integration_spec.rb": 37.673220483, - "qa/specs/features/ee/browser_ui/10_govern/vulnerability_management_spec.rb": 361.351684089, - "qa/specs/features/ee/browser_ui/10_govern/vulnerability_security_training_spec.rb": 140.28406531500002, - "qa/specs/features/ee/browser_ui/11_fulfillment/license/cloud_activation_spec.rb": 24.76485774, - "qa/specs/features/ee/browser_ui/11_fulfillment/license/license_spec.rb": 5.131675512, - "qa/specs/features/ee/browser_ui/11_fulfillment/saas_user_limit_experience_spec.rb": 166.484828247, - "qa/specs/features/ee/browser_ui/11_fulfillment/utilization/free_namespace_storage_spec.rb": 338.338097346, - "qa/specs/features/ee/browser_ui/11_fulfillment/utilization/namespace_storage_limit_spec.rb": 360.676223119, - "qa/specs/features/ee/browser_ui/11_fulfillment/utilization/saas_user_caps_spec.rb": 40.118905731, - "qa/specs/features/ee/browser_ui/11_fulfillment/utilization/user_registration_billing_spec.rb": 16.159188081, - "qa/specs/features/ee/browser_ui/13_secure/cvs_dependency_scanning_spec.rb": 49.641502586, - "qa/specs/features/ee/browser_ui/13_secure/enable_advanced_sast_spec.rb": 112.049596474, - "qa/specs/features/ee/browser_ui/13_secure/enable_scanning_from_configuration_spec.rb": 178.765604474, - "qa/specs/features/ee/browser_ui/13_secure/license_scanning_spec.rb": 125.274490067, - "qa/specs/features/ee/browser_ui/13_secure/secret_push_protection_spec.rb": 106.725161695, - "qa/specs/features/ee/browser_ui/15_growth/free_trial_spec.rb": 66.452879784, - "qa/specs/features/ee/browser_ui/16_ai_powered/duo_chat/duo_chat_spec.rb": 48.929879781, - "qa/specs/features/ee/browser_ui/16_ai_powered/duo_chat/root_cause_analysis_with_duo_chat_spec.rb": 38.493899247, - "qa/specs/features/ee/browser_ui/1_manage/integrations/jira_issues_list_spec.rb": 56.004191573, - "qa/specs/features/ee/browser_ui/2_plan/analytics/contribution_analytics_spec.rb": 157.222857101, - "qa/specs/features/ee/browser_ui/2_plan/analytics/mr_analytics_spec.rb": 60.625560632, - "qa/specs/features/ee/browser_ui/2_plan/analytics/value_stream_analytics_spec.rb": 73.986416961, - "qa/specs/features/ee/browser_ui/2_plan/burndown_chart/burndown_chart_spec.rb": 24.113672335, - "qa/specs/features/ee/browser_ui/2_plan/custom_email/custom_email_spec.rb": 19.752673914, - "qa/specs/features/ee/browser_ui/2_plan/epic/epics_management_spec.rb": 319.49968694200004, - "qa/specs/features/ee/browser_ui/2_plan/epic/promote_issue_to_epic_spec.rb": 32.244788208, - "qa/specs/features/ee/browser_ui/2_plan/epic/roadmap_spec.rb": 14.062045857, - "qa/specs/features/ee/browser_ui/2_plan/group_wiki/create_group_wiki_page_spec.rb": 44.644047068000006, - "qa/specs/features/ee/browser_ui/2_plan/group_wiki/delete_group_wiki_page_spec.rb": 17.442662008, - "qa/specs/features/ee/browser_ui/2_plan/group_wiki/file_upload_group_wiki_page_spec.rb": 36.175085225, - "qa/specs/features/ee/browser_ui/2_plan/insights/default_insights_spec.rb": 34.773120551000005, - "qa/specs/features/ee/browser_ui/2_plan/issue/default_issue_template_spec.rb": 31.559494821, - "qa/specs/features/ee/browser_ui/2_plan/issue_boards/configurable_issue_board_spec.rb": 21.200958268, + "qa/specs/features/api/3_create/merge_request/push_options_title_description_spec.rb": 28.38659008, + "qa/specs/features/api/3_create/merge_request/view_merge_requests_spec.rb": 1.066474312, + "qa/specs/features/api/3_create/repository/add_list_delete_branches_spec.rb": 17.302973593, + "qa/specs/features/api/3_create/repository/commit_to_templated_project_spec.rb": 11.947510366, + "qa/specs/features/api/3_create/repository/default_branch_name_setting_spec.rb": 12.55827129, + "qa/specs/features/api/3_create/repository/files_spec.rb": 6.238860785, + "qa/specs/features/api/3_create/repository/project_archive_compare_spec.rb": 6.915351225, + "qa/specs/features/api/3_create/repository/push_postreceive_idempotent_spec.rb": 15.161442064, + "qa/specs/features/api/3_create/repository/storage_size_spec.rb": 19.619850314, + "qa/specs/features/api/3_create/repository/tag_revision_trigger_prereceive_hook_spec.rb": 7.566050907, + "qa/specs/features/api/4_verify/api_variable_inheritance_with_forward_pipeline_variables_spec.rb": 70.961604516, + "qa/specs/features/api/4_verify/cancel_pipeline_when_block_user_spec.rb": 23.319435391, + "qa/specs/features/api/4_verify/file_variable_spec.rb": 45.828631361999996, + "qa/specs/features/api/4_verify/job_downloads_artifacts_spec.rb": 42.621245139, + "qa/specs/features/api/8_monitor/metrics_spec.rb": 4.437687256, + "qa/specs/features/api/9_data_stores/user_inherited_access_spec.rb": 109.366308708, + "qa/specs/features/api/9_data_stores/users_spec.rb": 3.24238859, + "qa/specs/features/browser_ui/10_govern/group/group_access_token_spec.rb": 20.884159578, + "qa/specs/features/browser_ui/10_govern/login/2fa_recovery_spec.rb": 48.6030293, + "qa/specs/features/browser_ui/10_govern/login/2fa_ssh_recovery_spec.rb": 46.12915366, + "qa/specs/features/browser_ui/10_govern/login/log_in_spec.rb": 13.470389703, + "qa/specs/features/browser_ui/10_govern/login/log_in_with_2fa_spec.rb": 96.799800295, + "qa/specs/features/browser_ui/10_govern/login/log_into_gitlab_via_ldap_spec.rb": 3.675757443, + "qa/specs/features/browser_ui/10_govern/login/log_into_mattermost_via_gitlab_spec.rb": 29.499194668, + "qa/specs/features/browser_ui/10_govern/login/login_via_instance_wide_saml_sso_spec.rb": 15.675629414, + "qa/specs/features/browser_ui/10_govern/login/oauth_login_with_github_spec.rb": 41.344800517, + "qa/specs/features/browser_ui/10_govern/login/register_spec.rb": 154.740306079, + "qa/specs/features/browser_ui/10_govern/project/project_access_token_spec.rb": 23.619697619, + "qa/specs/features/browser_ui/10_govern/user/impersonation_token_spec.rb": 31.737938604, + "qa/specs/features/browser_ui/10_govern/user/user_access_termination_spec.rb": 38.388527405, + "qa/specs/features/browser_ui/14_analytics/performance_bar_spec.rb": 29.550035142, + "qa/specs/features/browser_ui/14_analytics/service_ping_default_enabled_spec.rb": 12.507425154, + "qa/specs/features/browser_ui/14_analytics/service_ping_disabled_spec.rb": 11.554329748, + "qa/specs/features/browser_ui/1_manage/integrations/jenkins/jenkins_build_status_spec.rb": 74.75657917, + "qa/specs/features/browser_ui/1_manage/integrations/jira/jira_basic_integration_spec.rb": 50.204610974, + "qa/specs/features/browser_ui/1_manage/integrations/jira/jira_issue_import_spec.rb": 46.263476784, + "qa/specs/features/browser_ui/1_manage/integrations/pipeline_status_emails_spec.rb": 72.538779858, + "qa/specs/features/browser_ui/1_manage/migration/gitlab_migration_group_spec.rb": 66.548360156, + "qa/specs/features/browser_ui/1_manage/migration/gitlab_migration_user_contribution_reassignment_spec.rb": 184.810823405, + "qa/specs/features/browser_ui/2_plan/design_management/add_design_content_spec.rb": 17.112755198, + "qa/specs/features/browser_ui/2_plan/design_management/archive_design_content_spec.rb": 20.622880317, + "qa/specs/features/browser_ui/2_plan/design_management/modify_design_content_spec.rb": 24.396673998, + "qa/specs/features/browser_ui/2_plan/email/trigger_email_notification_spec.rb": 18.837022052, + "qa/specs/features/browser_ui/2_plan/issue/check_mentions_for_xss_spec.rb": 25.513142393, + "qa/specs/features/browser_ui/2_plan/issue/collapse_comments_in_discussions_spec.rb": 23.130392583, + "qa/specs/features/browser_ui/2_plan/issue/comment_issue_spec.rb": 23.799777454, + "qa/specs/features/browser_ui/2_plan/issue/create_issue_spec.rb": 68.938706691, + "qa/specs/features/browser_ui/2_plan/issue/custom_issue_template_spec.rb": 28.123835432, + "qa/specs/features/browser_ui/2_plan/issue/export_as_csv_spec.rb": 25.793262974, + "qa/specs/features/browser_ui/2_plan/issue/filter_issue_comments_spec.rb": 27.9527115, + "qa/specs/features/browser_ui/2_plan/issue/issue_suggestions_spec.rb": 22.082827172, + "qa/specs/features/browser_ui/2_plan/issue/mentions_spec.rb": 29.762502589, + "qa/specs/features/browser_ui/2_plan/issue/real_time_assignee_spec.rb": 18.243268385, + "qa/specs/features/browser_ui/2_plan/issue_boards/focus_mode_spec.rb": 13.205469003, + "qa/specs/features/browser_ui/2_plan/milestone/assign_milestone_spec.rb": 102.2504107, + "qa/specs/features/browser_ui/2_plan/milestone/create_group_milestone_spec.rb": 14.578324534, + "qa/specs/features/browser_ui/2_plan/milestone/create_project_milestone_spec.rb": 25.551894049, + "qa/specs/features/browser_ui/2_plan/project_wiki/project_based_content_creation_spec.rb": 68.947195244, + "qa/specs/features/browser_ui/2_plan/project_wiki/project_based_content_manipulation_spec.rb": 39.248787877, + "qa/specs/features/browser_ui/2_plan/project_wiki/project_based_directory_management_spec.rb": 19.344108191, + "qa/specs/features/browser_ui/2_plan/project_wiki/project_based_file_upload_spec.rb": 34.361448197, + "qa/specs/features/browser_ui/2_plan/project_wiki/project_based_list_spec.rb": 45.837270816, + "qa/specs/features/browser_ui/2_plan/project_wiki/project_based_page_deletion_spec.rb": 37.486972924, + "qa/specs/features/browser_ui/2_plan/related_issues/related_issues_spec.rb": 23.959302156, + "qa/specs/features/browser_ui/3_create/merge_request/cherry_pick/cherry_pick_a_merge_spec.rb": 42.896576228, + "qa/specs/features/browser_ui/3_create/merge_request/cherry_pick/cherry_pick_commit_spec.rb": 35.344173919, + "qa/specs/features/browser_ui/3_create/merge_request/create_merge_request_spec.rb": 84.083543569, + "qa/specs/features/browser_ui/3_create/merge_request/create_merge_request_via_template_spec.rb": 35.080966204, + "qa/specs/features/browser_ui/3_create/merge_request/merge_merge_request_from_fork_spec.rb": 59.780308378, + "qa/specs/features/browser_ui/3_create/merge_request/merge_request_set_to_auto_merge_spec.rb": 64.4228714, + "qa/specs/features/browser_ui/3_create/merge_request/rebase_merge_request_spec.rb": 64.580042078, + "qa/specs/features/browser_ui/3_create/merge_request/revert/revert_commit_spec.rb": 29.634038914, + "qa/specs/features/browser_ui/3_create/merge_request/revert/reverting_merge_request_spec.rb": 39.661481913, + "qa/specs/features/browser_ui/3_create/merge_request/squash_merge_request_spec.rb": 33.270783184, + "qa/specs/features/browser_ui/3_create/merge_request/suggestions/batch_suggestion_spec.rb": 62.738790531, + "qa/specs/features/browser_ui/3_create/merge_request/suggestions/custom_commit_suggestion_spec.rb": 45.482610788, + "qa/specs/features/browser_ui/3_create/merge_request/view_merge_request_diff_patch_spec.rb": 42.546968276, + "qa/specs/features/browser_ui/3_create/repository/add_file_template_spec.rb": 80.265672967, + "qa/specs/features/browser_ui/3_create/repository/add_new_branch_rule_spec.rb": 19.150883778, + "qa/specs/features/browser_ui/3_create/repository/branch_with_unusual_name_spec.rb": 14.062908421, + "qa/specs/features/browser_ui/3_create/repository/clone_spec.rb": 23.650358949, + "qa/specs/features/browser_ui/3_create/repository/file/create_file_via_web_spec.rb": 13.465740873, + "qa/specs/features/browser_ui/3_create/repository/file/delete_file_via_web_spec.rb": 12.293439471, + "qa/specs/features/browser_ui/3_create/repository/file/edit_file_via_web_spec.rb": 25.052504758, + "qa/specs/features/browser_ui/3_create/repository/file/file_with_unusual_name_spec.rb": 19.696802301, + "qa/specs/features/browser_ui/3_create/repository/license_detection_spec.rb": 39.871681443, + "qa/specs/features/browser_ui/3_create/repository/protected_tags_spec.rb": 90.961013423, + "qa/specs/features/browser_ui/3_create/repository/protocol_v2_push_http_spec.rb": 18.312376595, + "qa/specs/features/browser_ui/3_create/repository/protocol_v2_push_ssh_spec.rb": 14.736077082, + "qa/specs/features/browser_ui/3_create/repository/push_http_private_token_spec.rb": 22.757864065, + "qa/specs/features/browser_ui/3_create/repository/push_mirroring_lfs_over_http_spec.rb": 56.914073221, + "qa/specs/features/browser_ui/3_create/repository/push_mirroring_over_http_spec.rb": 55.727138589, + "qa/specs/features/browser_ui/3_create/repository/push_over_http_file_size_spec.rb": 49.757619446, + "qa/specs/features/browser_ui/3_create/repository/push_over_http_spec.rb": 32.956181928, + "qa/specs/features/browser_ui/3_create/repository/push_over_ssh_spec.rb": 46.763286418, + "qa/specs/features/browser_ui/3_create/repository/push_protected_branch_spec.rb": 9.029045173, + "qa/specs/features/browser_ui/3_create/repository/push_to_canary_gitaly_spec.rb": 21.429995577, + "qa/specs/features/browser_ui/3_create/repository/ssh_key_support_create_spec.rb": 26.508486488, + "qa/specs/features/browser_ui/3_create/repository/ssh_key_support_delete_spec.rb": 27.461300325, + "qa/specs/features/browser_ui/3_create/repository/user_views_commit_diff_patch_spec.rb": 55.358643376, + "qa/specs/features/browser_ui/3_create/snippet/add_comment_to_snippet_spec.rb": 39.454183363, + "qa/specs/features/browser_ui/3_create/snippet/add_file_to_snippet_spec.rb": 41.717485904, + "qa/specs/features/browser_ui/3_create/snippet/clone_push_pull_personal_snippet_spec.rb": 44.387163855, + "qa/specs/features/browser_ui/3_create/snippet/clone_push_pull_project_snippet_spec.rb": 49.022856312, + "qa/specs/features/browser_ui/3_create/snippet/copy_snippet_file_contents_spec.rb": 28.945912195, + "qa/specs/features/browser_ui/3_create/snippet/create_personal_snippet_spec.rb": 14.603115557, + "qa/specs/features/browser_ui/3_create/snippet/create_personal_snippet_with_multiple_files_spec.rb": 9.928460233, + "qa/specs/features/browser_ui/3_create/snippet/create_project_snippet_spec.rb": 14.187126475, + "qa/specs/features/browser_ui/3_create/snippet/create_project_snippet_with_multiple_files_spec.rb": 20.229409726, + "qa/specs/features/browser_ui/3_create/snippet/delete_file_from_snippet_spec.rb": 39.718815249, + "qa/specs/features/browser_ui/3_create/snippet/share_snippet_spec.rb": 24.427666539, + "qa/specs/features/browser_ui/3_create/snippet/snippet_index_page_spec.rb": 51.683108373, + "qa/specs/features/browser_ui/3_create/source_editor/source_editor_toolbar_spec.rb": 16.659267465, + "qa/specs/features/browser_ui/3_create/web_ide/add_first_file_in_web_ide_spec.rb": 44.996488613, + "qa/specs/features/browser_ui/3_create/web_ide/add_new_directory_in_web_ide_spec.rb": 60.052025751, + "qa/specs/features/browser_ui/3_create/web_ide/closing_web_ide_with_unsaved_changes_spec.rb": 16.098516881, + "qa/specs/features/browser_ui/3_create/web_ide/upload_new_file_in_web_ide_spec.rb": 124.171771431, + "qa/specs/features/browser_ui/4_verify/ci_components_catalog/ci_catalog_sorting_spec.rb": 89.650983162, + "qa/specs/features/browser_ui/4_verify/ci_components_catalog/release_with_glab_spec.rb": 120.466968316, + "qa/specs/features/browser_ui/4_verify/ci_components_catalog/release_with_release_cli_spec.rb": 110.272751849, + "qa/specs/features/browser_ui/4_verify/ci_components_catalog/run_component_in_project_pipeline_spec.rb": 59.471201613, + "qa/specs/features/browser_ui/4_verify/ci_job_artifacts/expose_job_artifacts_in_mr_spec.rb": 45.067420642, + "qa/specs/features/browser_ui/4_verify/ci_job_artifacts/job_artifacts_access_keyword_spec.rb": 188.88536632799998, + "qa/specs/features/browser_ui/4_verify/ci_job_artifacts/unlocking_job_artifacts_across_pipelines_spec.rb": 241.750068223, + "qa/specs/features/browser_ui/4_verify/ci_project_artifacts/user_can_bulk_delete_artifacts_spec.rb": 93.836106531, + "qa/specs/features/browser_ui/4_verify/ci_variable/custom_variable_spec.rb": 48.024213995, + "qa/specs/features/browser_ui/4_verify/ci_variable/pipeline_with_protected_variable_spec.rb": 93.671990631, + "qa/specs/features/browser_ui/4_verify/ci_variable/prefill_variables_spec.rb": 34.91721646, + "qa/specs/features/browser_ui/4_verify/ci_variable/raw_variables_defined_in_yaml_spec.rb": 30.904135899, + "qa/specs/features/browser_ui/4_verify/ci_variable/ui_variable_inheritable_when_forward_pipeline_variables_true_spec.rb": 77.762237231, + "qa/specs/features/browser_ui/4_verify/pipeline/include_local_config_file_paths_with_wildcard_spec.rb": 16.459257098, + "qa/specs/features/browser_ui/4_verify/pipeline/include_multiple_files_from_a_project_spec.rb": 45.310208661, + "qa/specs/features/browser_ui/4_verify/pipeline/include_multiple_files_from_multiple_projects_spec.rb": 36.273191348, + "qa/specs/features/browser_ui/4_verify/pipeline/parent_child_pipelines_independent_relationship_spec.rb": 85.963783286, + "qa/specs/features/browser_ui/4_verify/pipeline/pass_dotenv_variables_to_downstream_via_bridge_spec.rb": 57.639760794, + "qa/specs/features/browser_ui/4_verify/pipeline/run_pipeline_with_manual_jobs_spec.rb": 57.584826949, + "qa/specs/features/browser_ui/4_verify/pipeline/trigger_child_pipeline_with_manual_spec.rb": 43.224803965, + "qa/specs/features/browser_ui/4_verify/pipeline/trigger_matrix_spec.rb": 62.718836569, + "qa/specs/features/browser_ui/4_verify/pipeline/update_ci_file_with_pipeline_editor_spec.rb": 30.10048182, + "qa/specs/features/browser_ui/4_verify/runner/deprecated_registration_token_spec.rb": 15.951011883, + "qa/specs/features/browser_ui/4_verify/runner/deprecated_unregister_runner_spec.rb": 29.562428523, + "qa/specs/features/browser_ui/4_verify/runner/fleet_visibility/group_runner_counts_spec.rb": 24.808070433, + "qa/specs/features/browser_ui/4_verify/runner/fleet_visibility/group_runner_status_counts_spec.rb": 14.921769528, + "qa/specs/features/browser_ui/4_verify/runner/register_group_runner_spec.rb": 17.852138531, + "qa/specs/features/browser_ui/4_verify/runner/register_project_runner_spec.rb": 27.274066684, + "qa/specs/features/browser_ui/4_verify/testing/endpoint_coverage_spec.rb": 48.670504167, + "qa/specs/features/browser_ui/5_package/container_registry/self_managed/container_registry_spec.rb": 342.91872073900004, + "qa/specs/features/browser_ui/5_package/dependency_proxy/dependency_proxy_spec.rb": 167.621924289, + "qa/specs/features/browser_ui/5_package/package_registry/composer_registry_spec.rb": 36.168808185, + "qa/specs/features/browser_ui/5_package/package_registry/conan_repository_spec.rb": 74.173228599, + "qa/specs/features/browser_ui/5_package/package_registry/generic_repository_spec.rb": 58.14390326, + "qa/specs/features/browser_ui/5_package/package_registry/helm_registry_spec.rb": 242.55800127199998, + "qa/specs/features/browser_ui/5_package/package_registry/maven/maven_group_level_spec.rb": 461.349986329, + "qa/specs/features/browser_ui/5_package/package_registry/maven/maven_project_level_spec.rb": 287.101986024, + "qa/specs/features/browser_ui/5_package/package_registry/maven_gradle_repository_spec.rb": 246.54245700399997, + "qa/specs/features/browser_ui/5_package/package_registry/npm/npm_group_level_spec.rb": 278.234447754, + "qa/specs/features/browser_ui/5_package/package_registry/npm/npm_instance_level_spec.rb": 306.639067572, + "qa/specs/features/browser_ui/5_package/package_registry/pypi_repository_spec.rb": 89.191043624, + "qa/specs/features/browser_ui/6_release/deploy_key/add_deploy_key_spec.rb": 26.403964987, + "qa/specs/features/browser_ui/6_release/deploy_key/clone_using_deploy_key_spec.rb": 135.265758206, + "qa/specs/features/browser_ui/6_release/deploy_token/add_deploy_token_spec.rb": 7.15636057, + "qa/specs/features/browser_ui/8_monitor/alert_management/alert_settings_create_new_alerts_spec.rb": 48.756705049000004, + "qa/specs/features/browser_ui/8_monitor/alert_management/automatically_creates_incident_for_alert_spec.rb": 46.608928257, + "qa/specs/features/browser_ui/8_monitor/alert_management/create_alert_using_authorization_key_spec.rb": 46.130182371000004, + "qa/specs/features/browser_ui/8_monitor/alert_management/email_notification_for_alert_spec.rb": 63.31910753300001, + "qa/specs/features/browser_ui/8_monitor/alert_management/recovery_alert_resolves_correct_alert_spec.rb": 22.255371439, + "qa/specs/features/browser_ui/9_data_stores/group/create_group_with_mattermost_team_spec.rb": 8.218689961, + "qa/specs/features/browser_ui/9_data_stores/group/group_member_access_request_spec.rb": 62.590563953, + "qa/specs/features/browser_ui/9_data_stores/group/transfer_project_spec.rb": 21.377610899, + "qa/specs/features/browser_ui/9_data_stores/project/add_project_member_spec.rb": 29.94356556, + "qa/specs/features/browser_ui/9_data_stores/project/create_project_badge_spec.rb": 18.211674726, + "qa/specs/features/browser_ui/9_data_stores/project/create_project_spec.rb": 51.785685975, + "qa/specs/features/browser_ui/9_data_stores/project/dashboard_images_spec.rb": 12.009003165, + "qa/specs/features/browser_ui/9_data_stores/project/invite_group_to_project_spec.rb": 75.93151621499999, + "qa/specs/features/browser_ui/9_data_stores/project/project_owner_permissions_spec.rb": 98.39806995, + "qa/specs/features/browser_ui/9_data_stores/project/view_project_activity_spec.rb": 25.584366387, + "qa/specs/features/browser_ui/9_data_stores/user/follow_user_activity_spec.rb": 30.704322695, + "qa/specs/features/browser_ui/9_data_stores/user/parent_group_access_termination_spec.rb": 24.760187266, + "qa/specs/features/browser_ui/9_data_stores/user/user_inherited_access_spec.rb": 34.281755143, + "qa/specs/features/ee/api/10_govern/compliance_pipeline_spec.rb": 37.249822315, + "qa/specs/features/ee/api/10_govern/instance_audit_event_streaming_spec.rb": 38.148216598000005, + "qa/specs/features/ee/api/10_govern/user/minimal_access_user_spec.rb": 79.301462194, + "qa/specs/features/ee/api/1_manage/import/import_github_repo_spec.rb": 68.157577469, + "qa/specs/features/ee/api/1_manage/integrations/group_webhook_events_spec.rb": 6.175398375, + "qa/specs/features/ee/api/1_manage/migration/gitlab_migration_group_spec.rb": 76.611877391, + "qa/specs/features/ee/api/2_plan/epics_milestone_dates_spec.rb": 59.947881054999996, + "qa/specs/features/ee/api/3_create/code_suggestions_spec.rb": 32.81480769099999, + "qa/specs/features/ee/api/9_data_stores/elasticsearch/advanced_global_advanced_syntax_search_spec.rb": 221.522062269, + "qa/specs/features/ee/api/9_data_stores/elasticsearch/elasticsearch_api_spec.rb": 50.21099164399999, + "qa/specs/features/ee/api/9_data_stores/elasticsearch/index_tests/commit_index/commit_index_spec.rb": 25.281285966, + "qa/specs/features/ee/api/9_data_stores/elasticsearch/index_tests/issues_index/issue_index_spec.rb": 68.643452195, + "qa/specs/features/ee/api/9_data_stores/elasticsearch/index_tests/main_index/blob_index_spec.rb": 25.124937659, + "qa/specs/features/ee/api/9_data_stores/elasticsearch/index_tests/merge_request_index/merge_request_index_spec.rb": 65.973047329, + "qa/specs/features/ee/api/9_data_stores/elasticsearch/index_tests/notes_index/note_index_spec.rb": 127.609178426, + "qa/specs/features/ee/api/9_data_stores/elasticsearch/index_tests/user_index/user_index_spec.rb": 31.673484341, + "qa/specs/features/ee/api/9_data_stores/elasticsearch/nightly_elasticsearch_test_spec.rb": 12.993213276, + "qa/specs/features/ee/browser_ui/10_govern/change_vulnerability_status_spec.rb": 118.256470398, + "qa/specs/features/ee/browser_ui/10_govern/create_merge_request_with_secure_spec.rb": 83.41515636, + "qa/specs/features/ee/browser_ui/10_govern/dismissed_vulnerabilities_in_security_widget_spec.rb": 97.634803005, + "qa/specs/features/ee/browser_ui/10_govern/export_vulnerability_report_spec.rb": 27.580469374, + "qa/specs/features/ee/browser_ui/10_govern/fix_vulnerability_workflow_spec.rb": 132.622915286, + "qa/specs/features/ee/browser_ui/10_govern/group/group_audit_event_streaming_spec.rb": 36.154071701, + "qa/specs/features/ee/browser_ui/10_govern/group/group_audit_logs_1_spec.rb": 105.533416678, + "qa/specs/features/ee/browser_ui/10_govern/group/group_ldap_sync_spec.rb": 96.86058676500001, + "qa/specs/features/ee/browser_ui/10_govern/group/restrict_by_ip_address_spec.rb": 125.106864246, + "qa/specs/features/ee/browser_ui/10_govern/group_pipeline_execution_policy_spec.rb": 218.93958026299998, + "qa/specs/features/ee/browser_ui/10_govern/instance/instance_audit_logs_spec.rb": 94.88584477100001, + "qa/specs/features/ee/browser_ui/10_govern/project/project_audit_logs_spec.rb": 147.195983343, + "qa/specs/features/ee/browser_ui/10_govern/project_security_dashboard_spec.rb": 59.656660243, + "qa/specs/features/ee/browser_ui/10_govern/scan_execution_policy_vulnerabilities_spec.rb": 165.05305199499998, + "qa/specs/features/ee/browser_ui/10_govern/scan_result_policy_vulnerabilities_spec.rb": 116.254902098, + "qa/specs/features/ee/browser_ui/10_govern/security_policies_spec.rb": 78.632534646, + "qa/specs/features/ee/browser_ui/10_govern/security_reports_spec.rb": 218.76989548, + "qa/specs/features/ee/browser_ui/10_govern/user/minimal_access_user_spec.rb": 11.265978197, + "qa/specs/features/ee/browser_ui/10_govern/vulnerabilities_jira_integration_spec.rb": 22.508863297, + "qa/specs/features/ee/browser_ui/10_govern/vulnerability_management_spec.rb": 376.789075965, + "qa/specs/features/ee/browser_ui/10_govern/vulnerability_security_training_spec.rb": 117.87720234400001, + "qa/specs/features/ee/browser_ui/11_fulfillment/license/cloud_activation_spec.rb": 36.771045692, + "qa/specs/features/ee/browser_ui/11_fulfillment/license/license_spec.rb": 9.665360797, + "qa/specs/features/ee/browser_ui/11_fulfillment/utilization/user_registration_billing_spec.rb": 14.977692629, + "qa/specs/features/ee/browser_ui/13_secure/cvs_dependency_scanning_spec.rb": 51.608331159, + "qa/specs/features/ee/browser_ui/13_secure/enable_advanced_sast_spec.rb": 116.03136399, + "qa/specs/features/ee/browser_ui/13_secure/enable_scanning_from_configuration_spec.rb": 56.57263501, + "qa/specs/features/ee/browser_ui/13_secure/secret_push_protection_spec.rb": 98.280735822, + "qa/specs/features/ee/browser_ui/16_ai_powered/duo_chat/duo_chat_spec.rb": 10.692725172, + "qa/specs/features/ee/browser_ui/1_manage/integrations/jira_issues_list_spec.rb": 55.95333230200001, + "qa/specs/features/ee/browser_ui/2_plan/analytics/contribution_analytics_spec.rb": 40.807896316, + "qa/specs/features/ee/browser_ui/2_plan/analytics/mr_analytics_spec.rb": 36.103928129, + "qa/specs/features/ee/browser_ui/2_plan/analytics/value_stream_analytics_spec.rb": 40.281826064, + "qa/specs/features/ee/browser_ui/2_plan/burndown_chart/burndown_chart_spec.rb": 12.659101894, + "qa/specs/features/ee/browser_ui/2_plan/custom_email/custom_email_spec.rb": 11.58376173, + "qa/specs/features/ee/browser_ui/2_plan/epic/epics_management_spec.rb": 141.806334702, + "qa/specs/features/ee/browser_ui/2_plan/epic/promote_issue_to_epic_spec.rb": 22.525327881, + "qa/specs/features/ee/browser_ui/2_plan/epic/roadmap_spec.rb": 7.500150224, + "qa/specs/features/ee/browser_ui/2_plan/group_wiki/create_group_wiki_page_spec.rb": 25.702277770000002, + "qa/specs/features/ee/browser_ui/2_plan/group_wiki/delete_group_wiki_page_spec.rb": 9.675779404, + "qa/specs/features/ee/browser_ui/2_plan/group_wiki/file_upload_group_wiki_page_spec.rb": 30.957822153, + "qa/specs/features/ee/browser_ui/2_plan/insights/default_insights_spec.rb": 16.238390096, + "qa/specs/features/ee/browser_ui/2_plan/issue/default_issue_template_spec.rb": 29.249965, + "qa/specs/features/ee/browser_ui/2_plan/issue_boards/configurable_issue_board_spec.rb": 17.492410485, "qa/specs/features/ee/browser_ui/2_plan/issue_boards/configure_issue_board_by_label_spec.rb": 37.026881088, - "qa/specs/features/ee/browser_ui/2_plan/issue_boards/create_group_issue_board_spec.rb": 40.297194774, - "qa/specs/features/ee/browser_ui/2_plan/issue_boards/group_issue_boards_spec.rb": 33.053333919, - "qa/specs/features/ee/browser_ui/2_plan/issue_boards/project_issue_boards_spec.rb": 76.522728512, - "qa/specs/features/ee/browser_ui/2_plan/issue_boards/read_only_board_configuration_spec.rb": 31.591133683, - "qa/specs/features/ee/browser_ui/2_plan/issue_boards/sum_of_issues_weights_spec.rb": 24.444189943, - "qa/specs/features/ee/browser_ui/2_plan/issues_analytics/issues_analytics_spec.rb": 31.975009607000004, - "qa/specs/features/ee/browser_ui/2_plan/issues_weight/issue_weight_visualization_spec.rb": 24.741162705, - "qa/specs/features/ee/browser_ui/2_plan/iterations/assign_group_iteration_spec.rb": 30.638181297, - "qa/specs/features/ee/browser_ui/2_plan/iterations/create_group_iteration_spec.rb": 43.798707881, - "qa/specs/features/ee/browser_ui/2_plan/multiple_assignees_for_issues/four_assignees_spec.rb": 30.591574551, - "qa/specs/features/ee/browser_ui/2_plan/multiple_assignees_for_issues/more_than_four_assignees_spec.rb": 65.155360614, - "qa/specs/features/ee/browser_ui/2_plan/scoped_labels/editing_scoped_labels_spec.rb": 22.698721453, - "qa/specs/features/ee/browser_ui/3_create/merge_request/add_batch_comments_in_merge_request_spec.rb": 93.028857252, - "qa/specs/features/ee/browser_ui/3_create/merge_request/approval_rules_spec.rb": 123.610149575, - "qa/specs/features/ee/browser_ui/3_create/merge_request/default_merge_request_template_spec.rb": 47.439682203, - "qa/specs/features/ee/browser_ui/3_create/merge_request/generate_commit_message_spec.rb": 31.625208, - "qa/specs/features/ee/browser_ui/3_create/remote_development/workspace_actions_spec.rb": 571.157858578, - "qa/specs/features/ee/browser_ui/3_create/repository/assign_code_owners_spec.rb": 62.104326601, - "qa/specs/features/ee/browser_ui/3_create/repository/code_owners_spec.rb": 30.475563695, - "qa/specs/features/ee/browser_ui/3_create/repository/code_owners_with_protected_branch_and_squashed_commits_spec.rb": 33.75106562, - "qa/specs/features/ee/browser_ui/3_create/repository/duo_chat_explain_code_spec.rb": 28.478300814, - "qa/specs/features/ee/browser_ui/3_create/repository/file_locking_spec.rb": 278.9392209, - "qa/specs/features/ee/browser_ui/3_create/repository/group_file_template_spec.rb": 175.183385209, - "qa/specs/features/ee/browser_ui/3_create/repository/merge_with_code_owner_in_root_group_spec.rb": 120.362887472, - "qa/specs/features/ee/browser_ui/3_create/repository/merge_with_code_owner_in_subgroup_spec.rb": 191.874764999, - "qa/specs/features/ee/browser_ui/3_create/repository/project_templates_spec.rb": 168.886061192, - "qa/specs/features/ee/browser_ui/3_create/repository/pull_mirroring_over_http_spec.rb": 48.211144716, - "qa/specs/features/ee/browser_ui/3_create/repository/pull_mirroring_over_ssh_with_key_spec.rb": 63.208217308, - "qa/specs/features/ee/browser_ui/3_create/repository/push_rules_spec.rb": 446.51060266400003, - "qa/specs/features/ee/browser_ui/3_create/repository/restrict_push_protected_branch_spec.rb": 265.375694367, - "qa/specs/features/ee/browser_ui/3_create/web_ide/code_suggestions_in_web_ide_spec.rb": 170.044621673, - "qa/specs/features/ee/browser_ui/3_create/web_ide/duo_chat_in_web_ide_spec.rb": 35.11706178, - "qa/specs/features/ee/browser_ui/4_verify/multi-project_pipelines_spec.rb": 54.267491703, - "qa/specs/features/ee/browser_ui/4_verify/parent_child_pipelines_dependent_relationship_spec.rb": 95.794113369, - "qa/specs/features/ee/browser_ui/4_verify/pipeline_for_merged_result_spec.rb": 62.295641429, - "qa/specs/features/ee/browser_ui/4_verify/pipeline_subscription_with_group_owned_project_spec.rb": 66.629194377, - "qa/specs/features/ee/browser_ui/8_monitor/incident_management/incident_quick_action_spec.rb": 22.324902426, - "qa/specs/features/ee/browser_ui/9_data_stores/elasticsearch/elasticsearch_reindexing_spec.rb": 137.001752409, - "qa/specs/features/ee/browser_ui/9_data_stores/group/prevent_forking_outside_group_spec.rb": 50.627923284000005, - "qa/specs/features/ee/browser_ui/9_data_stores/group/share_group_with_group_spec.rb": 38.096980432 + "qa/specs/features/ee/browser_ui/2_plan/issue_boards/create_group_issue_board_spec.rb": 21.34695632, + "qa/specs/features/ee/browser_ui/2_plan/issue_boards/group_issue_boards_spec.rb": 16.793227441, + "qa/specs/features/ee/browser_ui/2_plan/issue_boards/project_issue_boards_spec.rb": 38.686717357999996, + "qa/specs/features/ee/browser_ui/2_plan/issue_boards/read_only_board_configuration_spec.rb": 20.336747158, + "qa/specs/features/ee/browser_ui/2_plan/issue_boards/sum_of_issues_weights_spec.rb": 13.48637805, + "qa/specs/features/ee/browser_ui/2_plan/issues_analytics/issues_analytics_spec.rb": 17.763977946, + "qa/specs/features/ee/browser_ui/2_plan/issues_weight/issue_weight_visualization_spec.rb": 25.342011643, + "qa/specs/features/ee/browser_ui/2_plan/iterations/assign_group_iteration_spec.rb": 29.066942874, + "qa/specs/features/ee/browser_ui/2_plan/iterations/create_group_iteration_spec.rb": 39.446017202, + "qa/specs/features/ee/browser_ui/2_plan/multiple_assignees_for_issues/four_assignees_spec.rb": 27.22286239, + "qa/specs/features/ee/browser_ui/2_plan/multiple_assignees_for_issues/more_than_four_assignees_spec.rb": 44.784409726, + "qa/specs/features/ee/browser_ui/2_plan/scoped_labels/editing_scoped_labels_spec.rb": 18.807005081, + "qa/specs/features/ee/browser_ui/3_create/merge_request/add_batch_comments_in_merge_request_spec.rb": 96.47948463099999, + "qa/specs/features/ee/browser_ui/3_create/merge_request/approval_rules_spec.rb": 74.671810428, + "qa/specs/features/ee/browser_ui/3_create/merge_request/default_merge_request_template_spec.rb": 37.714924927, + "qa/specs/features/ee/browser_ui/3_create/repository/assign_code_owners_spec.rb": 44.637867443, + "qa/specs/features/ee/browser_ui/3_create/repository/code_owners_spec.rb": 26.644627482, + "qa/specs/features/ee/browser_ui/3_create/repository/code_owners_with_protected_branch_and_squashed_commits_spec.rb": 30.831724099, + "qa/specs/features/ee/browser_ui/3_create/repository/file_locking_spec.rb": 189.527641821, + "qa/specs/features/ee/browser_ui/3_create/repository/group_file_template_spec.rb": 119.58081441099999, + "qa/specs/features/ee/browser_ui/3_create/repository/merge_with_code_owner_in_root_group_spec.rb": 89.85365523, + "qa/specs/features/ee/browser_ui/3_create/repository/merge_with_code_owner_in_subgroup_spec.rb": 149.80125508, + "qa/specs/features/ee/browser_ui/3_create/repository/project_templates_spec.rb": 66.12111692799999, + "qa/specs/features/ee/browser_ui/3_create/repository/pull_mirroring_over_http_spec.rb": 27.106594879, + "qa/specs/features/ee/browser_ui/3_create/repository/pull_mirroring_over_ssh_with_key_spec.rb": 46.357188145, + "qa/specs/features/ee/browser_ui/3_create/repository/push_rules_spec.rb": 312.002049168, + "qa/specs/features/ee/browser_ui/3_create/repository/restrict_push_protected_branch_spec.rb": 234.001492907, + "qa/specs/features/ee/browser_ui/3_create/web_ide/code_suggestions_in_web_ide_spec.rb": 173.89521384699998, + "qa/specs/features/ee/browser_ui/4_verify/multi-project_pipelines_spec.rb": 74.40245243, + "qa/specs/features/ee/browser_ui/4_verify/parent_child_pipelines_dependent_relationship_spec.rb": 114.19058237600001, + "qa/specs/features/ee/browser_ui/4_verify/pipeline_for_merged_result_spec.rb": 34.890185963, + "qa/specs/features/ee/browser_ui/4_verify/pipeline_subscription_with_group_owned_project_spec.rb": 46.661045643, + "qa/specs/features/ee/browser_ui/8_monitor/incident_management/incident_quick_action_spec.rb": 15.961611537, + "qa/specs/features/ee/browser_ui/9_data_stores/elasticsearch/elasticsearch_reindexing_spec.rb": 180.952814972, + "qa/specs/features/ee/browser_ui/9_data_stores/group/prevent_forking_outside_group_spec.rb": 41.987987374, + "qa/specs/features/ee/browser_ui/9_data_stores/group/share_group_with_group_spec.rb": 41.767111724 } diff --git a/spec/controllers/user_settings/personal_access_tokens_controller_spec.rb b/spec/controllers/user_settings/personal_access_tokens_controller_spec.rb index 5354585129a..4997243b2a7 100644 --- a/spec/controllers/user_settings/personal_access_tokens_controller_spec.rb +++ b/spec/controllers/user_settings/personal_access_tokens_controller_spec.rb @@ -141,5 +141,32 @@ RSpec.describe UserSettings::PersonalAccessTokensController, feature_category: : it 'sets available scopes' do expect(assigns(:scopes)).to eq(Gitlab::Auth.available_scopes_for(access_token_user)) end + + context 'with feature flags virtual_registry_maven and dependency_proxy_read_write_scopes disabled' do + before do + stub_feature_flags(virtual_registry_maven: false, dependency_proxy_read_write_scopes: false) + stub_config(dependency_proxy: { enabled: true }) + + get :index + end + + it 'does not include the virtual registry scopes' do + expect(assigns(:scopes)).not_to include(Gitlab::Auth::READ_VIRTUAL_REGISTRY_SCOPE) + expect(assigns(:scopes)).not_to include(Gitlab::Auth::WRITE_VIRTUAL_REGISTRY_SCOPE) + end + + %i[virtual_registry_maven dependency_proxy_read_write_scopes].each do |feature_flag| + context "with feature flag #{feature_flag} enabled" do + before do + stub_feature_flags(feature_flag => true) + end + + it 'includes the virtual registry scopes' do + expect(assigns(:scopes)).not_to include(::Gitlab::Auth::READ_VIRTUAL_REGISTRY_SCOPE) + expect(assigns(:scopes)).not_to include(::Gitlab::Auth::WRITE_VIRTUAL_REGISTRY_SCOPE) + end + end + end + end end end diff --git a/spec/frontend/ml/model_registry/components/model_create_spec.js b/spec/frontend/ml/model_registry/components/model_create_spec.js index e375e38d6aa..63472212d0d 100644 --- a/spec/frontend/ml/model_registry/components/model_create_spec.js +++ b/spec/frontend/ml/model_registry/components/model_create_spec.js @@ -173,7 +173,6 @@ describe('ModelCreate', () => { createWrapper(); findNameInput().vm.$emit('input', 'gpt-alice-1'); findDescriptionInput().vm.$emit('input', 'My model description'); - jest.spyOn(apolloProvider.defaultClient, 'mutate'); await submitForm(); }); @@ -190,7 +189,6 @@ describe('ModelCreate', () => { .fn() .mockResolvedValue(createModelResponses.validationFailure); createWrapper(failedCreateModelResolver); - jest.spyOn(apolloProvider.defaultClient, 'mutate'); findNameInput().vm.$emit('input', 'gpt-alice-1'); await submitForm(); @@ -207,15 +205,17 @@ describe('ModelCreate', () => { it('Logs to sentry upon an exception', async () => { const error = new Error('Runtime error'); - createWrapper(); - jest.spyOn(apolloProvider.defaultClient, 'mutate').mockImplementation(() => { + const errorResolver = jest.fn().mockImplementation(() => { throw error; }); + createWrapper(errorResolver); findNameInput().vm.$emit('input', 'gpt-alice-1'); await submitForm(); - expect(Sentry.captureException).toHaveBeenCalledWith(error); + expect(Sentry.captureException).toHaveBeenCalledWith( + new Error('Unexpected error whilst calling request handler: Runtime error'), + ); }); }); }); diff --git a/spec/frontend/ml/model_registry/components/model_edit_spec.js b/spec/frontend/ml/model_registry/components/model_edit_spec.js index 532819a47dd..7cd3f4ee385 100644 --- a/spec/frontend/ml/model_registry/components/model_edit_spec.js +++ b/spec/frontend/ml/model_registry/components/model_edit_spec.js @@ -21,6 +21,7 @@ jest.mock('~/lib/utils/url_utility', () => ({ describe('ModelEdit', () => { let wrapper; let apolloProvider; + const successfulEditModelResolver = jest.fn().mockResolvedValue(editModelResponses.success); beforeEach(() => { jest.spyOn(Sentry, 'captureException').mockImplementation(); @@ -30,10 +31,7 @@ describe('ModelEdit', () => { apolloProvider = null; }); - const createWrapper = ( - modelProp = model, - editModelResolver = jest.fn().mockResolvedValue(editModelResponses.success), - ) => { + const createWrapper = (modelProp = model, editModelResolver = successfulEditModelResolver) => { const requestHandlers = [[editModelMutation, editModelResolver]]; apolloProvider = createMockApollo(requestHandlers); @@ -118,23 +116,17 @@ describe('ModelEdit', () => { createWrapper(); findMarkdownEditor().vm.$emit('input', 'My model description'); await Vue.nextTick(); - jest.spyOn(apolloProvider.defaultClient, 'mutate'); await submitForm(); }); it('makes a create model mutation upon confirm', () => { - expect(apolloProvider.defaultClient.mutate).toHaveBeenCalledWith( - expect.objectContaining({ - mutation: editModelMutation, - variables: { - description: 'My model description', - modelId: 1, - name: model.name, - projectPath: 'some/project', - }, - }), - ); + expect(successfulEditModelResolver).toHaveBeenCalledWith({ + description: 'My model description', + modelId: 1, + name: model.name, + projectPath: 'some/project', + }); }); }); @@ -143,8 +135,6 @@ describe('ModelEdit', () => { createWrapper(model, jest.fn().mockResolvedValue(editModelResponses.validationFailure)); findMarkdownEditor().vm.$emit('input', 'My model description'); await Vue.nextTick(); - jest.spyOn(apolloProvider.defaultClient, 'mutate'); - await submitForm(); }); diff --git a/spec/lib/gitlab/application_rate_limiter_spec.rb b/spec/lib/gitlab/application_rate_limiter_spec.rb index 33225c5c1f7..497b4db6a2c 100644 --- a/spec/lib/gitlab/application_rate_limiter_spec.rb +++ b/spec/lib/gitlab/application_rate_limiter_spec.rb @@ -389,6 +389,28 @@ RSpec.describe Gitlab::ApplicationRateLimiter, :clean_gitlab_redis_rate_limiting end end + context 'with peek' do + let(:scope) { [user, project] } + let(:start_time) { Time.current.beginning_of_hour } + let(:kwargs) { { scope: scope, resource_key: resource_key, threshold: threshold, interval: interval } } + + it 'allows peeking at the current resource usage without changing its value' do + travel_to(start_time) do + # increment usage up to threshold + expect(subject.resource_usage_throttled?(:test_action, **kwargs)).to eq(false) + + # peeking at current usage returns false because the value is still the same as threshold + expect(subject.resource_usage_throttled?(:test_action, peek: true, **kwargs)).to eq(false) + + # increment again, current usage is now > threshold + expect(subject.resource_usage_throttled?(:test_action, **kwargs)).to eq(true) + + # peeking again + expect(subject.resource_usage_throttled?(:test_action, peek: true, **kwargs)).to eq(true) + end + end + end + context 'when tracking resource usage throttles' do let(:histogram_double) { instance_double(Prometheus::Client::Histogram) } diff --git a/spec/lib/gitlab/github_import/importer/collaborator_importer_spec.rb b/spec/lib/gitlab/github_import/importer/collaborator_importer_spec.rb index e4cd68fdb57..39f5c95e65b 100644 --- a/spec/lib/gitlab/github_import/importer/collaborator_importer_spec.rb +++ b/spec/lib/gitlab/github_import/importer/collaborator_importer_spec.rb @@ -45,10 +45,10 @@ RSpec.describe Gitlab::GithubImport::Importer::CollaboratorImporter, feature_cat }.stringify_keys end + let(:member_finder_relations) { ::Import::ReassignPlaceholderUserRecordsService::PROJECT_FINDER_MEMBER_RELATIONS } + describe '#execute' do before do - # We don't import collaborators/members if the user mapping feature is enabled - stub_feature_flags(github_user_mapping: false) allow_next_instance_of(Gitlab::GithubImport::UserFinder) do |finder| allow(finder).to receive(:find).with(github_user_id, user.username).and_return(user.id) end @@ -115,6 +115,26 @@ RSpec.describe Gitlab::GithubImport::Importer::CollaboratorImporter, feature_cat end end + context 'when finding existing memberships' do + let(:github_role_name) { 'admin' } + + before do + create(:group_member, group: group, user: user, access_level: Gitlab::Access::DEVELOPER) + end + + it 'passes the correct member finder relations to the members finder' do + source_user.accept! + expect_next_instance_of(MembersFinder) do |members_finder| + expect(members_finder) + .to receive(:execute) + .with(include_relations: member_finder_relations) + .and_call_original + end + + importer.execute + end + end + context 'when user has lower role in a project group' do before do create(:group_member, group: group, user: user, access_level: Gitlab::Access::DEVELOPER) diff --git a/spec/lib/gitlab/resource_usage_limiter_spec.rb b/spec/lib/gitlab/resource_usage_limiter_spec.rb index bb26b7e0777..962d1014877 100644 --- a/spec/lib/gitlab/resource_usage_limiter_spec.rb +++ b/spec/lib/gitlab/resource_usage_limiter_spec.rb @@ -3,37 +3,39 @@ require 'spec_helper' RSpec.describe Gitlab::ResourceUsageLimiter, feature_category: :shared do + let(:resource_key) { 'db_duration_s' } + let(:worker_name) { 'test_worker' } + let(:threshold) { 100 } + let(:interval) { 60 } + + let(:limits) do + [ + Gitlab::SidekiqLimits::Limit.new( + :test_limit_per_user, + resource_key, + %w[worker_name user_id], + nil, + threshold, + interval + ), + Gitlab::SidekiqLimits::Limit.new( + :test_limit, + resource_key, + %w[worker_name], + nil, + threshold, + interval + ) + ] + end + + before do + allow(Gitlab::ApplicationContext).to receive(:current).and_return({ user_id: 1 }) + allow(Gitlab::SidekiqLimits).to receive(:limits_for).and_return(limits) + end + describe '.exceeded_limits' do - let(:resource_key) { 'db_duration_s' } - let(:worker_name) { 'test_worker' } - let(:threshold) { 100 } - let(:interval) { 60 } - - let(:limits) do - [ - Gitlab::SidekiqLimits::Limit.new( - :test_limit_per_user, - resource_key, - %w[worker_name user_id], - nil, - threshold, - interval - ), - Gitlab::SidekiqLimits::Limit.new( - :test_limit, - resource_key, - %w[worker_name], - nil, - threshold, - interval - ) - ] - end - - before do - allow(Gitlab::ApplicationContext).to receive(:current).and_return({ user_id: 1 }) - allow(Gitlab::SidekiqLimits).to receive(:limits_for).and_return(limits) - end + let(:peek) { false } it 'returns empty list if worker_name is missing' do expect(described_class.new.exceeded_limits).to eq([]) @@ -44,13 +46,13 @@ RSpec.describe Gitlab::ResourceUsageLimiter, feature_category: :shared do .to receive(:resource_usage_throttled?) .once .with(:test_limit, resource_key: resource_key, scope: [worker_name], - threshold: threshold, interval: interval) + threshold: threshold, interval: interval, peek: peek) expect(Gitlab::ApplicationRateLimiter) .to receive(:resource_usage_throttled?) .once .with(:test_limit_per_user, resource_key: resource_key, scope: [worker_name, - 1], threshold: threshold, interval: interval) + 1], threshold: threshold, interval: interval, peek: peek) described_class.new(worker_name: worker_name).exceeded_limits end @@ -70,4 +72,76 @@ RSpec.describe Gitlab::ResourceUsageLimiter, feature_category: :shared do end end end + + describe '.exceeded_limits?' do + let(:peek) { true } + let(:resource_usage_limiter) { described_class.new(worker_name: worker_name) } + + subject(:exceeded_limits?) { resource_usage_limiter.exceeded_limits? } + + it 'returns false if worker_name is missing' do + expect(described_class.new).not_to be_exceeded_limits + end + + it 'checks against all limits with peek' do + expect(Gitlab::ApplicationRateLimiter) + .to receive(:resource_usage_throttled?) + .once + .with(:test_limit, resource_key: resource_key, scope: [worker_name], + threshold: threshold, interval: interval, peek: peek) + + expect(Gitlab::ApplicationRateLimiter) + .to receive(:resource_usage_throttled?) + .once + .with(:test_limit_per_user, resource_key: resource_key, scope: [worker_name, + 1], threshold: threshold, interval: interval, peek: peek) + + exceeded_limits? + end + + context 'when one limit is throttled' do + before do + allow(Gitlab::ApplicationRateLimiter).to receive(:resource_usage_throttled?) + .with(:test_limit_per_user, anything) + .and_return(true) + allow(Gitlab::ApplicationRateLimiter).to receive(:resource_usage_throttled?) + .with(:test_limit, anything) + .and_return(false) + end + + it 'returns true' do + expect(resource_usage_limiter).to be_exceeded_limits + end + end + + context 'when no limit is throttled' do + before do + allow(Gitlab::ApplicationRateLimiter).to receive(:resource_usage_throttled?) + .with(:test_limit_per_user, anything) + .and_return(false) + allow(Gitlab::ApplicationRateLimiter).to receive(:resource_usage_throttled?) + .with(:test_limit, anything) + .and_return(false) + end + + it 'returns false' do + expect(resource_usage_limiter).not_to be_exceeded_limits + end + end + + context 'when scopes are missing' do + before do + allow(Gitlab::ApplicationContext).to receive(:current).and_return({}) + end + + it 'skips limit check' do + expect(Gitlab::ApplicationRateLimiter) + .to receive(:resource_usage_throttled?) + .once + .with(:test_limit, anything) + + exceeded_limits? + end + end + end end diff --git a/spec/models/hooks/web_hook_log_spec.rb b/spec/models/hooks/web_hook_log_spec.rb index e4e62257f1f..9b1fde71a6a 100644 --- a/spec/models/hooks/web_hook_log_spec.rb +++ b/spec/models/hooks/web_hook_log_spec.rb @@ -290,4 +290,22 @@ RSpec.describe WebHookLog, feature_category: :webhooks do end end end + + describe 'routing table switch' do + context 'with ff enabled' do + it 'returns daily partitioned table' do + expect(described_class.table_name).to eq('web_hook_logs_daily') + end + end + + context 'with ff disabled' do + before do + stub_feature_flags(web_hook_logs_daily_enabled: false) + end + + it 'returns monthly partitioned table' do + expect(described_class.table_name).to eq('web_hook_logs') + end + end + end end diff --git a/spec/requests/admin/impersonation_tokens_controller_spec.rb b/spec/requests/admin/impersonation_tokens_controller_spec.rb index 51f17ad725a..9074ab3dc06 100644 --- a/spec/requests/admin/impersonation_tokens_controller_spec.rb +++ b/spec/requests/admin/impersonation_tokens_controller_spec.rb @@ -62,4 +62,39 @@ RSpec.describe Admin::ImpersonationTokensController, :enable_admin_mode, feature let(:token_attributes) { attributes_for(:personal_access_token, impersonation: true) } end end + + describe '#index', :with_current_organization do + it 'sets available scopes' do + get admin_user_impersonation_tokens_path(user_id: user.username) + + expect(assigns(:scopes)).to include(::Gitlab::Auth::API_SCOPE) + end + + context 'with feature flags virtual_registry_maven and dependency_proxy_read_write_scopes disabled' do + before do + stub_feature_flags(virtual_registry_maven: false, dependency_proxy_read_write_scopes: false) + stub_config(dependency_proxy: { enabled: true }) + + get admin_user_impersonation_tokens_path(user_id: user.username) + end + + it 'does not include the virtual registry scopes' do + expect(assigns(:scopes)).not_to include(Gitlab::Auth::READ_VIRTUAL_REGISTRY_SCOPE) + expect(assigns(:scopes)).not_to include(Gitlab::Auth::WRITE_VIRTUAL_REGISTRY_SCOPE) + end + + %i[virtual_registry_maven dependency_proxy_read_write_scopes].each do |feature_flag| + context "with feature flag #{feature_flag} enabled" do + before do + stub_feature_flags(feature_flag => true) + end + + it 'includes the virtual registry scopes' do + expect(assigns(:scopes)).not_to include(::Gitlab::Auth::READ_VIRTUAL_REGISTRY_SCOPE) + expect(assigns(:scopes)).not_to include(::Gitlab::Auth::WRITE_VIRTUAL_REGISTRY_SCOPE) + end + end + end + end + end end diff --git a/spec/requests/api/graphql/mutations/import/source_users/reassign_spec.rb b/spec/requests/api/graphql/mutations/import/source_users/reassign_spec.rb index 66647ace2eb..c3b24b406f4 100644 --- a/spec/requests/api/graphql/mutations/import/source_users/reassign_spec.rb +++ b/spec/requests/api/graphql/mutations/import/source_users/reassign_spec.rb @@ -44,7 +44,7 @@ RSpec.describe 'Reassign an import source user', feature_category: :importers do end it 'reassign import source user', :aggregate_failures do - expect(Notify).to receive_message_chain(:import_source_user_reassign, :deliver_now) + expect(Notify).to receive_message_chain(:import_source_user_reassign, :deliver_later) post_graphql_mutation(mutation, current_user: current_user) diff --git a/spec/requests/api/graphql/mutations/import/source_users/resend_notification_spec.rb b/spec/requests/api/graphql/mutations/import/source_users/resend_notification_spec.rb index d292e7dd209..ce642856269 100644 --- a/spec/requests/api/graphql/mutations/import/source_users/resend_notification_spec.rb +++ b/spec/requests/api/graphql/mutations/import/source_users/resend_notification_spec.rb @@ -41,7 +41,7 @@ RSpec.describe 'Resend notification to the reassigned user of an import source u context 'when user is authorized' do it 'resends notification and does not change status', :aggregate_failures do - expect(Notify).to receive_message_chain(:import_source_user_reassign, :deliver_now) + expect(Notify).to receive_message_chain(:import_source_user_reassign, :deliver_later) post_graphql_mutation(mutation, current_user: current_user) diff --git a/spec/requests/projects/settings/access_tokens_controller_spec.rb b/spec/requests/projects/settings/access_tokens_controller_spec.rb index d91e356167c..de66d99b3d9 100644 --- a/spec/requests/projects/settings/access_tokens_controller_spec.rb +++ b/spec/requests/projects/settings/access_tokens_controller_spec.rb @@ -123,5 +123,32 @@ RSpec.describe Projects::Settings::AccessTokensController, feature_category: :sy expect(assigns(:scopes)).to include(Gitlab::Auth::K8S_PROXY_SCOPE) expect(assigns(:scopes)).to include(Gitlab::Auth::SELF_ROTATE_SCOPE) end + + context 'with feature flags virtual_registry_maven and dependency_proxy_read_write_scopes disabled' do + before do + stub_feature_flags(virtual_registry_maven: false, dependency_proxy_read_write_scopes: false) + stub_config(dependency_proxy: { enabled: true }) + + get project_settings_access_tokens_path(resource) + end + + it 'does not include the virtual registry scopes' do + expect(assigns(:scopes)).not_to include(Gitlab::Auth::READ_VIRTUAL_REGISTRY_SCOPE) + expect(assigns(:scopes)).not_to include(Gitlab::Auth::WRITE_VIRTUAL_REGISTRY_SCOPE) + end + + %i[virtual_registry_maven dependency_proxy_read_write_scopes].each do |feature_flag| + context "with feature flag #{feature_flag} enabled" do + before do + stub_feature_flags(feature_flag => true) + end + + it 'includes the virtual registry scopes' do + expect(assigns(:scopes)).not_to include(::Gitlab::Auth::READ_VIRTUAL_REGISTRY_SCOPE) + expect(assigns(:scopes)).not_to include(::Gitlab::Auth::WRITE_VIRTUAL_REGISTRY_SCOPE) + end + end + end + end end end diff --git a/spec/services/import/source_users/reassign_service_spec.rb b/spec/services/import/source_users/reassign_service_spec.rb index 38edc691b93..64b2c9e6363 100644 --- a/spec/services/import/source_users/reassign_service_spec.rb +++ b/spec/services/import/source_users/reassign_service_spec.rb @@ -12,7 +12,7 @@ RSpec.describe Import::SourceUsers::ReassignService, feature_category: :importer describe '#execute' do context 'when reassignment is successful' do it 'returns success' do - expect(Notify).to receive_message_chain(:import_source_user_reassign, :deliver_now) + expect(Notify).to receive_message_chain(:import_source_user_reassign, :deliver_later) result = service.execute @@ -104,7 +104,7 @@ RSpec.describe Import::SourceUsers::ReassignService, feature_category: :importer let(:assignee_user) { create(:user, :admin) } it 'assigns the user' do - expect(Notify).to receive_message_chain(:import_source_user_reassign, :deliver_now) + expect(Notify).to receive_message_chain(:import_source_user_reassign, :deliver_later) expect(service.execute).to be_success end diff --git a/spec/services/import/source_users/resend_notification_service_spec.rb b/spec/services/import/source_users/resend_notification_service_spec.rb index 0144a1100e0..49e56e0211f 100644 --- a/spec/services/import/source_users/resend_notification_service_spec.rb +++ b/spec/services/import/source_users/resend_notification_service_spec.rb @@ -11,7 +11,7 @@ RSpec.describe Import::SourceUsers::ResendNotificationService, feature_category: describe '#execute' do context 'when notification is successfully sent' do it 'returns success' do - expect(Notify).to receive_message_chain(:import_source_user_reassign, :deliver_now) + expect(Notify).to receive_message_chain(:import_source_user_reassign, :deliver_later) result = service.execute