Add latest changes from gitlab-org/gitlab@master

This commit is contained in:
GitLab Bot 2025-02-20 09:12:36 +00:00
parent 9be860dcf8
commit 8efd9d502c
25 changed files with 1226 additions and 835 deletions

View File

@ -26,6 +26,17 @@ class Profiles::AccountsController < Profiles::ApplicationController
redirect_to profile_account_path
end
def generate_support_pin
result = Users::SupportPin::UpdateService.new(current_user).execute
if result[:status] == :success
flash[:notice] = s_("Profiles|New Support PIN generated successfully.")
else
flash[:alert] = s_("Profiles|Failed to generate new Support PIN.")
end
redirect_to profile_account_path
end
private
def show_view_variables

View File

@ -764,9 +764,11 @@ module Integrations
return if ::Gitlab::SilentMode.enabled?
return unless active?
data = data.with_indifferent_access
# Temporarily log when we return within this method to gather data for
# https://gitlab.com/gitlab-org/gitlab/-/issues/382999
unless supported_events.include?(data[:object_kind])
unless supported_events.include?(data[:object_kind].to_s)
log_info(
'async_execute did nothing due to event not being supported',
event: data[:object_kind]

View File

@ -151,6 +151,22 @@
.gl-col-span-2
%strong= @user.email_reset_offered_at || _('never')
%li{ class: list_item_classes }
%span.gl-text-subtle= s_("Profiles|Support Pin:")
.gl-col-span-2
%strong
= @user.support_pin || _('None')
%li{ class: list_item_classes }
%span.gl-text-subtle= s_("Profiles|Support Pin expires at:")
.gl-col-span-2
%strong
- if @user.support_pin_expires_at
= @user.support_pin_expires_at.to_fs(:medium)
- else
= _('None')
= render_if_exists 'admin/users/using_license_seat', user: @user
- if @user.ldap_user?

View File

@ -32,6 +32,27 @@
= render Pajamas::ButtonComponent.new(variant: :confirm, href: profile_two_factor_auth_path, button_options: { data: { testid: 'enable-2fa-button' }}) do
= _('Enable two-factor authentication')
= render ::Layouts::SettingsSectionComponent.new(s_('Profiles|Support PIN')) do |c|
- c.with_description do
= s_("Profiles|For some actions you request, the Support team may ask you to authenticate your request by generating a Support PIN.")
- c.with_body do
%div
- if current_user.support_pin.present?
%p
%span.gl-font-bold
#{s_("Profiles|Support PIN")}:
= current_user.support_pin
%p
%span.gl-font-bold
#{_('Expires at')}:
= current_user.support_pin_expires_at.to_fs(:medium)
- else
%p
= _('No active Support PIN.')
= form_tag generate_support_pin_profile_account_path, method: :post do
= render Pajamas::ButtonComponent.new(variant: :confirm, type: :submit) do
= s_("Profiles|Generate New PIN")
- if display_providers_on_profile?
= render ::Layouts::SettingsSectionComponent.new(s_('Profiles|Service sign-in')) do |c|
- c.with_description do

View File

@ -19,6 +19,7 @@ resource :profile, only: [] do
member do
delete :unlink
end
post :generate_support_pin
end
resource :notifications, only: [:show, :update] do

View File

@ -0,0 +1,8 @@
---
migration_job_name: BackfillSecretPushProtectionEnabled
description: Backfill missing secret_push_protection_enabled values from pre_receive_secret_detection_enabled
feature_category: secret_detection
introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/181717
milestone: '17.10'
queued_migration_version: 20250217193806
finalized_by: # version of the migration that finalized this BBM

View File

@ -5,3 +5,4 @@ feature_category: team_planning
introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/156657
milestone: '17.2'
queued_migration_version: 20240618093306
finalized_by: '20250213231631'

View File

@ -0,0 +1,19 @@
# frozen_string_literal: true
class ScheduleIndexCiPipelinesOnProjectIdAndShaAndId < Gitlab::Database::Migration[2.2]
milestone '17.9'
disable_ddl_transaction!
TABLE_NAME = :ci_pipelines
COLUMN_NAMES = [:project_id, :sha, :id]
INDEX_NAME = 'ci_pipelines_on_project_id_and_sha_and_id'
# TODO: Index to be created synchronously in https://gitlab.com/gitlab-org/gitlab/-/issues/516073
def up
prepare_async_index(TABLE_NAME, COLUMN_NAMES, name: INDEX_NAME)
end
def down
unprepare_async_index(TABLE_NAME, COLUMN_NAMES, name: INDEX_NAME)
end
end

View File

@ -0,0 +1,21 @@
# frozen_string_literal: true
class FinalizeHkFixSyncedEpicWorkItemParentLinks < Gitlab::Database::Migration[2.2]
milestone '17.10'
disable_ddl_transaction!
restrict_gitlab_migration gitlab_schema: :gitlab_main
def up
ensure_batched_background_migration_is_finished(
job_class_name: 'FixSyncedEpicWorkItemParentLinks',
table_name: :epics,
column_name: :id,
job_arguments: [],
finalize: true
)
end
def down; end
end

View File

@ -0,0 +1,33 @@
# frozen_string_literal: true
class QueueBackfillSecretPushProtectionEnabled < Gitlab::Database::Migration[2.2]
milestone '17.10'
MIGRATION = 'BackfillSecretPushProtectionEnabled'
DELAY_INTERVAL = 2.minutes
BATCH_SIZE = 1_000
SUB_BATCH_SIZE = 100
MAX_BATCH_SIZE = 10_000
restrict_gitlab_migration gitlab_schema: :gitlab_main
def up
queue_batched_background_migration(
MIGRATION,
:project_security_settings,
:project_id,
job_interval: DELAY_INTERVAL,
batch_size: BATCH_SIZE,
sub_batch_size: SUB_BATCH_SIZE,
max_batch_size: MAX_BATCH_SIZE
)
end
def down
delete_batched_background_migration(MIGRATION,
:project_security_settings,
:project_id,
[]
)
end
end

View File

@ -0,0 +1 @@
ab8ee7d18e100a78130cad7d073316497d623ff6005ee38a3bdc549664b9e7b4

View File

@ -0,0 +1 @@
eb165d2b88587d4bda486846521e2d595246be5ca0eb643d210e31f9e23fe904

View File

@ -0,0 +1 @@
9b63a0d59836f068b8883f34c9f925b0f2eeae91d59a355cb9b94552b9c55a81

View File

@ -42,7 +42,13 @@ With GitLab Duo Self-Hosted, you can:
This setup ensures enterprise-level privacy and flexibility, allowing seamless integration of your LLMs with GitLab Duo features.
### Supported GitLab Duo Chat features
### Supported GitLab Duo features
#### Supported Code Suggestions features
For GitLab Duo Code Suggestions, you can use both [code generation and code completion](../../user/project/repository/code_suggestions/_index.md#code-completion-and-generation) with GitLab Duo Self-Hosted.
#### Supported Duo Chat features
You can use the following GitLab Duo Chat features with GitLab Duo Self-Hosted:

View File

@ -5255,6 +5255,29 @@ Input type: `DestroyComplianceRequirementInput`
| <a id="mutationdestroycompliancerequirementclientmutationid"></a>`clientMutationId` | [`String`](#string) | A unique identifier for the client performing the mutation. |
| <a id="mutationdestroycompliancerequirementerrors"></a>`errors` | [`[String!]!`](#string) | Errors encountered during execution of the mutation. |
### `Mutation.destroyComplianceRequirementsControl`
{{< details >}}
**Introduced** in GitLab 17.9.
**Status**: Experiment.
{{< /details >}}
Input type: `DestroyComplianceRequirementsControlInput`
#### Arguments
| Name | Type | Description |
| ---- | ---- | ----------- |
| <a id="mutationdestroycompliancerequirementscontrolclientmutationid"></a>`clientMutationId` | [`String`](#string) | A unique identifier for the client performing the mutation. |
| <a id="mutationdestroycompliancerequirementscontrolid"></a>`id` | [`ComplianceManagementComplianceFrameworkComplianceRequirementsControlID!`](#compliancemanagementcomplianceframeworkcompliancerequirementscontrolid) | Global ID of the compliance requirement control to destroy. |
#### Fields
| Name | Type | Description |
| ---- | ---- | ----------- |
| <a id="mutationdestroycompliancerequirementscontrolclientmutationid"></a>`clientMutationId` | [`String`](#string) | A unique identifier for the client performing the mutation. |
| <a id="mutationdestroycompliancerequirementscontrolerrors"></a>`errors` | [`[String!]!`](#string) | Errors encountered during execution of the mutation. |
### `Mutation.destroyContainerRepository`
Input type: `DestroyContainerRepositoryInput`

View File

@ -159,6 +159,7 @@ Audit event types belong to the following product categories.
| [`delete_status_check`](https://gitlab.com/gitlab-org/gitlab/-/merge_requests/84624) | An external status check is deleted | {{< icon name="check-circle" >}} Yes | GitLab [15.9](https://gitlab.com/gitlab-org/gitlab/-/issues/355805) | Project |
| [`destroy_compliance_framework`](https://gitlab.com/gitlab-org/gitlab/-/merge_requests/74292) | A compliance framework is successfully deleted | {{< icon name="check-circle" >}} Yes | GitLab [14.6](https://gitlab.com/gitlab-org/gitlab/-/issues/340649) | Group |
| [`destroyed_compliance_requirement`](https://gitlab.com/gitlab-org/gitlab/-/merge_requests/170380) | A compliance framework requirement is destroyed | {{< icon name="check-circle" >}} Yes | GitLab [17.7](https://gitlab.com/gitlab-org/gitlab/-/issues/470695) | Group |
| [`destroyed_compliance_requirement_control`](https://gitlab.com/gitlab-org/gitlab/-/merge_requests/177878) | A compliance requirement control is destroyed. | {{< icon name="check-circle" >}} Yes | GitLab [17.9](https://gitlab.com/gitlab-org/gitlab/-/issues/512381) | Group |
| [`email_created`](https://gitlab.com/gitlab-org/gitlab/-/merge_requests/114546) | An email is created | {{< icon name="check-circle" >}} Yes | GitLab [15.11](https://gitlab.com/gitlab-org/gitlab/-/issues/374107) | User |
| [`email_destroyed`](https://gitlab.com/gitlab-org/gitlab/-/merge_requests/114546) | An email is destroyed | {{< icon name="check-circle" >}} Yes | GitLab [15.11](https://gitlab.com/gitlab-org/gitlab/-/issues/374107) | User |
| [`external_status_check_name_updated`](https://gitlab.com/gitlab-org/gitlab/-/merge_requests/106095) | The name of an external status check is updated | {{< icon name="check-circle" >}} Yes | GitLab [15.7](https://gitlab.com/gitlab-org/gitlab/-/issues/369333) | Project |

View File

@ -0,0 +1,20 @@
# frozen_string_literal: true
module Gitlab
module BackgroundMigration
class BackfillSecretPushProtectionEnabled < BatchedMigrationJob
extend ActiveSupport::Concern
operation_name :backfill_secret_push_protection_enabled
feature_category :secret_detection
def perform
each_sub_batch do |sub_batch|
sub_batch
.where(secret_push_protection_enabled: nil)
.update_all('secret_push_protection_enabled = pre_receive_secret_detection_enabled')
end
end
end
end
end

View File

@ -9547,6 +9547,9 @@ msgstr ""
msgid "Billing|Awaiting member signup"
msgstr ""
msgid "Billing|Cannot remove the last owner."
msgstr ""
msgid "Billing|Cannot remove user"
msgstr ""
@ -14622,6 +14625,9 @@ msgstr ""
msgid "Compliance frameworks"
msgstr ""
msgid "Compliance requirement control successfully deleted"
msgstr ""
msgid "Compliance requirement successfully deleted"
msgstr ""
@ -23973,6 +23979,9 @@ msgstr ""
msgid "Expires %{preposition} %{expires_at}"
msgstr ""
msgid "Expires at"
msgstr ""
msgid "Expiring soon"
msgstr ""
@ -24289,6 +24298,9 @@ msgstr ""
msgid "Failed to destroy compliance requirement"
msgstr ""
msgid "Failed to destroy compliance requirement control"
msgstr ""
msgid "Failed to enqueue the rebase operation, possibly due to a long-lived transaction. Try again later."
msgstr ""
@ -38024,6 +38036,9 @@ msgstr ""
msgid "No access"
msgstr ""
msgid "No active Support PIN."
msgstr ""
msgid "No activities found"
msgstr ""
@ -38473,6 +38488,9 @@ msgstr ""
msgid "Not permitted to destroy requirement"
msgstr ""
msgid "Not permitted to destroy requirement control"
msgstr ""
msgid "Not permitted to reset user feed token"
msgstr ""
@ -44330,15 +44348,24 @@ msgstr ""
msgid "Profiles|Expires"
msgstr ""
msgid "Profiles|Failed to generate new Support PIN."
msgstr ""
msgid "Profiles|Feed token could not be reset"
msgstr ""
msgid "Profiles|Feed token was successfully reset"
msgstr ""
msgid "Profiles|For some actions you request, the Support team may ask you to authenticate your request by generating a Support PIN."
msgstr ""
msgid "Profiles|Full name"
msgstr ""
msgid "Profiles|Generate New PIN"
msgstr ""
msgid "Profiles|GitLab is unable to verify your identity automatically. For security purposes, you must set a password by %{openingTag}resetting your password%{closingTag} to delete your account."
msgstr ""
@ -44390,6 +44417,9 @@ msgstr ""
msgid "Profiles|Manage two-factor authentication"
msgstr ""
msgid "Profiles|New Support PIN generated successfully."
msgstr ""
msgid "Profiles|No \"&lt;\" or \"&gt;\" characters, please."
msgstr ""
@ -44468,6 +44498,15 @@ msgstr ""
msgid "Profiles|Static object token was successfully reset"
msgstr ""
msgid "Profiles|Support PIN"
msgstr ""
msgid "Profiles|Support Pin expires at:"
msgstr ""
msgid "Profiles|Support Pin:"
msgstr ""
msgid "Profiles|Tell us about yourself in fewer than 250 characters."
msgstr ""

File diff suppressed because it is too large Load Diff

View File

@ -1,297 +1,297 @@
{
"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": 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": 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
"qa/specs/features/api/10_govern/group_access_token_spec.rb": 34.669449144,
"qa/specs/features/api/10_govern/project_access_token_spec.rb": 92.44375565,
"qa/specs/features/api/12_systems/gitaly/automatic_failover_and_recovery_spec.rb": 102.98391812599999,
"qa/specs/features/api/12_systems/gitaly/backend_node_recovery_spec.rb": 110.176845601,
"qa/specs/features/api/12_systems/gitaly/distributed_reads_spec.rb": 108.055844728,
"qa/specs/features/api/12_systems/gitaly/gitaly_mtls_spec.rb": 19.611806131,
"qa/specs/features/api/1_manage/import/import_github_repo_spec.rb": 107.648217475,
"qa/specs/features/api/1_manage/integrations/webhook_events_spec.rb": 60.786429475999995,
"qa/specs/features/api/1_manage/migration/gitlab_migration_group_spec.rb": 66.153037142,
"qa/specs/features/api/1_manage/migration/gitlab_migration_issue_spec.rb": 212.885310236,
"qa/specs/features/api/1_manage/migration/gitlab_migration_pipeline_spec.rb": 118.591800077,
"qa/specs/features/api/1_manage/migration/gitlab_migration_project_spec.rb": 105.672807125,
"qa/specs/features/api/1_manage/rate_limits_spec.rb": 11.413932851,
"qa/specs/features/api/2_plan/closes_issue_via_pushing_a_commit_spec.rb": 20.56688882,
"qa/specs/features/api/3_create/merge_request/push_options_labels_spec.rb": 36.48397497,
"qa/specs/features/api/3_create/merge_request/push_options_mwps_spec.rb": 10.781749583,
"qa/specs/features/api/3_create/merge_request/push_options_remove_source_branch_spec.rb": 15.899762338,
"qa/specs/features/api/3_create/merge_request/push_options_target_branch_spec.rb": 34.803168559,
"qa/specs/features/api/3_create/merge_request/push_options_title_description_spec.rb": 32.191657311,
"qa/specs/features/api/3_create/merge_request/view_merge_requests_spec.rb": 1.262524506,
"qa/specs/features/api/3_create/repository/add_list_delete_branches_spec.rb": 18.777109136,
"qa/specs/features/api/3_create/repository/commit_to_templated_project_spec.rb": 25.909755475,
"qa/specs/features/api/3_create/repository/default_branch_name_setting_spec.rb": 10.441416972999999,
"qa/specs/features/api/3_create/repository/files_spec.rb": 4.712675729,
"qa/specs/features/api/3_create/repository/project_archive_compare_spec.rb": 9.763325914,
"qa/specs/features/api/3_create/repository/push_postreceive_idempotent_spec.rb": 16.803147906,
"qa/specs/features/api/3_create/repository/storage_size_spec.rb": 20.395865778,
"qa/specs/features/api/3_create/repository/tag_revision_trigger_prereceive_hook_spec.rb": 10.459512376,
"qa/specs/features/api/4_verify/api_variable_inheritance_with_forward_pipeline_variables_spec.rb": 120.425828895,
"qa/specs/features/api/4_verify/cancel_pipeline_when_block_user_spec.rb": 20.381999253,
"qa/specs/features/api/4_verify/file_variable_spec.rb": 125.463462483,
"qa/specs/features/api/4_verify/job_downloads_artifacts_spec.rb": 39.708907974,
"qa/specs/features/api/8_monitor/metrics_spec.rb": 6.790834604,
"qa/specs/features/api/9_data_stores/user_inherited_access_spec.rb": 108.479760255,
"qa/specs/features/api/9_data_stores/users_spec.rb": 7.690683999999999,
"qa/specs/features/browser_ui/10_govern/group/group_access_token_spec.rb": 22.938573503,
"qa/specs/features/browser_ui/10_govern/login/2fa_recovery_spec.rb": 46.963346334,
"qa/specs/features/browser_ui/10_govern/login/2fa_ssh_recovery_spec.rb": 39.816759093,
"qa/specs/features/browser_ui/10_govern/login/log_in_spec.rb": 13.874834875,
"qa/specs/features/browser_ui/10_govern/login/log_in_with_2fa_spec.rb": 93.122794578,
"qa/specs/features/browser_ui/10_govern/login/log_into_gitlab_via_ldap_spec.rb": 4.331028092,
"qa/specs/features/browser_ui/10_govern/login/log_into_mattermost_via_gitlab_spec.rb": 28.753701435,
"qa/specs/features/browser_ui/10_govern/login/login_via_instance_wide_saml_sso_spec.rb": 15.681687657,
"qa/specs/features/browser_ui/10_govern/login/oauth_login_with_github_spec.rb": 41.304911854,
"qa/specs/features/browser_ui/10_govern/login/register_spec.rb": 219.901328368,
"qa/specs/features/browser_ui/10_govern/project/project_access_token_spec.rb": 27.584288714,
"qa/specs/features/browser_ui/10_govern/user/impersonation_token_spec.rb": 34.479508958,
"qa/specs/features/browser_ui/10_govern/user/user_access_termination_spec.rb": 46.365539225999996,
"qa/specs/features/browser_ui/14_analytics/performance_bar_spec.rb": 29.485605489,
"qa/specs/features/browser_ui/14_analytics/service_ping_default_enabled_spec.rb": 12.734227563,
"qa/specs/features/browser_ui/14_analytics/service_ping_disabled_spec.rb": 12.580929167,
"qa/specs/features/browser_ui/1_manage/integrations/jenkins/jenkins_build_status_spec.rb": 82.645246424,
"qa/specs/features/browser_ui/1_manage/integrations/jira/jira_basic_integration_spec.rb": 75.111662083,
"qa/specs/features/browser_ui/1_manage/integrations/jira/jira_issue_import_spec.rb": 48.343430401,
"qa/specs/features/browser_ui/1_manage/integrations/pipeline_status_emails_spec.rb": 68.189832939,
"qa/specs/features/browser_ui/1_manage/migration/gitlab_migration_group_spec.rb": 79.7653933,
"qa/specs/features/browser_ui/1_manage/migration/gitlab_migration_user_contribution_reassignment_spec.rb": 195.507938619,
"qa/specs/features/browser_ui/2_plan/design_management/add_design_content_spec.rb": 25.189104231,
"qa/specs/features/browser_ui/2_plan/design_management/archive_design_content_spec.rb": 33.552145674,
"qa/specs/features/browser_ui/2_plan/design_management/modify_design_content_spec.rb": 29.418075291,
"qa/specs/features/browser_ui/2_plan/email/trigger_email_notification_spec.rb": 22.453950035,
"qa/specs/features/browser_ui/2_plan/issue/check_mentions_for_xss_spec.rb": 34.201856865,
"qa/specs/features/browser_ui/2_plan/issue/collapse_comments_in_discussions_spec.rb": 17.483584405,
"qa/specs/features/browser_ui/2_plan/issue/comment_issue_spec.rb": 25.404427067,
"qa/specs/features/browser_ui/2_plan/issue/create_issue_spec.rb": 80.162670592,
"qa/specs/features/browser_ui/2_plan/issue/custom_issue_template_spec.rb": 16.783981026,
"qa/specs/features/browser_ui/2_plan/issue/export_as_csv_spec.rb": 24.806528756,
"qa/specs/features/browser_ui/2_plan/issue/filter_issue_comments_spec.rb": 29.914994946,
"qa/specs/features/browser_ui/2_plan/issue/issue_suggestions_spec.rb": 23.002777289,
"qa/specs/features/browser_ui/2_plan/issue/mentions_spec.rb": 28.677788039,
"qa/specs/features/browser_ui/2_plan/issue/real_time_assignee_spec.rb": 17.676169393,
"qa/specs/features/browser_ui/2_plan/issue_boards/focus_mode_spec.rb": 15.859486231,
"qa/specs/features/browser_ui/2_plan/milestone/assign_milestone_spec.rb": 112.357483436,
"qa/specs/features/browser_ui/2_plan/milestone/create_group_milestone_spec.rb": 22.988162077,
"qa/specs/features/browser_ui/2_plan/milestone/create_project_milestone_spec.rb": 27.576243425,
"qa/specs/features/browser_ui/2_plan/project_wiki/project_based_content_creation_spec.rb": 79.031201354,
"qa/specs/features/browser_ui/2_plan/project_wiki/project_based_content_manipulation_spec.rb": 43.270237123,
"qa/specs/features/browser_ui/2_plan/project_wiki/project_based_directory_management_spec.rb": 21.380040643,
"qa/specs/features/browser_ui/2_plan/project_wiki/project_based_file_upload_spec.rb": 44.067535984,
"qa/specs/features/browser_ui/2_plan/project_wiki/project_based_list_spec.rb": 62.792990069,
"qa/specs/features/browser_ui/2_plan/project_wiki/project_based_page_deletion_spec.rb": 49.487950100999996,
"qa/specs/features/browser_ui/2_plan/related_issues/related_issues_spec.rb": 27.329271049,
"qa/specs/features/browser_ui/3_create/merge_request/cherry_pick/cherry_pick_a_merge_spec.rb": 51.030476459,
"qa/specs/features/browser_ui/3_create/merge_request/cherry_pick/cherry_pick_commit_spec.rb": 37.776889573,
"qa/specs/features/browser_ui/3_create/merge_request/create_merge_request_spec.rb": 72.565722956,
"qa/specs/features/browser_ui/3_create/merge_request/create_merge_request_via_template_spec.rb": 33.339022867,
"qa/specs/features/browser_ui/3_create/merge_request/merge_merge_request_from_fork_spec.rb": 38.211340022,
"qa/specs/features/browser_ui/3_create/merge_request/merge_request_set_to_auto_merge_spec.rb": 100.76289397,
"qa/specs/features/browser_ui/3_create/merge_request/rebase_merge_request_spec.rb": 64.753546169,
"qa/specs/features/browser_ui/3_create/merge_request/revert/revert_commit_spec.rb": 31.553472852,
"qa/specs/features/browser_ui/3_create/merge_request/revert/reverting_merge_request_spec.rb": 65.57551485,
"qa/specs/features/browser_ui/3_create/merge_request/squash_merge_request_spec.rb": 52.325029075,
"qa/specs/features/browser_ui/3_create/merge_request/suggestions/batch_suggestion_spec.rb": 73.693374184,
"qa/specs/features/browser_ui/3_create/merge_request/suggestions/custom_commit_suggestion_spec.rb": 64.484381367,
"qa/specs/features/browser_ui/3_create/merge_request/view_merge_request_diff_patch_spec.rb": 71.220922396,
"qa/specs/features/browser_ui/3_create/repository/add_file_template_spec.rb": 65.143954338,
"qa/specs/features/browser_ui/3_create/repository/add_new_branch_rule_spec.rb": 29.765948218,
"qa/specs/features/browser_ui/3_create/repository/branch_with_unusual_name_spec.rb": 15.313664983,
"qa/specs/features/browser_ui/3_create/repository/clone_spec.rb": 31.422436593,
"qa/specs/features/browser_ui/3_create/repository/file/create_file_via_web_spec.rb": 14.068457407,
"qa/specs/features/browser_ui/3_create/repository/file/delete_file_via_web_spec.rb": 20.658849768,
"qa/specs/features/browser_ui/3_create/repository/file/edit_file_via_web_spec.rb": 15.082471114,
"qa/specs/features/browser_ui/3_create/repository/file/file_with_unusual_name_spec.rb": 18.710993578,
"qa/specs/features/browser_ui/3_create/repository/license_detection_spec.rb": 38.83454930400001,
"qa/specs/features/browser_ui/3_create/repository/protected_tags_spec.rb": 98.960452476,
"qa/specs/features/browser_ui/3_create/repository/protocol_v2_push_http_spec.rb": 48.226235518,
"qa/specs/features/browser_ui/3_create/repository/protocol_v2_push_ssh_spec.rb": 17.07474997,
"qa/specs/features/browser_ui/3_create/repository/push_http_private_token_spec.rb": 25.506047251,
"qa/specs/features/browser_ui/3_create/repository/push_mirroring_lfs_over_http_spec.rb": 61.610993188,
"qa/specs/features/browser_ui/3_create/repository/push_mirroring_over_http_spec.rb": 69.014529453,
"qa/specs/features/browser_ui/3_create/repository/push_over_http_file_size_spec.rb": 57.535775132,
"qa/specs/features/browser_ui/3_create/repository/push_over_http_spec.rb": 49.280578136,
"qa/specs/features/browser_ui/3_create/repository/push_over_ssh_spec.rb": 55.504822052,
"qa/specs/features/browser_ui/3_create/repository/push_protected_branch_spec.rb": 17.038620759,
"qa/specs/features/browser_ui/3_create/repository/push_to_canary_gitaly_spec.rb": 22.954080747,
"qa/specs/features/browser_ui/3_create/repository/ssh_key_support_create_spec.rb": 32.023866477,
"qa/specs/features/browser_ui/3_create/repository/ssh_key_support_delete_spec.rb": 35.669242426,
"qa/specs/features/browser_ui/3_create/repository/user_views_commit_diff_patch_spec.rb": 46.045942569000005,
"qa/specs/features/browser_ui/3_create/snippet/add_comment_to_snippet_spec.rb": 34.01993445,
"qa/specs/features/browser_ui/3_create/snippet/add_file_to_snippet_spec.rb": 42.703827352000005,
"qa/specs/features/browser_ui/3_create/snippet/clone_push_pull_personal_snippet_spec.rb": 53.598070481,
"qa/specs/features/browser_ui/3_create/snippet/clone_push_pull_project_snippet_spec.rb": 60.84719407200001,
"qa/specs/features/browser_ui/3_create/snippet/copy_snippet_file_contents_spec.rb": 25.847928041,
"qa/specs/features/browser_ui/3_create/snippet/create_personal_snippet_spec.rb": 15.516712996,
"qa/specs/features/browser_ui/3_create/snippet/create_personal_snippet_with_multiple_files_spec.rb": 10.798505195,
"qa/specs/features/browser_ui/3_create/snippet/create_project_snippet_spec.rb": 11.555972589,
"qa/specs/features/browser_ui/3_create/snippet/create_project_snippet_with_multiple_files_spec.rb": 21.65522955,
"qa/specs/features/browser_ui/3_create/snippet/delete_file_from_snippet_spec.rb": 38.386660136,
"qa/specs/features/browser_ui/3_create/snippet/share_snippet_spec.rb": 15.559317925999999,
"qa/specs/features/browser_ui/3_create/snippet/snippet_index_page_spec.rb": 67.753005848,
"qa/specs/features/browser_ui/3_create/source_editor/source_editor_toolbar_spec.rb": 17.781977818,
"qa/specs/features/browser_ui/3_create/web_ide/add_first_file_in_web_ide_spec.rb": 42.346212879,
"qa/specs/features/browser_ui/3_create/web_ide/add_new_directory_in_web_ide_spec.rb": 61.949392872000004,
"qa/specs/features/browser_ui/3_create/web_ide/closing_web_ide_with_unsaved_changes_spec.rb": 16.947490409,
"qa/specs/features/browser_ui/3_create/web_ide/upload_new_file_in_web_ide_spec.rb": 81.76625784699999,
"qa/specs/features/browser_ui/4_verify/ci_components_catalog/ci_catalog_sorting_spec.rb": 96.398767225,
"qa/specs/features/browser_ui/4_verify/ci_components_catalog/release_with_glab_spec.rb": 110.093734644,
"qa/specs/features/browser_ui/4_verify/ci_components_catalog/release_with_release_cli_spec.rb": 138.324207512,
"qa/specs/features/browser_ui/4_verify/ci_components_catalog/run_component_in_project_pipeline_spec.rb": 83.81115955,
"qa/specs/features/browser_ui/4_verify/ci_job_artifacts/expose_job_artifacts_in_mr_spec.rb": 56.526493272,
"qa/specs/features/browser_ui/4_verify/ci_job_artifacts/job_artifacts_access_keyword_spec.rb": 277.733740872,
"qa/specs/features/browser_ui/4_verify/ci_job_artifacts/unlocking_job_artifacts_across_pipelines_spec.rb": 292.262600567,
"qa/specs/features/browser_ui/4_verify/ci_project_artifacts/user_can_bulk_delete_artifacts_spec.rb": 83.959763379,
"qa/specs/features/browser_ui/4_verify/ci_variable/custom_variable_spec.rb": 54.971727819,
"qa/specs/features/browser_ui/4_verify/ci_variable/pipeline_with_protected_variable_spec.rb": 158.549495135,
"qa/specs/features/browser_ui/4_verify/ci_variable/prefill_variables_spec.rb": 36.581585379,
"qa/specs/features/browser_ui/4_verify/ci_variable/raw_variables_defined_in_yaml_spec.rb": 48.108970281,
"qa/specs/features/browser_ui/4_verify/ci_variable/ui_variable_inheritable_when_forward_pipeline_variables_true_spec.rb": 118.668507364,
"qa/specs/features/browser_ui/4_verify/pipeline/include_local_config_file_paths_with_wildcard_spec.rb": 28.2777469,
"qa/specs/features/browser_ui/4_verify/pipeline/include_multiple_files_from_a_project_spec.rb": 85.165500882,
"qa/specs/features/browser_ui/4_verify/pipeline/include_multiple_files_from_multiple_projects_spec.rb": 144.909679723,
"qa/specs/features/browser_ui/4_verify/pipeline/parent_child_pipelines_independent_relationship_spec.rb": 92.962617706,
"qa/specs/features/browser_ui/4_verify/pipeline/pass_dotenv_variables_to_downstream_via_bridge_spec.rb": 97.758316689,
"qa/specs/features/browser_ui/4_verify/pipeline/run_pipeline_with_manual_jobs_spec.rb": 177.154008458,
"qa/specs/features/browser_ui/4_verify/pipeline/trigger_child_pipeline_with_manual_spec.rb": 60.958753034,
"qa/specs/features/browser_ui/4_verify/pipeline/trigger_matrix_spec.rb": 92.627515753,
"qa/specs/features/browser_ui/4_verify/pipeline/update_ci_file_with_pipeline_editor_spec.rb": 23.730871056,
"qa/specs/features/browser_ui/4_verify/runner/deprecated_registration_token_spec.rb": 12.20560244,
"qa/specs/features/browser_ui/4_verify/runner/deprecated_unregister_runner_spec.rb": 27.133561724,
"qa/specs/features/browser_ui/4_verify/runner/fleet_visibility/group_runner_counts_spec.rb": 25.18654275,
"qa/specs/features/browser_ui/4_verify/runner/fleet_visibility/group_runner_status_counts_spec.rb": 16.955045747,
"qa/specs/features/browser_ui/4_verify/runner/register_group_runner_spec.rb": 27.385870629,
"qa/specs/features/browser_ui/4_verify/runner/register_project_runner_spec.rb": 77.157881128,
"qa/specs/features/browser_ui/4_verify/testing/endpoint_coverage_spec.rb": 82.828590052,
"qa/specs/features/browser_ui/5_package/container_registry/self_managed/container_registry_spec.rb": 336.630992051,
"qa/specs/features/browser_ui/5_package/dependency_proxy/dependency_proxy_spec.rb": 182.681296452,
"qa/specs/features/browser_ui/5_package/package_registry/composer_registry_spec.rb": 47.155315314,
"qa/specs/features/browser_ui/5_package/package_registry/conan_repository_spec.rb": 96.418215437,
"qa/specs/features/browser_ui/5_package/package_registry/generic_repository_spec.rb": 88.59027893,
"qa/specs/features/browser_ui/5_package/package_registry/helm_registry_spec.rb": 272.97101143299994,
"qa/specs/features/browser_ui/5_package/package_registry/maven/maven_group_level_spec.rb": 482.623231143,
"qa/specs/features/browser_ui/5_package/package_registry/maven/maven_project_level_spec.rb": 325.309502684,
"qa/specs/features/browser_ui/5_package/package_registry/maven_gradle_repository_spec.rb": 303.494142858,
"qa/specs/features/browser_ui/5_package/package_registry/npm/npm_group_level_spec.rb": 341.36581044400003,
"qa/specs/features/browser_ui/5_package/package_registry/npm/npm_instance_level_spec.rb": 344.876730344,
"qa/specs/features/browser_ui/5_package/package_registry/pypi_repository_spec.rb": 88.983139013,
"qa/specs/features/browser_ui/6_release/deploy_key/add_deploy_key_spec.rb": 29.282591626,
"qa/specs/features/browser_ui/6_release/deploy_key/clone_using_deploy_key_spec.rb": 204.308136152,
"qa/specs/features/browser_ui/6_release/deploy_token/add_deploy_token_spec.rb": 14.350445171,
"qa/specs/features/browser_ui/8_monitor/alert_management/alert_settings_create_new_alerts_spec.rb": 53.462374734,
"qa/specs/features/browser_ui/8_monitor/alert_management/automatically_creates_incident_for_alert_spec.rb": 62.94915799100001,
"qa/specs/features/browser_ui/8_monitor/alert_management/create_alert_using_authorization_key_spec.rb": 55.795905991,
"qa/specs/features/browser_ui/8_monitor/alert_management/email_notification_for_alert_spec.rb": 82.14616169,
"qa/specs/features/browser_ui/8_monitor/alert_management/recovery_alert_resolves_correct_alert_spec.rb": 22.434175577,
"qa/specs/features/browser_ui/9_data_stores/group/create_group_with_mattermost_team_spec.rb": 8.666146456,
"qa/specs/features/browser_ui/9_data_stores/group/group_member_access_request_spec.rb": 59.320182614,
"qa/specs/features/browser_ui/9_data_stores/group/transfer_project_spec.rb": 27.214420444,
"qa/specs/features/browser_ui/9_data_stores/project/add_project_member_spec.rb": 34.977163139,
"qa/specs/features/browser_ui/9_data_stores/project/create_project_badge_spec.rb": 17.415017035,
"qa/specs/features/browser_ui/9_data_stores/project/create_project_spec.rb": 59.744399123,
"qa/specs/features/browser_ui/9_data_stores/project/dashboard_images_spec.rb": 15.274987714,
"qa/specs/features/browser_ui/9_data_stores/project/invite_group_to_project_spec.rb": 78.242845797,
"qa/specs/features/browser_ui/9_data_stores/project/project_owner_permissions_spec.rb": 114.166584487,
"qa/specs/features/browser_ui/9_data_stores/project/view_project_activity_spec.rb": 30.136921491,
"qa/specs/features/browser_ui/9_data_stores/user/follow_user_activity_spec.rb": 26.296234065,
"qa/specs/features/browser_ui/9_data_stores/user/parent_group_access_termination_spec.rb": 34.830096793,
"qa/specs/features/browser_ui/9_data_stores/user/user_inherited_access_spec.rb": 39.359915101,
"qa/specs/features/ee/api/10_govern/compliance_pipeline_spec.rb": 67.904767609,
"qa/specs/features/ee/api/10_govern/instance_audit_event_streaming_spec.rb": 44.955252987,
"qa/specs/features/ee/api/10_govern/user/minimal_access_user_spec.rb": 62.409179479,
"qa/specs/features/ee/api/1_manage/import/import_github_repo_spec.rb": 99.335369121,
"qa/specs/features/ee/api/1_manage/integrations/group_webhook_events_spec.rb": 7.597601485,
"qa/specs/features/ee/api/1_manage/migration/gitlab_migration_group_spec.rb": 81.187248122,
"qa/specs/features/ee/api/2_plan/epics_milestone_dates_spec.rb": 59.75850849099999,
"qa/specs/features/ee/api/3_create/code_suggestions_spec.rb": 41.041942602000006,
"qa/specs/features/ee/api/9_data_stores/elasticsearch/advanced_global_advanced_syntax_search_spec.rb": 114.31593513,
"qa/specs/features/ee/api/9_data_stores/elasticsearch/elasticsearch_api_spec.rb": 40.267819165,
"qa/specs/features/ee/api/9_data_stores/elasticsearch/index_tests/commit_index/commit_index_spec.rb": 20.185853229,
"qa/specs/features/ee/api/9_data_stores/elasticsearch/index_tests/issues_index/issue_index_spec.rb": 158.501357567,
"qa/specs/features/ee/api/9_data_stores/elasticsearch/index_tests/main_index/blob_index_spec.rb": 28.176879751,
"qa/specs/features/ee/api/9_data_stores/elasticsearch/index_tests/merge_request_index/merge_request_index_spec.rb": 171.091394959,
"qa/specs/features/ee/api/9_data_stores/elasticsearch/index_tests/notes_index/note_index_spec.rb": 60.330543216,
"qa/specs/features/ee/api/9_data_stores/elasticsearch/index_tests/user_index/user_index_spec.rb": 59.380523581,
"qa/specs/features/ee/api/9_data_stores/elasticsearch/nightly_elasticsearch_test_spec.rb": 7.335587871,
"qa/specs/features/ee/browser_ui/10_govern/change_vulnerability_status_spec.rb": 117.71358742800001,
"qa/specs/features/ee/browser_ui/10_govern/create_merge_request_with_secure_spec.rb": 79.775248365,
"qa/specs/features/ee/browser_ui/10_govern/dismissed_vulnerabilities_in_security_widget_spec.rb": 123.719604278,
"qa/specs/features/ee/browser_ui/10_govern/export_vulnerability_report_spec.rb": 28.790239368,
"qa/specs/features/ee/browser_ui/10_govern/fix_vulnerability_workflow_spec.rb": 146.99568842,
"qa/specs/features/ee/browser_ui/10_govern/group/group_audit_event_streaming_spec.rb": 61.66883903600001,
"qa/specs/features/ee/browser_ui/10_govern/group/group_audit_logs_1_spec.rb": 117.476189853,
"qa/specs/features/ee/browser_ui/10_govern/group/group_ldap_sync_spec.rb": 125.94212152400002,
"qa/specs/features/ee/browser_ui/10_govern/group/restrict_by_ip_address_spec.rb": 116.056634975,
"qa/specs/features/ee/browser_ui/10_govern/group_pipeline_execution_policy_spec.rb": 209.500180571,
"qa/specs/features/ee/browser_ui/10_govern/instance/instance_audit_logs_spec.rb": 130.725444018,
"qa/specs/features/ee/browser_ui/10_govern/project/project_audit_logs_spec.rb": 166.78874878700003,
"qa/specs/features/ee/browser_ui/10_govern/project_security_dashboard_spec.rb": 75.851153117,
"qa/specs/features/ee/browser_ui/10_govern/scan_execution_policy_vulnerabilities_spec.rb": 243.523257008,
"qa/specs/features/ee/browser_ui/10_govern/scan_result_policy_vulnerabilities_spec.rb": 187.612332703,
"qa/specs/features/ee/browser_ui/10_govern/security_policies_spec.rb": 96.811860721,
"qa/specs/features/ee/browser_ui/10_govern/security_reports_spec.rb": 340.69265366900004,
"qa/specs/features/ee/browser_ui/10_govern/user/minimal_access_user_spec.rb": 19.87185478,
"qa/specs/features/ee/browser_ui/10_govern/vulnerabilities_jira_integration_spec.rb": 24.309799186,
"qa/specs/features/ee/browser_ui/10_govern/vulnerability_management_spec.rb": 407.12376936199996,
"qa/specs/features/ee/browser_ui/10_govern/vulnerability_security_training_spec.rb": 140.316515165,
"qa/specs/features/ee/browser_ui/11_fulfillment/license/cloud_activation_spec.rb": 26.494519393,
"qa/specs/features/ee/browser_ui/11_fulfillment/license/license_spec.rb": 4.570920524,
"qa/specs/features/ee/browser_ui/11_fulfillment/utilization/user_registration_billing_spec.rb": 17.014381692,
"qa/specs/features/ee/browser_ui/13_secure/cvs_dependency_scanning_spec.rb": 52.829221889,
"qa/specs/features/ee/browser_ui/13_secure/enable_advanced_sast_spec.rb": 107.374335447,
"qa/specs/features/ee/browser_ui/13_secure/enable_scanning_from_configuration_spec.rb": 80.418333158,
"qa/specs/features/ee/browser_ui/13_secure/secret_push_protection_spec.rb": 121.764005497,
"qa/specs/features/ee/browser_ui/16_ai_powered/duo_chat/duo_chat_spec.rb": 12.526395211,
"qa/specs/features/ee/browser_ui/1_manage/integrations/jira_issues_list_spec.rb": 61.850143347999996,
"qa/specs/features/ee/browser_ui/2_plan/analytics/contribution_analytics_spec.rb": 38.383919584,
"qa/specs/features/ee/browser_ui/2_plan/analytics/mr_analytics_spec.rb": 62.447211656,
"qa/specs/features/ee/browser_ui/2_plan/analytics/value_stream_analytics_spec.rb": 33.051687576,
"qa/specs/features/ee/browser_ui/2_plan/burndown_chart/burndown_chart_spec.rb": 21.991259066,
"qa/specs/features/ee/browser_ui/2_plan/custom_email/custom_email_spec.rb": 18.817039311,
"qa/specs/features/ee/browser_ui/2_plan/epic/epics_management_spec.rb": 135.57879282800002,
"qa/specs/features/ee/browser_ui/2_plan/epic/promote_issue_to_epic_spec.rb": 25.117457241,
"qa/specs/features/ee/browser_ui/2_plan/epic/roadmap_spec.rb": 10.084614903,
"qa/specs/features/ee/browser_ui/2_plan/group_wiki/create_group_wiki_page_spec.rb": 32.220901812,
"qa/specs/features/ee/browser_ui/2_plan/group_wiki/delete_group_wiki_page_spec.rb": 17.162480317,
"qa/specs/features/ee/browser_ui/2_plan/group_wiki/file_upload_group_wiki_page_spec.rb": 28.800994609,
"qa/specs/features/ee/browser_ui/2_plan/insights/default_insights_spec.rb": 23.045763666,
"qa/specs/features/ee/browser_ui/2_plan/issue/default_issue_template_spec.rb": 32.294121146,
"qa/specs/features/ee/browser_ui/2_plan/issue_boards/configurable_issue_board_spec.rb": 20.671737272,
"qa/specs/features/ee/browser_ui/2_plan/issue_boards/configure_issue_board_by_label_spec.rb": 27.292114811,
"qa/specs/features/ee/browser_ui/2_plan/issue_boards/create_group_issue_board_spec.rb": 23.426496156,
"qa/specs/features/ee/browser_ui/2_plan/issue_boards/group_issue_boards_spec.rb": 15.929582822,
"qa/specs/features/ee/browser_ui/2_plan/issue_boards/project_issue_boards_spec.rb": 41.821294905,
"qa/specs/features/ee/browser_ui/2_plan/issue_boards/read_only_board_configuration_spec.rb": 19.760802257,
"qa/specs/features/ee/browser_ui/2_plan/issue_boards/sum_of_issues_weights_spec.rb": 14.078246757,
"qa/specs/features/ee/browser_ui/2_plan/issues_analytics/issues_analytics_spec.rb": 27.772910814,
"qa/specs/features/ee/browser_ui/2_plan/issues_weight/issue_weight_visualization_spec.rb": 28.289908067,
"qa/specs/features/ee/browser_ui/2_plan/iterations/assign_group_iteration_spec.rb": 18.474105142,
"qa/specs/features/ee/browser_ui/2_plan/iterations/create_group_iteration_spec.rb": 44.685648738000005,
"qa/specs/features/ee/browser_ui/2_plan/multiple_assignees_for_issues/four_assignees_spec.rb": 42.702910588,
"qa/specs/features/ee/browser_ui/2_plan/multiple_assignees_for_issues/more_than_four_assignees_spec.rb": 37.819845282,
"qa/specs/features/ee/browser_ui/2_plan/scoped_labels/editing_scoped_labels_spec.rb": 17.303014463,
"qa/specs/features/ee/browser_ui/3_create/merge_request/add_batch_comments_in_merge_request_spec.rb": 140.682178345,
"qa/specs/features/ee/browser_ui/3_create/merge_request/approval_rules_spec.rb": 124.756726589,
"qa/specs/features/ee/browser_ui/3_create/merge_request/default_merge_request_template_spec.rb": 50.729437626,
"qa/specs/features/ee/browser_ui/3_create/repository/assign_code_owners_spec.rb": 30.47834885,
"qa/specs/features/ee/browser_ui/3_create/repository/code_owners_spec.rb": 30.102971235,
"qa/specs/features/ee/browser_ui/3_create/repository/code_owners_with_protected_branch_and_squashed_commits_spec.rb": 47.372097088,
"qa/specs/features/ee/browser_ui/3_create/repository/file_locking_spec.rb": 169.41292546,
"qa/specs/features/ee/browser_ui/3_create/repository/group_file_template_spec.rb": 100.974112973,
"qa/specs/features/ee/browser_ui/3_create/repository/merge_with_code_owner_in_root_group_spec.rb": 87.537291972,
"qa/specs/features/ee/browser_ui/3_create/repository/merge_with_code_owner_in_subgroup_spec.rb": 198.45030349799998,
"qa/specs/features/ee/browser_ui/3_create/repository/project_templates_spec.rb": 110.19343185700001,
"qa/specs/features/ee/browser_ui/3_create/repository/pull_mirroring_over_http_spec.rb": 71.308426801,
"qa/specs/features/ee/browser_ui/3_create/repository/pull_mirroring_over_ssh_with_key_spec.rb": 50.660875472,
"qa/specs/features/ee/browser_ui/3_create/repository/push_rules_spec.rb": 316.273319978,
"qa/specs/features/ee/browser_ui/3_create/repository/restrict_push_protected_branch_spec.rb": 247.817437218,
"qa/specs/features/ee/browser_ui/3_create/web_ide/code_suggestions_in_web_ide_spec.rb": 205.103677587,
"qa/specs/features/ee/browser_ui/4_verify/multi-project_pipelines_spec.rb": 65.00188559,
"qa/specs/features/ee/browser_ui/4_verify/parent_child_pipelines_dependent_relationship_spec.rb": 154.24687579599998,
"qa/specs/features/ee/browser_ui/4_verify/pipeline_for_merged_result_spec.rb": 43.222863565,
"qa/specs/features/ee/browser_ui/4_verify/pipeline_subscription_with_group_owned_project_spec.rb": 126.123463136,
"qa/specs/features/ee/browser_ui/8_monitor/incident_management/incident_quick_action_spec.rb": 16.164091024,
"qa/specs/features/ee/browser_ui/9_data_stores/elasticsearch/elasticsearch_reindexing_spec.rb": 168.424593141,
"qa/specs/features/ee/browser_ui/9_data_stores/group/prevent_forking_outside_group_spec.rb": 41.882321307,
"qa/specs/features/ee/browser_ui/9_data_stores/group/share_group_with_group_spec.rb": 32.045460749
}

View File

@ -57,4 +57,32 @@ RSpec.describe Profiles::AccountsController do
end
end
end
describe 'POST #generate_support_pin' do
let(:user) { create(:user) }
before do
sign_in(user)
end
it 'generates a new Support PIN successfully' do
expect(Users::SupportPin::UpdateService).to receive(:new).with(user).and_call_original
post :generate_support_pin
expect(response).to redirect_to(profile_account_path)
expect(flash[:notice]).to eq('New Support PIN generated successfully.')
end
it 'handles failure to generate Support PIN' do
allow_next_instance_of(Users::SupportPin::UpdateService) do |instance|
allow(instance).to receive(:execute).and_return({ status: :error })
end
post :generate_support_pin
expect(response).to redirect_to(profile_account_path)
expect(flash[:alert]).to eq('Failed to generate new Support PIN.')
end
end
end

View File

@ -0,0 +1,84 @@
# frozen_string_literal: true
require 'spec_helper'
RSpec.describe Gitlab::BackgroundMigration::BackfillSecretPushProtectionEnabled, feature_category: :secret_detection do
let(:project_security_settings) { table(:project_security_settings) }
let!(:connection) { table(:project_security_settings).connection }
let!(:starting_id) { table(:project_security_settings).pluck(:project_id).min }
let!(:end_id) { table(:project_security_settings).pluck(:project_id).max }
let!(:migration) do
described_class.new(
start_id: starting_id,
end_id: end_id,
batch_table: :project_security_settings,
batch_column: :project_id,
sub_batch_size: 10,
pause_ms: 2,
connection: connection,
job_arguments: []
)
end
let(:organizations) { table(:organizations) }
let(:namespaces) { table(:namespaces) }
let(:projects) { table(:projects) }
let!(:organization) { organizations.create!(name: 'organization', path: 'organization') }
let!(:namespace) do
namespaces
.create!(name: 'root-group', path: 'root', type: 'Group', organization_id: organization.id)
.tap do |new_group|
new_group.update!(traversal_ids: [new_group.id])
end
end
let!(:group_1) do
namespaces.create!(name: 'random-group', path: 'random', type: 'Group', organization_id: organization.id)
end
let!(:group_2) do
namespaces.create!(name: 'random-group-2', path: 'random-2', type: 'Group', organization_id: organization.id)
end
let!(:project_1) do
projects.create!(
organization_id: organization.id,
namespace_id: group_1.id,
project_namespace_id: group_1.id,
name: 'test project',
path: 'test-project'
)
end
let!(:project_2) do
projects.create!(
organization_id: organization.id,
namespace_id: group_2.id,
project_namespace_id: group_2.id,
name: 'test project-2',
path: 'test-project-2'
)
end
before do
project_security_settings.create!(project_id: project_1.id, pre_receive_secret_detection_enabled: true,
secret_push_protection_enabled: false)
project_security_settings.create!(project_id: project_2.id, pre_receive_secret_detection_enabled: false,
secret_push_protection_enabled: false)
end
it 'performs without error' do
expect { migration.perform }.not_to raise_error
end
it 'updates secret_push_protection_enabled to match pre_receive_secret_detection_enabled' do
migration.perform
security_settings_1 = project_security_settings.find_by(project_id: project_1.id)
security_settings_2 = project_security_settings.find_by(project_id: project_2.id)
expect(security_settings_1.secret_push_protection_enabled).to be(true)
expect(security_settings_2.secret_push_protection_enabled).to be(false)
end
end

View File

@ -0,0 +1,28 @@
# frozen_string_literal: true
require 'spec_helper'
require_migration!
RSpec.describe QueueBackfillSecretPushProtectionEnabled, feature_category: :secret_detection do
let!(:batched_migration) { described_class::MIGRATION }
it 'schedules a new batched migration' do
reversible_migration do |migration|
migration.before -> {
expect(batched_migration).not_to have_scheduled_batched_migration
}
migration.after -> {
expect(batched_migration).to have_scheduled_batched_migration(
table_name: :project_security_settings,
column_name: :project_id,
interval: described_class::DELAY_INTERVAL,
batch_size: described_class::BATCH_SIZE,
sub_batch_size: described_class::SUB_BATCH_SIZE,
max_batch_size: described_class::MAX_BATCH_SIZE,
job_arguments: []
)
}
end
end
end

View File

@ -1687,8 +1687,6 @@ RSpec.describe Integration, feature_category: :integrations do
describe '#async_execute' do
let(:integration) { build(:jenkins_integration, id: 123) }
let(:data) { { object_kind: 'build' } }
let(:serialized_data) { data.deep_stringify_keys }
let(:supported_events) { %w[push build] }
subject(:async_execute) { integration.async_execute(data) }
@ -1697,13 +1695,25 @@ RSpec.describe Integration, feature_category: :integrations do
allow(integration).to receive(:supported_events).and_return(supported_events)
end
it 'queues a Integrations::ExecuteWorker' do
expect(Integrations::ExecuteWorker).to receive(:perform_async).with(integration.id, serialized_data)
where(:data) do
[
{ object_kind: 'build' },
{ object_kind: :build },
{ 'object_kind' => 'build' },
{ 'object_kind' => :build }
]
end
async_execute
with_them do
it 'queues a Integrations::ExecuteWorker' do
expect(Integrations::ExecuteWorker).to receive(:perform_async).with(integration.id, data.deep_stringify_keys)
async_execute
end
end
context 'when the event is not supported' do
let(:data) { { object_kind: 'build' } }
let(:supported_events) { %w[issue] }
it 'does not queue a worker' do
@ -1725,7 +1735,19 @@ RSpec.describe Integration, feature_category: :integrations do
end
end
context 'when object_kind is missing from data' do
let(:data) { {} }
it 'does not queue a worker' do
expect(Integrations::ExecuteWorker).not_to receive(:perform_async)
async_execute
end
end
context 'when the Gitlab::SilentMode is enabled' do
let(:data) { { object_kind: 'build' } }
before do
allow(Gitlab::SilentMode).to receive(:enabled?).and_return(true)
end
@ -1738,6 +1760,8 @@ RSpec.describe Integration, feature_category: :integrations do
end
context 'when integration is not active' do
let(:data) { { object_kind: 'build' } }
before do
integration.active = false
end

View File

@ -25,7 +25,9 @@ RSpec.describe Deployments::HooksWorker, feature_category: :continuous_delivery
project = deployment.project
service = create(:integrations_slack, project: project, deployment_events: true)
expect(Integrations::ExecuteWorker).to receive(:perform_async).with(service.id, an_instance_of(Hash))
expect(Integrations::ExecuteWorker)
.to receive(:perform_async)
.with(service.id, an_instance_of(ActiveSupport::HashWithIndifferentAccess))
worker.perform(deployment_id: deployment.id, status_changed_at: Time.current)
end