diff --git a/.gitlab/ci/setup.gitlab-ci.yml b/.gitlab/ci/setup.gitlab-ci.yml index 7264d5fdfc6..561e6d2d395 100644 --- a/.gitlab/ci/setup.gitlab-ci.yml +++ b/.gitlab/ci/setup.gitlab-ci.yml @@ -136,15 +136,16 @@ detect-tests: stage: prepare variables: RSPEC_TESTS_MAPPING_ENABLED: "true" + MAPPING_ARCHIVE: $RSPEC_PACKED_TESTS_MAPPING_PATH before_script: - apt update && apt install -y curl - script: - source ./scripts/utils.sh - source ./scripts/rspec_helpers.sh - install_gitlab_gem - install_tff_gem - - retrieve_tests_mapping + - retrieve_tests_mapping "$MAPPING_ARCHIVE" - retrieve_frontend_fixtures_mapping + script: - | # $FIND_CHANGES_MERGE_REQUEST_IID is defined in as-if-foss.gitlab-ci.yml if [ -n "$CI_MERGE_REQUEST_IID" ] || [ -n "$FIND_CHANGES_MERGE_REQUEST_IID" ]; then @@ -182,6 +183,14 @@ detect-tests: - ${RSPEC_MATCHING_TESTS_PATH} - ${RSPEC_VIEWS_INCLUDING_PARTIALS_PATH} +# This job is used for evaluating rspec test mappings created based on coverage strategy +# See: https://gitlab.com/groups/gitlab-org/quality/analytics/-/epics/13 +detect-tests-alt: + extends: detect-tests + variables: + MAPPING_ARCHIVE: $RSPEC_PACKED_TESTS_MAPPING_ALT_PATH + PREDICTIVE_TESTS_STRATEGY: coverage + detect-previous-failed-tests: extends: - detect-tests diff --git a/GITALY_SERVER_VERSION b/GITALY_SERVER_VERSION index 764ab1cea07..346f3ce1323 100644 --- a/GITALY_SERVER_VERSION +++ b/GITALY_SERVER_VERSION @@ -1 +1 @@ -64e5702b727ea069f6f987d33cf87264a761e997 +9a811d8cd0a428c6a2a6c7037d0792855d1fd1bc diff --git a/app/assets/javascripts/environments/environment_details/environment_breadcrumbs.vue b/app/assets/javascripts/environments/environment_details/environment_breadcrumbs.vue index 3cc4f6ceec3..766cce3be05 100644 --- a/app/assets/javascripts/environments/environment_details/environment_breadcrumbs.vue +++ b/app/assets/javascripts/environments/environment_details/environment_breadcrumbs.vue @@ -5,6 +5,13 @@ export default { components: { GlBreadcrumb, }, + props: { + staticBreadcrumbs: { + type: Object, + required: false, + default: () => ({ items: [] }), + }, + }, computed: { rootRoute() { const rootName = this.$route.meta.environmentName; @@ -30,7 +37,7 @@ export default { if (!this.isLoaded) { return []; } - const breadCrumbs = [this.rootRoute]; + const breadCrumbs = [...this.staticBreadcrumbs.items, this.rootRoute]; if (!this.isRootRoute) { breadCrumbs.push(this.logsRoute); diff --git a/app/assets/javascripts/environments/mount_show.js b/app/assets/javascripts/environments/mount_show.js index 6be199bce13..d08f4c1771f 100644 --- a/app/assets/javascripts/environments/mount_show.js +++ b/app/assets/javascripts/environments/mount_show.js @@ -109,7 +109,7 @@ export const initPage = async () => { }, }); - injectVueAppBreadcrumbs(router, EnvironmentBreadcrumbs); + injectVueAppBreadcrumbs(router, EnvironmentBreadcrumbs, null, {}, { singleNavOptIn: true }); return new Vue({ el, diff --git a/app/services/packages/nuget/update_package_from_metadata_service.rb b/app/services/packages/nuget/update_package_from_metadata_service.rb index 6427051b5f1..4c064616056 100644 --- a/app/services/packages/nuget/update_package_from_metadata_service.rb +++ b/app/services/packages/nuget/update_package_from_metadata_service.rb @@ -13,7 +13,10 @@ module Packages INVALID_METADATA_ERROR_SYMBOL_MESSAGE = 'package name, version and/or description not found in metadata' MISSING_MATCHING_PACKAGE_ERROR_MESSAGE = 'symbol package is invalid, matching package does not exist' - InvalidMetadataError = ZipError = DuplicatePackageError = ProtectedPackageError = Class.new(StandardError) + DuplicatePackageError = Class.new(StandardError) + InvalidMetadataError = Class.new(StandardError) + ProtectedPackageError = Class.new(StandardError) + ZipError = Class.new(StandardError) def initialize(package_file, package_zip_file) @package_file = package_file diff --git a/config/feature_flags/wip/virtual_registry_maven.yml b/config/feature_flags/wip/virtual_registry_maven.yml deleted file mode 100644 index fb8b77ec954..00000000000 --- a/config/feature_flags/wip/virtual_registry_maven.yml +++ /dev/null @@ -1,9 +0,0 @@ ---- -name: virtual_registry_maven -feature_issue_url: https://gitlab.com/groups/gitlab-org/-/epics/14137 -introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/160891 -rollout_issue_url: https://gitlab.com/gitlab-org/gitlab/-/issues/474863 -milestone: '17.3' -group: group::package registry -type: wip -default_enabled: false diff --git a/db/docs/batched_background_migrations/backfill_description_versions_namespace.yml b/db/docs/batched_background_migrations/backfill_description_versions_namespace.yml index 099af87858c..31234db4ccd 100644 --- a/db/docs/batched_background_migrations/backfill_description_versions_namespace.yml +++ b/db/docs/batched_background_migrations/backfill_description_versions_namespace.yml @@ -5,4 +5,4 @@ feature_category: team_planning introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/183903 milestone: '17.11' queued_migration_version: 20250317222744 -finalized_by: # version of the migration that finalized this BBM +finalized_by: 20250519120927 diff --git a/db/docs/description_versions.yml b/db/docs/description_versions.yml index 6af8b7eed70..1aec7b4c3c2 100644 --- a/db/docs/description_versions.yml +++ b/db/docs/description_versions.yml @@ -7,6 +7,7 @@ feature_categories: description: The diff of the change when an edit is made to an Issue, MR or Epic description introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/17147 milestone: '12.4' -gitlab_schema: gitlab_main -sharding_key_issue_url: https://gitlab.com/gitlab-org/gitlab/-/issues/514600 +gitlab_schema: gitlab_main_cell +sharding_key: + namespace_id: namespaces table_size: over_limit diff --git a/db/migrate/20250514054305_add_status_widget_definition_to_issues.rb b/db/migrate/20250514054305_add_status_widget_definition_to_issues.rb new file mode 100644 index 00000000000..547b5f0cebc --- /dev/null +++ b/db/migrate/20250514054305_add_status_widget_definition_to_issues.rb @@ -0,0 +1,25 @@ +# frozen_string_literal: true + +class AddStatusWidgetDefinitionToIssues < Gitlab::Database::Migration[2.3] + include Gitlab::Database::MigrationHelpers::WorkItems::Widgets + + restrict_gitlab_migration gitlab_schema: :gitlab_main + disable_ddl_transaction! + milestone '18.1' + + WORK_ITEM_TYPE_ENUM_VALUES = [0] # issues + WIDGETS = [ + { + name: 'Status', + widget_type: 26 + } + ] + + def up + add_widget_definitions(type_enum_values: WORK_ITEM_TYPE_ENUM_VALUES, widgets: WIDGETS) + end + + def down + remove_widget_definitions(type_enum_values: WORK_ITEM_TYPE_ENUM_VALUES, widgets: WIDGETS) + end +end diff --git a/db/post_migrate/20250519120927_finalize_backfill_description_versions_namespace.rb b/db/post_migrate/20250519120927_finalize_backfill_description_versions_namespace.rb new file mode 100644 index 00000000000..00b1db72be7 --- /dev/null +++ b/db/post_migrate/20250519120927_finalize_backfill_description_versions_namespace.rb @@ -0,0 +1,23 @@ +# frozen_string_literal: true + +class FinalizeBackfillDescriptionVersionsNamespace < Gitlab::Database::Migration[2.3] + MIGRATION = "BackfillDescriptionVersionsNamespace" + + disable_ddl_transaction! + restrict_gitlab_migration gitlab_schema: :gitlab_main + milestone '18.1' + + def up + ensure_batched_background_migration_is_finished( + job_class_name: MIGRATION, + table_name: :description_versions, + column_name: :id, + job_arguments: [], + finalize: true + ) + end + + def down + # no-op + end +end diff --git a/db/post_migrate/20250519121623_add_description_versions_namespace_id_index.rb b/db/post_migrate/20250519121623_add_description_versions_namespace_id_index.rb new file mode 100644 index 00000000000..c0cb842400e --- /dev/null +++ b/db/post_migrate/20250519121623_add_description_versions_namespace_id_index.rb @@ -0,0 +1,16 @@ +# frozen_string_literal: true + +class AddDescriptionVersionsNamespaceIdIndex < Gitlab::Database::Migration[2.3] + INDEX_NAME = 'idx_description_versions_on_namespace_id' + + disable_ddl_transaction! + milestone '18.1' + + def up + add_concurrent_index :description_versions, :namespace_id, name: INDEX_NAME # rubocop:disable Migration/PreventIndexCreation -- Sharding keys are an exception + end + + def down + remove_concurrent_index_by_name :description_versions, name: INDEX_NAME + end +end diff --git a/db/post_migrate/20250519122020_validate_description_versions_parent_not_null_constraint.rb b/db/post_migrate/20250519122020_validate_description_versions_parent_not_null_constraint.rb new file mode 100644 index 00000000000..168fe1b33d9 --- /dev/null +++ b/db/post_migrate/20250519122020_validate_description_versions_parent_not_null_constraint.rb @@ -0,0 +1,19 @@ +# frozen_string_literal: true + +class ValidateDescriptionVersionsParentNotNullConstraint < Gitlab::Database::Migration[2.3] + CONSTRAINT_NAME = 'check_76c1eb7122' + + milestone '18.1' + + def up + validate_multi_column_not_null_constraint :description_versions, + :issue_id, + :merge_request_id, + :epic_id, + constraint_name: CONSTRAINT_NAME + end + + def down + # no-op + end +end diff --git a/db/post_migrate/20250519123127_add_description_versions_namespace_id_foreign_key.rb b/db/post_migrate/20250519123127_add_description_versions_namespace_id_foreign_key.rb new file mode 100644 index 00000000000..ecde2cf1301 --- /dev/null +++ b/db/post_migrate/20250519123127_add_description_versions_namespace_id_foreign_key.rb @@ -0,0 +1,16 @@ +# frozen_string_literal: true + +class AddDescriptionVersionsNamespaceIdForeignKey < Gitlab::Database::Migration[2.3] + disable_ddl_transaction! + milestone '18.1' + + def up + add_concurrent_foreign_key :description_versions, :namespaces, column: :namespace_id, reverse_lock_order: true + end + + def down + with_lock_retries do + remove_foreign_key :description_versions, column: :namespace_id + end + end +end diff --git a/db/schema_migrations/20250514054305 b/db/schema_migrations/20250514054305 new file mode 100644 index 00000000000..b3067369bfc --- /dev/null +++ b/db/schema_migrations/20250514054305 @@ -0,0 +1 @@ +3c906a2d6678e67796db3f3c747c6292918afb0bf50b2b1e870a8662563221cc \ No newline at end of file diff --git a/db/schema_migrations/20250519120927 b/db/schema_migrations/20250519120927 new file mode 100644 index 00000000000..3439ab658f5 --- /dev/null +++ b/db/schema_migrations/20250519120927 @@ -0,0 +1 @@ +0b2704a6ed7771436a1a7162b4b18c3919d289c1ca8e301bf054a86e5079615f \ No newline at end of file diff --git a/db/schema_migrations/20250519121623 b/db/schema_migrations/20250519121623 new file mode 100644 index 00000000000..d7639d5eb13 --- /dev/null +++ b/db/schema_migrations/20250519121623 @@ -0,0 +1 @@ +8f46177086b14092eee689a654b21f4e3a6e335a5471319910a54a95cbd52efd \ No newline at end of file diff --git a/db/schema_migrations/20250519122020 b/db/schema_migrations/20250519122020 new file mode 100644 index 00000000000..de49f2ebb24 --- /dev/null +++ b/db/schema_migrations/20250519122020 @@ -0,0 +1 @@ +d738c6e86e47f82690f0eff2c5e396ed823cdee50b54459c31169b6be0afb96a \ No newline at end of file diff --git a/db/schema_migrations/20250519123127 b/db/schema_migrations/20250519123127 new file mode 100644 index 00000000000..e72f0809b28 --- /dev/null +++ b/db/schema_migrations/20250519123127 @@ -0,0 +1 @@ +edd0af1ca8b6140920ae6005a640e2df1ca304a7cefd29e6487a98b566a47740 \ No newline at end of file diff --git a/db/structure.sql b/db/structure.sql index 7695b2b21f5..a2232eef5e9 100644 --- a/db/structure.sql +++ b/db/structure.sql @@ -13545,7 +13545,8 @@ CREATE TABLE description_versions ( epic_id bigint, description text, deleted_at timestamp with time zone, - namespace_id bigint NOT NULL + namespace_id bigint NOT NULL, + CONSTRAINT check_76c1eb7122 CHECK ((num_nonnulls(epic_id, issue_id, merge_request_id) = 1)) ); CREATE SEQUENCE description_versions_id_seq @@ -29107,9 +29108,6 @@ ALTER TABLE ONLY project_type_ci_runners ALTER TABLE lists ADD CONSTRAINT check_6dadb82d36 CHECK ((num_nonnulls(group_id, project_id) = 1)) NOT VALID; -ALTER TABLE description_versions - ADD CONSTRAINT check_76c1eb7122 CHECK ((num_nonnulls(epic_id, issue_id, merge_request_id) = 1)) NOT VALID; - ALTER TABLE ONLY group_type_ci_runners ADD CONSTRAINT check_81b90172a6 UNIQUE (id); @@ -33139,6 +33137,8 @@ CREATE INDEX idx_dep_proxy_pkgs_settings_enabled_maven_on_project_id ON dependen CREATE INDEX idx_deployment_clusters_on_cluster_id_and_kubernetes_namespace ON deployment_clusters USING btree (cluster_id, kubernetes_namespace); +CREATE INDEX idx_description_versions_on_namespace_id ON description_versions USING btree (namespace_id); + CREATE INDEX idx_devops_adoption_segments_namespace_end_time ON analytics_devops_adoption_snapshots USING btree (namespace_id, end_time); CREATE INDEX idx_devops_adoption_segments_namespace_recorded_at ON analytics_devops_adoption_snapshots USING btree (namespace_id, recorded_at); @@ -43267,6 +43267,9 @@ ALTER TABLE ONLY packages_conan_file_metadata ALTER TABLE ONLY catalog_resource_versions ADD CONSTRAINT fk_b670eae96b FOREIGN KEY (catalog_resource_id) REFERENCES catalog_resources(id) ON DELETE CASCADE; +ALTER TABLE ONLY description_versions + ADD CONSTRAINT fk_b688e93ee1 FOREIGN KEY (namespace_id) REFERENCES namespaces(id) ON DELETE CASCADE; + ALTER TABLE ONLY bulk_import_entities ADD CONSTRAINT fk_b69fa2b2df FOREIGN KEY (bulk_import_id) REFERENCES bulk_imports(id) ON DELETE CASCADE; diff --git a/doc/administration/gitlab_duo_self_hosted/_index.md b/doc/administration/gitlab_duo_self_hosted/_index.md index cf38bec7e08..671ed49fb15 100644 --- a/doc/administration/gitlab_duo_self_hosted/_index.md +++ b/doc/administration/gitlab_duo_self_hosted/_index.md @@ -2,7 +2,7 @@ stage: AI-powered group: Custom Models info: To determine the technical writer assigned to the Stage/Group associated with this page, see https://handbook.gitlab.com/handbook/product/ux/technical-writing/#assignments -description: Get started with GitLab Duo Self-Hosted. +description: Host your own AI gateway and language models. title: GitLab Duo Self-Hosted --- diff --git a/doc/api/maven_virtual_registries.md b/doc/api/maven_virtual_registries.md index 1dcb2f2a872..55cc51daef9 100644 --- a/doc/api/maven_virtual_registries.md +++ b/doc/api/maven_virtual_registries.md @@ -32,6 +32,8 @@ Use the following endpoints to create and manage Maven virtual registries. {{< history >}} - [Introduced](https://gitlab.com/gitlab-org/gitlab/-/merge_requests/161615) in GitLab 17.4 [with a flag](../administration/feature_flags.md) named `virtual_registry_maven`. Disabled by default. +- Feature flag [renamed](https://gitlab.com/gitlab-org/gitlab/-/issues/540276) to `maven_virtual_registry` in GitLab 18.1. +- [Changed](https://gitlab.com/gitlab-org/gitlab/-/issues/540276) from experiment to beta in GitLab 18.1. {{< /history >}} @@ -75,6 +77,8 @@ Example response: {{< history >}} - [Introduced](https://gitlab.com/gitlab-org/gitlab/-/merge_requests/161615) in GitLab 17.4 [with a flag](../administration/feature_flags.md) named `virtual_registry_maven`. Disabled by default. +- Feature flag [renamed](https://gitlab.com/gitlab-org/gitlab/-/issues/540276) to `maven_virtual_registry` in GitLab 18.1. +- [Changed](https://gitlab.com/gitlab-org/gitlab/-/issues/540276) from experiment to beta in GitLab 18.1. {{< /history >}} @@ -119,6 +123,8 @@ Example response: {{< history >}} - [Introduced](https://gitlab.com/gitlab-org/gitlab/-/merge_requests/161615) in GitLab 17.4 [with a flag](../administration/feature_flags.md) named `virtual_registry_maven`. Disabled by default. +- Feature flag [renamed](https://gitlab.com/gitlab-org/gitlab/-/issues/540276) to `maven_virtual_registry` in GitLab 18.1. +- [Changed](https://gitlab.com/gitlab-org/gitlab/-/issues/540276) from experiment to beta in GitLab 18.1. {{< /history >}} @@ -160,6 +166,8 @@ Example response: {{< history >}} - [Introduced](https://gitlab.com/gitlab-org/gitlab/-/merge_requests/189070) in GitLab 18.0 [with a flag](../administration/feature_flags.md) named `virtual_registry_maven`. Disabled by default. +- Feature flag [renamed](https://gitlab.com/gitlab-org/gitlab/-/issues/540276) to `maven_virtual_registry` in GitLab 18.1. +- [Changed](https://gitlab.com/gitlab-org/gitlab/-/issues/540276) from experiment to beta in GitLab 18.1. {{< /history >}} @@ -192,6 +200,8 @@ If successful, returns a [`200 OK`](rest/troubleshooting.md#status-codes) status {{< history >}} - [Introduced](https://gitlab.com/gitlab-org/gitlab/-/merge_requests/161615) in GitLab 17.4 [with a flag](../administration/feature_flags.md) named `virtual_registry_maven`. Disabled by default. +- Feature flag [renamed](https://gitlab.com/gitlab-org/gitlab/-/issues/540276) to `maven_virtual_registry` in GitLab 18.1. +- [Changed](https://gitlab.com/gitlab-org/gitlab/-/issues/540276) from experiment to beta in GitLab 18.1. {{< /history >}} @@ -224,6 +234,8 @@ Use the following endpoints to configure and manage upstream Maven registries. {{< history >}} - [Introduced](https://gitlab.com/gitlab-org/gitlab/-/merge_requests/162019) in GitLab 17.4 [with a flag](../administration/feature_flags.md) named `virtual_registry_maven`. Disabled by default. +- Feature flag [renamed](https://gitlab.com/gitlab-org/gitlab/-/issues/540276) to `maven_virtual_registry` in GitLab 18.1. +- [Changed](https://gitlab.com/gitlab-org/gitlab/-/issues/540276) from experiment to beta in GitLab 18.1. {{< /history >}} @@ -274,6 +286,8 @@ Example response: {{< history >}} - [Introduced](https://gitlab.com/gitlab-org/gitlab/-/merge_requests/162019) in GitLab 17.4 [with a flag](../administration/feature_flags.md) named `virtual_registry_maven`. Disabled by default. +- Feature flag [renamed](https://gitlab.com/gitlab-org/gitlab/-/issues/540276) to `maven_virtual_registry` in GitLab 18.1. +- [Changed](https://gitlab.com/gitlab-org/gitlab/-/issues/540276) from experiment to beta in GitLab 18.1. {{< /history >}} @@ -331,6 +345,8 @@ Example response: {{< history >}} - [Introduced](https://gitlab.com/gitlab-org/gitlab/-/merge_requests/162019) in GitLab 17.4 [with a flag](../administration/feature_flags.md) named `virtual_registry_maven`. Disabled by default. +- Feature flag [renamed](https://gitlab.com/gitlab-org/gitlab/-/issues/540276) to `maven_virtual_registry` in GitLab 18.1. +- [Changed](https://gitlab.com/gitlab-org/gitlab/-/issues/540276) from experiment to beta in GitLab 18.1. {{< /history >}} @@ -375,6 +391,8 @@ Example response: {{< history >}} - [Introduced](https://gitlab.com/gitlab-org/gitlab/-/merge_requests/162019) in GitLab 17.4 [with a flag](../administration/feature_flags.md) named `virtual_registry_maven`. Disabled by default. +- Feature flag [renamed](https://gitlab.com/gitlab-org/gitlab/-/issues/540276) to `maven_virtual_registry` in GitLab 18.1. +- [Changed](https://gitlab.com/gitlab-org/gitlab/-/issues/540276) from experiment to beta in GitLab 18.1. {{< /history >}} @@ -418,6 +436,8 @@ If successful, returns a [`200 OK`](rest/troubleshooting.md#status-codes) status {{< history >}} - [Introduced](https://gitlab.com/gitlab-org/gitlab/-/merge_requests/186890) in GitLab 18.0 [with a flag](../administration/feature_flags.md) named `virtual_registry_maven`. Disabled by default. +- Feature flag [renamed](https://gitlab.com/gitlab-org/gitlab/-/issues/540276) to `maven_virtual_registry` in GitLab 18.1. +- [Changed](https://gitlab.com/gitlab-org/gitlab/-/issues/540276) from experiment to beta in GitLab 18.1. {{< /history >}} @@ -448,6 +468,8 @@ If successful, returns a [`200 OK`](rest/troubleshooting.md#status-codes) status {{< history >}} - [Introduced](https://gitlab.com/gitlab-org/gitlab/-/merge_requests/162019) in GitLab 17.4 [with a flag](../administration/feature_flags.md) named `virtual_registry_maven`. Disabled by default. +- Feature flag [renamed](https://gitlab.com/gitlab-org/gitlab/-/issues/540276) to `maven_virtual_registry` in GitLab 18.1. +- [Changed](https://gitlab.com/gitlab-org/gitlab/-/issues/540276) from experiment to beta in GitLab 18.1. {{< /history >}} @@ -480,6 +502,8 @@ Use the following endpoints to manage cache entries for a Maven virtual registry {{< history >}} - [Introduced](https://gitlab.com/gitlab-org/gitlab/-/merge_requests/162614) in GitLab 17.4 [with a flag](../administration/feature_flags.md) named `virtual_registry_maven`. Disabled by default. +- Feature flag [renamed](https://gitlab.com/gitlab-org/gitlab/-/issues/540276) to `maven_virtual_registry` in GitLab 18.1. +- [Changed](https://gitlab.com/gitlab-org/gitlab/-/issues/540276) from experiment to beta in GitLab 18.1. {{< /history >}} @@ -532,6 +556,8 @@ Example response: {{< history >}} - [Introduced](https://gitlab.com/gitlab-org/gitlab/-/merge_requests/162614) in GitLab 17.4 [with a flag](../administration/feature_flags.md) named `virtual_registry_maven`. Disabled by default. +- Feature flag [renamed](https://gitlab.com/gitlab-org/gitlab/-/issues/540276) to `maven_virtual_registry` in GitLab 18.1. +- [Changed](https://gitlab.com/gitlab-org/gitlab/-/issues/540276) from experiment to beta in GitLab 18.1. {{< /history >}} @@ -578,6 +604,8 @@ see [Maven package registry](../user/packages/maven_repository/_index.md). Undoc {{< history >}} - [Introduced](https://gitlab.com/gitlab-org/gitlab/-/merge_requests/160891) in GitLab 17.3 [with a flag](../administration/feature_flags.md) named `virtual_registry_maven`. Disabled by default. +- Feature flag [renamed](https://gitlab.com/gitlab-org/gitlab/-/issues/540276) to `maven_virtual_registry` in GitLab 18.1. +- [Changed](https://gitlab.com/gitlab-org/gitlab/-/issues/540276) from experiment to beta in GitLab 18.1. {{< /history >}} @@ -615,6 +643,8 @@ the following response headers: {{< history >}} - [Introduced](https://gitlab.com/gitlab-org/gitlab/-/merge_requests/163641) in GitLab 17.4 [with a flag](../administration/feature_flags.md) named `virtual_registry_maven`. Disabled by default. +- Feature flag [renamed](https://gitlab.com/gitlab-org/gitlab/-/issues/540276) to `maven_virtual_registry` in GitLab 18.1. +- [Changed](https://gitlab.com/gitlab-org/gitlab/-/issues/540276) from experiment to beta in GitLab 18.1. {{< /history >}} diff --git a/doc/development/documentation/experiment_beta.md b/doc/development/documentation/experiment_beta.md index 49f043300cd..646fda8966f 100644 --- a/doc/development/documentation/experiment_beta.md +++ b/doc/development/documentation/experiment_beta.md @@ -65,7 +65,7 @@ Follow these guidelines when you document GitLab Duo features. When documenting a GitLab Duo experiment: -- On the [top-level GitLab Duo page](../../user/gitlab_duo/_index.md#summary-of-gitlab-duo-features): +- On the [top-level GitLab Duo page](../../user/gitlab_duo/feature_summary.md): - Add a row to the table. - Add the feature to an area at the top of the page, near other features that are available during a similar stage of the software development lifecycle. @@ -80,7 +80,7 @@ When documenting a GitLab Duo experiment: When a GitLab Duo experiment moves to beta: -- On the [top-level GitLab Duo page](../../user/gitlab_duo/_index.md#summary-of-gitlab-duo-features), +- On the [top-level GitLab Duo page](../../user/gitlab_duo/feature_summary.md), update the row in the table. - Make sure you update the history and status values, including any [add-on information](styleguide/availability_details.md#add-ons). @@ -92,7 +92,7 @@ When a GitLab Duo experiment moves to beta: When a GitLab Duo feature becomes generally available: -- On the [top-level GitLab Duo page](../../user/gitlab_duo/_index.md#summary-of-gitlab-duo-features), +- On the [top-level GitLab Duo page](../../user/gitlab_duo/feature_summary.md), update the row in the table. - Make sure you update the history and status values, including any [add-on information](styleguide/availability_details.md#add-ons). diff --git a/doc/subscriptions/subscription-add-ons.md b/doc/subscriptions/subscription-add-ons.md index 52a8ef6297d..e5289f0ea17 100644 --- a/doc/subscriptions/subscription-add-ons.md +++ b/doc/subscriptions/subscription-add-ons.md @@ -26,7 +26,7 @@ and gain deeper insights across your projects. Three add-ons are available: GitLab Duo Core, Pro, and Enterprise. Each add-on provides access to -[a set of GitLab Duo features](../user/gitlab_duo/_index.md#summary-of-gitlab-duo-features). +[a set of GitLab Duo features](../user/gitlab_duo/feature_summary.md). ## GitLab Duo Core diff --git a/doc/user/application_security/vulnerabilities/_index.md b/doc/user/application_security/vulnerabilities/_index.md index 00ba431587f..184db7cc6a8 100644 --- a/doc/user/application_security/vulnerabilities/_index.md +++ b/doc/user/application_security/vulnerabilities/_index.md @@ -65,6 +65,8 @@ GitLab can help you with a vulnerability by using a large language model to: - Help developers and security analysts to understand the vulnerability, how it could be exploited, and how to fix it. - Provide a suggested mitigation. + [Watch an overview](https://www.youtube.com/watch?v=MMVFvGrmMzw&list=PLFGfElNsQthZGazU1ZdfDpegu0HflunXW) + ### Vulnerability Explanation Explain a vulnerability with GitLab Duo Vulnerability Explanation. Use the explanation to better @@ -137,6 +139,8 @@ You should always review the proposed change before merging it. When reviewing, - Your application's existing functionality is preserved. - The vulnerability is resolved in accordance with your organization's standards. + [Watch an overview](https://www.youtube.com/watch?v=VJmsw_C125E&list=PLFGfElNsQthZGazU1ZdfDpegu0HflunXW) + Prerequisites: - You must have the GitLab Ultimate subscription tier and GitLab Duo Enterprise. diff --git a/doc/user/discussions/_index.md b/doc/user/discussions/_index.md index f6702b836f1..4160dbd9436 100644 --- a/doc/user/discussions/_index.md +++ b/doc/user/discussions/_index.md @@ -386,6 +386,9 @@ such as: Generate a summary of discussions on an issue. + [Watch an overview](https://www.youtube.com/watch?v=IcdxLfTIUgc) + + Prerequisites: - You must have permission to view the issue. diff --git a/doc/user/get_started/getting_started_gitlab_duo.md b/doc/user/get_started/getting_started_gitlab_duo.md index dc5abdb66a9..e2796a09c7a 100644 --- a/doc/user/get_started/getting_started_gitlab_duo.md +++ b/doc/user/get_started/getting_started_gitlab_duo.md @@ -28,7 +28,7 @@ can check the health of the installation. For more information, see: -- [GitLab Duo features by add-on](../gitlab_duo/_index.md#summary-of-gitlab-duo-features). +- [GitLab Duo features by add-on](../gitlab_duo/feature_summary.md). - [How to purchase an add-on](../../subscriptions/subscription-add-ons.md). - [GitLab Duo Self-Hosted](../../administration/gitlab_duo_self_hosted/_index.md). - [Health check details](../gitlab_duo/setup.md#run-a-health-check-for-gitlab-duo). diff --git a/doc/user/gitlab_duo/_index.md b/doc/user/gitlab_duo/_index.md index dcb49230799..aa3e2f84ee3 100644 --- a/doc/user/gitlab_duo/_index.md +++ b/doc/user/gitlab_duo/_index.md @@ -20,140 +20,10 @@ These features aim to help increase velocity and solve key pain points across th GitLab Duo features are available in [IDE extensions](../../editor_extensions/_index.md) and the GitLab UI. Some features are also available as part of [GitLab Duo Chat](../gitlab_duo_chat_examples.md). -- [Get started with GitLab Duo](../get_started/getting_started_gitlab_duo.md). -- [View a walkthrough of GitLab Duo Enterprise features](https://gitlab.navattic.com/duo-enterprise). +{{< walkthrough data="duo-walkthrough" >}} -## GitLab Duo language models +- [View list of all GitLab Duo features](feature_summary.md) +- [Set up GitLab Duo on Self-Managed GitLab](setup.md) +- [Use your own models with GitLab Duo Self-Hosted](../../administration/gitlab_duo_self_hosted/_index.md) -The language models that are the source for GitLab Duo depend on where you're using it. - -- On GitLab.com: GitLab hosts the models and connects to them through the cloud-based AI gateway. -- On GitLab Self-Managed, two options exist: - - - **GitLab** can [host the models and the cloud-based AI gateway](setup.md). - - **Your organization** can [use GitLab Duo Self-Hosted](../../administration/gitlab_duo_self_hosted/_index.md), - which means you host the AI gateway and language models. You can use GitLab AI vendor models - or the other supported language models. - [Watch overview](https://youtu.be/TQoO3sFnb28?si=w_gFAYLYIzPEbhEl) - - -## Working across the entire software development lifecycle - -To improve your workflow across the entire software development lifecycle, try these features: - -- [GitLab Duo Chat](../gitlab_duo_chat/_index.md): Write and understand code, get up to speed on the status of projects, - and learn about GitLab by asking your questions in a chat window. - [Watch overview](https://www.youtube.com/watch?v=ZQBAuf-CTAY) - -- [GitLab Duo Workflow](../duo_workflow/_index.md): Automate tasks and help increase productivity in your development workflow. -- [AI Impact Dashboard](../analytics/ai_impact_analytics.md): Measure the AI effectiveness and impact on SDLC metrics. - -## Planning work - -To improve your workflow while planning work, try these features: - -- [Issue Description Generation](../project/issues/managing_issues.md#populate-an-issue-with-issue-description-generation): Generate a more in-depth issue description based on a short summary. - [Watch overview](https://www.youtube.com/watch?v=-BWBQat7p5M) - -- [Discussion Summary](../discussions/_index.md#summarize-issue-discussions-with-duo-chat): Summarize lengthy conversations in an issue. - [Watch overview](https://www.youtube.com/watch?v=IcdxLfTIUgc) - - -## Authoring code - -To improve your workflow while authoring code, try these features: - -- [Code Suggestions](../project/repository/code_suggestions/_index.md): Generate code and show suggestions as you type. - [Watch overview](https://youtu.be/ds7SG1wgcVM) -- Code Explanation: Have code explained. View docs for explaining code in: - - - [The IDE](../gitlab_duo_chat/examples.md#explain-selected-code). - - [A file](../project/repository/code_explain.md). - - [A merge request](../project/merge_requests/changes.md#explain-code-in-a-merge-request). - - [Watch overview](https://youtu.be/1izKaLmmaCA?si=O2HDokLLujRro_3O) - -- [Test Generation](../gitlab_duo_chat/examples.md#write-tests-in-the-ide): Test your code by generating tests. - [Watch overview](https://www.youtube.com/watch?v=zWhwuixUkYU) -- [Refactor Code](../gitlab_duo_chat/examples.md#refactor-code-in-the-ide): Improve or refactor the selected code. - [Watch overview](https://youtu.be/oxziu7_mWVk?si=fS2JUO-8doARS169) -- [Fix Code](../gitlab_duo_chat/examples.md#fix-code-in-the-ide): Fix quality problems, like bugs or typos, in the selected code. -- [GitLab Duo for the CLI](../../editor_extensions/gitlab_cli/_index.md#gitlab-duo-for-the-cli): Discover or recall `git` commands. - -## Reviewing code - -To improve your workflow while reviewing code in merge requests, try these features: - -- [Merge Request Summary](../project/merge_requests/duo_in_merge_requests.md#generate-a-description-by-summarizing-code-changes): Generate a description based on the code changes. - [Watch overview](https://www.youtube.com/watch?v=CKjkVsfyFd8&list=PLFGfElNsQthZGazU1ZdfDpegu0HflunXW) -- [Code Review](../project/merge_requests/duo_in_merge_requests.md#have-gitlab-duo-review-your-code): Review proposed code changes. -- [Code Review Summary](../project/merge_requests/duo_in_merge_requests.md#summarize-a-code-review): Summarize all the comments in a review. - [Watch overview](https://www.youtube.com/watch?v=Bx6Zajyuy9k) -- [Merge Commit Message Generation](../project/merge_requests/duo_in_merge_requests.md#generate-a-merge-commit-message): Generate commit messages. - [Watch overview](https://www.youtube.com/watch?v=fUHPNT4uByQ) - -## Testing and deploying code - -To improve your testing and deployment workflow, try these features: - -- [Root Cause Analysis](../gitlab_duo_chat/examples.md#troubleshoot-failed-cicd-jobs-with-root-cause-analysis): Research the root cause for a CI/CD job failure by analyzing the logs. - [Watch overview](https://www.youtube.com/watch?v=MLjhVbMjFAY&list=PLFGfElNsQthZGazU1ZdfDpegu0HflunXW) - -## Securing code - -To improve your security, try these features: - -- [Vulnerability Explanation](../application_security/vulnerabilities/_index.md#explaining-a-vulnerability): Learn more about vulnerabilities, how they can be exploited, and how to fix them. - [Watch overview](https://www.youtube.com/watch?v=MMVFvGrmMzw&list=PLFGfElNsQthZGazU1ZdfDpegu0HflunXW) -- [Vulnerability Resolution](../application_security/vulnerabilities/_index.md#vulnerability-resolution): Generate a merge request that addresses a vulnerability. - [Watch overview](https://www.youtube.com/watch?v=VJmsw_C125E&list=PLFGfElNsQthZGazU1ZdfDpegu0HflunXW) - -## Summary of GitLab Duo features - -The following features are generally available on GitLab.com, GitLab Self-Managed, and GitLab Dedicated. - -They require a Premium or Ultimate subscription and one of the available add-ons. - -| Feature | GitLab Duo Core | GitLab Duo Pro | GitLab Duo Enterprise | -|---------|----------|---------|----------------| -| [Code Suggestions](../project/repository/code_suggestions/_index.md) | {{< icon name="check-circle-filled" >}} Yes | {{< icon name="check-circle-filled" >}} Yes | {{< icon name="check-circle-filled" >}} Yes | -| [GitLab Duo Chat](../gitlab_duo_chat/_index.md) in IDEs | {{< icon name="check-circle-filled" >}} Yes | {{< icon name="check-circle-filled" >}} Yes | {{< icon name="check-circle-filled" >}} Yes | -| [Code Explanation](../gitlab_duo_chat/examples.md#explain-selected-code) in IDEs | {{< icon name="check-circle-filled" >}} Yes | {{< icon name="check-circle-filled" >}} Yes | {{< icon name="check-circle-filled" >}} Yes | -| [Refactor Code](../gitlab_duo_chat/examples.md#refactor-code-in-the-ide) in IDEs | {{< icon name="check-circle-filled" >}} Yes | {{< icon name="check-circle-filled" >}} Yes | {{< icon name="check-circle-filled" >}} Yes | -| [Fix Code](../gitlab_duo_chat/examples.md#fix-code-in-the-ide) in IDEs | {{< icon name="check-circle-filled" >}} Yes | {{< icon name="check-circle-filled" >}} Yes | {{< icon name="check-circle-filled" >}} Yes | -| [Test Generation](../gitlab_duo_chat/examples.md#write-tests-in-the-ide) in IDEs | {{< icon name="check-circle-filled" >}} Yes | {{< icon name="check-circle-filled" >}} Yes | {{< icon name="check-circle-filled" >}} Yes | -| [GitLab Duo Chat](../gitlab_duo_chat/_index.md) in GitLab UI | {{< icon name="dash-circle" >}} No | {{< icon name="check-circle-filled" >}} Yes | {{< icon name="check-circle-filled" >}} Yes | -| [Code Explanation](../project/repository/code_explain.md) in GitLab UI | {{< icon name="dash-circle" >}} No | {{< icon name="check-circle-filled" >}} Yes | {{< icon name="check-circle-filled" >}} Yes | -| [Discussion Summary](../discussions/_index.md#summarize-issue-discussions-with-duo-chat) | {{< icon name="dash-circle" >}} No | {{< icon name="dash-circle" >}} No | {{< icon name="check-circle-filled" >}} Yes | -| [GitLab Duo for the CLI](../../editor_extensions/gitlab_cli/_index.md#gitlab-duo-for-the-cli) | {{< icon name="dash-circle" >}} No | {{< icon name="dash-circle" >}} No | {{< icon name="check-circle-filled" >}} Yes | -| [Merge Commit Message Generation](../project/merge_requests/duo_in_merge_requests.md#generate-a-merge-commit-message) | {{< icon name="dash-circle" >}} No | {{< icon name="dash-circle" >}} No | {{< icon name="check-circle-filled" >}} Yes | -| [Root Cause Analysis](../gitlab_duo_chat/examples.md#troubleshoot-failed-cicd-jobs-with-root-cause-analysis) | {{< icon name="dash-circle" >}} No | {{< icon name="dash-circle" >}} No | {{< icon name="check-circle-filled" >}} Yes | -| [Vulnerability Explanation](../application_security/vulnerabilities/_index.md#explaining-a-vulnerability) | {{< icon name="dash-circle" >}} No | {{< icon name="dash-circle" >}} No | {{< icon name="check-circle-filled" >}} Yes | -| [Vulnerability Resolution](../application_security/vulnerabilities/_index.md#vulnerability-resolution) | {{< icon name="dash-circle" >}} No | {{< icon name="dash-circle" >}} No | {{< icon name="check-circle-filled" >}} Yes | -| [AI Impact Dashboard](../analytics/ai_impact_analytics.md) | {{< icon name="dash-circle" >}} No | {{< icon name="dash-circle" >}} No | {{< icon name="check-circle-filled" >}} Yes | - -### Features available in GitLab Duo Self-Hosted - -Your organization can use [GitLab Duo Self-Hosted](../../administration/gitlab_duo_self_hosted/_index.md) -to self-host the AI gateway and language models if you: - -- Have the GitLab Duo Enterprise add-on. -- Are a GitLab Self-Managed customer. - -To check which GitLab Duo features are available for use with GitLab Duo Self-Hosted, -and the status of those features, see the -[supported GitLab Duo features for GitLab Duo Self-Hosted](../../administration/gitlab_duo_self_hosted/_index.md#supported-gitlab-duo-features). - -### Beta and experimental features - -The following features are not generally available. - -They require a Premium or Ultimate subscription and one of the available add-ons. - -| Feature | GitLab Duo Core | GitLab Duo Pro | GitLab Duo Enterprise | GitLab.com | GitLab Self-Managed | GitLab Dedicated | GitLab Duo Self-Hosted | -|---------|----------|---------|----------------|-----------|-------------|-----------|------------------------| -| [Code Review Summary](../project/merge_requests/duo_in_merge_requests.md#summarize-a-code-review) | {{< icon name="dash-circle" >}} No | {{< icon name="dash-circle" >}} No | {{< icon name="check-circle-filled" >}} Yes | Experiment | Experiment | {{< icon name="dash-circle" >}} No | Experiment | -| [Issue Description Generation](../project/issues/managing_issues.md#populate-an-issue-with-issue-description-generation) | {{< icon name="dash-circle" >}} No | {{< icon name="dash-circle" >}} No | {{< icon name="check-circle-filled" >}} Yes | Experiment | {{< icon name="dash-circle" >}} No | {{< icon name="dash-circle" >}} No | N/A | -| [Code Review](../project/merge_requests/duo_in_merge_requests.md#have-gitlab-duo-review-your-code) | {{< icon name="dash-circle" >}} No | {{< icon name="dash-circle" >}} No | {{< icon name="check-circle-filled" >}} Yes | Beta | Beta | Beta | N/A | -| [Merge Request Summary](../project/merge_requests/duo_in_merge_requests.md#generate-a-description-by-summarizing-code-changes) | {{< icon name="dash-circle" >}} No | {{< icon name="dash-circle" >}} No | {{< icon name="check-circle-filled" >}} Yes | Beta | Beta | {{< icon name="dash-circle" >}} No | Beta | - -[GitLab Duo Workflow](../duo_workflow/_index.md) is in private beta, does not require an add-on, and is not supported for GitLab Duo Self-Hosted. +{{< /walkthrough >}} diff --git a/doc/user/gitlab_duo/feature_summary.md b/doc/user/gitlab_duo/feature_summary.md new file mode 100644 index 00000000000..357c9652036 --- /dev/null +++ b/doc/user/gitlab_duo/feature_summary.md @@ -0,0 +1,50 @@ +--- +stage: AI-powered +group: AI Framework +info: To determine the technical writer assigned to the Stage/Group associated with this page, see https://handbook.gitlab.com/handbook/product/ux/technical-writing/#assignments +description: AI-native features and functionality. +title: Summary of GitLab Duo features +--- + +The following features are generally available on GitLab.com, GitLab Self-Managed, and GitLab Dedicated. + +They require a Premium or Ultimate subscription and one of the available add-ons. + +| Feature | GitLab Duo Core | GitLab Duo Pro | GitLab Duo Enterprise | +|---------|----------|---------|----------------| +| [Code Suggestions](../project/repository/code_suggestions/_index.md) | {{< icon name="check-circle-filled" >}} Yes | {{< icon name="check-circle-filled" >}} Yes | {{< icon name="check-circle-filled" >}} Yes | +| [GitLab Duo Chat](../gitlab_duo_chat/_index.md) in IDEs | {{< icon name="check-circle-filled" >}} Yes | {{< icon name="check-circle-filled" >}} Yes | {{< icon name="check-circle-filled" >}} Yes | +| [Code Explanation](../gitlab_duo_chat/examples.md#explain-selected-code) in IDEs | {{< icon name="check-circle-filled" >}} Yes | {{< icon name="check-circle-filled" >}} Yes | {{< icon name="check-circle-filled" >}} Yes | +| [Refactor Code](../gitlab_duo_chat/examples.md#refactor-code-in-the-ide) in IDEs | {{< icon name="check-circle-filled" >}} Yes | {{< icon name="check-circle-filled" >}} Yes | {{< icon name="check-circle-filled" >}} Yes | +| [Fix Code](../gitlab_duo_chat/examples.md#fix-code-in-the-ide) in IDEs | {{< icon name="check-circle-filled" >}} Yes | {{< icon name="check-circle-filled" >}} Yes | {{< icon name="check-circle-filled" >}} Yes | +| [Test Generation](../gitlab_duo_chat/examples.md#write-tests-in-the-ide) in IDEs | {{< icon name="check-circle-filled" >}} Yes | {{< icon name="check-circle-filled" >}} Yes | {{< icon name="check-circle-filled" >}} Yes | +| [GitLab Duo Chat](../gitlab_duo_chat/_index.md) in GitLab UI | {{< icon name="dash-circle" >}} No | {{< icon name="check-circle-filled" >}} Yes | {{< icon name="check-circle-filled" >}} Yes | +| [Code Explanation](../project/repository/code_explain.md) in GitLab UI | {{< icon name="dash-circle" >}} No | {{< icon name="check-circle-filled" >}} Yes | {{< icon name="check-circle-filled" >}} Yes | +| [Discussion Summary](../discussions/_index.md#summarize-issue-discussions-with-duo-chat) | {{< icon name="dash-circle" >}} No | {{< icon name="dash-circle" >}} No | {{< icon name="check-circle-filled" >}} Yes | +| [GitLab Duo for the CLI](../../editor_extensions/gitlab_cli/_index.md#gitlab-duo-for-the-cli) | {{< icon name="dash-circle" >}} No | {{< icon name="dash-circle" >}} No | {{< icon name="check-circle-filled" >}} Yes | +| [Merge Commit Message Generation](../project/merge_requests/duo_in_merge_requests.md#generate-a-merge-commit-message) | {{< icon name="dash-circle" >}} No | {{< icon name="dash-circle" >}} No | {{< icon name="check-circle-filled" >}} Yes | +| [Root Cause Analysis](../gitlab_duo_chat/examples.md#troubleshoot-failed-cicd-jobs-with-root-cause-analysis) | {{< icon name="dash-circle" >}} No | {{< icon name="dash-circle" >}} No | {{< icon name="check-circle-filled" >}} Yes | +| [Vulnerability Explanation](../application_security/vulnerabilities/_index.md#explaining-a-vulnerability) | {{< icon name="dash-circle" >}} No | {{< icon name="dash-circle" >}} No | {{< icon name="check-circle-filled" >}} Yes | +| [Vulnerability Resolution](../application_security/vulnerabilities/_index.md#vulnerability-resolution) | {{< icon name="dash-circle" >}} No | {{< icon name="dash-circle" >}} No | {{< icon name="check-circle-filled" >}} Yes | +| [AI Impact Dashboard](../analytics/ai_impact_analytics.md) | {{< icon name="dash-circle" >}} No | {{< icon name="dash-circle" >}} No | {{< icon name="check-circle-filled" >}} Yes | + +In addition: + +- All GitLab Duo Core and Pro features include generally available support for + [GitLab Duo Self-Hosted](../../administration/gitlab_duo_self_hosted/_index.md). +- All GitLab Duo Enterprise-only features include beta support for GitLab Duo Self-Hosted. + +## Beta and experimental features + +The following features are not generally available. + +They require a Premium or Ultimate subscription and one of the available add-ons. + +| Feature | GitLab Duo Core | GitLab Duo Pro | GitLab Duo Enterprise | GitLab.com | GitLab Self-Managed | GitLab Dedicated | GitLab Duo Self-Hosted | +|---------|----------|---------|----------------|-----------|-------------|-----------|------------------------| +| [Code Review Summary](../project/merge_requests/duo_in_merge_requests.md#summarize-a-code-review) | {{< icon name="dash-circle" >}} No | {{< icon name="dash-circle" >}} No | {{< icon name="check-circle-filled" >}} Yes | Experiment | Experiment | {{< icon name="dash-circle" >}} No | Experiment | +| [Issue Description Generation](../project/issues/managing_issues.md#populate-an-issue-with-issue-description-generation) | {{< icon name="dash-circle" >}} No | {{< icon name="dash-circle" >}} No | {{< icon name="check-circle-filled" >}} Yes | Experiment | {{< icon name="dash-circle" >}} No | {{< icon name="dash-circle" >}} No | N/A | +| [Code Review](../project/merge_requests/duo_in_merge_requests.md#have-gitlab-duo-review-your-code) | {{< icon name="dash-circle" >}} No | {{< icon name="dash-circle" >}} No | {{< icon name="check-circle-filled" >}} Yes | Beta | Beta | Beta | N/A | +| [Merge Request Summary](../project/merge_requests/duo_in_merge_requests.md#generate-a-description-by-summarizing-code-changes) | {{< icon name="dash-circle" >}} No | {{< icon name="dash-circle" >}} No | {{< icon name="check-circle-filled" >}} Yes | Beta | Beta | {{< icon name="dash-circle" >}} No | Beta | + +[GitLab Duo Workflow](../duo_workflow/_index.md) is in private beta, does not require an add-on, and is not supported for GitLab Duo Self-Hosted. diff --git a/doc/user/gitlab_duo/setup.md b/doc/user/gitlab_duo/setup.md index 509dc53b47b..cbbe157b358 100644 --- a/doc/user/gitlab_duo/setup.md +++ b/doc/user/gitlab_duo/setup.md @@ -2,6 +2,7 @@ stage: AI-powered group: AI Framework info: To determine the technical writer assigned to the Stage/Group associated with this page, see https://handbook.gitlab.com/handbook/product/ux/technical-writing/#assignments +description: Ensure GitLab Duo is configured and operating correctly. title: Configure GitLab Duo on a GitLab Self-Managed instance gitlab_dedicated: no --- diff --git a/doc/user/gitlab_duo_chat/_index.md b/doc/user/gitlab_duo_chat/_index.md index acfd42147fb..eccad5dbbaf 100644 --- a/doc/user/gitlab_duo_chat/_index.md +++ b/doc/user/gitlab_duo_chat/_index.md @@ -35,6 +35,9 @@ contextual, conversational AI. Chat: - 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. + [Watch an overview](https://www.youtube.com/watch?v=ZQBAuf-CTAY) + + ## Supported editor extensions You can use GitLab Duo Chat in: diff --git a/doc/user/gitlab_duo_chat/examples.md b/doc/user/gitlab_duo_chat/examples.md index 586aa20c9de..320741a93db 100644 --- a/doc/user/gitlab_duo_chat/examples.md +++ b/doc/user/gitlab_duo_chat/examples.md @@ -451,8 +451,11 @@ You can include additional instructions to be considered. For example: - Focus on performance, for example `/refactor improving performance`. - Focus on potential vulnerabilities, for example `/refactor avoiding memory leaks and exploits`. -For more information, see [Application modernization with GitLab Duo (C++ to Java)](https://youtu.be/FjoAmt5eeXA?si=SLv9Mv8eSUAVwW5Z). +For more information, see: + +- [Application modernization with GitLab Duo (C++ to Java)](https://youtu.be/FjoAmt5eeXA?si=SLv9Mv8eSUAVwW5Z). +- [Watch an overview](https://youtu.be/oxziu7_mWVk?si=fS2JUO-8doARS169) ## Fix code in the IDE @@ -526,6 +529,8 @@ You can include additional instructions to be considered. For example: For more information, see [Use GitLab Duo Chat in VS Code](_index.md#use-gitlab-duo-chat-in-vs-code). + [Watch an overview](https://www.youtube.com/watch?v=zWhwuixUkYU) + ## Ask about CI/CD {{< details >}} @@ -593,6 +598,8 @@ It analyzes the last 100,000 characters of the job log to determine the cause of You can access this feature either from the **Pipelines** tab in merge requests or directly from the job log. + [Watch overview](https://www.youtube.com/watch?v=MLjhVbMjFAY&list=PLFGfElNsQthZGazU1ZdfDpegu0HflunXW) + Root Cause Analysis does not support: - Trigger jobs diff --git a/doc/user/group/issues_analytics/_index.md b/doc/user/group/issues_analytics/_index.md index 5c81b20cd99..44bc1f0c005 100644 --- a/doc/user/group/issues_analytics/_index.md +++ b/doc/user/group/issues_analytics/_index.md @@ -68,3 +68,5 @@ You can also access issue analytics from the [Value Streams Dashboard](../../ana Enhanced issue analytics display the additional metric `Issues closed`, which represents the total number of resolved issues in your group over a selected period. You can use this metric to improve the overall turn-around time and value delivered to your customers. + +![Enhanced issue analytics bar chart and table for a group](img/enhanced_issue_analytics_v17_8.png) diff --git a/doc/user/group/issues_analytics/img/enhanced_issue_analytics_v17_8.png b/doc/user/group/issues_analytics/img/enhanced_issue_analytics_v17_8.png new file mode 100644 index 00000000000..454ed8528c7 Binary files /dev/null and b/doc/user/group/issues_analytics/img/enhanced_issue_analytics_v17_8.png differ diff --git a/doc/user/group/issues_analytics/img/issue_analytics_v17_8.png b/doc/user/group/issues_analytics/img/issue_analytics_v17_8.png index 454ed8528c7..9e9fdbd66e3 100644 Binary files a/doc/user/group/issues_analytics/img/issue_analytics_v17_8.png and b/doc/user/group/issues_analytics/img/issue_analytics_v17_8.png differ diff --git a/doc/user/packages/virtual_registry/_index.md b/doc/user/packages/virtual_registry/_index.md index d2f19080ddc..64649b58506 100644 --- a/doc/user/packages/virtual_registry/_index.md +++ b/doc/user/packages/virtual_registry/_index.md @@ -9,13 +9,15 @@ title: Virtual registry - Tier: Premium, Ultimate - Offering: GitLab.com, GitLab Self-Managed -- Status: Experiment +- Status: Beta {{< /details >}} {{< history >}} - [Introduced](https://gitlab.com/groups/gitlab-org/-/epics/14137) in GitLab 18.0 [with a flag](../../../administration/feature_flags.md) named `virtual_registry_maven`. Disabled by default. +- Feature flag [renamed](https://gitlab.com/gitlab-org/gitlab/-/issues/540276) to `maven_virtual_registry` in GitLab 18.1. +- [Changed](https://gitlab.com/gitlab-org/gitlab/-/issues/540276) from experiment to beta in GitLab 18.1. {{< /history >}} @@ -23,7 +25,7 @@ title: Virtual registry The availability of this feature is controlled by a feature flag. For more information, see the history. -This feature is available in [experiment](../../../policy/development_stages_support.md#experiment). +This feature is available in [beta](../../../policy/development_stages_support.md#beta). Review the documentation carefully before you use this feature. {{< /alert >}} diff --git a/doc/user/packages/virtual_registry/maven/_index.md b/doc/user/packages/virtual_registry/maven/_index.md index b2799e7d034..ec73b406eaa 100644 --- a/doc/user/packages/virtual_registry/maven/_index.md +++ b/doc/user/packages/virtual_registry/maven/_index.md @@ -9,13 +9,15 @@ title: Maven virtual registry - Tier: Premium, Ultimate - Offering: GitLab.com, GitLab Self-Managed -- Status: Experiment +- Status: Beta {{< /details >}} {{< history >}} - [Introduced](https://gitlab.com/groups/gitlab-org/-/epics/14137) in GitLab 18.0 [with a flag](../../../../administration/feature_flags.md) named `virtual_registry_maven`. Disabled by default. +- Feature flag [renamed](https://gitlab.com/gitlab-org/gitlab/-/issues/540276) to `maven_virtual_registry` in GitLab 18.1. +- [Changed](https://gitlab.com/gitlab-org/gitlab/-/issues/540276) from experiment to beta in GitLab 18.1. {{< /history >}} @@ -23,7 +25,7 @@ title: Maven virtual registry The availability of this feature is controlled by a feature flag. For more information, see the history. -This feature is available in [experiment](../../../../policy/development_stages_support.md#experiment). +This feature is available in [beta](../../../../policy/development_stages_support.md#beta). Review the documentation carefully before you use this feature. {{< /alert >}} diff --git a/doc/user/project/issues/managing_issues.md b/doc/user/project/issues/managing_issues.md index 13b5ee0000f..982231a7f5a 100644 --- a/doc/user/project/issues/managing_issues.md +++ b/doc/user/project/issues/managing_issues.md @@ -64,6 +64,9 @@ To edit an issue: Generate a detailed description for an issue based on a short summary you provide. + [Watch an overview](https://www.youtube.com/watch?v=-BWBQat7p5M) + + Prerequisites: - You must belong to at least one group with the [experiment and beta features setting](../../gitlab_duo/turn_on_off.md#turn-on-beta-and-experimental-features) enabled. diff --git a/doc/user/project/merge_requests/changes.md b/doc/user/project/merge_requests/changes.md index 900dd189102..ca68352e127 100644 --- a/doc/user/project/merge_requests/changes.md +++ b/doc/user/project/merge_requests/changes.md @@ -267,6 +267,9 @@ If you spend a lot of time trying to understand code that others have created, o you struggle to understand code written in a language you are not familiar with, you can ask GitLab Duo to explain the code to you. +- [Watch an overview](https://youtu.be/1izKaLmmaCA?si=O2HDokLLujRro_3O) + + Prerequisites: - You must belong to at least one group with the diff --git a/doc/user/project/merge_requests/duo_in_merge_requests.md b/doc/user/project/merge_requests/duo_in_merge_requests.md index f364565e191..1f094e173bd 100644 --- a/doc/user/project/merge_requests/duo_in_merge_requests.md +++ b/doc/user/project/merge_requests/duo_in_merge_requests.md @@ -43,6 +43,8 @@ to create a merge request description. The description is inserted where your cursor was. + [Watch an overview](https://www.youtube.com/watch?v=CKjkVsfyFd8&list=PLFGfElNsQthZGazU1ZdfDpegu0HflunXW) + Provide feedback on this feature in [issue 443236](https://gitlab.com/gitlab-org/gitlab/-/issues/443236). Data usage: The diff of changes between the source branch's head and the target branch is sent to the large language model. @@ -156,6 +158,8 @@ When you've completed your review of a merge request and are ready to [submit yo The summary is displayed in the comment box. You can edit and refine the summary prior to submitting your review. + [Watch an overview](https://www.youtube.com/watch?v=Bx6Zajyuy9k) + Provide feedback on this experimental feature in [issue 408991](https://gitlab.com/gitlab-org/gitlab/-/issues/408991). Data usage: When you use this feature, the following data is sent to the large language model referenced above: @@ -191,6 +195,8 @@ by using GitLab Duo Merge Commit Message Generation. 1. Select **Generate commit message**. 1. Review the commit message provided and choose **Insert** to add it to the commit. + [Watch an overview](https://www.youtube.com/watch?v=fUHPNT4uByQ) + Data usage: When you use this feature, the following data is sent to the large language model: - Contents of the file diff --git a/doc/user/project/repository/code_suggestions/_index.md b/doc/user/project/repository/code_suggestions/_index.md index 119d072a966..d995bb7f886 100644 --- a/doc/user/project/repository/code_suggestions/_index.md +++ b/doc/user/project/repository/code_suggestions/_index.md @@ -35,9 +35,10 @@ title: Code Suggestions Use GitLab Duo Code Suggestions to write code more efficiently by using generative AI to suggest code while you're developing. - -[View a click-through demo](https://gitlab.navattic.com/code-suggestions). - +- + [View a click-through demo](https://gitlab.navattic.com/code-suggestions). + +- [Watch an overview](https://youtu.be/ds7SG1wgcVM) ## Prerequisites diff --git a/lib/gitlab/database_importers/work_items/base_type_importer.rb b/lib/gitlab/database_importers/work_items/base_type_importer.rb index ec1b24e0403..a0adab353f9 100644 --- a/lib/gitlab/database_importers/work_items/base_type_importer.rb +++ b/lib/gitlab/database_importers/work_items/base_type_importer.rb @@ -60,7 +60,8 @@ module Gitlab :start_and_due_date, :time_tracking, :vulnerabilities, - [:weight, { editable: true, rollup: false }] + [:weight, { editable: true, rollup: false }], + :status ], incident: [ :assignees, diff --git a/locale/gitlab.pot b/locale/gitlab.pot index c55abdd2cb6..4ccfe268392 100644 --- a/locale/gitlab.pot +++ b/locale/gitlab.pot @@ -35572,6 +35572,9 @@ msgstr "" msgid "LDAP|Server" msgstr "" +msgid "LDAP|Start typing" +msgstr "" + msgid "LDAP|Sync method" msgstr "" @@ -35584,6 +35587,9 @@ msgstr "" msgid "LDAP|User filter" msgstr "" +msgid "LDAP|View more information on %{linkStart}user filters%{linkEnd}." +msgstr "" + msgid "LDAP|You can manage permission levels for individual group members in the Members tab." msgstr "" diff --git a/qa/knapsack/example_runtimes/master_report.json b/qa/knapsack/example_runtimes/master_report.json index 4d08ddf54dd..30efd83975c 100644 --- a/qa/knapsack/example_runtimes/master_report.json +++ b/qa/knapsack/example_runtimes/master_report.json @@ -1,521 +1,523 @@ { - "./qa/specs/features/api/10_govern/group_access_token_spec.rb[1:1:1]": 19.622407143, - "./qa/specs/features/api/10_govern/group_access_token_spec.rb[1:1:2]": 13.367585937, - "./qa/specs/features/api/10_govern/project_access_token_spec.rb[1:1:1:1]": 17.809082389, - "./qa/specs/features/api/10_govern/project_access_token_spec.rb[1:1:1:2]": 15.7929937, - "./qa/specs/features/api/10_govern/project_access_token_spec.rb[1:1:2:1]": 23.979754862, - "./qa/specs/features/api/10_govern/project_access_token_spec.rb[1:1:2:2]": 18.043521259, - "./qa/specs/features/api/12_systems/gitaly/automatic_failover_and_recovery_spec.rb[1:1:1]": 66.806835574, - "./qa/specs/features/api/12_systems/gitaly/automatic_failover_and_recovery_spec.rb[1:1:2:1]": 31.16457133, - "./qa/specs/features/api/12_systems/gitaly/backend_node_recovery_spec.rb[1:1:1]": 99.394917952, - "./qa/specs/features/api/12_systems/gitaly/distributed_reads_spec.rb[1:1:1]": 52.596430217, - "./qa/specs/features/api/12_systems/gitaly/distributed_reads_spec.rb[1:1:2:1]": 58.606479186, - "./qa/specs/features/api/12_systems/gitaly/gitaly_mtls_spec.rb[1:1:1]": 23.128792633, - "./qa/specs/features/api/1_manage/import/import_github_repo_spec.rb[1:1:1:1]": 98.601690677, - "./qa/specs/features/api/1_manage/integrations/webhook_events_spec.rb[1:1:1]": 12.579267718, - "./qa/specs/features/api/1_manage/integrations/webhook_events_spec.rb[1:1:2]": 12.138697134, - "./qa/specs/features/api/1_manage/integrations/webhook_events_spec.rb[1:1:3]": 15.831599416, - "./qa/specs/features/api/1_manage/integrations/webhook_events_spec.rb[1:1:4]": 11.951984228, - "./qa/specs/features/api/1_manage/integrations/webhook_events_spec.rb[1:1:5]": 11.382760942, - "./qa/specs/features/api/1_manage/migration/gitlab_migration_group_spec.rb[1:1:2:1]": 60.555716827, - "./qa/specs/features/api/1_manage/migration/gitlab_migration_issue_spec.rb[1:1:2:1]": 95.74637414, - "./qa/specs/features/api/1_manage/migration/gitlab_migration_issue_spec.rb[1:1:3:1]": 89.373776451, - "./qa/specs/features/api/1_manage/migration/gitlab_migration_pipeline_spec.rb[1:1:1:1]": 97.451122042, - "./qa/specs/features/api/1_manage/migration/gitlab_migration_project_spec.rb[1:1:4:1]": 101.663654195, - "./qa/specs/features/api/1_manage/rate_limits_spec.rb[1:1:1]": 14.907381728, - "./qa/specs/features/api/2_plan/closes_issue_via_pushing_a_commit_spec.rb[1:1:1]": 25.755076546, - "./qa/specs/features/api/3_create/merge_request/push_options_mwps_spec.rb[1:1:1]": 16.82332341, - "./qa/specs/features/api/3_create/merge_request/push_options_remove_source_branch_spec.rb[1:1:1]": 22.433046338, - "./qa/specs/features/api/3_create/merge_request/push_options_spec.rb[1:1:1]": 15.885700713, - "./qa/specs/features/api/3_create/merge_request/push_options_spec.rb[1:1:2]": 23.919461707, - "./qa/specs/features/api/3_create/merge_request/view_merge_requests_spec.rb[1:1:1:1]": 1.38181908, - "./qa/specs/features/api/3_create/repository/add_list_delete_branches_spec.rb[1:1:1]": 25.431371545, - "./qa/specs/features/api/3_create/repository/commit_to_templated_project_spec.rb[1:1:1]": 22.631262867, - "./qa/specs/features/api/3_create/repository/default_branch_name_setting_spec.rb[1:1:1]": 10.744866525, - "./qa/specs/features/api/3_create/repository/default_branch_name_setting_spec.rb[1:1:2]": 16.048828318, - "./qa/specs/features/api/3_create/repository/project_archive_compare_spec.rb[1:1:1]": 16.670677201, - "./qa/specs/features/api/3_create/repository/push_postreceive_idempotent_spec.rb[1:1:1]": 25.454150535, - "./qa/specs/features/api/3_create/repository/storage_size_spec.rb[1:1:1]": 28.961005929, - "./qa/specs/features/api/3_create/repository/tag_revision_trigger_prereceive_hook_spec.rb[1:1:1:1:1]": 10.547959073, - "./qa/specs/features/api/4_verify/api_variable_inheritance_with_forward_pipeline_variables_spec.rb[1:1:1]": 95.84142065, - "./qa/specs/features/api/4_verify/cancel_pipeline_when_block_user_spec.rb[1:1:1]": 26.575834034, - "./qa/specs/features/api/4_verify/file_variable_spec.rb[1:1:1]": 38.339438099, - "./qa/specs/features/api/4_verify/file_variable_spec.rb[1:1:2]": 22.450624381, - "./qa/specs/features/api/4_verify/job_downloads_artifacts_spec.rb[1:1:1]": 39.828565691, - "./qa/specs/features/api/5_package/container_registry/saas/container_registry_spec.rb[1:1:1]": 69.770433031, - "./qa/specs/features/api/8_monitor/metrics_spec.rb[1:1:2:1]": 3.441019971, - "./qa/specs/features/api/8_monitor/metrics_spec.rb[1:2:1:1]": 2.555842671, - "./qa/specs/features/api/9_tenant_scale/user_inherited_access_spec.rb[1:1:1:1]": 19.348896522, - "./qa/specs/features/api/9_tenant_scale/user_inherited_access_spec.rb[1:1:1:2]": 24.170824672, - "./qa/specs/features/api/9_tenant_scale/user_inherited_access_spec.rb[1:1:1:3]": 14.626259052, - "./qa/specs/features/api/9_tenant_scale/user_inherited_access_spec.rb[1:1:2:1]": 51.001471196, - "./qa/specs/features/api/9_tenant_scale/user_inherited_access_spec.rb[1:1:2:2]": 23.674467476, - "./qa/specs/features/api/9_tenant_scale/user_inherited_access_spec.rb[1:1:2:3]": 13.010208369, - "./qa/specs/features/api/9_tenant_scale/users_spec.rb[1:1:1]": 1.336549888, - "./qa/specs/features/api/9_tenant_scale/users_spec.rb[1:1:2]": 1.366246076, - "./qa/specs/features/api/9_tenant_scale/users_spec.rb[1:1:3]": 1.184921356, - "./qa/specs/features/browser_ui/10_govern/group/group_access_token_spec.rb[1:1:1]": 18.955245548, - "./qa/specs/features/browser_ui/10_govern/login/2fa_recovery_spec.rb[1:1:1]": 51.379482902, - "./qa/specs/features/browser_ui/10_govern/login/2fa_ssh_recovery_spec.rb[1:1:1]": 63.15838517, - "./qa/specs/features/browser_ui/10_govern/login/log_in_spec.rb[1:1:1]": 13.427990734, - "./qa/specs/features/browser_ui/10_govern/login/log_in_with_2fa_spec.rb[1:1:1]": 94.549567111, - "./qa/specs/features/browser_ui/10_govern/login/log_into_gitlab_via_ldap_spec.rb[1:1:1]": 4.26200593, - "./qa/specs/features/browser_ui/10_govern/login/log_into_mattermost_via_gitlab_spec.rb[1:1:1]": 30.355360322, - "./qa/specs/features/browser_ui/10_govern/login/login_via_instance_wide_saml_sso_spec.rb[1:1:1]": 16.78395848, - "./qa/specs/features/browser_ui/10_govern/login/oauth_login_with_github_spec.rb[1:1:1]": 41.820836674, - "./qa/specs/features/browser_ui/10_govern/login/register_spec.rb[1:1:1]": 5.349373207, - "./qa/specs/features/browser_ui/10_govern/login/register_spec.rb[1:2:1:1:1]": 30.407343205, - "./qa/specs/features/browser_ui/10_govern/login/register_spec.rb[1:2:1:2:1]": 11.27543333, - "./qa/specs/features/browser_ui/10_govern/login/register_spec.rb[1:2:2:1]": 54.859950452, - "./qa/specs/features/browser_ui/10_govern/project/project_access_token_spec.rb[1:1:1]": 25.906346348, - "./qa/specs/features/browser_ui/10_govern/user/impersonation_token_spec.rb[1:1:1]": 30.138602861, - "./qa/specs/features/browser_ui/10_govern/user/user_access_termination_spec.rb[1:1:1:1]": 17.501210842, - "./qa/specs/features/browser_ui/10_govern/user/user_access_termination_spec.rb[1:1:1:2]": 14.857275617, - "./qa/specs/features/browser_ui/10_govern/user/user_access_termination_spec.rb[1:1:1:3]": 11.779740276, - "./qa/specs/features/browser_ui/14_analytics/performance_bar_spec.rb[1:1:1:1]": 60.04423653, - "./qa/specs/features/browser_ui/14_analytics/service_ping_default_enabled_spec.rb[1:1:1:1]": 18.762676849, - "./qa/specs/features/browser_ui/14_analytics/service_ping_disabled_spec.rb[1:1:1:1]": 13.578009866, - "./qa/specs/features/browser_ui/1_manage/integrations/jenkins/jenkins_build_status_spec.rb[1:1:1]": 61.994387357, - "./qa/specs/features/browser_ui/1_manage/integrations/jira/jira_basic_integration_spec.rb[1:1:1]": 32.323934519, - "./qa/specs/features/browser_ui/1_manage/integrations/jira/jira_basic_integration_spec.rb[1:1:2]": 32.903286345, - "./qa/specs/features/browser_ui/1_manage/integrations/jira/jira_issue_import_spec.rb[1:1:1]": 46.776170762, - "./qa/specs/features/browser_ui/1_manage/integrations/pipeline_status_emails_spec.rb[1:1:1:1]": 31.463382563, - "./qa/specs/features/browser_ui/1_manage/integrations/pipeline_status_emails_spec.rb[1:1:2:1]": 42.321370407, - "./qa/specs/features/browser_ui/1_manage/migration/gitlab_migration_group_spec.rb[1:1:1]": 57.03791635, - "./qa/specs/features/browser_ui/1_manage/migration/gitlab_migration_user_contribution_reassignment_spec.rb[1:1:1:1]": 181.520241604, - "./qa/specs/features/browser_ui/2_plan/design_management/add_design_content_spec.rb[1:1:1]": 23.031130269, - "./qa/specs/features/browser_ui/2_plan/design_management/archive_design_content_spec.rb[1:1:1]": 29.780177896, - "./qa/specs/features/browser_ui/2_plan/design_management/modify_design_content_spec.rb[1:1:1]": 30.636613756, - "./qa/specs/features/browser_ui/2_plan/email/trigger_email_notification_spec.rb[1:1:1]": 16.470446876, - "./qa/specs/features/browser_ui/2_plan/issue/collapse_comments_in_discussions_spec.rb[1:1:1]": 23.402340109, - "./qa/specs/features/browser_ui/2_plan/issue/comment_issue_spec.rb[1:1:1]": 26.608420993, - "./qa/specs/features/browser_ui/2_plan/issue/create_issue_spec.rb[1:1:1]": 50.166656359, - "./qa/specs/features/browser_ui/2_plan/issue/create_issue_spec.rb[1:1:2]": 79.755011129, - "./qa/specs/features/browser_ui/2_plan/issue/create_issue_spec.rb[1:1:3:1]": 19.192317945, - "./qa/specs/features/browser_ui/2_plan/issue/create_issue_spec.rb[1:1:3]": 41.653582947, - "./qa/specs/features/browser_ui/2_plan/issue/create_issue_spec.rb[1:1:4:1]": 35.53447155, - "./qa/specs/features/browser_ui/2_plan/issue/custom_issue_template_spec.rb[1:1:1]": 30.203090855, - "./qa/specs/features/browser_ui/2_plan/issue/export_as_csv_spec.rb[1:1:1]": 40.13231434, - "./qa/specs/features/browser_ui/2_plan/issue/filter_issue_comments_spec.rb[1:1:1]": 24.860881753, - "./qa/specs/features/browser_ui/2_plan/issue/issue_suggestions_spec.rb[1:1:1]": 24.575106282, - "./qa/specs/features/browser_ui/2_plan/issue/mentions_spec.rb[1:1:1]": 33.018544554, - "./qa/specs/features/browser_ui/2_plan/issue/real_time_assignee_spec.rb[1:1:1]": 26.291870234, - "./qa/specs/features/browser_ui/2_plan/issue_boards/focus_mode_spec.rb[1:1:1]": 17.561810633, - "./qa/specs/features/browser_ui/2_plan/milestone/assign_milestone_spec.rb[1:1:1:1:1]": 22.440761271, - "./qa/specs/features/browser_ui/2_plan/milestone/assign_milestone_spec.rb[1:1:1:2:1]": 31.444776575, - "./qa/specs/features/browser_ui/2_plan/milestone/assign_milestone_spec.rb[1:1:2:1:1]": 23.178259523, - "./qa/specs/features/browser_ui/2_plan/milestone/assign_milestone_spec.rb[1:1:2:2:1]": 29.272861013, - "./qa/specs/features/browser_ui/2_plan/milestone/create_group_milestone_spec.rb[1:1:1]": 22.587552274, - "./qa/specs/features/browser_ui/2_plan/milestone/create_project_milestone_spec.rb[1:1:1]": 28.049283666, - "./qa/specs/features/browser_ui/2_plan/project_wiki/project_based_content_creation_spec.rb[1:1:1]": 23.12513144, - "./qa/specs/features/browser_ui/2_plan/project_wiki/project_based_content_creation_spec.rb[1:1:2]": 23.443624658, - "./qa/specs/features/browser_ui/2_plan/project_wiki/project_based_content_creation_spec.rb[1:1:3]": 20.226439048, - "./qa/specs/features/browser_ui/2_plan/project_wiki/project_based_content_creation_spec.rb[1:1:4]": 21.256583969, - "./qa/specs/features/browser_ui/2_plan/project_wiki/project_based_content_creation_spec.rb[1:1:5]": 20.823287252, - "./qa/specs/features/browser_ui/2_plan/project_wiki/project_based_content_manipulation_spec.rb[1:1:1]": 21.090504447, - "./qa/specs/features/browser_ui/2_plan/project_wiki/project_based_content_manipulation_spec.rb[1:1:2]": 25.64451491, - "./qa/specs/features/browser_ui/2_plan/project_wiki/project_based_content_manipulation_spec.rb[1:1:3]": 22.684120766, - "./qa/specs/features/browser_ui/2_plan/project_wiki/project_based_directory_management_spec.rb[1:1:1]": 25.037219196, - "./qa/specs/features/browser_ui/2_plan/project_wiki/project_based_file_upload_spec.rb[1:1:1]": 38.413254353, - "./qa/specs/features/browser_ui/2_plan/project_wiki/project_based_list_spec.rb[1:1:1:1]": 26.433149641, - "./qa/specs/features/browser_ui/2_plan/project_wiki/project_based_list_spec.rb[1:1:2:1]": 44.164948365, - "./qa/specs/features/browser_ui/2_plan/project_wiki/project_based_page_deletion_spec.rb[1:1:1]": 21.702903312, - "./qa/specs/features/browser_ui/2_plan/project_wiki/project_based_page_deletion_spec.rb[1:1:2]": 37.389795155, - "./qa/specs/features/browser_ui/2_plan/related_issues/related_issues_spec.rb[1:1:1]": 24.049024633, - "./qa/specs/features/browser_ui/3_create/merge_request/add_batch_comments_in_merge_request_spec.rb[1:1:1]": 39.380097829, - "./qa/specs/features/browser_ui/3_create/merge_request/add_batch_comments_in_merge_request_spec.rb[1:1:2]": 43.974151901, - "./qa/specs/features/browser_ui/3_create/merge_request/cherry_pick/cherry_pick_a_merge_spec.rb[1:1:1]": 65.769218013, - "./qa/specs/features/browser_ui/3_create/merge_request/cherry_pick/cherry_pick_commit_spec.rb[1:1:1]": 30.017509364, - "./qa/specs/features/browser_ui/3_create/merge_request/create_merge_request_spec.rb[1:1:1]": 43.686323806, - "./qa/specs/features/browser_ui/3_create/merge_request/create_merge_request_spec.rb[1:1:2]": 48.765681966, - "./qa/specs/features/browser_ui/3_create/merge_request/merge_merge_request_from_fork_spec.rb[1:1:1]": 46.535589667, - "./qa/specs/features/browser_ui/3_create/merge_request/merge_request_set_to_auto_merge_spec.rb[1:1:1]": 85.059614424, - "./qa/specs/features/browser_ui/3_create/merge_request/rebase_merge_request_spec.rb[1:1:1]": 58.678788745, - "./qa/specs/features/browser_ui/3_create/merge_request/revert/revert_commit_spec.rb[1:1:1]": 38.031947034, - "./qa/specs/features/browser_ui/3_create/merge_request/revert/reverting_merge_request_spec.rb[1:1:1]": 107.744959716, - "./qa/specs/features/browser_ui/3_create/merge_request/suggestions/batch_suggestion_spec.rb[1:1:1]": 64.079688598, - "./qa/specs/features/browser_ui/3_create/merge_request/suggestions/custom_commit_suggestion_spec.rb[1:1:1]": 60.464588091, - "./qa/specs/features/browser_ui/3_create/merge_request/view_merge_request_diff_patch_spec.rb[1:1:1]": 21.720265151, - "./qa/specs/features/browser_ui/3_create/merge_request/view_merge_request_diff_patch_spec.rb[1:1:2]": 25.855064648, - "./qa/specs/features/browser_ui/3_create/repository/add_file_template_spec.rb[1:1:1]": 27.119274477, - "./qa/specs/features/browser_ui/3_create/repository/add_new_branch_rule_spec.rb[1:1:1]": 30.340932638, - "./qa/specs/features/browser_ui/3_create/repository/branch_with_unusual_name_spec.rb[1:1:1:1]": 24.416460797, - "./qa/specs/features/browser_ui/3_create/repository/clone_spec.rb[1:1:1]": 12.253554388, - "./qa/specs/features/browser_ui/3_create/repository/clone_spec.rb[1:1:2]": 13.985884213, - "./qa/specs/features/browser_ui/3_create/repository/license_detection_spec.rb[1:1:1:1:1]": 17.595488997, - "./qa/specs/features/browser_ui/3_create/repository/license_detection_spec.rb[1:1:2:1:1]": 19.611088383, - "./qa/specs/features/browser_ui/3_create/repository/protected_tags_spec.rb[1:1:1:1:1]": 23.786550765, - "./qa/specs/features/browser_ui/3_create/repository/protected_tags_spec.rb[1:1:1:2:1]": 24.244541958, - "./qa/specs/features/browser_ui/3_create/repository/protected_tags_spec.rb[1:1:2:1:1]": 46.403243034, - "./qa/specs/features/browser_ui/3_create/repository/protected_tags_spec.rb[1:1:2:2:1]": 48.300600979, - "./qa/specs/features/browser_ui/3_create/repository/protocol_v2_push_http_spec.rb[1:1:1]": 24.264817229, - "./qa/specs/features/browser_ui/3_create/repository/protocol_v2_push_ssh_spec.rb[1:1:1]": 27.222468229, - "./qa/specs/features/browser_ui/3_create/repository/push_http_private_token_spec.rb[1:1:1]": 49.703005927, - "./qa/specs/features/browser_ui/3_create/repository/push_mirroring_lfs_over_http_spec.rb[1:1:1]": 84.31200969, - "./qa/specs/features/browser_ui/3_create/repository/push_mirroring_over_http_spec.rb[1:1:1]": 77.096792386, - "./qa/specs/features/browser_ui/3_create/repository/push_over_http_file_size_spec.rb[1:1:1]": 13.776653416, - "./qa/specs/features/browser_ui/3_create/repository/push_over_http_file_size_spec.rb[1:1:2]": 40.816066648, - "./qa/specs/features/browser_ui/3_create/repository/push_over_http_spec.rb[1:1:1]": 22.60529955, - "./qa/specs/features/browser_ui/3_create/repository/push_over_http_spec.rb[1:1:2]": 20.738672576, - "./qa/specs/features/browser_ui/3_create/repository/push_over_ssh_file_size_spec.rb[1:1:1]": 54.642597298, - "./qa/specs/features/browser_ui/3_create/repository/push_over_ssh_file_size_spec.rb[1:1:2]": 46.060314047, - "./qa/specs/features/browser_ui/3_create/repository/push_over_ssh_spec.rb[1:1:1]": 25.32488472, - "./qa/specs/features/browser_ui/3_create/repository/push_over_ssh_spec.rb[1:1:2]": 31.79158833, - "./qa/specs/features/browser_ui/3_create/repository/push_protected_branch_spec.rb[1:1:1:1]": 22.332861645, - "./qa/specs/features/browser_ui/3_create/repository/push_to_canary_gitaly_spec.rb[1:1:1]": 21.55505836, - "./qa/specs/features/browser_ui/3_create/repository/ssh_key_support_create_spec.rb[1:1:1]": 29.287778902, - "./qa/specs/features/browser_ui/3_create/repository/ssh_key_support_delete_spec.rb[1:1:1]": 26.294830596, - "./qa/specs/features/browser_ui/3_create/repository/user_views_commit_diff_patch_spec.rb[1:1:1]": 28.096424682, - "./qa/specs/features/browser_ui/3_create/repository/user_views_commit_diff_patch_spec.rb[1:1:2]": 36.954696155, - "./qa/specs/features/browser_ui/3_create/snippet/add_comment_to_snippet_spec.rb[1:1:1]": 31.803789523, - "./qa/specs/features/browser_ui/3_create/snippet/add_file_to_snippet_spec.rb[1:1:1:1]": 22.732435543, - "./qa/specs/features/browser_ui/3_create/snippet/add_file_to_snippet_spec.rb[1:1:2:1]": 28.857938419, - "./qa/specs/features/browser_ui/3_create/snippet/clone_push_pull_personal_snippet_spec.rb[1:1:1]": 41.646466243, - "./qa/specs/features/browser_ui/3_create/snippet/clone_push_pull_personal_snippet_spec.rb[1:1:2]": 42.259416914, - "./qa/specs/features/browser_ui/3_create/snippet/clone_push_pull_project_snippet_spec.rb[1:1:1]": 34.00738778, - "./qa/specs/features/browser_ui/3_create/snippet/clone_push_pull_project_snippet_spec.rb[1:1:2]": 39.034380064, - "./qa/specs/features/browser_ui/3_create/snippet/copy_snippet_file_contents_spec.rb[1:1:1]": 20.481249541, - "./qa/specs/features/browser_ui/3_create/snippet/create_personal_snippet_spec.rb[1:1:1]": 8.514641421, - "./qa/specs/features/browser_ui/3_create/snippet/create_personal_snippet_with_multiple_files_spec.rb[1:1:1]": 14.67105945, - "./qa/specs/features/browser_ui/3_create/snippet/create_project_snippet_with_multiple_files_spec.rb[1:1:1]": 28.514565884, - "./qa/specs/features/browser_ui/3_create/snippet/delete_file_from_snippet_spec.rb[1:1:1:1]": 24.800377606, - "./qa/specs/features/browser_ui/3_create/snippet/delete_file_from_snippet_spec.rb[1:1:2:1]": 22.498173186, - "./qa/specs/features/browser_ui/3_create/snippet/share_snippet_spec.rb[1:1:1:1]": 18.439951577, - "./qa/specs/features/browser_ui/3_create/snippet/share_snippet_spec.rb[1:1:2:1]": 15.994065312, - "./qa/specs/features/browser_ui/3_create/source_editor/source_editor_toolbar_spec.rb[1:1:1]": 25.014898858, - "./qa/specs/features/browser_ui/3_create/web_ide/add_first_file_in_web_ide_spec.rb[1:1:1:1]": 18.258995188, - "./qa/specs/features/browser_ui/3_create/web_ide/add_first_file_in_web_ide_spec.rb[1:1:2:1]": 24.493929349, - "./qa/specs/features/browser_ui/3_create/web_ide/add_new_directory_in_web_ide_spec.rb[1:1:1:1]": 32.079918928, - "./qa/specs/features/browser_ui/3_create/web_ide/add_new_directory_in_web_ide_spec.rb[1:1:2:1]": 52.422319108, - "./qa/specs/features/browser_ui/3_create/web_ide/closing_web_ide_with_unsaved_changes_spec.rb[1:1:1]": 24.250358427, - "./qa/specs/features/browser_ui/3_create/web_ide/settings_sync_web_ide_spec.rb[1:1:1]": 42.705189816, - "./qa/specs/features/browser_ui/3_create/web_ide/settings_sync_web_ide_spec.rb[1:1:2]": 73.603270276, - "./qa/specs/features/browser_ui/3_create/web_ide/settings_sync_web_ide_spec.rb[1:1:3]": 63.771305875, - "./qa/specs/features/browser_ui/3_create/web_ide/upload_new_file_in_web_ide_spec.rb[1:1:1:1]": 24.875637941, - "./qa/specs/features/browser_ui/3_create/web_ide/upload_new_file_in_web_ide_spec.rb[1:1:2:1:1:1]": 39.190208325, - "./qa/specs/features/browser_ui/3_create/web_ide/upload_new_file_in_web_ide_spec.rb[1:1:2:2:1:1]": 32.586681925, - "./qa/specs/features/browser_ui/4_verify/ci_components_catalog/ci_catalog_sorting_spec.rb[1:1:1:2:1:1]": 40.144422238, - "./qa/specs/features/browser_ui/4_verify/ci_components_catalog/ci_catalog_sorting_spec.rb[1:1:1:2:2:1]": 45.984237128, - "./qa/specs/features/browser_ui/4_verify/ci_components_catalog/release_with_glab_spec.rb[1:1:1]": 57.608513187, - "./qa/specs/features/browser_ui/4_verify/ci_components_catalog/release_with_glab_spec.rb[1:1:2]": 64.026260248, - "./qa/specs/features/browser_ui/4_verify/ci_components_catalog/release_with_release_cli_spec.rb[1:1:1]": 61.348283947, - "./qa/specs/features/browser_ui/4_verify/ci_components_catalog/release_with_release_cli_spec.rb[1:1:2]": 54.955626444, - "./qa/specs/features/browser_ui/4_verify/ci_components_catalog/run_component_in_project_pipeline_spec.rb[1:1:1]": 55.741715074, - "./qa/specs/features/browser_ui/4_verify/ci_job_artifacts/expose_job_artifacts_in_mr_spec.rb[1:1:1:1]": 66.436168654, - "./qa/specs/features/browser_ui/4_verify/ci_job_artifacts/job_artifacts_access_keyword_spec.rb[1:1:1:1:1]": 34.296394593, - "./qa/specs/features/browser_ui/4_verify/ci_job_artifacts/job_artifacts_access_keyword_spec.rb[1:1:1:1:2]": 42.270222608, - "./qa/specs/features/browser_ui/4_verify/ci_job_artifacts/job_artifacts_access_keyword_spec.rb[1:1:2:1:1]": 43.30799841, - "./qa/specs/features/browser_ui/4_verify/ci_job_artifacts/job_artifacts_access_keyword_spec.rb[1:1:2:1:2]": 35.855032429, - "./qa/specs/features/browser_ui/4_verify/ci_job_artifacts/job_artifacts_access_keyword_spec.rb[1:1:3:1:1]": 55.366211572, - "./qa/specs/features/browser_ui/4_verify/ci_job_artifacts/job_artifacts_access_keyword_spec.rb[1:1:3:1:2]": 49.789661759, - "./qa/specs/features/browser_ui/4_verify/ci_job_artifacts/unlocking_job_artifacts_across_pipelines_spec.rb[1:1:1:1]": 95.010008224, - "./qa/specs/features/browser_ui/4_verify/ci_job_artifacts/unlocking_job_artifacts_across_pipelines_spec.rb[1:1:2:1]": 122.191405419, - "./qa/specs/features/browser_ui/4_verify/ci_job_artifacts/unlocking_job_artifacts_across_pipelines_spec.rb[1:1:3:1]": 102.652732387, - "./qa/specs/features/browser_ui/4_verify/ci_project_artifacts/user_can_bulk_delete_artifacts_spec.rb[1:1:1:1]": 73.521802689, - "./qa/specs/features/browser_ui/4_verify/ci_variable/pipeline_with_protected_variable_spec.rb[1:1:1]": 56.351348261, - "./qa/specs/features/browser_ui/4_verify/ci_variable/pipeline_with_protected_variable_spec.rb[1:1:2]": 78.367663782, - "./qa/specs/features/browser_ui/4_verify/ci_variable/raw_variables_defined_in_yaml_spec.rb[1:1:1]": 33.577634151, - "./qa/specs/features/browser_ui/4_verify/ci_variable/ui_variable_inheritable_when_forward_pipeline_variables_true_spec.rb[1:1:1]": 84.286087112, - "./qa/specs/features/browser_ui/4_verify/pipeline/include_local_config_file_paths_with_wildcard_spec.rb[1:1:1]": 18.525020519, - "./qa/specs/features/browser_ui/4_verify/pipeline/include_multiple_files_from_a_project_spec.rb[1:1:1]": 54.886224503, - "./qa/specs/features/browser_ui/4_verify/pipeline/include_multiple_files_from_multiple_projects_spec.rb[1:1:1]": 64.229339559, - "./qa/specs/features/browser_ui/4_verify/pipeline/parent_child_pipelines_independent_relationship_spec.rb[1:1:1]": 50.51348336, - "./qa/specs/features/browser_ui/4_verify/pipeline/parent_child_pipelines_independent_relationship_spec.rb[1:1:2]": 62.349308563, - "./qa/specs/features/browser_ui/4_verify/pipeline/pass_dotenv_variables_to_downstream_via_bridge_spec.rb[1:1:1]": 66.298914071, - "./qa/specs/features/browser_ui/4_verify/pipeline/run_pipeline_with_manual_jobs_spec.rb[1:1:1]": 66.049358924, - "./qa/specs/features/browser_ui/4_verify/pipeline/trigger_child_pipeline_with_manual_spec.rb[1:1:1]": 65.493875232, - "./qa/specs/features/browser_ui/4_verify/pipeline/trigger_matrix_spec.rb[1:1:1]": 50.079680864, - "./qa/specs/features/browser_ui/4_verify/pipeline/update_ci_file_with_pipeline_editor_spec.rb[1:1:1]": 31.110243067, - "./qa/specs/features/browser_ui/4_verify/runner/deprecated_registration_token_spec.rb[1:1:1]": 23.618801349, - "./qa/specs/features/browser_ui/4_verify/runner/deprecated_unregister_runner_spec.rb[1:1:1]": 39.029569115, - "./qa/specs/features/browser_ui/4_verify/runner/fleet_visibility/group_runner_counts_spec.rb[1:1:1]": 25.616882657, - "./qa/specs/features/browser_ui/4_verify/runner/fleet_visibility/group_runner_status_counts_spec.rb[1:1:1]": 17.609245948, - "./qa/specs/features/browser_ui/4_verify/runner/register_group_runner_spec.rb[1:1:1]": 20.499690898, - "./qa/specs/features/browser_ui/4_verify/runner/register_project_runner_spec.rb[1:1:1]": 45.242119367, - "./qa/specs/features/browser_ui/4_verify/runner/unregister_runner_spec.rb[1:1:1]": 26.076009522, - "./qa/specs/features/browser_ui/4_verify/testing/endpoint_coverage_spec.rb[1:1:1]": 54.246992046, - "./qa/specs/features/browser_ui/5_package/container_registry/saas/container_registry_spec.rb[1:1:1]": 165.693115559, - "./qa/specs/features/browser_ui/5_package/container_registry/self_managed/container_registry_spec.rb[1:1:1:1:1]": 124.356393994, - "./qa/specs/features/browser_ui/5_package/container_registry/self_managed/container_registry_spec.rb[1:1:1:2:1]": 114.701792986, - "./qa/specs/features/browser_ui/5_package/container_registry/self_managed/container_registry_spec.rb[1:1:1:3:1]": 106.129491691, - "./qa/specs/features/browser_ui/5_package/dependency_proxy/dependency_proxy_spec.rb[1:1:1:1]": 69.52865115, - "./qa/specs/features/browser_ui/5_package/dependency_proxy/dependency_proxy_spec.rb[1:1:2:1]": 49.602179796, - "./qa/specs/features/browser_ui/5_package/dependency_proxy/dependency_proxy_spec.rb[1:1:3:1]": 53.517437091, - "./qa/specs/features/browser_ui/5_package/package_registry/composer_registry_spec.rb[1:1:1]": 67.483790802, - "./qa/specs/features/browser_ui/5_package/package_registry/conan_repository_spec.rb[1:1:1]": 97.870222592, - "./qa/specs/features/browser_ui/5_package/package_registry/generic_repository_spec.rb[1:1:1]": 133.504862177, - "./qa/specs/features/browser_ui/5_package/package_registry/helm_registry_spec.rb[1:1:1:1]": 173.289269984, - "./qa/specs/features/browser_ui/5_package/package_registry/helm_registry_spec.rb[1:1:2:1]": 110.985181329, - "./qa/specs/features/browser_ui/5_package/package_registry/helm_registry_spec.rb[1:1:3:1]": 98.038031359, - "./qa/specs/features/browser_ui/5_package/package_registry/maven/maven_group_level_spec.rb[1:1:1:1:1]": 112.082186382, - "./qa/specs/features/browser_ui/5_package/package_registry/maven/maven_group_level_spec.rb[1:1:1:2:1]": 110.841590599, - "./qa/specs/features/browser_ui/5_package/package_registry/maven/maven_group_level_spec.rb[1:1:1:3:1]": 146.348491376, - "./qa/specs/features/browser_ui/5_package/package_registry/maven/maven_group_level_spec.rb[1:1:2:1:1]": 104.70481313, - "./qa/specs/features/browser_ui/5_package/package_registry/maven/maven_group_level_spec.rb[1:1:2:2:1]": 117.871862148, - "./qa/specs/features/browser_ui/5_package/package_registry/maven/maven_project_level_spec.rb[1:1:1:1]": 107.111940846, - "./qa/specs/features/browser_ui/5_package/package_registry/maven/maven_project_level_spec.rb[1:1:2:1]": 86.909771173, - "./qa/specs/features/browser_ui/5_package/package_registry/maven/maven_project_level_spec.rb[1:1:3:1]": 91.228397442, - "./qa/specs/features/browser_ui/5_package/package_registry/maven_gradle_repository_spec.rb[1:1:1:1]": 98.124684211, - "./qa/specs/features/browser_ui/5_package/package_registry/maven_gradle_repository_spec.rb[1:1:2:1]": 97.381615006, - "./qa/specs/features/browser_ui/5_package/package_registry/maven_gradle_repository_spec.rb[1:1:3:1]": 108.823092958, - "./qa/specs/features/browser_ui/5_package/package_registry/npm/npm_group_level_spec.rb[1:1:1:1]": 95.79639735, - "./qa/specs/features/browser_ui/5_package/package_registry/npm/npm_group_level_spec.rb[1:1:2:1]": 112.479204658, - "./qa/specs/features/browser_ui/5_package/package_registry/npm/npm_group_level_spec.rb[1:1:3:1]": 126.817852544, - "./qa/specs/features/browser_ui/5_package/package_registry/npm/npm_instance_level_spec.rb[1:1:1:1]": 84.231882051, - "./qa/specs/features/browser_ui/5_package/package_registry/npm/npm_instance_level_spec.rb[1:1:2:1]": 97.197158931, - "./qa/specs/features/browser_ui/5_package/package_registry/npm/npm_instance_level_spec.rb[1:1:3:1]": 103.686551983, - "./qa/specs/features/browser_ui/5_package/package_registry/pypi_repository_spec.rb[1:1:1:1]": 107.899088585, - "./qa/specs/features/browser_ui/6_release/deploy_key/add_deploy_key_spec.rb[1:1:1]": 29.988003167, - "./qa/specs/features/browser_ui/6_release/deploy_key/clone_using_deploy_key_spec.rb[1:1:1]": 75.907162535, - "./qa/specs/features/browser_ui/6_release/deploy_key/clone_using_deploy_key_spec.rb[1:1:2]": 65.585285599, - "./qa/specs/features/browser_ui/6_release/deploy_key/clone_using_deploy_key_spec.rb[1:1:3]": 45.961558783, - "./qa/specs/features/browser_ui/6_release/deploy_token/add_deploy_token_spec.rb[1:1:1]": 15.694988036, - "./qa/specs/features/browser_ui/8_monitor/alert_management/alert_settings_create_new_alerts_spec.rb[1:1:1:1:1]": 29.705950973, - "./qa/specs/features/browser_ui/8_monitor/alert_management/alert_settings_create_new_alerts_spec.rb[1:1:2:1:1]": 26.718493726, - "./qa/specs/features/browser_ui/8_monitor/alert_management/automatically_creates_incident_for_alert_spec.rb[1:1:1:1:1]": 31.643714163, - "./qa/specs/features/browser_ui/8_monitor/alert_management/automatically_creates_incident_for_alert_spec.rb[1:1:2:1:1]": 38.344217057, - "./qa/specs/features/browser_ui/8_monitor/alert_management/create_alert_using_authorization_key_spec.rb[1:1:1:1:1]": 23.877850129, - "./qa/specs/features/browser_ui/8_monitor/alert_management/create_alert_using_authorization_key_spec.rb[1:1:2:1:1]": 23.890810565, - "./qa/specs/features/browser_ui/8_monitor/alert_management/email_notification_for_alert_spec.rb[1:1:1:1:1:1]": 16.166369936, - "./qa/specs/features/browser_ui/8_monitor/alert_management/email_notification_for_alert_spec.rb[1:1:1:2:1:1]": 15.324378822, - "./qa/specs/features/browser_ui/8_monitor/alert_management/email_notification_for_alert_spec.rb[1:1:2:1:1:1]": 17.279788552, - "./qa/specs/features/browser_ui/8_monitor/alert_management/email_notification_for_alert_spec.rb[1:1:2:2:1:1]": 21.195414559, - "./qa/specs/features/browser_ui/8_monitor/alert_management/recovery_alert_resolves_correct_alert_spec.rb[1:1:1:1:1]": 29.011678497, - "./qa/specs/features/browser_ui/9_tenant_scale/group/create_group_with_mattermost_team_spec.rb[1:1:1]": 9.344660726, - "./qa/specs/features/browser_ui/9_tenant_scale/group/group_member_access_request_spec.rb[1:1:1]": 22.678487753, - "./qa/specs/features/browser_ui/9_tenant_scale/group/group_member_access_request_spec.rb[1:1:2:1:1]": 21.806627936, - "./qa/specs/features/browser_ui/9_tenant_scale/group/group_member_access_request_spec.rb[1:1:2:2:1]": 20.780475207, - "./qa/specs/features/browser_ui/9_tenant_scale/group/transfer_project_spec.rb[1:1:1]": 27.244025476, - "./qa/specs/features/browser_ui/9_tenant_scale/project/add_project_member_spec.rb[1:1:1]": 32.014529209, - "./qa/specs/features/browser_ui/9_tenant_scale/project/create_project_badge_spec.rb[1:1:1]": 20.068110387, - "./qa/specs/features/browser_ui/9_tenant_scale/project/create_project_spec.rb[1:1:1:1:1]": 33.402318714, - "./qa/specs/features/browser_ui/9_tenant_scale/project/create_project_spec.rb[1:1:2:1:1]": 33.934750764, - "./qa/specs/features/browser_ui/9_tenant_scale/project/dashboard_images_spec.rb[1:1:1:1:1]": 10.979258094, - "./qa/specs/features/browser_ui/9_tenant_scale/project/dashboard_images_spec.rb[1:1:2:1:1]": 11.608350591, - "./qa/specs/features/browser_ui/9_tenant_scale/project/invite_group_to_project_spec.rb[1:1:1:1:1]": 28.336834686, - "./qa/specs/features/browser_ui/9_tenant_scale/project/invite_group_to_project_spec.rb[1:1:2:1:1]": 25.112712061, - "./qa/specs/features/browser_ui/9_tenant_scale/project/project_owner_permissions_spec.rb[1:1:1:1:1]": 42.933115103, - "./qa/specs/features/browser_ui/9_tenant_scale/project/project_owner_permissions_spec.rb[1:1:1:2:1]": 36.98431554, - "./qa/specs/features/browser_ui/9_tenant_scale/project/project_owner_permissions_spec.rb[1:1:2:1:1]": 48.607808192, - "./qa/specs/features/browser_ui/9_tenant_scale/project/project_owner_permissions_spec.rb[1:1:2:2:1]": 42.623868649, - "./qa/specs/features/browser_ui/9_tenant_scale/project/view_project_activity_spec.rb[1:1:1:1]": 35.743874052, - "./qa/specs/features/browser_ui/9_tenant_scale/user/follow_user_activity_spec.rb[1:1:1]": 31.223309247, - "./qa/specs/features/browser_ui/9_tenant_scale/user/parent_group_access_termination_spec.rb[1:1:1:1]": 27.375015555, - "./qa/specs/features/browser_ui/9_tenant_scale/user/user_inherited_access_spec.rb[1:1:1:1]": 47.197937559, - "./qa/specs/features/browser_ui/9_tenant_scale/user/user_inherited_access_spec.rb[1:1:2:1]": 19.7629016, - "./qa/specs/features/ee/api/10_govern/compliance_pipeline_spec.rb[1:1:1:1]": 38.562984764, - "./qa/specs/features/ee/api/10_govern/instance_audit_event_streaming_spec.rb[1:1:1:1]": 17.006812857, - "./qa/specs/features/ee/api/10_govern/instance_audit_event_streaming_spec.rb[1:1:4:1]": 20.019217622, - "./qa/specs/features/ee/api/10_govern/user/minimal_access_user_spec.rb[1:1:1]": 47.791755977, - "./qa/specs/features/ee/api/10_govern/user/minimal_access_user_spec.rb[1:1:2]": 20.925896789, - "./qa/specs/features/ee/api/10_govern/user/minimal_access_user_spec.rb[1:1:3]": 11.860366479, - "./qa/specs/features/ee/api/1_manage/import/import_github_repo_spec.rb[1:1:1:1]": 131.481349437, - "./qa/specs/features/ee/api/1_manage/integrations/group_webhook_events_spec.rb[1:1:1]": 13.047155732, - "./qa/specs/features/ee/api/1_manage/migration/gitlab_migration_group_spec.rb[1:1:1:1]": 62.834426385, - "./qa/specs/features/ee/api/2_plan/analytics/dora_metrics_spec.rb[1:1:1:1:1]": 0.908633899, - "./qa/specs/features/ee/api/2_plan/analytics/dora_metrics_spec.rb[1:1:2:1:1]": 1.435222086, - "./qa/specs/features/ee/api/2_plan/epics_milestone_dates_spec.rb[1:1:1]": 16.673002459, - "./qa/specs/features/ee/api/2_plan/epics_milestone_dates_spec.rb[1:1:2]": 22.183535559, - "./qa/specs/features/ee/api/2_plan/epics_milestone_dates_spec.rb[1:1:3]": 25.743414036, - "./qa/specs/features/ee/api/2_plan/epics_milestone_dates_spec.rb[1:1:4]": 17.40645266, - "./qa/specs/features/ee/api/3_create/code_suggestions_spec.rb[1:1:1:1:1:1]": 1.899159639, - "./qa/specs/features/ee/api/3_create/code_suggestions_spec.rb[1:1:1:1:2:1:1]": 2.37570206, - "./qa/specs/features/ee/api/3_create/code_suggestions_spec.rb[1:1:1:2:1:1:1:1:1]": 1.346350015, - "./qa/specs/features/ee/api/3_create/code_suggestions_spec.rb[1:1:1:2:1:1:1:2:1:1]": 1.183801546, - "./qa/specs/features/ee/api/3_create/code_suggestions_spec.rb[1:1:2:1:1:1]": 8.128856163, - "./qa/specs/features/ee/api/3_create/code_suggestions_spec.rb[1:1:2:2:1:1:1:1:1]": 1.380690753, - "./qa/specs/features/ee/api/3_create/code_suggestions_spec.rb[1:1:2:2:1:1:2:1]": 0.097335669, - "./qa/specs/features/ee/api/3_create/code_suggestions_spec.rb[1:1:2:2:1:2:1]": 0.09956121, - "./qa/specs/features/ee/api/3_create/code_suggestions_spec.rb[1:1:2:2:2:1]": 0.079209265, - "./qa/specs/features/ee/api/3_create/code_suggestions_spec.rb[1:1:2:3:1:1]": 9.692912799, - "./qa/specs/features/ee/api/3_create/code_suggestions_spec.rb[1:1:2:3:2:1:1:1:1]": 1.689461795, - "./qa/specs/features/ee/api/3_create/code_suggestions_spec.rb[1:1:3:1:1]": 4.791269977, - "./qa/specs/features/ee/api/3_create/code_suggestions_spec.rb[1:1:3:1:2]": 3.392493948, - "./qa/specs/features/ee/api/3_create/code_suggestions_spec.rb[1:1:3:2:1:1:1:1]": 0.264238843, - "./qa/specs/features/ee/api/3_create/code_suggestions_spec.rb[1:1:3:2:1:1:1:2]": 1.318091627, - "./qa/specs/features/ee/api/3_create/code_suggestions_spec.rb[1:1:3:2:1:1:1:3:1]": 1.823521926, - "./qa/specs/features/ee/api/9_tenant_scale/elasticsearch/advanced_global_advanced_syntax_search_spec.rb[1:1:1:1]": 66.019682451, - "./qa/specs/features/ee/api/9_tenant_scale/elasticsearch/advanced_global_advanced_syntax_search_spec.rb[1:1:1:2]": 39.39135041, - "./qa/specs/features/ee/api/9_tenant_scale/elasticsearch/elasticsearch_api_spec.rb[1:1:1]": 24.075599347, - "./qa/specs/features/ee/api/9_tenant_scale/elasticsearch/elasticsearch_api_spec.rb[1:1:2:1]": 43.30171114, - "./qa/specs/features/ee/api/9_tenant_scale/elasticsearch/elasticsearch_api_spec.rb[1:1:2:2]": 28.470758227, - "./qa/specs/features/ee/api/9_tenant_scale/elasticsearch/index_tests/commit_index/commit_index_spec.rb[1:1:1]": 31.44747142, - "./qa/specs/features/ee/api/9_tenant_scale/elasticsearch/index_tests/issues_index/issue_index_spec.rb[1:1:1]": 72.872250958, - "./qa/specs/features/ee/api/9_tenant_scale/elasticsearch/index_tests/main_index/blob_index_spec.rb[1:1:1]": 40.252409182, - "./qa/specs/features/ee/api/9_tenant_scale/elasticsearch/index_tests/merge_request_index/merge_request_index_spec.rb[1:1:1]": 63.477970837, - "./qa/specs/features/ee/api/9_tenant_scale/elasticsearch/index_tests/notes_index/note_index_spec.rb[1:1:1]": 62.85925672, - "./qa/specs/features/ee/browser_ui/10_govern/change_vulnerability_status_spec.rb[1:1:1]": 46.975265279, - "./qa/specs/features/ee/browser_ui/10_govern/change_vulnerability_status_spec.rb[1:1:2]": 47.303986459, - "./qa/specs/features/ee/browser_ui/10_govern/change_vulnerability_status_spec.rb[1:1:3]": 39.575272527, - "./qa/specs/features/ee/browser_ui/10_govern/create_merge_request_with_secure_spec.rb[1:1:1]": 71.378891385, - "./qa/specs/features/ee/browser_ui/10_govern/dismissed_vulnerabilities_in_security_widget_spec.rb[1:1:1]": 106.310033633, - "./qa/specs/features/ee/browser_ui/10_govern/explain_this_vulnerability_spec.rb[1:1:1]": 48.656577734, - "./qa/specs/features/ee/browser_ui/10_govern/export_vulnerability_report_spec.rb[1:1:1]": 15.908063331, - "./qa/specs/features/ee/browser_ui/10_govern/fix_vulnerability_workflow_spec.rb[1:1:1]": 144.069410289, - "./qa/specs/features/ee/browser_ui/10_govern/group/group_audit_event_streaming_spec.rb[1:1:1:1]": 13.295410423, - "./qa/specs/features/ee/browser_ui/10_govern/group/group_audit_event_streaming_spec.rb[1:1:2:1:1]": 14.898742257, - "./qa/specs/features/ee/browser_ui/10_govern/group/group_audit_event_streaming_spec.rb[1:1:2:2:1]": 16.824695576, - "./qa/specs/features/ee/browser_ui/10_govern/group/group_audit_event_streaming_spec.rb[1:1:2:3:1]": 13.136593429, - "./qa/specs/features/ee/browser_ui/10_govern/group/group_audit_logs_1_spec.rb[1:1:1:1:1]": 28.561804412, - "./qa/specs/features/ee/browser_ui/10_govern/group/group_audit_logs_1_spec.rb[1:1:2:1:1]": 16.635633392, - "./qa/specs/features/ee/browser_ui/10_govern/group/group_audit_logs_1_spec.rb[1:1:3:1:1]": 12.295847219, - "./qa/specs/features/ee/browser_ui/10_govern/group/group_audit_logs_1_spec.rb[1:1:4:1:1]": 34.657677724, - "./qa/specs/features/ee/browser_ui/10_govern/group/group_audit_logs_1_spec.rb[1:1:5:1:1]": 23.506024397, - "./qa/specs/features/ee/browser_ui/10_govern/group/group_ldap_sync_spec.rb[1:1:1:1:1]": 32.495312124, - "./qa/specs/features/ee/browser_ui/10_govern/group/group_ldap_sync_spec.rb[1:1:1:1:2]": 20.357829454, - "./qa/specs/features/ee/browser_ui/10_govern/group/group_ldap_sync_spec.rb[1:1:1:1:3]": 13.573113925, - "./qa/specs/features/ee/browser_ui/10_govern/group/group_ldap_sync_spec.rb[1:1:2:1:1]": 31.788637664, - "./qa/specs/features/ee/browser_ui/10_govern/group/group_ldap_sync_spec.rb[1:1:2:1:2]": 9.155989628, - "./qa/specs/features/ee/browser_ui/10_govern/group/group_ldap_sync_spec.rb[1:1:2:1:3]": 15.14022336, - "./qa/specs/features/ee/browser_ui/10_govern/group/restrict_by_ip_address_spec.rb[1:1:1:1:1]": 20.072571287, - "./qa/specs/features/ee/browser_ui/10_govern/group/restrict_by_ip_address_spec.rb[1:1:1:2:1]": 13.202158553, - "./qa/specs/features/ee/browser_ui/10_govern/group/restrict_by_ip_address_spec.rb[1:1:1:3:1]": 47.333176817, - "./qa/specs/features/ee/browser_ui/10_govern/group/restrict_by_ip_address_spec.rb[1:1:2:1:1]": 16.157089652, - "./qa/specs/features/ee/browser_ui/10_govern/group/restrict_by_ip_address_spec.rb[1:1:2:2:1]": 10.765356975, - "./qa/specs/features/ee/browser_ui/10_govern/group/restrict_by_ip_address_spec.rb[1:1:2:3:1]": 15.976094984, - "./qa/specs/features/ee/browser_ui/10_govern/group_pipeline_execution_policy_spec.rb[1:1:1]": 165.731185795, - "./qa/specs/features/ee/browser_ui/10_govern/group_pipeline_execution_policy_spec.rb[1:1:2]": 79.187989099, - "./qa/specs/features/ee/browser_ui/10_govern/instance/instance_audit_logs_spec.rb[1:1:1:1:1]": 22.14500532, - "./qa/specs/features/ee/browser_ui/10_govern/instance/instance_audit_logs_spec.rb[1:1:2:1:1]": 23.256443984, - "./qa/specs/features/ee/browser_ui/10_govern/instance/instance_audit_logs_spec.rb[1:1:3:1:1]": 29.269032535, - "./qa/specs/features/ee/browser_ui/10_govern/instance/instance_audit_logs_spec.rb[1:1:4:1:1]": 31.964503926, - "./qa/specs/features/ee/browser_ui/10_govern/instance/instance_audit_logs_spec.rb[1:1:5:1:1]": 30.323853794, - "./qa/specs/features/ee/browser_ui/10_govern/instance/instance_audit_logs_spec.rb[1:1:6:1:1]": 30.86096932, - "./qa/specs/features/ee/browser_ui/10_govern/project/project_audit_logs_spec.rb[1:1:1:1:1]": 44.243053563, - "./qa/specs/features/ee/browser_ui/10_govern/project/project_audit_logs_spec.rb[1:1:2:1:1]": 34.19654338, - "./qa/specs/features/ee/browser_ui/10_govern/project/project_audit_logs_spec.rb[1:1:3:1:1]": 29.71553929, - "./qa/specs/features/ee/browser_ui/10_govern/project/project_audit_logs_spec.rb[1:1:4:1:1]": 27.89401059, - "./qa/specs/features/ee/browser_ui/10_govern/project/project_audit_logs_spec.rb[1:1:5:1:1]": 58.697429841, - "./qa/specs/features/ee/browser_ui/10_govern/project/project_audit_logs_spec.rb[1:1:6:1:1]": 36.727309558, - "./qa/specs/features/ee/browser_ui/10_govern/project_security_dashboard_spec.rb[1:1:1]": 26.577856097, - "./qa/specs/features/ee/browser_ui/10_govern/project_security_dashboard_spec.rb[1:1:2]": 35.517904431, - "./qa/specs/features/ee/browser_ui/10_govern/scan_execution_policy_vulnerabilities_spec.rb[1:1:1]": 76.255500995, - "./qa/specs/features/ee/browser_ui/10_govern/scan_execution_policy_vulnerabilities_spec.rb[1:1:2]": 82.558011635, - "./qa/specs/features/ee/browser_ui/10_govern/scan_result_policy_license_finding_spec.rb[1:1:1]": 49.199501503, - "./qa/specs/features/ee/browser_ui/10_govern/scan_result_policy_vulnerabilities_spec.rb[1:1:1]": 117.611526734, - "./qa/specs/features/ee/browser_ui/10_govern/scan_result_policy_vulnerabilities_spec.rb[1:1:2]": 92.937129751, - "./qa/specs/features/ee/browser_ui/10_govern/security_policies_spec.rb[1:1:1]": 25.489066958, - "./qa/specs/features/ee/browser_ui/10_govern/security_policies_spec.rb[1:1:2]": 22.170381451, - "./qa/specs/features/ee/browser_ui/10_govern/security_policies_spec.rb[1:1:3]": 33.881534232, - "./qa/specs/features/ee/browser_ui/10_govern/security_reports_spec.rb[1:1:1]": 19.975156362, - "./qa/specs/features/ee/browser_ui/10_govern/security_reports_spec.rb[1:1:2]": 117.901409323, - "./qa/specs/features/ee/browser_ui/10_govern/security_reports_spec.rb[1:1:3]": 63.717820314, - "./qa/specs/features/ee/browser_ui/10_govern/security_reports_spec.rb[1:1:4]": 123.271606409, - "./qa/specs/features/ee/browser_ui/10_govern/security_reports_spec.rb[1:1:6:1]": 38.706925799, - "./qa/specs/features/ee/browser_ui/10_govern/user/minimal_access_user_spec.rb[1:1:1]": 24.151715831, - "./qa/specs/features/ee/browser_ui/10_govern/vulnerabilities_jira_integration_spec.rb[1:1:1]": 42.562710221, - "./qa/specs/features/ee/browser_ui/10_govern/vulnerability_management_spec.rb[1:1:1]": 76.762773166, - "./qa/specs/features/ee/browser_ui/10_govern/vulnerability_management_spec.rb[1:1:2]": 57.950134757, - "./qa/specs/features/ee/browser_ui/10_govern/vulnerability_management_spec.rb[1:1:3]": 103.572235094, - "./qa/specs/features/ee/browser_ui/10_govern/vulnerability_management_spec.rb[1:1:4]": 103.884004865, - "./qa/specs/features/ee/browser_ui/11_fulfillment/license/cloud_activation_spec.rb[1:1:1]": 19.519817991, - "./qa/specs/features/ee/browser_ui/11_fulfillment/license/license_spec.rb[1:1:1]": 7.57460835, - "./qa/specs/features/ee/browser_ui/11_fulfillment/saas_user_limit_experience_spec.rb[1:1:1:1]": 57.451251172, - "./qa/specs/features/ee/browser_ui/11_fulfillment/saas_user_limit_experience_spec.rb[1:1:1:2]": 36.162437192, - "./qa/specs/features/ee/browser_ui/11_fulfillment/saas_user_limit_experience_spec.rb[1:1:1:3]": 27.87518569, - "./qa/specs/features/ee/browser_ui/11_fulfillment/saas_user_limit_experience_spec.rb[1:1:1:4]": 63.296739876, - "./qa/specs/features/ee/browser_ui/11_fulfillment/utilization/free_namespace_storage_spec.rb[1:1:1:1]": 341.009588447, - "./qa/specs/features/ee/browser_ui/11_fulfillment/utilization/saas_user_caps_spec.rb[1:1:1:1]": 44.723411659, - "./qa/specs/features/ee/browser_ui/11_fulfillment/utilization/user_registration_billing_spec.rb[1:1:1:1:1]": 23.297850153, - "./qa/specs/features/ee/browser_ui/13_secure/cvs_dependency_scanning_spec.rb[1:1:1:1]": 75.638407947, - "./qa/specs/features/ee/browser_ui/13_secure/license_scanning_spec.rb[1:1:1:1]": 116.30680739, - "./qa/specs/features/ee/browser_ui/13_secure/on_demand_dast_spec.rb[1:1:1:1]": 110.920330885, - "./qa/specs/features/ee/browser_ui/15_growth/free_trial_spec.rb[1:1:1:1:1]": 44.079579599, - "./qa/specs/features/ee/browser_ui/15_growth/free_trial_spec.rb[1:1:1:2:1]": 24.888214996, - "./qa/specs/features/ee/browser_ui/16_ai_powered/duo_chat/duo_chat_spec.rb[1:1:1:1:1]": 28.27348307, - "./qa/specs/features/ee/browser_ui/16_ai_powered/duo_chat/duo_chat_spec.rb[1:1:1:2:1]": 14.801945633, - "./qa/specs/features/ee/browser_ui/16_ai_powered/duo_chat/root_cause_analysis_with_duo_chat_spec.rb[1:1:1:1]": 37.931425691, - "./qa/specs/features/ee/browser_ui/1_manage/integrations/jira_issues_list_spec.rb[1:1:1]": 23.264337878, - "./qa/specs/features/ee/browser_ui/1_manage/integrations/jira_issues_list_spec.rb[1:1:2]": 17.326720212, - "./qa/specs/features/ee/browser_ui/1_manage/integrations/jira_issues_list_spec.rb[1:1:3]": 18.062140518, - "./qa/specs/features/ee/browser_ui/2_plan/analytics/contribution_analytics_spec.rb[1:1:1]": 211.292243553, - "./qa/specs/features/ee/browser_ui/2_plan/analytics/mr_analytics_spec.rb[1:1:1]": 74.28075828, - "./qa/specs/features/ee/browser_ui/2_plan/analytics/value_stream_analytics_spec.rb[1:1:1:1:1:1]": 27.86812548, - "./qa/specs/features/ee/browser_ui/2_plan/analytics/value_stream_analytics_spec.rb[1:1:1:2:1:1]": 29.536940632, - "./qa/specs/features/ee/browser_ui/2_plan/analytics/value_stream_analytics_spec.rb[1:1:2:1]": 18.265951206, - "./qa/specs/features/ee/browser_ui/2_plan/burndown_chart/burndown_chart_spec.rb[1:1:1]": 22.641035335, - "./qa/specs/features/ee/browser_ui/2_plan/custom_email/custom_email_spec.rb[1:1:1]": 16.821151717, - "./qa/specs/features/ee/browser_ui/2_plan/epic/epics_management_spec.rb[1:1:1]": 56.793551099, - "./qa/specs/features/ee/browser_ui/2_plan/epic/epics_management_spec.rb[1:1:2]": 57.964668134, - "./qa/specs/features/ee/browser_ui/2_plan/epic/epics_management_spec.rb[1:1:3:1:1]": 54.337153238, - "./qa/specs/features/ee/browser_ui/2_plan/epic/epics_management_spec.rb[1:1:3:1:2]": 51.654257375, - "./qa/specs/features/ee/browser_ui/2_plan/epic/epics_management_spec.rb[1:1:3:1:3]": 95.184794161, - "./qa/specs/features/ee/browser_ui/2_plan/epic/epics_management_spec.rb[1:1:3:2]": 59.572176706, - "./qa/specs/features/ee/browser_ui/2_plan/epic/promote_issue_to_epic_spec.rb[1:1:1]": 63.20070909, - "./qa/specs/features/ee/browser_ui/2_plan/epic/roadmap_spec.rb[1:1:1]": 14.576608489, - "./qa/specs/features/ee/browser_ui/2_plan/group_wiki/create_group_wiki_page_spec.rb[1:1:1:1]": 19.813969824, - "./qa/specs/features/ee/browser_ui/2_plan/group_wiki/create_group_wiki_page_spec.rb[1:1:2:1]": 21.559228975, - "./qa/specs/features/ee/browser_ui/2_plan/group_wiki/delete_group_wiki_page_spec.rb[1:1:1]": 17.600620542, - "./qa/specs/features/ee/browser_ui/2_plan/group_wiki/file_upload_group_wiki_page_spec.rb[1:1:1]": 35.702110881, - "./qa/specs/features/ee/browser_ui/2_plan/insights/default_insights_spec.rb[1:1:1:1]": 15.555756158, - "./qa/specs/features/ee/browser_ui/2_plan/insights/default_insights_spec.rb[1:2:1:1]": 18.571270016, - "./qa/specs/features/ee/browser_ui/2_plan/issue/default_issue_template_spec.rb[1:1:1]": 30.402700367, - "./qa/specs/features/ee/browser_ui/2_plan/issue_boards/configurable_issue_board_spec.rb[1:1:1]": 19.263109267, - "./qa/specs/features/ee/browser_ui/2_plan/issue_boards/configure_issue_board_by_label_spec.rb[1:1:1]": 26.399046988, - "./qa/specs/features/ee/browser_ui/2_plan/issue_boards/create_group_issue_board_spec.rb[1:1:1]": 44.058644116, - "./qa/specs/features/ee/browser_ui/2_plan/issue_boards/group_issue_boards_spec.rb[1:1:1]": 42.505086799, - "./qa/specs/features/ee/browser_ui/2_plan/issue_boards/project_issue_boards_spec.rb[1:1:1:1]": 20.300711009, - "./qa/specs/features/ee/browser_ui/2_plan/issue_boards/project_issue_boards_spec.rb[1:1:2:1]": 20.460009522, - "./qa/specs/features/ee/browser_ui/2_plan/issue_boards/project_issue_boards_spec.rb[1:1:3:1]": 25.253992699, - "./qa/specs/features/ee/browser_ui/2_plan/issue_boards/read_only_board_configuration_spec.rb[1:1:1]": 32.519977572, - "./qa/specs/features/ee/browser_ui/2_plan/issue_boards/sum_of_issues_weights_spec.rb[1:1:1]": 22.535067519, - "./qa/specs/features/ee/browser_ui/2_plan/issues_analytics/issues_analytics_spec.rb[1:1:1:1]": 15.611320288, - "./qa/specs/features/ee/browser_ui/2_plan/issues_analytics/issues_analytics_spec.rb[1:2:1:1]": 15.906248199, - "./qa/specs/features/ee/browser_ui/2_plan/issues_weight/issue_weight_visualization_spec.rb[1:1:1]": 34.898537993, - "./qa/specs/features/ee/browser_ui/2_plan/iterations/assign_group_iteration_spec.rb[1:1:1]": 22.289509862, - "./qa/specs/features/ee/browser_ui/2_plan/iterations/create_group_iteration_spec.rb[1:1:1:1]": 24.342508949, - "./qa/specs/features/ee/browser_ui/2_plan/iterations/create_group_iteration_spec.rb[1:1:2:1]": 20.763176024, - "./qa/specs/features/ee/browser_ui/2_plan/multiple_assignees_for_issues/four_assignees_spec.rb[1:1:1]": 39.05453727, - "./qa/specs/features/ee/browser_ui/2_plan/multiple_assignees_for_issues/more_than_four_assignees_spec.rb[1:1:1]": 46.403286811, - "./qa/specs/features/ee/browser_ui/2_plan/multiple_assignees_for_issues/more_than_four_assignees_spec.rb[1:1:2]": 36.248777572, - "./qa/specs/features/ee/browser_ui/2_plan/scoped_labels/editing_scoped_labels_spec.rb[1:1:1]": 24.677114242, - "./qa/specs/features/ee/browser_ui/3_create/merge_request/approval_rules_spec.rb[1:1:1]": 106.008473686, - "./qa/specs/features/ee/browser_ui/3_create/merge_request/default_merge_request_template_spec.rb[1:1:1]": 48.185280618, - "./qa/specs/features/ee/browser_ui/3_create/merge_request/generate_commit_message_spec.rb[1:1:1:1]": 40.390914617, - "./qa/specs/features/ee/browser_ui/3_create/remote_development/workspace_actions_spec.rb[1:1:1:1:1]": 656.975314259, - "./qa/specs/features/ee/browser_ui/3_create/repository/assign_code_owners_spec.rb[1:1:1]": 77.835283702, - "./qa/specs/features/ee/browser_ui/3_create/repository/code_owners_spec.rb[1:1:1]": 29.858441116, - "./qa/specs/features/ee/browser_ui/3_create/repository/duo_chat_explain_code_spec.rb[1:1:1]": 28.16854103, - "./qa/specs/features/ee/browser_ui/3_create/repository/file_locking_spec.rb[1:1:1]": 72.35469694, - "./qa/specs/features/ee/browser_ui/3_create/repository/file_locking_spec.rb[1:1:2]": 67.618504346, - "./qa/specs/features/ee/browser_ui/3_create/repository/file_locking_spec.rb[1:1:3]": 62.841053401, - "./qa/specs/features/ee/browser_ui/3_create/repository/file_locking_spec.rb[1:1:4]": 52.428863271, - "./qa/specs/features/ee/browser_ui/3_create/repository/group_file_template_spec.rb[1:1:1]": 43.29283679, - "./qa/specs/features/ee/browser_ui/3_create/repository/merge_with_code_owner_in_root_group_spec.rb[1:1:1:1:1:1]": 63.188973147, - "./qa/specs/features/ee/browser_ui/3_create/repository/merge_with_code_owner_in_root_group_spec.rb[1:1:1:2:1:1]": 70.337770413, - "./qa/specs/features/ee/browser_ui/3_create/repository/merge_with_code_owner_in_subgroup_spec.rb[1:1:1:1:1:1]": 100.567065816, - "./qa/specs/features/ee/browser_ui/3_create/repository/merge_with_code_owner_in_subgroup_spec.rb[1:1:1:2:1:1]": 124.812630885, - "./qa/specs/features/ee/browser_ui/3_create/repository/merge_with_code_owner_in_subgroup_spec.rb[1:1:1:3:1:1]": 88.689713268, - "./qa/specs/features/ee/browser_ui/3_create/repository/prevent_forking_outside_group_spec.rb[1:1:1:1]": 32.727686225, - "./qa/specs/features/ee/browser_ui/3_create/repository/prevent_forking_outside_group_spec.rb[1:1:2:1]": 16.823762103, - "./qa/specs/features/ee/browser_ui/3_create/repository/project_templates_spec.rb[1:1:1:1]": 40.153010204, - "./qa/specs/features/ee/browser_ui/3_create/repository/project_templates_spec.rb[1:1:3:1]": 155.008247203, - "./qa/specs/features/ee/browser_ui/3_create/repository/pull_mirroring_over_http_spec.rb[1:1:1]": 54.098731282, - "./qa/specs/features/ee/browser_ui/3_create/repository/pull_mirroring_over_ssh_with_key_spec.rb[1:1:1]": 54.379182606, - "./qa/specs/features/ee/browser_ui/3_create/repository/push_rules_spec.rb[1:1:1:1]": 30.876860964, - "./qa/specs/features/ee/browser_ui/3_create/repository/push_rules_spec.rb[1:1:1:2]": 41.832940692, - "./qa/specs/features/ee/browser_ui/3_create/repository/push_rules_spec.rb[1:1:1:3]": 42.084087554, - "./qa/specs/features/ee/browser_ui/3_create/repository/push_rules_spec.rb[1:1:1:4]": 40.006651248, - "./qa/specs/features/ee/browser_ui/3_create/repository/push_rules_spec.rb[1:1:1:5]": 60.515372624, - "./qa/specs/features/ee/browser_ui/3_create/repository/push_rules_spec.rb[1:1:1:6]": 39.273377605, - "./qa/specs/features/ee/browser_ui/3_create/repository/push_rules_spec.rb[1:1:1:7]": 40.238892956, - "./qa/specs/features/ee/browser_ui/3_create/repository/push_rules_spec.rb[1:1:1:8]": 40.652133778, - "./qa/specs/features/ee/browser_ui/3_create/repository/push_rules_spec.rb[1:1:1:9]": 49.307062759, - "./qa/specs/features/ee/browser_ui/3_create/repository/push_rules_spec.rb[1:1:2:1]": 50.171645397, - "./qa/specs/features/ee/browser_ui/3_create/repository/restrict_push_protected_branch_spec.rb[1:1:1:1:1]": 49.067817193, - "./qa/specs/features/ee/browser_ui/3_create/repository/restrict_push_protected_branch_spec.rb[1:1:1:2:1]": 50.812467073, - "./qa/specs/features/ee/browser_ui/3_create/repository/restrict_push_protected_branch_spec.rb[1:1:2:1:1]": 51.568194275, - "./qa/specs/features/ee/browser_ui/3_create/repository/restrict_push_protected_branch_spec.rb[1:1:2:2:1]": 61.734276313, - "./qa/specs/features/ee/browser_ui/3_create/repository/restrict_push_protected_branch_spec.rb[1:1:3:1:1]": 46.483972431, - "./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]": 25.508524333, - "./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]": 27.60531065, - "./qa/specs/features/ee/browser_ui/3_create/web_ide/code_suggestions_in_web_ide_spec.rb[1:1:2:1:2:1:1]": 27.923196536, - "./qa/specs/features/ee/browser_ui/3_create/web_ide/code_suggestions_in_web_ide_spec.rb[1:1:2:2:1:1]": 25.22153005, - "./qa/specs/features/ee/browser_ui/4_verify/multi-project_pipelines_spec.rb[1:1:1]": 89.697462894, - "./qa/specs/features/ee/browser_ui/4_verify/parent_child_pipelines_dependent_relationship_spec.rb[1:1:1]": 45.471619148, - "./qa/specs/features/ee/browser_ui/4_verify/parent_child_pipelines_dependent_relationship_spec.rb[1:1:2]": 65.205954378, - "./qa/specs/features/ee/browser_ui/4_verify/pipeline_for_merged_result_spec.rb[1:1:1]": 53.854234828, - "./qa/specs/features/ee/browser_ui/4_verify/pipeline_subscription_with_group_owned_project_spec.rb[1:1:1:1]": 61.396500039, - "./qa/specs/features/ee/browser_ui/8_monitor/incident_management/incident_quick_action_spec.rb[1:1:1]": 16.936613385, - "./qa/specs/features/ee/browser_ui/9_tenant_scale/group/share_group_with_group_spec.rb[1:1:1]": 33.98725241 + "./qa/specs/features/api/10_govern/group_access_token_spec.rb[1:1:1]": 17.965835927, + "./qa/specs/features/api/10_govern/group_access_token_spec.rb[1:1:2]": 15.440690843, + "./qa/specs/features/api/10_govern/project_access_token_spec.rb[1:1:1:1]": 28.579263952, + "./qa/specs/features/api/10_govern/project_access_token_spec.rb[1:1:1:2]": 19.809251585, + "./qa/specs/features/api/10_govern/project_access_token_spec.rb[1:1:2:1]": 35.445945191, + "./qa/specs/features/api/10_govern/project_access_token_spec.rb[1:1:2:2]": 24.313330483, + "./qa/specs/features/api/12_systems/gitaly/automatic_failover_and_recovery_spec.rb[1:1:1]": 67.204129588, + "./qa/specs/features/api/12_systems/gitaly/automatic_failover_and_recovery_spec.rb[1:1:2:1]": 32.059779906, + "./qa/specs/features/api/12_systems/gitaly/backend_node_recovery_spec.rb[1:1:1]": 102.480642205, + "./qa/specs/features/api/12_systems/gitaly/distributed_reads_spec.rb[1:1:1]": 47.046166687, + "./qa/specs/features/api/12_systems/gitaly/distributed_reads_spec.rb[1:1:2:1]": 55.727308448, + "./qa/specs/features/api/12_systems/gitaly/gitaly_mtls_spec.rb[1:1:1]": 19.340814466, + "./qa/specs/features/api/1_manage/import/import_github_repo_spec.rb[1:1:1:1]": 127.489575968, + "./qa/specs/features/api/1_manage/integrations/webhook_events_spec.rb[1:1:1]": 12.216107036, + "./qa/specs/features/api/1_manage/integrations/webhook_events_spec.rb[1:1:2]": 15.933020121, + "./qa/specs/features/api/1_manage/integrations/webhook_events_spec.rb[1:1:3]": 4.667812925, + "./qa/specs/features/api/1_manage/integrations/webhook_events_spec.rb[1:1:4]": 12.462059938, + "./qa/specs/features/api/1_manage/integrations/webhook_events_spec.rb[1:1:5]": 11.529515595, + "./qa/specs/features/api/1_manage/migration/gitlab_migration_group_spec.rb[1:1:2:1]": 59.361528533, + "./qa/specs/features/api/1_manage/migration/gitlab_migration_issue_spec.rb[1:1:2:1]": 113.131797453, + "./qa/specs/features/api/1_manage/migration/gitlab_migration_issue_spec.rb[1:1:3:1]": 101.945176988, + "./qa/specs/features/api/1_manage/migration/gitlab_migration_pipeline_spec.rb[1:1:1:1]": 91.729914798, + "./qa/specs/features/api/1_manage/rate_limits_spec.rb[1:1:1]": 14.607217966, + "./qa/specs/features/api/2_plan/closes_issue_via_pushing_a_commit_spec.rb[1:1:1]": 23.008684037, + "./qa/specs/features/api/3_create/merge_request/push_options_mwps_spec.rb[1:1:1]": 22.494501055, + "./qa/specs/features/api/3_create/merge_request/push_options_remove_source_branch_spec.rb[1:1:1]": 43.636242201, + "./qa/specs/features/api/3_create/merge_request/push_options_spec.rb[1:1:1]": 14.732706274, + "./qa/specs/features/api/3_create/merge_request/push_options_spec.rb[1:1:2]": 22.787489945, + "./qa/specs/features/api/3_create/merge_request/view_merge_requests_spec.rb[1:1:1:1]": 1.082708408, + "./qa/specs/features/api/3_create/repository/add_list_delete_branches_spec.rb[1:1:1]": 17.708858703, + "./qa/specs/features/api/3_create/repository/commit_to_templated_project_spec.rb[1:1:1]": 10.779747315, + "./qa/specs/features/api/3_create/repository/default_branch_name_setting_spec.rb[1:1:1]": 5.074824182, + "./qa/specs/features/api/3_create/repository/default_branch_name_setting_spec.rb[1:1:2]": 6.197679797, + "./qa/specs/features/api/3_create/repository/files_spec.rb[1:1:1]": 5.028744477, + "./qa/specs/features/api/3_create/repository/files_spec.rb[1:1:2:1]": 3.973983673, + "./qa/specs/features/api/3_create/repository/project_archive_compare_spec.rb[1:1:1]": 15.180661393, + "./qa/specs/features/api/3_create/repository/push_postreceive_idempotent_spec.rb[1:1:1]": 25.050371408, + "./qa/specs/features/api/3_create/repository/storage_size_spec.rb[1:1:1]": 19.204492761, + "./qa/specs/features/api/3_create/repository/tag_revision_trigger_prereceive_hook_spec.rb[1:1:1:1:1]": 11.841812764, + "./qa/specs/features/api/4_verify/api_variable_inheritance_with_forward_pipeline_variables_spec.rb[1:1:1]": 61.1731228, + "./qa/specs/features/api/4_verify/cancel_pipeline_when_block_user_spec.rb[1:1:1]": 26.376580723, + "./qa/specs/features/api/4_verify/file_variable_spec.rb[1:1:1]": 34.071845262, + "./qa/specs/features/api/4_verify/file_variable_spec.rb[1:1:2]": 34.77279935, + "./qa/specs/features/api/4_verify/job_downloads_artifacts_spec.rb[1:1:1]": 27.161383435, + "./qa/specs/features/api/5_package/container_registry/saas/container_registry_spec.rb[1:1:1]": 69.033341671, + "./qa/specs/features/api/8_monitor/metrics_spec.rb[1:1:2:1]": 3.650956009, + "./qa/specs/features/api/8_monitor/metrics_spec.rb[1:2:1:1]": 2.685024967, + "./qa/specs/features/api/9_tenant_scale/user_inherited_access_spec.rb[1:1:1:1]": 17.026644753, + "./qa/specs/features/api/9_tenant_scale/user_inherited_access_spec.rb[1:1:1:2]": 22.463937372, + "./qa/specs/features/api/9_tenant_scale/user_inherited_access_spec.rb[1:1:1:3]": 15.513543391, + "./qa/specs/features/api/9_tenant_scale/user_inherited_access_spec.rb[1:1:2:1]": 47.420487817, + "./qa/specs/features/api/9_tenant_scale/user_inherited_access_spec.rb[1:1:2:2]": 17.03596181, + "./qa/specs/features/api/9_tenant_scale/user_inherited_access_spec.rb[1:1:2:3]": 12.049638428, + "./qa/specs/features/api/9_tenant_scale/users_spec.rb[1:1:1]": 1.400500494, + "./qa/specs/features/api/9_tenant_scale/users_spec.rb[1:1:2]": 1.350860883, + "./qa/specs/features/api/9_tenant_scale/users_spec.rb[1:1:3]": 3.300004046, + "./qa/specs/features/browser_ui/10_govern/group/group_access_token_spec.rb[1:1:1]": 20.474029766, + "./qa/specs/features/browser_ui/10_govern/login/2fa_recovery_spec.rb[1:1:1]": 53.607716173, + "./qa/specs/features/browser_ui/10_govern/login/2fa_ssh_recovery_spec.rb[1:1:1]": 57.850255819, + "./qa/specs/features/browser_ui/10_govern/login/log_in_spec.rb[1:1:1]": 13.623114893, + "./qa/specs/features/browser_ui/10_govern/login/log_in_with_2fa_spec.rb[1:1:1]": 100.334444961, + "./qa/specs/features/browser_ui/10_govern/login/log_into_gitlab_via_ldap_spec.rb[1:1:1]": 4.92612366, + "./qa/specs/features/browser_ui/10_govern/login/log_into_mattermost_via_gitlab_spec.rb[1:1:1]": 30.722237006, + "./qa/specs/features/browser_ui/10_govern/login/login_via_instance_wide_saml_sso_spec.rb[1:1:1]": 20.068269269, + "./qa/specs/features/browser_ui/10_govern/login/oauth_login_with_github_spec.rb[1:1:1]": 42.085418594, + "./qa/specs/features/browser_ui/10_govern/login/register_spec.rb[1:1:1]": 7.815511727, + "./qa/specs/features/browser_ui/10_govern/login/register_spec.rb[1:2:1:1:1]": 33.776881071, + "./qa/specs/features/browser_ui/10_govern/login/register_spec.rb[1:2:1:2:1]": 17.656691661, + "./qa/specs/features/browser_ui/10_govern/login/register_spec.rb[1:2:2:1]": 56.360518948, + "./qa/specs/features/browser_ui/10_govern/project/project_access_token_spec.rb[1:1:1]": 22.744552996, + "./qa/specs/features/browser_ui/10_govern/user/impersonation_token_spec.rb[1:1:1]": 39.080742241, + "./qa/specs/features/browser_ui/10_govern/user/user_access_termination_spec.rb[1:1:1:1]": 19.569856625, + "./qa/specs/features/browser_ui/10_govern/user/user_access_termination_spec.rb[1:1:1:2]": 15.261237265, + "./qa/specs/features/browser_ui/10_govern/user/user_access_termination_spec.rb[1:1:1:3]": 6.099341109, + "./qa/specs/features/browser_ui/14_analytics/performance_bar_spec.rb[1:1:1:1]": 41.248273954, + "./qa/specs/features/browser_ui/14_analytics/service_ping_default_enabled_spec.rb[1:1:1:1]": 23.762679721, + "./qa/specs/features/browser_ui/14_analytics/service_ping_disabled_spec.rb[1:1:1:1]": 16.107325885, + "./qa/specs/features/browser_ui/1_manage/integrations/jenkins/jenkins_build_status_spec.rb[1:1:1]": 63.049141584, + "./qa/specs/features/browser_ui/1_manage/integrations/jira/jira_basic_integration_spec.rb[1:1:1]": 30.595798719, + "./qa/specs/features/browser_ui/1_manage/integrations/jira/jira_basic_integration_spec.rb[1:1:2]": 33.27795688, + "./qa/specs/features/browser_ui/1_manage/integrations/jira/jira_issue_import_spec.rb[1:1:1]": 53.065096905, + "./qa/specs/features/browser_ui/1_manage/integrations/pipeline_status_emails_spec.rb[1:1:1:1]": 49.611303941, + "./qa/specs/features/browser_ui/1_manage/integrations/pipeline_status_emails_spec.rb[1:1:2:1]": 39.009865123, + "./qa/specs/features/browser_ui/1_manage/migration/gitlab_migration_group_spec.rb[1:1:1]": 72.757495199, + "./qa/specs/features/browser_ui/1_manage/migration/gitlab_migration_user_contribution_reassignment_spec.rb[1:1:1:1]": 177.476700287, + "./qa/specs/features/browser_ui/2_plan/design_management/add_design_content_spec.rb[1:1:1]": 22.390309891, + "./qa/specs/features/browser_ui/2_plan/design_management/archive_design_content_spec.rb[1:1:1]": 33.211751438, + "./qa/specs/features/browser_ui/2_plan/design_management/modify_design_content_spec.rb[1:1:1]": 25.175048505, + "./qa/specs/features/browser_ui/2_plan/email/trigger_email_notification_spec.rb[1:1:1]": 19.399112122, + "./qa/specs/features/browser_ui/2_plan/issue/collapse_comments_in_discussions_spec.rb[1:1:1]": 22.48118938, + "./qa/specs/features/browser_ui/2_plan/issue/comment_issue_spec.rb[1:1:1]": 26.180878901, + "./qa/specs/features/browser_ui/2_plan/issue/create_issue_spec.rb[1:1:1]": 41.855098906, + "./qa/specs/features/browser_ui/2_plan/issue/create_issue_spec.rb[1:1:2]": 80.120692749, + "./qa/specs/features/browser_ui/2_plan/issue/create_issue_spec.rb[1:1:3]": 45.618062917, + "./qa/specs/features/browser_ui/2_plan/issue/create_issue_spec.rb[1:1:4:1]": 35.169966834, + "./qa/specs/features/browser_ui/2_plan/issue/custom_issue_template_spec.rb[1:1:1]": 31.199291474, + "./qa/specs/features/browser_ui/2_plan/issue/export_as_csv_spec.rb[1:1:1]": 42.882703366, + "./qa/specs/features/browser_ui/2_plan/issue/issue_suggestions_spec.rb[1:1:1]": 25.652492251, + "./qa/specs/features/browser_ui/2_plan/issue/mentions_spec.rb[1:1:1]": 34.942500464, + "./qa/specs/features/browser_ui/2_plan/issue/real_time_assignee_spec.rb[1:1:1]": 31.47515856, + "./qa/specs/features/browser_ui/2_plan/issue_boards/focus_mode_spec.rb[1:1:1]": 19.343151789, + "./qa/specs/features/browser_ui/2_plan/milestone/assign_milestone_spec.rb[1:1:1:1:1]": 23.210075689, + "./qa/specs/features/browser_ui/2_plan/milestone/assign_milestone_spec.rb[1:1:1:2:1]": 28.676189028, + "./qa/specs/features/browser_ui/2_plan/milestone/assign_milestone_spec.rb[1:1:2:1:1]": 25.589997648, + "./qa/specs/features/browser_ui/2_plan/milestone/assign_milestone_spec.rb[1:1:2:2:1]": 29.311075284, + "./qa/specs/features/browser_ui/2_plan/milestone/create_group_milestone_spec.rb[1:1:1]": 22.265545915, + "./qa/specs/features/browser_ui/2_plan/milestone/create_project_milestone_spec.rb[1:1:1]": 30.000384865, + "./qa/specs/features/browser_ui/2_plan/project_wiki/project_based_content_creation_spec.rb[1:1:1]": 24.477430036, + "./qa/specs/features/browser_ui/2_plan/project_wiki/project_based_content_creation_spec.rb[1:1:2]": 25.029662913, + "./qa/specs/features/browser_ui/2_plan/project_wiki/project_based_content_creation_spec.rb[1:1:3]": 20.268262069, + "./qa/specs/features/browser_ui/2_plan/project_wiki/project_based_content_creation_spec.rb[1:1:4]": 22.353972292, + "./qa/specs/features/browser_ui/2_plan/project_wiki/project_based_content_creation_spec.rb[1:1:5]": 22.315883054, + "./qa/specs/features/browser_ui/2_plan/project_wiki/project_based_content_manipulation_spec.rb[1:1:1]": 23.415449241, + "./qa/specs/features/browser_ui/2_plan/project_wiki/project_based_content_manipulation_spec.rb[1:1:2]": 26.490928307, + "./qa/specs/features/browser_ui/2_plan/project_wiki/project_based_content_manipulation_spec.rb[1:1:3]": 22.329028423, + "./qa/specs/features/browser_ui/2_plan/project_wiki/project_based_directory_management_spec.rb[1:1:1]": 22.372347952, + "./qa/specs/features/browser_ui/2_plan/project_wiki/project_based_file_upload_spec.rb[1:1:1]": 39.202519551, + "./qa/specs/features/browser_ui/2_plan/project_wiki/project_based_list_spec.rb[1:1:1:1]": 31.491481994, + "./qa/specs/features/browser_ui/2_plan/project_wiki/project_based_list_spec.rb[1:1:2:1]": 56.566639404, + "./qa/specs/features/browser_ui/2_plan/project_wiki/project_based_page_deletion_spec.rb[1:1:1]": 20.157584117, + "./qa/specs/features/browser_ui/2_plan/project_wiki/project_based_page_deletion_spec.rb[1:1:2]": 36.51628778, + "./qa/specs/features/browser_ui/2_plan/related_issues/related_issues_spec.rb[1:1:1]": 25.667597999, + "./qa/specs/features/browser_ui/3_create/merge_request/add_batch_comments_in_merge_request_spec.rb[1:1:1]": 42.054490794, + "./qa/specs/features/browser_ui/3_create/merge_request/add_batch_comments_in_merge_request_spec.rb[1:1:2]": 43.117491672, + "./qa/specs/features/browser_ui/3_create/merge_request/cherry_pick/cherry_pick_a_merge_spec.rb[1:1:1]": 44.176778105, + "./qa/specs/features/browser_ui/3_create/merge_request/cherry_pick/cherry_pick_commit_spec.rb[1:1:1]": 34.686354604, + "./qa/specs/features/browser_ui/3_create/merge_request/create_merge_request_spec.rb[1:1:1]": 28.449997812, + "./qa/specs/features/browser_ui/3_create/merge_request/create_merge_request_spec.rb[1:1:2]": 37.360913616, + "./qa/specs/features/browser_ui/3_create/merge_request/merge_merge_request_from_fork_spec.rb[1:1:1]": 39.69523976, + "./qa/specs/features/browser_ui/3_create/merge_request/merge_request_set_to_auto_merge_spec.rb[1:1:1]": 96.135750584, + "./qa/specs/features/browser_ui/3_create/merge_request/rebase_merge_request_spec.rb[1:1:1]": 91.869611652, + "./qa/specs/features/browser_ui/3_create/merge_request/revert/revert_commit_spec.rb[1:1:1]": 29.611802805, + "./qa/specs/features/browser_ui/3_create/merge_request/revert/reverting_merge_request_spec.rb[1:1:1]": 55.520810221, + "./qa/specs/features/browser_ui/3_create/merge_request/suggestions/batch_suggestion_spec.rb[1:1:1]": 73.960590807, + "./qa/specs/features/browser_ui/3_create/merge_request/suggestions/custom_commit_suggestion_spec.rb[1:1:1]": 53.032713696, + "./qa/specs/features/browser_ui/3_create/merge_request/view_merge_request_diff_patch_spec.rb[1:1:1]": 26.14411814, + "./qa/specs/features/browser_ui/3_create/merge_request/view_merge_request_diff_patch_spec.rb[1:1:2]": 27.80723467, + "./qa/specs/features/browser_ui/3_create/repository/add_file_template_spec.rb[1:1:1]": 27.930282318, + "./qa/specs/features/browser_ui/3_create/repository/add_new_branch_rule_spec.rb[1:1:1]": 45.270817966, + "./qa/specs/features/browser_ui/3_create/repository/branch_with_unusual_name_spec.rb[1:1:1:1]": 24.174087797, + "./qa/specs/features/browser_ui/3_create/repository/clone_spec.rb[1:1:1]": 13.006387883, + "./qa/specs/features/browser_ui/3_create/repository/clone_spec.rb[1:1:2]": 11.494703413, + "./qa/specs/features/browser_ui/3_create/repository/license_detection_spec.rb[1:1:1:1:1]": 18.855529701, + "./qa/specs/features/browser_ui/3_create/repository/license_detection_spec.rb[1:1:2:1:1]": 18.932699056, + "./qa/specs/features/browser_ui/3_create/repository/protected_tags_spec.rb[1:1:1:1:1]": 29.02752419, + "./qa/specs/features/browser_ui/3_create/repository/protected_tags_spec.rb[1:1:1:2:1]": 26.55333415, + "./qa/specs/features/browser_ui/3_create/repository/protected_tags_spec.rb[1:1:2:1:1]": 50.520658141, + "./qa/specs/features/browser_ui/3_create/repository/protected_tags_spec.rb[1:1:2:2:1]": 50.656315929, + "./qa/specs/features/browser_ui/3_create/repository/protocol_v2_push_http_spec.rb[1:1:1]": 22.762603095, + "./qa/specs/features/browser_ui/3_create/repository/protocol_v2_push_ssh_spec.rb[1:1:1]": 23.320743313, + "./qa/specs/features/browser_ui/3_create/repository/push_http_private_token_spec.rb[1:1:1]": 25.847487444, + "./qa/specs/features/browser_ui/3_create/repository/push_mirroring_lfs_over_http_spec.rb[1:1:1]": 84.458710267, + "./qa/specs/features/browser_ui/3_create/repository/push_mirroring_over_http_spec.rb[1:1:1]": 78.821934437, + "./qa/specs/features/browser_ui/3_create/repository/push_over_http_file_size_spec.rb[1:1:1]": 15.930321226, + "./qa/specs/features/browser_ui/3_create/repository/push_over_http_file_size_spec.rb[1:1:2]": 42.262366391, + "./qa/specs/features/browser_ui/3_create/repository/push_over_http_spec.rb[1:1:1]": 22.338545736, + "./qa/specs/features/browser_ui/3_create/repository/push_over_http_spec.rb[1:1:2]": 13.557199259, + "./qa/specs/features/browser_ui/3_create/repository/push_over_ssh_file_size_spec.rb[1:1:1]": 18.406459158, + "./qa/specs/features/browser_ui/3_create/repository/push_over_ssh_file_size_spec.rb[1:1:2]": 41.805400579, + "./qa/specs/features/browser_ui/3_create/repository/push_over_ssh_spec.rb[1:1:1]": 25.324773846, + "./qa/specs/features/browser_ui/3_create/repository/push_over_ssh_spec.rb[1:1:2]": 24.019164761, + "./qa/specs/features/browser_ui/3_create/repository/push_protected_branch_spec.rb[1:1:1:1]": 26.67423749, + "./qa/specs/features/browser_ui/3_create/repository/push_to_canary_gitaly_spec.rb[1:1:1]": 23.857914052, + "./qa/specs/features/browser_ui/3_create/repository/ssh_key_support_create_spec.rb[1:1:1]": 21.282368827, + "./qa/specs/features/browser_ui/3_create/repository/ssh_key_support_delete_spec.rb[1:1:1]": 18.902263736, + "./qa/specs/features/browser_ui/3_create/repository/user_views_commit_diff_patch_spec.rb[1:1:1]": 25.879328914, + "./qa/specs/features/browser_ui/3_create/repository/user_views_commit_diff_patch_spec.rb[1:1:2]": 30.236198289, + "./qa/specs/features/browser_ui/3_create/snippet/add_comment_to_snippet_spec.rb[1:1:1]": 31.974285998, + "./qa/specs/features/browser_ui/3_create/snippet/add_file_to_snippet_spec.rb[1:1:1:1]": 29.043003018, + "./qa/specs/features/browser_ui/3_create/snippet/add_file_to_snippet_spec.rb[1:1:2:1]": 26.91105112, + "./qa/specs/features/browser_ui/3_create/snippet/clone_push_pull_personal_snippet_spec.rb[1:1:1]": 37.168216338, + "./qa/specs/features/browser_ui/3_create/snippet/clone_push_pull_personal_snippet_spec.rb[1:1:2]": 38.841167106, + "./qa/specs/features/browser_ui/3_create/snippet/clone_push_pull_project_snippet_spec.rb[1:1:1]": 44.251026254, + "./qa/specs/features/browser_ui/3_create/snippet/clone_push_pull_project_snippet_spec.rb[1:1:2]": 41.942455737, + "./qa/specs/features/browser_ui/3_create/snippet/copy_snippet_file_contents_spec.rb[1:1:1]": 25.41531335, + "./qa/specs/features/browser_ui/3_create/snippet/create_personal_snippet_with_multiple_files_spec.rb[1:1:1]": 16.54897191, + "./qa/specs/features/browser_ui/3_create/snippet/create_project_snippet_with_multiple_files_spec.rb[1:1:1]": 31.074118649, + "./qa/specs/features/browser_ui/3_create/snippet/delete_file_from_snippet_spec.rb[1:1:1:1]": 24.161491277, + "./qa/specs/features/browser_ui/3_create/snippet/delete_file_from_snippet_spec.rb[1:1:2:1]": 22.078939819, + "./qa/specs/features/browser_ui/3_create/snippet/share_snippet_spec.rb[1:1:1:1]": 16.301441093, + "./qa/specs/features/browser_ui/3_create/snippet/share_snippet_spec.rb[1:1:2:1]": 13.955859784, + "./qa/specs/features/browser_ui/3_create/source_editor/source_editor_toolbar_spec.rb[1:1:1]": 30.364181551, + "./qa/specs/features/browser_ui/3_create/web_ide/add_first_file_in_web_ide_spec.rb[1:1:1:1]": 16.733141507, + "./qa/specs/features/browser_ui/3_create/web_ide/add_first_file_in_web_ide_spec.rb[1:1:2:1]": 21.700240336, + "./qa/specs/features/browser_ui/3_create/web_ide/add_new_directory_in_web_ide_spec.rb[1:1:1:1]": 41.827162727, + "./qa/specs/features/browser_ui/3_create/web_ide/add_new_directory_in_web_ide_spec.rb[1:1:2:1]": 59.393681161, + "./qa/specs/features/browser_ui/3_create/web_ide/closing_web_ide_with_unsaved_changes_spec.rb[1:1:1]": 37.055114931, + "./qa/specs/features/browser_ui/3_create/web_ide/settings_sync_web_ide_spec.rb[1:1:1]": 37.72470991, + "./qa/specs/features/browser_ui/3_create/web_ide/settings_sync_web_ide_spec.rb[1:1:2]": 79.323297986, + "./qa/specs/features/browser_ui/3_create/web_ide/settings_sync_web_ide_spec.rb[1:1:3]": 62.603135676, + "./qa/specs/features/browser_ui/3_create/web_ide/upload_new_file_in_web_ide_spec.rb[1:1:1:1]": 42.340393254, + "./qa/specs/features/browser_ui/3_create/web_ide/upload_new_file_in_web_ide_spec.rb[1:1:2:1:1:1]": 25.288455057, + "./qa/specs/features/browser_ui/3_create/web_ide/upload_new_file_in_web_ide_spec.rb[1:1:2:2:1:1]": 82.396868829, + "./qa/specs/features/browser_ui/4_verify/ci_components_catalog/ci_catalog_sorting_spec.rb[1:1:1:2:1:1]": 46.970866337, + "./qa/specs/features/browser_ui/4_verify/ci_components_catalog/ci_catalog_sorting_spec.rb[1:1:1:2:2:1]": 41.286218138, + "./qa/specs/features/browser_ui/4_verify/ci_components_catalog/release_with_glab_spec.rb[1:1:1]": 63.100407055, + "./qa/specs/features/browser_ui/4_verify/ci_components_catalog/release_with_glab_spec.rb[1:1:2]": 60.527864358, + "./qa/specs/features/browser_ui/4_verify/ci_components_catalog/release_with_release_cli_spec.rb[1:1:1]": 104.390914505, + "./qa/specs/features/browser_ui/4_verify/ci_components_catalog/release_with_release_cli_spec.rb[1:1:2]": 54.166226016, + "./qa/specs/features/browser_ui/4_verify/ci_components_catalog/run_component_in_project_pipeline_spec.rb[1:1:1]": 48.949554375, + "./qa/specs/features/browser_ui/4_verify/ci_job_artifacts/expose_job_artifacts_in_mr_spec.rb[1:1:1:1]": 37.774771155, + "./qa/specs/features/browser_ui/4_verify/ci_job_artifacts/job_artifacts_access_keyword_spec.rb[1:1:1:1:1]": 40.874298624, + "./qa/specs/features/browser_ui/4_verify/ci_job_artifacts/job_artifacts_access_keyword_spec.rb[1:1:1:1:2]": 39.940509573, + "./qa/specs/features/browser_ui/4_verify/ci_job_artifacts/job_artifacts_access_keyword_spec.rb[1:1:2:1:1]": 50.65696049, + "./qa/specs/features/browser_ui/4_verify/ci_job_artifacts/job_artifacts_access_keyword_spec.rb[1:1:2:1:2]": 41.006435857, + "./qa/specs/features/browser_ui/4_verify/ci_job_artifacts/job_artifacts_access_keyword_spec.rb[1:1:3:1:1]": 48.767105643, + "./qa/specs/features/browser_ui/4_verify/ci_job_artifacts/job_artifacts_access_keyword_spec.rb[1:1:3:1:2]": 44.818449012, + "./qa/specs/features/browser_ui/4_verify/ci_job_artifacts/unlocking_job_artifacts_across_pipelines_spec.rb[1:1:1:1]": 66.629761871, + "./qa/specs/features/browser_ui/4_verify/ci_job_artifacts/unlocking_job_artifacts_across_pipelines_spec.rb[1:1:2:1]": 123.854269172, + "./qa/specs/features/browser_ui/4_verify/ci_job_artifacts/unlocking_job_artifacts_across_pipelines_spec.rb[1:1:3:1]": 79.169237889, + "./qa/specs/features/browser_ui/4_verify/ci_project_artifacts/user_can_bulk_delete_artifacts_spec.rb[1:1:1:1]": 73.291987677, + "./qa/specs/features/browser_ui/4_verify/ci_variable/pipeline_with_protected_variable_spec.rb[1:1:1]": 56.890872017, + "./qa/specs/features/browser_ui/4_verify/ci_variable/pipeline_with_protected_variable_spec.rb[1:1:2]": 76.375028982, + "./qa/specs/features/browser_ui/4_verify/ci_variable/raw_variables_defined_in_yaml_spec.rb[1:1:1]": 61.572497471, + "./qa/specs/features/browser_ui/4_verify/ci_variable/ui_variable_inheritable_when_forward_pipeline_variables_true_spec.rb[1:1:1]": 74.633719222, + "./qa/specs/features/browser_ui/4_verify/pipeline/include_local_config_file_paths_with_wildcard_spec.rb[1:1:1]": 30.915270131, + "./qa/specs/features/browser_ui/4_verify/pipeline/include_multiple_files_from_a_project_spec.rb[1:1:1]": 49.364241601, + "./qa/specs/features/browser_ui/4_verify/pipeline/include_multiple_files_from_multiple_projects_spec.rb[1:1:1]": 49.394313638, + "./qa/specs/features/browser_ui/4_verify/pipeline/parent_child_pipelines_independent_relationship_spec.rb[1:1:1]": 35.032417901, + "./qa/specs/features/browser_ui/4_verify/pipeline/parent_child_pipelines_independent_relationship_spec.rb[1:1:2]": 40.127219723, + "./qa/specs/features/browser_ui/4_verify/pipeline/pass_dotenv_variables_to_downstream_via_bridge_spec.rb[1:1:1]": 63.867982759, + "./qa/specs/features/browser_ui/4_verify/pipeline/run_pipeline_with_manual_jobs_spec.rb[1:1:1]": 60.973117906, + "./qa/specs/features/browser_ui/4_verify/pipeline/trigger_child_pipeline_with_manual_spec.rb[1:1:1]": 60.126772749, + "./qa/specs/features/browser_ui/4_verify/pipeline/trigger_matrix_spec.rb[1:1:1]": 41.242408651, + "./qa/specs/features/browser_ui/4_verify/pipeline/update_ci_file_with_pipeline_editor_spec.rb[1:1:1]": 42.089385742, + "./qa/specs/features/browser_ui/4_verify/runner/deprecated_registration_token_spec.rb[1:1:1]": 21.650577048, + "./qa/specs/features/browser_ui/4_verify/runner/deprecated_unregister_runner_spec.rb[1:1:1]": 36.095911812, + "./qa/specs/features/browser_ui/4_verify/runner/fleet_visibility/group_runner_counts_spec.rb[1:1:1]": 21.918267332, + "./qa/specs/features/browser_ui/4_verify/runner/fleet_visibility/group_runner_status_counts_spec.rb[1:1:1]": 18.97998052, + "./qa/specs/features/browser_ui/4_verify/runner/register_group_runner_spec.rb[1:1:1]": 26.115506564, + "./qa/specs/features/browser_ui/4_verify/runner/register_project_runner_spec.rb[1:1:1]": 52.527923887, + "./qa/specs/features/browser_ui/4_verify/runner/unregister_runner_spec.rb[1:1:1]": 26.236790015, + "./qa/specs/features/browser_ui/4_verify/testing/endpoint_coverage_spec.rb[1:1:1]": 52.316446719, + "./qa/specs/features/browser_ui/5_package/container_registry/saas/container_registry_spec.rb[1:1:1]": 165.634585609, + "./qa/specs/features/browser_ui/5_package/container_registry/self_managed/container_registry_spec.rb[1:1:1:1:1]": 105.272052759, + "./qa/specs/features/browser_ui/5_package/container_registry/self_managed/container_registry_spec.rb[1:1:1:2:1]": 135.258626258, + "./qa/specs/features/browser_ui/5_package/container_registry/self_managed/container_registry_spec.rb[1:1:1:3:1]": 106.807653429, + "./qa/specs/features/browser_ui/5_package/dependency_proxy/dependency_proxy_spec.rb[1:1:1:1]": 79.139139667, + "./qa/specs/features/browser_ui/5_package/dependency_proxy/dependency_proxy_spec.rb[1:1:2:1]": 63.35187277, + "./qa/specs/features/browser_ui/5_package/dependency_proxy/dependency_proxy_spec.rb[1:1:3:1]": 57.017904188, + "./qa/specs/features/browser_ui/5_package/package_registry/composer_registry_spec.rb[1:1:1]": 67.286344045, + "./qa/specs/features/browser_ui/5_package/package_registry/conan_repository_spec.rb[1:1:1]": 109.692268132, + "./qa/specs/features/browser_ui/5_package/package_registry/generic_repository_spec.rb[1:1:1]": 63.838511729, + "./qa/specs/features/browser_ui/5_package/package_registry/helm_registry_spec.rb[1:1:1:1]": 112.827337247, + "./qa/specs/features/browser_ui/5_package/package_registry/helm_registry_spec.rb[1:1:2:1]": 102.178218066, + "./qa/specs/features/browser_ui/5_package/package_registry/helm_registry_spec.rb[1:1:3:1]": 107.851342207, + "./qa/specs/features/browser_ui/5_package/package_registry/maven/maven_group_level_spec.rb[1:1:1:1:1]": 121.98047767, + "./qa/specs/features/browser_ui/5_package/package_registry/maven/maven_group_level_spec.rb[1:1:1:2:1]": 125.26619909, + "./qa/specs/features/browser_ui/5_package/package_registry/maven/maven_group_level_spec.rb[1:1:1:3:1]": 164.134308094, + "./qa/specs/features/browser_ui/5_package/package_registry/maven/maven_group_level_spec.rb[1:1:2:1:1]": 118.839580145, + "./qa/specs/features/browser_ui/5_package/package_registry/maven/maven_group_level_spec.rb[1:1:2:2:1]": 120.079280527, + "./qa/specs/features/browser_ui/5_package/package_registry/maven/maven_project_level_spec.rb[1:1:1:1]": 94.203822856, + "./qa/specs/features/browser_ui/5_package/package_registry/maven/maven_project_level_spec.rb[1:1:2:1]": 96.340273515, + "./qa/specs/features/browser_ui/5_package/package_registry/maven/maven_project_level_spec.rb[1:1:3:1]": 106.19057576, + "./qa/specs/features/browser_ui/5_package/package_registry/maven_gradle_repository_spec.rb[1:1:1:1]": 101.407670161, + "./qa/specs/features/browser_ui/5_package/package_registry/maven_gradle_repository_spec.rb[1:1:2:1]": 121.315254043, + "./qa/specs/features/browser_ui/5_package/package_registry/maven_gradle_repository_spec.rb[1:1:3:1]": 101.910591866, + "./qa/specs/features/browser_ui/5_package/package_registry/npm/npm_group_level_spec.rb[1:1:1:1]": 90.53860519, + "./qa/specs/features/browser_ui/5_package/package_registry/npm/npm_group_level_spec.rb[1:1:2:1]": 107.515920373, + "./qa/specs/features/browser_ui/5_package/package_registry/npm/npm_group_level_spec.rb[1:1:3:1]": 90.804820393, + "./qa/specs/features/browser_ui/5_package/package_registry/npm/npm_instance_level_spec.rb[1:1:1:1]": 80.886530788, + "./qa/specs/features/browser_ui/5_package/package_registry/npm/npm_instance_level_spec.rb[1:1:2:1]": 90.640849555, + "./qa/specs/features/browser_ui/5_package/package_registry/npm/npm_instance_level_spec.rb[1:1:3:1]": 104.873391049, + "./qa/specs/features/browser_ui/5_package/package_registry/pypi_repository_spec.rb[1:1:1:1]": 124.86013221, + "./qa/specs/features/browser_ui/6_deploy/auto_devops/create_project_with_auto_devops_spec.rb[1:1:1]": 568.348871003, + "./qa/specs/features/browser_ui/6_deploy/deploy_key/add_deploy_key_spec.rb[1:1:1]": 25.653972745, + "./qa/specs/features/browser_ui/6_deploy/deploy_key/clone_using_deploy_key_spec.rb[1:1:1]": 64.788391756, + "./qa/specs/features/browser_ui/6_deploy/deploy_key/clone_using_deploy_key_spec.rb[1:1:2]": 44.250252096, + "./qa/specs/features/browser_ui/6_deploy/deploy_key/clone_using_deploy_key_spec.rb[1:1:3]": 51.12034734, + "./qa/specs/features/browser_ui/6_deploy/deploy_token/add_deploy_token_spec.rb[1:1:1]": 13.617455071, + "./qa/specs/features/browser_ui/8_monitor/alert_management/alert_management_spec.rb[1:1:1:1:1]": 28.804756916, + "./qa/specs/features/browser_ui/8_monitor/alert_management/alert_management_spec.rb[1:1:1:2:1]": 26.942373918, + "./qa/specs/features/browser_ui/8_monitor/alert_management/alert_management_spec.rb[1:1:1:3:1]": 32.742460132, + "./qa/specs/features/browser_ui/8_monitor/alert_management/alert_management_spec.rb[1:1:1:4:1]": 33.512280759, + "./qa/specs/features/browser_ui/8_monitor/alert_management/alert_management_spec.rb[1:1:2:1:1]": 25.278106634, + "./qa/specs/features/browser_ui/8_monitor/alert_management/alert_management_spec.rb[1:1:2:2:1]": 25.818995704, + "./qa/specs/features/browser_ui/8_monitor/alert_management/alert_management_spec.rb[1:1:2:3:1]": 30.539621529, + "./qa/specs/features/browser_ui/8_monitor/alert_management/email_notification_for_alert_spec.rb[1:1:1:1:1:1]": 20.803734715, + "./qa/specs/features/browser_ui/8_monitor/alert_management/email_notification_for_alert_spec.rb[1:1:1:2:1:1]": 18.149240297, + "./qa/specs/features/browser_ui/8_monitor/alert_management/email_notification_for_alert_spec.rb[1:1:2:1:1:1]": 24.560867605, + "./qa/specs/features/browser_ui/8_monitor/alert_management/email_notification_for_alert_spec.rb[1:1:2:2:1:1]": 21.5403724, + "./qa/specs/features/browser_ui/9_tenant_scale/group/create_group_with_mattermost_team_spec.rb[1:1:1]": 11.792938794, + "./qa/specs/features/browser_ui/9_tenant_scale/group/group_member_access_request_spec.rb[1:1:1]": 27.494347693, + "./qa/specs/features/browser_ui/9_tenant_scale/group/group_member_access_request_spec.rb[1:1:2:1:1]": 22.400180915, + "./qa/specs/features/browser_ui/9_tenant_scale/group/group_member_access_request_spec.rb[1:1:2:2:1]": 24.470665351, + "./qa/specs/features/browser_ui/9_tenant_scale/group/transfer_project_spec.rb[1:1:1]": 21.639426063, + "./qa/specs/features/browser_ui/9_tenant_scale/project/add_project_member_spec.rb[1:1:1]": 32.685666012, + "./qa/specs/features/browser_ui/9_tenant_scale/project/create_project_badge_spec.rb[1:1:1]": 29.041984398, + "./qa/specs/features/browser_ui/9_tenant_scale/project/create_project_spec.rb[1:1:1:1:1]": 28.892801071, + "./qa/specs/features/browser_ui/9_tenant_scale/project/create_project_spec.rb[1:1:2:1:1]": 27.588794295, + "./qa/specs/features/browser_ui/9_tenant_scale/project/dashboard_images_spec.rb[1:1:1:1:1]": 8.72350758, + "./qa/specs/features/browser_ui/9_tenant_scale/project/dashboard_images_spec.rb[1:1:2:1:1]": 14.014929585, + "./qa/specs/features/browser_ui/9_tenant_scale/project/invite_group_to_project_spec.rb[1:1:1:1:1]": 29.737208156, + "./qa/specs/features/browser_ui/9_tenant_scale/project/invite_group_to_project_spec.rb[1:1:2:1:1]": 24.811136111, + "./qa/specs/features/browser_ui/9_tenant_scale/project/project_owner_permissions_spec.rb[1:1:1:1:1]": 42.426066184, + "./qa/specs/features/browser_ui/9_tenant_scale/project/project_owner_permissions_spec.rb[1:1:1:2:1]": 46.870434948, + "./qa/specs/features/browser_ui/9_tenant_scale/project/project_owner_permissions_spec.rb[1:1:2:1:1]": 46.044489351, + "./qa/specs/features/browser_ui/9_tenant_scale/project/project_owner_permissions_spec.rb[1:1:2:2:1]": 42.700666515, + "./qa/specs/features/browser_ui/9_tenant_scale/project/view_project_activity_spec.rb[1:1:1:1]": 24.761728824, + "./qa/specs/features/browser_ui/9_tenant_scale/user/follow_user_activity_spec.rb[1:1:1]": 26.594523245, + "./qa/specs/features/browser_ui/9_tenant_scale/user/parent_group_access_termination_spec.rb[1:1:1:1]": 29.703109918, + "./qa/specs/features/browser_ui/9_tenant_scale/user/user_inherited_access_spec.rb[1:1:1:1]": 17.467976719, + "./qa/specs/features/browser_ui/9_tenant_scale/user/user_inherited_access_spec.rb[1:1:2:1]": 18.405405084, + "./qa/specs/features/ee/api/10_govern/compliance_pipeline_spec.rb[1:1:1:1]": 27.990791839, + "./qa/specs/features/ee/api/10_govern/instance_audit_event_streaming_spec.rb[1:1:1:1]": 10.48554947, + "./qa/specs/features/ee/api/10_govern/instance_audit_event_streaming_spec.rb[1:1:4:1]": 13.391135656, + "./qa/specs/features/ee/api/10_govern/user/minimal_access_user_spec.rb[1:1:1]": 47.509641628, + "./qa/specs/features/ee/api/10_govern/user/minimal_access_user_spec.rb[1:1:2]": 23.460092905, + "./qa/specs/features/ee/api/10_govern/user/minimal_access_user_spec.rb[1:1:3]": 12.443946172, + "./qa/specs/features/ee/api/17_foundations/elasticsearch/advanced_global_advanced_syntax_search_spec.rb[1:1:1:1]": 36.663558592, + "./qa/specs/features/ee/api/17_foundations/elasticsearch/advanced_global_advanced_syntax_search_spec.rb[1:1:1:2]": 77.417051258, + "./qa/specs/features/ee/api/17_foundations/elasticsearch/elasticsearch_api_spec.rb[1:1:1]": 32.871161993, + "./qa/specs/features/ee/api/17_foundations/elasticsearch/elasticsearch_api_spec.rb[1:1:2:1]": 50.220459232, + "./qa/specs/features/ee/api/17_foundations/elasticsearch/elasticsearch_api_spec.rb[1:1:2:2]": 27.55113084, + "./qa/specs/features/ee/api/17_foundations/elasticsearch/index_tests/blob_index_spec.rb[1:1:1]": 42.299344592, + "./qa/specs/features/ee/api/17_foundations/elasticsearch/index_tests/commit_index_spec.rb[1:1:1]": 39.190616521, + "./qa/specs/features/ee/api/17_foundations/elasticsearch/index_tests/issue_index_spec.rb[1:1:1]": 45.731552806, + "./qa/specs/features/ee/api/17_foundations/elasticsearch/index_tests/merge_request_index_spec.rb[1:1:1]": 28.517704861, + "./qa/specs/features/ee/api/17_foundations/elasticsearch/index_tests/note_index_spec.rb[1:1:1]": 36.025010085, + "./qa/specs/features/ee/api/1_manage/import/import_github_repo_spec.rb[1:1:1:1]": 26.742735677, + "./qa/specs/features/ee/api/1_manage/integrations/group_webhook_events_spec.rb[1:1:1]": 13.725903805, + "./qa/specs/features/ee/api/1_manage/migration/gitlab_migration_group_spec.rb[1:1:1:1]": 76.185247628, + "./qa/specs/features/ee/api/2_plan/analytics/dora_metrics_spec.rb[1:1:1:1:1]": 0.865566107, + "./qa/specs/features/ee/api/2_plan/analytics/dora_metrics_spec.rb[1:1:2:1:1]": 1.269010192, + "./qa/specs/features/ee/api/2_plan/epics_milestone_dates_spec.rb[1:1:1]": 19.809633163, + "./qa/specs/features/ee/api/2_plan/epics_milestone_dates_spec.rb[1:1:2]": 31.594498331, + "./qa/specs/features/ee/api/2_plan/epics_milestone_dates_spec.rb[1:1:3]": 16.513852751, + "./qa/specs/features/ee/api/2_plan/epics_milestone_dates_spec.rb[1:1:4]": 20.389667206, + "./qa/specs/features/ee/api/3_create/code_suggestions_spec.rb[1:1:1:1:1:1]": 1.685690499, + "./qa/specs/features/ee/api/3_create/code_suggestions_spec.rb[1:1:1:1:2:1:1]": 1.633117905, + "./qa/specs/features/ee/api/3_create/code_suggestions_spec.rb[1:1:1:2:1:1:1:1:1]": 2.442167374, + "./qa/specs/features/ee/api/3_create/code_suggestions_spec.rb[1:1:1:2:1:1:1:2:1:1]": 1.490340936, + "./qa/specs/features/ee/api/3_create/code_suggestions_spec.rb[1:1:2:1:1:1]": 14.931484294, + "./qa/specs/features/ee/api/3_create/code_suggestions_spec.rb[1:1:2:2:1:1:1:1:1]": 2.245486748, + "./qa/specs/features/ee/api/3_create/code_suggestions_spec.rb[1:1:2:2:1:1:2:1]": 2.881226429, + "./qa/specs/features/ee/api/3_create/code_suggestions_spec.rb[1:1:2:2:1:2:1]": 3.333841167, + "./qa/specs/features/ee/api/3_create/code_suggestions_spec.rb[1:1:2:2:2:1]": 2.881254993, + "./qa/specs/features/ee/api/3_create/code_suggestions_spec.rb[1:1:2:3:1:1]": 11.568556401, + "./qa/specs/features/ee/api/3_create/code_suggestions_spec.rb[1:1:2:3:2:1:1:1:1]": 2.245567839, + "./qa/specs/features/ee/api/3_create/code_suggestions_spec.rb[1:1:3:1:1]": 4.231203828, + "./qa/specs/features/ee/api/3_create/code_suggestions_spec.rb[1:1:3:1:2]": 3.297200231, + "./qa/specs/features/ee/api/3_create/code_suggestions_spec.rb[1:1:3:2:1:1:1:1]": 3.271176783, + "./qa/specs/features/ee/api/3_create/code_suggestions_spec.rb[1:1:3:2:1:1:1:2]": 1.600182738, + "./qa/specs/features/ee/api/3_create/code_suggestions_spec.rb[1:1:3:2:1:1:1:3:1]": 2.744966913, + "./qa/specs/features/ee/api/6_deploy/kubernetes/kubernetes_agent_spec.rb[1:1:1]": 333.841964395, + "./qa/specs/features/ee/browser_ui/10_govern/change_vulnerability_status_spec.rb[1:1:1]": 44.183377131, + "./qa/specs/features/ee/browser_ui/10_govern/change_vulnerability_status_spec.rb[1:1:2]": 37.533034285, + "./qa/specs/features/ee/browser_ui/10_govern/change_vulnerability_status_spec.rb[1:1:3]": 35.889431572, + "./qa/specs/features/ee/browser_ui/10_govern/create_merge_request_with_secure_spec.rb[1:1:1]": 70.493630702, + "./qa/specs/features/ee/browser_ui/10_govern/dismissed_vulnerabilities_in_security_widget_spec.rb[1:1:1]": 78.775272987, + "./qa/specs/features/ee/browser_ui/10_govern/explain_this_vulnerability_spec.rb[1:1:1]": 48.390992685, + "./qa/specs/features/ee/browser_ui/10_govern/export_vulnerability_report_spec.rb[1:1:1]": 25.195373892, + "./qa/specs/features/ee/browser_ui/10_govern/fix_vulnerability_workflow_spec.rb[1:1:1]": 154.707140401, + "./qa/specs/features/ee/browser_ui/10_govern/group/group_audit_event_streaming_spec.rb[1:1:1:1]": 12.690537568, + "./qa/specs/features/ee/browser_ui/10_govern/group/group_audit_event_streaming_spec.rb[1:1:2:1:1]": 9.09502641, + "./qa/specs/features/ee/browser_ui/10_govern/group/group_audit_event_streaming_spec.rb[1:1:2:2:1]": 8.306362519, + "./qa/specs/features/ee/browser_ui/10_govern/group/group_audit_event_streaming_spec.rb[1:1:2:3:1]": 13.302284624, + "./qa/specs/features/ee/browser_ui/10_govern/group/group_audit_logs_1_spec.rb[1:1:1:1:1]": 27.63706179, + "./qa/specs/features/ee/browser_ui/10_govern/group/group_audit_logs_1_spec.rb[1:1:2:1:1]": 12.955363405, + "./qa/specs/features/ee/browser_ui/10_govern/group/group_audit_logs_1_spec.rb[1:1:3:1:1]": 15.134681789, + "./qa/specs/features/ee/browser_ui/10_govern/group/group_audit_logs_1_spec.rb[1:1:4:1:1]": 34.560539116, + "./qa/specs/features/ee/browser_ui/10_govern/group/group_audit_logs_1_spec.rb[1:1:5:1:1]": 42.022888567, + "./qa/specs/features/ee/browser_ui/10_govern/group/group_ldap_sync_spec.rb[1:1:1:1:1]": 45.529307418, + "./qa/specs/features/ee/browser_ui/10_govern/group/group_ldap_sync_spec.rb[1:1:1:1:2]": 12.120191614, + "./qa/specs/features/ee/browser_ui/10_govern/group/group_ldap_sync_spec.rb[1:1:1:1:3]": 14.582430726, + "./qa/specs/features/ee/browser_ui/10_govern/group/group_ldap_sync_spec.rb[1:1:2:1:1]": 31.054713597, + "./qa/specs/features/ee/browser_ui/10_govern/group/group_ldap_sync_spec.rb[1:1:2:1:2]": 10.931406031, + "./qa/specs/features/ee/browser_ui/10_govern/group/group_ldap_sync_spec.rb[1:1:2:1:3]": 15.752118933, + "./qa/specs/features/ee/browser_ui/10_govern/group/restrict_by_ip_address_spec.rb[1:1:1:1:1]": 17.53316666, + "./qa/specs/features/ee/browser_ui/10_govern/group/restrict_by_ip_address_spec.rb[1:1:1:2:1]": 11.608958814, + "./qa/specs/features/ee/browser_ui/10_govern/group/restrict_by_ip_address_spec.rb[1:1:1:3:1]": 48.380505202, + "./qa/specs/features/ee/browser_ui/10_govern/group/restrict_by_ip_address_spec.rb[1:1:2:1:1]": 18.587462244, + "./qa/specs/features/ee/browser_ui/10_govern/group/restrict_by_ip_address_spec.rb[1:1:2:2:1]": 16.214974195, + "./qa/specs/features/ee/browser_ui/10_govern/group/restrict_by_ip_address_spec.rb[1:1:2:3:1]": 18.581583143, + "./qa/specs/features/ee/browser_ui/10_govern/group_pipeline_execution_policy_spec.rb[1:1:1]": 171.590911206, + "./qa/specs/features/ee/browser_ui/10_govern/group_pipeline_execution_policy_spec.rb[1:1:2]": 102.715219756, + "./qa/specs/features/ee/browser_ui/10_govern/instance/instance_audit_logs_spec.rb[1:1:1:1:1]": 18.735625044, + "./qa/specs/features/ee/browser_ui/10_govern/instance/instance_audit_logs_spec.rb[1:1:2:1:1]": 17.260470976, + "./qa/specs/features/ee/browser_ui/10_govern/instance/instance_audit_logs_spec.rb[1:1:3:1:1]": 24.077725106, + "./qa/specs/features/ee/browser_ui/10_govern/instance/instance_audit_logs_spec.rb[1:1:4:1:1]": 20.6096281, + "./qa/specs/features/ee/browser_ui/10_govern/instance/instance_audit_logs_spec.rb[1:1:5:1:1]": 24.474009249, + "./qa/specs/features/ee/browser_ui/10_govern/instance/instance_audit_logs_spec.rb[1:1:6:1:1]": 24.99176591, + "./qa/specs/features/ee/browser_ui/10_govern/project/project_audit_logs_spec.rb[1:1:1:1:1]": 33.473732613, + "./qa/specs/features/ee/browser_ui/10_govern/project/project_audit_logs_spec.rb[1:1:2:1:1]": 32.32108699, + "./qa/specs/features/ee/browser_ui/10_govern/project/project_audit_logs_spec.rb[1:1:3:1:1]": 30.451245152, + "./qa/specs/features/ee/browser_ui/10_govern/project/project_audit_logs_spec.rb[1:1:4:1:1]": 28.918042001, + "./qa/specs/features/ee/browser_ui/10_govern/project/project_audit_logs_spec.rb[1:1:5:1:1]": 50.120184909, + "./qa/specs/features/ee/browser_ui/10_govern/project/project_audit_logs_spec.rb[1:1:6:1:1]": 39.34955273, + "./qa/specs/features/ee/browser_ui/10_govern/project_security_dashboard_spec.rb[1:1:1]": 28.435156908, + "./qa/specs/features/ee/browser_ui/10_govern/project_security_dashboard_spec.rb[1:1:2]": 36.862943442, + "./qa/specs/features/ee/browser_ui/10_govern/scan_execution_policy_vulnerabilities_spec.rb[1:1:1]": 54.792538356, + "./qa/specs/features/ee/browser_ui/10_govern/scan_execution_policy_vulnerabilities_spec.rb[1:1:2]": 73.184189222, + "./qa/specs/features/ee/browser_ui/10_govern/scan_result_policy_license_finding_spec.rb[1:1:1]": 51.5421001, + "./qa/specs/features/ee/browser_ui/10_govern/scan_result_policy_vulnerabilities_spec.rb[1:1:1]": 57.280647082, + "./qa/specs/features/ee/browser_ui/10_govern/scan_result_policy_vulnerabilities_spec.rb[1:1:2]": 57.99702717, + "./qa/specs/features/ee/browser_ui/10_govern/security_policies_spec.rb[1:1:1]": 20.549387254, + "./qa/specs/features/ee/browser_ui/10_govern/security_policies_spec.rb[1:1:2]": 23.050508048, + "./qa/specs/features/ee/browser_ui/10_govern/security_policies_spec.rb[1:1:3]": 37.406546178, + "./qa/specs/features/ee/browser_ui/10_govern/security_reports_spec.rb[1:1:1]": 20.509865645, + "./qa/specs/features/ee/browser_ui/10_govern/security_reports_spec.rb[1:1:2]": 119.452192993, + "./qa/specs/features/ee/browser_ui/10_govern/security_reports_spec.rb[1:1:3]": 62.977874948, + "./qa/specs/features/ee/browser_ui/10_govern/security_reports_spec.rb[1:1:4]": 120.987924612, + "./qa/specs/features/ee/browser_ui/10_govern/security_reports_spec.rb[1:1:6:1]": 37.615573424, + "./qa/specs/features/ee/browser_ui/10_govern/user/minimal_access_user_spec.rb[1:1:1]": 24.578217313, + "./qa/specs/features/ee/browser_ui/10_govern/vulnerabilities_jira_integration_spec.rb[1:1:1]": 42.807938893, + "./qa/specs/features/ee/browser_ui/10_govern/vulnerability_management_spec.rb[1:1:1]": 80.382352738, + "./qa/specs/features/ee/browser_ui/10_govern/vulnerability_management_spec.rb[1:1:2]": 63.174037872, + "./qa/specs/features/ee/browser_ui/10_govern/vulnerability_management_spec.rb[1:1:3]": 109.717016238, + "./qa/specs/features/ee/browser_ui/10_govern/vulnerability_management_spec.rb[1:1:4]": 107.881846713, + "./qa/specs/features/ee/browser_ui/11_fulfillment/license/cloud_activation_spec.rb[1:1:1]": 52.245580561, + "./qa/specs/features/ee/browser_ui/11_fulfillment/license/license_spec.rb[1:1:1]": 13.510919953, + "./qa/specs/features/ee/browser_ui/11_fulfillment/saas_user_limit_experience_spec.rb[1:1:1:1]": 60.107366545, + "./qa/specs/features/ee/browser_ui/11_fulfillment/saas_user_limit_experience_spec.rb[1:1:1:2]": 34.692797934, + "./qa/specs/features/ee/browser_ui/11_fulfillment/saas_user_limit_experience_spec.rb[1:1:1:3]": 28.449038271, + "./qa/specs/features/ee/browser_ui/11_fulfillment/saas_user_limit_experience_spec.rb[1:1:1:4]": 65.128890899, + "./qa/specs/features/ee/browser_ui/11_fulfillment/utilization/free_namespace_storage_spec.rb[1:1:1:1]": 345.016066913, + "./qa/specs/features/ee/browser_ui/11_fulfillment/utilization/saas_user_caps_spec.rb[1:1:1:1]": 51.455543511, + "./qa/specs/features/ee/browser_ui/11_fulfillment/utilization/user_registration_billing_spec.rb[1:1:1:1:1]": 18.337433436, + "./qa/specs/features/ee/browser_ui/13_secure/cvs_dependency_scanning_spec.rb[1:1:1:1]": 100.302462833, + "./qa/specs/features/ee/browser_ui/13_secure/license_scanning_spec.rb[1:1:1:1]": 125.252427312, + "./qa/specs/features/ee/browser_ui/13_secure/on_demand_dast_spec.rb[1:1:1:1]": 116.524583274, + "./qa/specs/features/ee/browser_ui/13_secure/secret_push_protection_spec.rb[1:1:1]": 52.900154679, + "./qa/specs/features/ee/browser_ui/13_secure/secret_push_protection_spec.rb[1:1:2:1]": 91.055082683, + "./qa/specs/features/ee/browser_ui/15_growth/free_trial_spec.rb[1:1:1:1:1]": 41.12117455, + "./qa/specs/features/ee/browser_ui/15_growth/free_trial_spec.rb[1:1:1:2:1]": 26.722701793, + "./qa/specs/features/ee/browser_ui/16_ai_powered/duo_chat/duo_chat_explain_code_spec.rb[1:1:1]": 36.093509303, + "./qa/specs/features/ee/browser_ui/16_ai_powered/duo_chat/duo_chat_spec.rb[1:1:1:1:1]": 33.151750739, + "./qa/specs/features/ee/browser_ui/16_ai_powered/duo_chat/duo_chat_spec.rb[1:1:1:2:1]": 18.024827953, + "./qa/specs/features/ee/browser_ui/1_manage/integrations/jira_issues_list_spec.rb[1:1:1]": 28.002666148, + "./qa/specs/features/ee/browser_ui/1_manage/integrations/jira_issues_list_spec.rb[1:1:2]": 12.972319109, + "./qa/specs/features/ee/browser_ui/1_manage/integrations/jira_issues_list_spec.rb[1:1:3]": 17.53335461, + "./qa/specs/features/ee/browser_ui/2_plan/analytics/contribution_analytics_spec.rb[1:1:1]": 180.922854976, + "./qa/specs/features/ee/browser_ui/2_plan/analytics/mr_analytics_spec.rb[1:1:1]": 72.150498024, + "./qa/specs/features/ee/browser_ui/2_plan/analytics/value_stream_analytics_spec.rb[1:1:1:1:1:1]": 27.43003747, + "./qa/specs/features/ee/browser_ui/2_plan/analytics/value_stream_analytics_spec.rb[1:1:1:2:1:1]": 29.836218343, + "./qa/specs/features/ee/browser_ui/2_plan/analytics/value_stream_analytics_spec.rb[1:1:2:1]": 18.390120527, + "./qa/specs/features/ee/browser_ui/2_plan/burndown_chart/burndown_chart_spec.rb[1:1:1]": 23.40066441, + "./qa/specs/features/ee/browser_ui/2_plan/custom_email/custom_email_spec.rb[1:1:1]": 17.422913947, + "./qa/specs/features/ee/browser_ui/2_plan/epic/epics_management_spec.rb[1:1:1]": 59.62045453, + "./qa/specs/features/ee/browser_ui/2_plan/epic/epics_management_spec.rb[1:1:2]": 58.326442402, + "./qa/specs/features/ee/browser_ui/2_plan/epic/epics_management_spec.rb[1:1:3:1:1]": 54.023644397, + "./qa/specs/features/ee/browser_ui/2_plan/epic/epics_management_spec.rb[1:1:3:1:2]": 52.425950405, + "./qa/specs/features/ee/browser_ui/2_plan/epic/epics_management_spec.rb[1:1:3:1:3]": 95.461193071, + "./qa/specs/features/ee/browser_ui/2_plan/epic/epics_management_spec.rb[1:1:3:2]": 62.662168615, + "./qa/specs/features/ee/browser_ui/2_plan/epic/promote_issue_to_epic_spec.rb[1:1:1]": 53.152013451, + "./qa/specs/features/ee/browser_ui/2_plan/epic/roadmap_spec.rb[1:1:1]": 15.612040113, + "./qa/specs/features/ee/browser_ui/2_plan/group_wiki/create_group_wiki_page_spec.rb[1:1:1:1]": 20.81509968, + "./qa/specs/features/ee/browser_ui/2_plan/group_wiki/create_group_wiki_page_spec.rb[1:1:2:1]": 22.319474112, + "./qa/specs/features/ee/browser_ui/2_plan/group_wiki/delete_group_wiki_page_spec.rb[1:1:1]": 17.688236191, + "./qa/specs/features/ee/browser_ui/2_plan/group_wiki/file_upload_group_wiki_page_spec.rb[1:1:1]": 36.245175063, + "./qa/specs/features/ee/browser_ui/2_plan/insights/default_insights_spec.rb[1:1:1:1]": 16.581532077, + "./qa/specs/features/ee/browser_ui/2_plan/insights/default_insights_spec.rb[1:2:1:1]": 19.545484835, + "./qa/specs/features/ee/browser_ui/2_plan/issue/default_issue_template_spec.rb[1:1:1]": 29.981502699, + "./qa/specs/features/ee/browser_ui/2_plan/issue_boards/configurable_issue_board_spec.rb[1:1:1]": 20.511514982, + "./qa/specs/features/ee/browser_ui/2_plan/issue_boards/configure_issue_board_by_label_spec.rb[1:1:1]": 28.127288041, + "./qa/specs/features/ee/browser_ui/2_plan/issue_boards/create_group_issue_board_spec.rb[1:1:1]": 33.431527318, + "./qa/specs/features/ee/browser_ui/2_plan/issue_boards/group_issue_boards_spec.rb[1:1:1]": 38.178550758, + "./qa/specs/features/ee/browser_ui/2_plan/issue_boards/project_issue_boards_spec.rb[1:1:1:1]": 26.629277322, + "./qa/specs/features/ee/browser_ui/2_plan/issue_boards/project_issue_boards_spec.rb[1:1:2:1]": 27.928318194, + "./qa/specs/features/ee/browser_ui/2_plan/issue_boards/project_issue_boards_spec.rb[1:1:3:1]": 29.07943222, + "./qa/specs/features/ee/browser_ui/2_plan/issue_boards/read_only_board_configuration_spec.rb[1:1:1]": 31.767948444, + "./qa/specs/features/ee/browser_ui/2_plan/issue_boards/sum_of_issues_weights_spec.rb[1:1:1]": 24.656618797, + "./qa/specs/features/ee/browser_ui/2_plan/issues_analytics/issues_analytics_spec.rb[1:1:1:1]": 21.513998208, + "./qa/specs/features/ee/browser_ui/2_plan/issues_analytics/issues_analytics_spec.rb[1:2:1:1]": 23.008447564, + "./qa/specs/features/ee/browser_ui/2_plan/issues_weight/issue_weight_visualization_spec.rb[1:1:1]": 35.332557938, + "./qa/specs/features/ee/browser_ui/2_plan/iterations/assign_group_iteration_spec.rb[1:1:1]": 30.182850649, + "./qa/specs/features/ee/browser_ui/2_plan/iterations/create_group_iteration_spec.rb[1:1:1:1]": 22.77211149, + "./qa/specs/features/ee/browser_ui/2_plan/iterations/create_group_iteration_spec.rb[1:1:2:1]": 22.382768989, + "./qa/specs/features/ee/browser_ui/2_plan/multiple_assignees_for_issues/four_assignees_spec.rb[1:1:1]": 40.772116388, + "./qa/specs/features/ee/browser_ui/2_plan/multiple_assignees_for_issues/more_than_four_assignees_spec.rb[1:1:1]": 42.995169671, + "./qa/specs/features/ee/browser_ui/2_plan/multiple_assignees_for_issues/more_than_four_assignees_spec.rb[1:1:2]": 31.766594948, + "./qa/specs/features/ee/browser_ui/2_plan/scoped_labels/editing_scoped_labels_spec.rb[1:1:1]": 25.870807747, + "./qa/specs/features/ee/browser_ui/3_create/merge_request/approval_rules_spec.rb[1:1:1]": 135.927114261, + "./qa/specs/features/ee/browser_ui/3_create/merge_request/default_merge_request_template_spec.rb[1:1:1]": 45.063333201, + "./qa/specs/features/ee/browser_ui/3_create/merge_request/generate_commit_message_spec.rb[1:1:1:1]": 31.566704251, + "./qa/specs/features/ee/browser_ui/3_create/remote_development/workspace_actions_spec.rb[1:1:1:1:1]": 543.233404997, + "./qa/specs/features/ee/browser_ui/3_create/repository/assign_code_owners_spec.rb[1:1:1]": 59.357746585, + "./qa/specs/features/ee/browser_ui/3_create/repository/code_owners_spec.rb[1:1:1]": 36.869256928, + "./qa/specs/features/ee/browser_ui/3_create/repository/file_locking_spec.rb[1:1:1]": 73.555358333, + "./qa/specs/features/ee/browser_ui/3_create/repository/file_locking_spec.rb[1:1:2]": 63.769523249, + "./qa/specs/features/ee/browser_ui/3_create/repository/file_locking_spec.rb[1:1:3]": 54.946021565, + "./qa/specs/features/ee/browser_ui/3_create/repository/file_locking_spec.rb[1:1:4]": 54.274400106, + "./qa/specs/features/ee/browser_ui/3_create/repository/group_file_template_spec.rb[1:1:1]": 43.200725758, + "./qa/specs/features/ee/browser_ui/3_create/repository/merge_with_code_owner_in_root_group_spec.rb[1:1:1:1:1:1]": 68.616100561, + "./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.367746379, + "./qa/specs/features/ee/browser_ui/3_create/repository/merge_with_code_owner_in_subgroup_spec.rb[1:1:1:1:1:1]": 67.745240209, + "./qa/specs/features/ee/browser_ui/3_create/repository/merge_with_code_owner_in_subgroup_spec.rb[1:1:1:2:1:1]": 67.313053176, + "./qa/specs/features/ee/browser_ui/3_create/repository/merge_with_code_owner_in_subgroup_spec.rb[1:1:1:3:1:1]": 76.575355738, + "./qa/specs/features/ee/browser_ui/3_create/repository/prevent_forking_outside_group_spec.rb[1:1:1:1]": 24.665381705, + "./qa/specs/features/ee/browser_ui/3_create/repository/prevent_forking_outside_group_spec.rb[1:1:2:1]": 16.446563273, + "./qa/specs/features/ee/browser_ui/3_create/repository/project_templates_spec.rb[1:1:1:1]": 51.156151837, + "./qa/specs/features/ee/browser_ui/3_create/repository/project_templates_spec.rb[1:1:3:1]": 125.360526665, + "./qa/specs/features/ee/browser_ui/3_create/repository/pull_mirroring_over_http_spec.rb[1:1:1]": 44.548635509, + "./qa/specs/features/ee/browser_ui/3_create/repository/pull_mirroring_over_ssh_with_key_spec.rb[1:1:1]": 74.217703857, + "./qa/specs/features/ee/browser_ui/3_create/repository/push_rules_spec.rb[1:1:1:1]": 34.597731404, + "./qa/specs/features/ee/browser_ui/3_create/repository/push_rules_spec.rb[1:1:1:2]": 39.457798207, + "./qa/specs/features/ee/browser_ui/3_create/repository/push_rules_spec.rb[1:1:1:3]": 44.211318518, + "./qa/specs/features/ee/browser_ui/3_create/repository/push_rules_spec.rb[1:1:1:4]": 43.758707832, + "./qa/specs/features/ee/browser_ui/3_create/repository/push_rules_spec.rb[1:1:1:5]": 65.915764995, + "./qa/specs/features/ee/browser_ui/3_create/repository/push_rules_spec.rb[1:1:1:6]": 44.789674449, + "./qa/specs/features/ee/browser_ui/3_create/repository/push_rules_spec.rb[1:1:1:7]": 52.708683029, + "./qa/specs/features/ee/browser_ui/3_create/repository/push_rules_spec.rb[1:1:1:8]": 43.741448548, + "./qa/specs/features/ee/browser_ui/3_create/repository/push_rules_spec.rb[1:1:1:9]": 53.908735612, + "./qa/specs/features/ee/browser_ui/3_create/repository/push_rules_spec.rb[1:1:2:1]": 52.319661426, + "./qa/specs/features/ee/browser_ui/3_create/repository/restrict_push_protected_branch_spec.rb[1:1:1:1:1]": 49.582928321, + "./qa/specs/features/ee/browser_ui/3_create/repository/restrict_push_protected_branch_spec.rb[1:1:1:2:1]": 58.231285369, + "./qa/specs/features/ee/browser_ui/3_create/repository/restrict_push_protected_branch_spec.rb[1:1:2:1:1]": 51.255214161, + "./qa/specs/features/ee/browser_ui/3_create/repository/restrict_push_protected_branch_spec.rb[1:1:2:2:1]": 55.641634771, + "./qa/specs/features/ee/browser_ui/3_create/repository/restrict_push_protected_branch_spec.rb[1:1:3:1:1]": 48.25520818, + "./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]": 25.228049045, + "./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]": 28.303238802, + "./qa/specs/features/ee/browser_ui/3_create/web_ide/code_suggestions_in_web_ide_spec.rb[1:1:2:1:2:1:1]": 29.189875091, + "./qa/specs/features/ee/browser_ui/3_create/web_ide/code_suggestions_in_web_ide_spec.rb[1:1:2:2:1:1]": 27.871530722, + "./qa/specs/features/ee/browser_ui/4_verify/multi-project_pipelines_spec.rb[1:1:1]": 44.332298042, + "./qa/specs/features/ee/browser_ui/4_verify/parent_child_pipelines_dependent_relationship_spec.rb[1:1:1]": 56.986383487, + "./qa/specs/features/ee/browser_ui/4_verify/parent_child_pipelines_dependent_relationship_spec.rb[1:1:2]": 37.654214244, + "./qa/specs/features/ee/browser_ui/4_verify/pipeline_for_merged_result_spec.rb[1:1:1]": 64.50677508, + "./qa/specs/features/ee/browser_ui/4_verify/pipeline_subscription_with_group_owned_project_spec.rb[1:1:1:1]": 65.356541838, + "./qa/specs/features/ee/browser_ui/4_verify/root_cause_analysis_with_duo_chat_spec.rb[1:1:1:1]": 33.753791004, + "./qa/specs/features/ee/browser_ui/8_monitor/incident_management/incident_quick_action_spec.rb[1:1:1]": 22.417525672, + "./qa/specs/features/ee/browser_ui/9_tenant_scale/share_group_with_group_spec.rb[1:1:1]": 21.968808136 } diff --git a/qa/knapsack/master_report.json b/qa/knapsack/master_report.json index de56d4c558f..aaf161d29ed 100644 --- a/qa/knapsack/master_report.json +++ b/qa/knapsack/master_report.json @@ -1,293 +1,291 @@ { - "qa/specs/features/api/10_govern/group_access_token_spec.rb": 32.98999308, - "qa/specs/features/api/10_govern/project_access_token_spec.rb": 75.62535221, - "qa/specs/features/api/12_systems/gitaly/automatic_failover_and_recovery_spec.rb": 97.971406904, - "qa/specs/features/api/12_systems/gitaly/backend_node_recovery_spec.rb": 99.394917952, - "qa/specs/features/api/12_systems/gitaly/distributed_reads_spec.rb": 111.202909403, - "qa/specs/features/api/12_systems/gitaly/gitaly_mtls_spec.rb": 23.128792633, - "qa/specs/features/api/1_manage/import/import_github_repo_spec.rb": 98.601690677, - "qa/specs/features/api/1_manage/integrations/webhook_events_spec.rb": 63.884309438, - "qa/specs/features/api/1_manage/migration/gitlab_migration_group_spec.rb": 60.555716827, - "qa/specs/features/api/1_manage/migration/gitlab_migration_issue_spec.rb": 185.120150591, - "qa/specs/features/api/1_manage/migration/gitlab_migration_pipeline_spec.rb": 97.451122042, - "qa/specs/features/api/1_manage/migration/gitlab_migration_project_spec.rb": 101.663654195, - "qa/specs/features/api/1_manage/rate_limits_spec.rb": 14.907381728, - "qa/specs/features/api/2_plan/closes_issue_via_pushing_a_commit_spec.rb": 25.755076546, - "qa/specs/features/api/3_create/merge_request/push_options_mwps_spec.rb": 16.82332341, - "qa/specs/features/api/3_create/merge_request/push_options_remove_source_branch_spec.rb": 22.433046338, - "qa/specs/features/api/3_create/merge_request/push_options_spec.rb": 39.80516242, - "qa/specs/features/api/3_create/merge_request/view_merge_requests_spec.rb": 1.38181908, - "qa/specs/features/api/3_create/repository/add_list_delete_branches_spec.rb": 25.431371545, - "qa/specs/features/api/3_create/repository/commit_to_templated_project_spec.rb": 22.631262867, - "qa/specs/features/api/3_create/repository/default_branch_name_setting_spec.rb": 26.793694843000004, - "qa/specs/features/api/3_create/repository/project_archive_compare_spec.rb": 16.670677201, - "qa/specs/features/api/3_create/repository/push_postreceive_idempotent_spec.rb": 25.454150535, - "qa/specs/features/api/3_create/repository/storage_size_spec.rb": 28.961005929, - "qa/specs/features/api/3_create/repository/tag_revision_trigger_prereceive_hook_spec.rb": 10.547959073, - "qa/specs/features/api/4_verify/api_variable_inheritance_with_forward_pipeline_variables_spec.rb": 95.84142065, - "qa/specs/features/api/4_verify/cancel_pipeline_when_block_user_spec.rb": 26.575834034, - "qa/specs/features/api/4_verify/file_variable_spec.rb": 60.79006248, - "qa/specs/features/api/4_verify/job_downloads_artifacts_spec.rb": 39.828565691, - "qa/specs/features/api/5_package/container_registry/saas/container_registry_spec.rb": 69.770433031, - "qa/specs/features/api/8_monitor/metrics_spec.rb": 5.996862642, - "qa/specs/features/api/9_tenant_scale/user_inherited_access_spec.rb": 145.832127287, - "qa/specs/features/api/9_tenant_scale/users_spec.rb": 3.88771732, - "qa/specs/features/browser_ui/10_govern/group/group_access_token_spec.rb": 18.955245548, - "qa/specs/features/browser_ui/10_govern/login/2fa_recovery_spec.rb": 51.379482902, - "qa/specs/features/browser_ui/10_govern/login/2fa_ssh_recovery_spec.rb": 63.15838517, - "qa/specs/features/browser_ui/10_govern/login/log_in_spec.rb": 13.427990734, - "qa/specs/features/browser_ui/10_govern/login/log_in_with_2fa_spec.rb": 94.549567111, - "qa/specs/features/browser_ui/10_govern/login/log_into_gitlab_via_ldap_spec.rb": 4.26200593, - "qa/specs/features/browser_ui/10_govern/login/log_into_mattermost_via_gitlab_spec.rb": 30.355360322, - "qa/specs/features/browser_ui/10_govern/login/login_via_instance_wide_saml_sso_spec.rb": 16.78395848, - "qa/specs/features/browser_ui/10_govern/login/oauth_login_with_github_spec.rb": 41.820836674, - "qa/specs/features/browser_ui/10_govern/login/register_spec.rb": 101.892100194, - "qa/specs/features/browser_ui/10_govern/project/project_access_token_spec.rb": 25.906346348, - "qa/specs/features/browser_ui/10_govern/user/impersonation_token_spec.rb": 30.138602861, - "qa/specs/features/browser_ui/10_govern/user/user_access_termination_spec.rb": 44.138226734999996, - "qa/specs/features/browser_ui/14_analytics/performance_bar_spec.rb": 60.04423653, - "qa/specs/features/browser_ui/14_analytics/service_ping_default_enabled_spec.rb": 18.762676849, - "qa/specs/features/browser_ui/14_analytics/service_ping_disabled_spec.rb": 13.578009866, - "qa/specs/features/browser_ui/1_manage/integrations/jenkins/jenkins_build_status_spec.rb": 61.994387357, - "qa/specs/features/browser_ui/1_manage/integrations/jira/jira_basic_integration_spec.rb": 65.227220864, - "qa/specs/features/browser_ui/1_manage/integrations/jira/jira_issue_import_spec.rb": 46.776170762, - "qa/specs/features/browser_ui/1_manage/integrations/pipeline_status_emails_spec.rb": 73.78475297, - "qa/specs/features/browser_ui/1_manage/migration/gitlab_migration_group_spec.rb": 57.03791635, - "qa/specs/features/browser_ui/1_manage/migration/gitlab_migration_user_contribution_reassignment_spec.rb": 181.520241604, - "qa/specs/features/browser_ui/2_plan/design_management/add_design_content_spec.rb": 23.031130269, - "qa/specs/features/browser_ui/2_plan/design_management/archive_design_content_spec.rb": 29.780177896, - "qa/specs/features/browser_ui/2_plan/design_management/modify_design_content_spec.rb": 30.636613756, - "qa/specs/features/browser_ui/2_plan/email/trigger_email_notification_spec.rb": 16.470446876, - "qa/specs/features/browser_ui/2_plan/issue/collapse_comments_in_discussions_spec.rb": 23.402340109, - "qa/specs/features/browser_ui/2_plan/issue/comment_issue_spec.rb": 26.608420993, - "qa/specs/features/browser_ui/2_plan/issue/create_issue_spec.rb": 226.30203992999998, - "qa/specs/features/browser_ui/2_plan/issue/custom_issue_template_spec.rb": 30.203090855, - "qa/specs/features/browser_ui/2_plan/issue/export_as_csv_spec.rb": 40.13231434, - "qa/specs/features/browser_ui/2_plan/issue/filter_issue_comments_spec.rb": 24.860881753, - "qa/specs/features/browser_ui/2_plan/issue/issue_suggestions_spec.rb": 24.575106282, - "qa/specs/features/browser_ui/2_plan/issue/mentions_spec.rb": 33.018544554, - "qa/specs/features/browser_ui/2_plan/issue/real_time_assignee_spec.rb": 26.291870234, - "qa/specs/features/browser_ui/2_plan/issue_boards/focus_mode_spec.rb": 17.561810633, - "qa/specs/features/browser_ui/2_plan/milestone/assign_milestone_spec.rb": 106.336658382, - "qa/specs/features/browser_ui/2_plan/milestone/create_group_milestone_spec.rb": 22.587552274, - "qa/specs/features/browser_ui/2_plan/milestone/create_project_milestone_spec.rb": 28.049283666, - "qa/specs/features/browser_ui/2_plan/project_wiki/project_based_content_creation_spec.rb": 108.875066367, - "qa/specs/features/browser_ui/2_plan/project_wiki/project_based_content_manipulation_spec.rb": 69.419140123, - "qa/specs/features/browser_ui/2_plan/project_wiki/project_based_directory_management_spec.rb": 25.037219196, - "qa/specs/features/browser_ui/2_plan/project_wiki/project_based_file_upload_spec.rb": 38.413254353, - "qa/specs/features/browser_ui/2_plan/project_wiki/project_based_list_spec.rb": 70.598098006, - "qa/specs/features/browser_ui/2_plan/project_wiki/project_based_page_deletion_spec.rb": 59.092698467000005, - "qa/specs/features/browser_ui/2_plan/related_issues/related_issues_spec.rb": 24.049024633, - "qa/specs/features/browser_ui/3_create/merge_request/add_batch_comments_in_merge_request_spec.rb": 83.35424972999999, - "qa/specs/features/browser_ui/3_create/merge_request/cherry_pick/cherry_pick_a_merge_spec.rb": 65.769218013, - "qa/specs/features/browser_ui/3_create/merge_request/cherry_pick/cherry_pick_commit_spec.rb": 30.017509364, - "qa/specs/features/browser_ui/3_create/merge_request/create_merge_request_spec.rb": 92.452005772, - "qa/specs/features/browser_ui/3_create/merge_request/merge_merge_request_from_fork_spec.rb": 46.535589667, - "qa/specs/features/browser_ui/3_create/merge_request/merge_request_set_to_auto_merge_spec.rb": 85.059614424, - "qa/specs/features/browser_ui/3_create/merge_request/rebase_merge_request_spec.rb": 58.678788745, - "qa/specs/features/browser_ui/3_create/merge_request/revert/revert_commit_spec.rb": 38.031947034, - "qa/specs/features/browser_ui/3_create/merge_request/revert/reverting_merge_request_spec.rb": 107.744959716, - "qa/specs/features/browser_ui/3_create/merge_request/suggestions/batch_suggestion_spec.rb": 64.079688598, - "qa/specs/features/browser_ui/3_create/merge_request/suggestions/custom_commit_suggestion_spec.rb": 60.464588091, - "qa/specs/features/browser_ui/3_create/merge_request/view_merge_request_diff_patch_spec.rb": 47.575329799, - "qa/specs/features/browser_ui/3_create/repository/add_file_template_spec.rb": 27.119274477, - "qa/specs/features/browser_ui/3_create/repository/add_new_branch_rule_spec.rb": 30.340932638, - "qa/specs/features/browser_ui/3_create/repository/branch_with_unusual_name_spec.rb": 24.416460797, - "qa/specs/features/browser_ui/3_create/repository/clone_spec.rb": 26.239438601, - "qa/specs/features/browser_ui/3_create/repository/license_detection_spec.rb": 37.20657738, - "qa/specs/features/browser_ui/3_create/repository/protected_tags_spec.rb": 142.734936736, - "qa/specs/features/browser_ui/3_create/repository/protocol_v2_push_http_spec.rb": 24.264817229, - "qa/specs/features/browser_ui/3_create/repository/protocol_v2_push_ssh_spec.rb": 27.222468229, - "qa/specs/features/browser_ui/3_create/repository/push_http_private_token_spec.rb": 49.703005927, - "qa/specs/features/browser_ui/3_create/repository/push_mirroring_lfs_over_http_spec.rb": 84.31200969, - "qa/specs/features/browser_ui/3_create/repository/push_mirroring_over_http_spec.rb": 77.096792386, - "qa/specs/features/browser_ui/3_create/repository/push_over_http_file_size_spec.rb": 54.592720064000005, - "qa/specs/features/browser_ui/3_create/repository/push_over_http_spec.rb": 43.343972126, - "qa/specs/features/browser_ui/3_create/repository/push_over_ssh_file_size_spec.rb": 100.70291134499999, - "qa/specs/features/browser_ui/3_create/repository/push_over_ssh_spec.rb": 57.116473049999996, - "qa/specs/features/browser_ui/3_create/repository/push_protected_branch_spec.rb": 22.332861645, - "qa/specs/features/browser_ui/3_create/repository/push_to_canary_gitaly_spec.rb": 21.55505836, - "qa/specs/features/browser_ui/3_create/repository/ssh_key_support_create_spec.rb": 29.287778902, - "qa/specs/features/browser_ui/3_create/repository/ssh_key_support_delete_spec.rb": 26.294830596, - "qa/specs/features/browser_ui/3_create/repository/user_views_commit_diff_patch_spec.rb": 65.051120837, - "qa/specs/features/browser_ui/3_create/snippet/add_comment_to_snippet_spec.rb": 31.803789523, - "qa/specs/features/browser_ui/3_create/snippet/add_file_to_snippet_spec.rb": 51.590373962, - "qa/specs/features/browser_ui/3_create/snippet/clone_push_pull_personal_snippet_spec.rb": 83.905883157, - "qa/specs/features/browser_ui/3_create/snippet/clone_push_pull_project_snippet_spec.rb": 73.04176784399999, - "qa/specs/features/browser_ui/3_create/snippet/copy_snippet_file_contents_spec.rb": 20.481249541, - "qa/specs/features/browser_ui/3_create/snippet/create_personal_snippet_spec.rb": 8.514641421, - "qa/specs/features/browser_ui/3_create/snippet/create_personal_snippet_with_multiple_files_spec.rb": 14.67105945, - "qa/specs/features/browser_ui/3_create/snippet/create_project_snippet_with_multiple_files_spec.rb": 28.514565884, - "qa/specs/features/browser_ui/3_create/snippet/delete_file_from_snippet_spec.rb": 47.298550792, - "qa/specs/features/browser_ui/3_create/snippet/share_snippet_spec.rb": 34.434016889, - "qa/specs/features/browser_ui/3_create/source_editor/source_editor_toolbar_spec.rb": 25.014898858, - "qa/specs/features/browser_ui/3_create/web_ide/add_first_file_in_web_ide_spec.rb": 42.752924537, - "qa/specs/features/browser_ui/3_create/web_ide/add_new_directory_in_web_ide_spec.rb": 84.502238036, - "qa/specs/features/browser_ui/3_create/web_ide/closing_web_ide_with_unsaved_changes_spec.rb": 24.250358427, - "qa/specs/features/browser_ui/3_create/web_ide/settings_sync_web_ide_spec.rb": 180.07976596700001, - "qa/specs/features/browser_ui/3_create/web_ide/upload_new_file_in_web_ide_spec.rb": 96.65252819099999, - "qa/specs/features/browser_ui/4_verify/ci_components_catalog/ci_catalog_sorting_spec.rb": 86.128659366, - "qa/specs/features/browser_ui/4_verify/ci_components_catalog/release_with_glab_spec.rb": 121.634773435, - "qa/specs/features/browser_ui/4_verify/ci_components_catalog/release_with_release_cli_spec.rb": 116.303910391, - "qa/specs/features/browser_ui/4_verify/ci_components_catalog/run_component_in_project_pipeline_spec.rb": 55.741715074, - "qa/specs/features/browser_ui/4_verify/ci_job_artifacts/expose_job_artifacts_in_mr_spec.rb": 66.436168654, - "qa/specs/features/browser_ui/4_verify/ci_job_artifacts/job_artifacts_access_keyword_spec.rb": 260.885521371, - "qa/specs/features/browser_ui/4_verify/ci_job_artifacts/unlocking_job_artifacts_across_pipelines_spec.rb": 319.85414603000004, - "qa/specs/features/browser_ui/4_verify/ci_project_artifacts/user_can_bulk_delete_artifacts_spec.rb": 73.521802689, - "qa/specs/features/browser_ui/4_verify/ci_variable/pipeline_with_protected_variable_spec.rb": 134.719012043, - "qa/specs/features/browser_ui/4_verify/ci_variable/raw_variables_defined_in_yaml_spec.rb": 33.577634151, - "qa/specs/features/browser_ui/4_verify/ci_variable/ui_variable_inheritable_when_forward_pipeline_variables_true_spec.rb": 84.286087112, - "qa/specs/features/browser_ui/4_verify/pipeline/include_local_config_file_paths_with_wildcard_spec.rb": 18.525020519, - "qa/specs/features/browser_ui/4_verify/pipeline/include_multiple_files_from_a_project_spec.rb": 54.886224503, - "qa/specs/features/browser_ui/4_verify/pipeline/include_multiple_files_from_multiple_projects_spec.rb": 64.229339559, - "qa/specs/features/browser_ui/4_verify/pipeline/parent_child_pipelines_independent_relationship_spec.rb": 112.862791923, - "qa/specs/features/browser_ui/4_verify/pipeline/pass_dotenv_variables_to_downstream_via_bridge_spec.rb": 66.298914071, - "qa/specs/features/browser_ui/4_verify/pipeline/run_pipeline_with_manual_jobs_spec.rb": 66.049358924, - "qa/specs/features/browser_ui/4_verify/pipeline/trigger_child_pipeline_with_manual_spec.rb": 65.493875232, - "qa/specs/features/browser_ui/4_verify/pipeline/trigger_matrix_spec.rb": 50.079680864, - "qa/specs/features/browser_ui/4_verify/pipeline/update_ci_file_with_pipeline_editor_spec.rb": 31.110243067, - "qa/specs/features/browser_ui/4_verify/runner/deprecated_registration_token_spec.rb": 23.618801349, - "qa/specs/features/browser_ui/4_verify/runner/deprecated_unregister_runner_spec.rb": 39.029569115, - "qa/specs/features/browser_ui/4_verify/runner/fleet_visibility/group_runner_counts_spec.rb": 25.616882657, - "qa/specs/features/browser_ui/4_verify/runner/fleet_visibility/group_runner_status_counts_spec.rb": 17.609245948, - "qa/specs/features/browser_ui/4_verify/runner/register_group_runner_spec.rb": 20.499690898, - "qa/specs/features/browser_ui/4_verify/runner/register_project_runner_spec.rb": 45.242119367, - "qa/specs/features/browser_ui/4_verify/runner/unregister_runner_spec.rb": 26.076009522, - "qa/specs/features/browser_ui/4_verify/testing/endpoint_coverage_spec.rb": 54.246992046, - "qa/specs/features/browser_ui/5_package/container_registry/saas/container_registry_spec.rb": 165.693115559, - "qa/specs/features/browser_ui/5_package/container_registry/self_managed/container_registry_spec.rb": 345.187678671, - "qa/specs/features/browser_ui/5_package/dependency_proxy/dependency_proxy_spec.rb": 172.648268037, - "qa/specs/features/browser_ui/5_package/package_registry/composer_registry_spec.rb": 67.483790802, - "qa/specs/features/browser_ui/5_package/package_registry/conan_repository_spec.rb": 97.870222592, - "qa/specs/features/browser_ui/5_package/package_registry/generic_repository_spec.rb": 133.504862177, - "qa/specs/features/browser_ui/5_package/package_registry/helm_registry_spec.rb": 382.312482672, - "qa/specs/features/browser_ui/5_package/package_registry/maven/maven_group_level_spec.rb": 591.8489436350001, - "qa/specs/features/browser_ui/5_package/package_registry/maven/maven_project_level_spec.rb": 285.250109461, - "qa/specs/features/browser_ui/5_package/package_registry/maven_gradle_repository_spec.rb": 304.329392175, - "qa/specs/features/browser_ui/5_package/package_registry/npm/npm_group_level_spec.rb": 335.093454552, - "qa/specs/features/browser_ui/5_package/package_registry/npm/npm_instance_level_spec.rb": 285.115592965, - "qa/specs/features/browser_ui/5_package/package_registry/pypi_repository_spec.rb": 107.899088585, - "qa/specs/features/browser_ui/6_release/deploy_key/add_deploy_key_spec.rb": 29.988003167, - "qa/specs/features/browser_ui/6_release/deploy_key/clone_using_deploy_key_spec.rb": 187.45400691700002, - "qa/specs/features/browser_ui/6_release/deploy_token/add_deploy_token_spec.rb": 15.694988036, - "qa/specs/features/browser_ui/8_monitor/alert_management/alert_settings_create_new_alerts_spec.rb": 56.424444699, - "qa/specs/features/browser_ui/8_monitor/alert_management/automatically_creates_incident_for_alert_spec.rb": 69.98793122000001, - "qa/specs/features/browser_ui/8_monitor/alert_management/create_alert_using_authorization_key_spec.rb": 47.768660694, - "qa/specs/features/browser_ui/8_monitor/alert_management/email_notification_for_alert_spec.rb": 69.965951869, - "qa/specs/features/browser_ui/8_monitor/alert_management/recovery_alert_resolves_correct_alert_spec.rb": 29.011678497, - "qa/specs/features/browser_ui/9_tenant_scale/group/create_group_with_mattermost_team_spec.rb": 9.344660726, - "qa/specs/features/browser_ui/9_tenant_scale/group/group_member_access_request_spec.rb": 65.26559089599999, - "qa/specs/features/browser_ui/9_tenant_scale/group/transfer_project_spec.rb": 27.244025476, - "qa/specs/features/browser_ui/9_tenant_scale/project/add_project_member_spec.rb": 32.014529209, - "qa/specs/features/browser_ui/9_tenant_scale/project/create_project_badge_spec.rb": 20.068110387, - "qa/specs/features/browser_ui/9_tenant_scale/project/create_project_spec.rb": 67.337069478, - "qa/specs/features/browser_ui/9_tenant_scale/project/dashboard_images_spec.rb": 22.587608685, - "qa/specs/features/browser_ui/9_tenant_scale/project/invite_group_to_project_spec.rb": 53.449546747, - "qa/specs/features/browser_ui/9_tenant_scale/project/project_owner_permissions_spec.rb": 171.14910748399998, - "qa/specs/features/browser_ui/9_tenant_scale/project/view_project_activity_spec.rb": 35.743874052, - "qa/specs/features/browser_ui/9_tenant_scale/user/follow_user_activity_spec.rb": 31.223309247, - "qa/specs/features/browser_ui/9_tenant_scale/user/parent_group_access_termination_spec.rb": 27.375015555, - "qa/specs/features/browser_ui/9_tenant_scale/user/user_inherited_access_spec.rb": 66.960839159, - "qa/specs/features/ee/api/10_govern/compliance_pipeline_spec.rb": 38.562984764, - "qa/specs/features/ee/api/10_govern/instance_audit_event_streaming_spec.rb": 37.026030479, - "qa/specs/features/ee/api/10_govern/user/minimal_access_user_spec.rb": 80.57801924500001, - "qa/specs/features/ee/api/1_manage/import/import_github_repo_spec.rb": 131.481349437, - "qa/specs/features/ee/api/1_manage/integrations/group_webhook_events_spec.rb": 13.047155732, - "qa/specs/features/ee/api/1_manage/migration/gitlab_migration_group_spec.rb": 62.834426385, - "qa/specs/features/ee/api/2_plan/analytics/dora_metrics_spec.rb": 2.3438559850000003, - "qa/specs/features/ee/api/2_plan/epics_milestone_dates_spec.rb": 82.006404714, - "qa/specs/features/ee/api/3_create/code_suggestions_spec.rb": 39.562657235, - "qa/specs/features/ee/api/9_tenant_scale/elasticsearch/advanced_global_advanced_syntax_search_spec.rb": 105.411032861, - "qa/specs/features/ee/api/9_tenant_scale/elasticsearch/elasticsearch_api_spec.rb": 95.84806871400001, - "qa/specs/features/ee/api/9_tenant_scale/elasticsearch/index_tests/commit_index/commit_index_spec.rb": 31.44747142, - "qa/specs/features/ee/api/9_tenant_scale/elasticsearch/index_tests/issues_index/issue_index_spec.rb": 72.872250958, - "qa/specs/features/ee/api/9_tenant_scale/elasticsearch/index_tests/main_index/blob_index_spec.rb": 40.252409182, - "qa/specs/features/ee/api/9_tenant_scale/elasticsearch/index_tests/merge_request_index/merge_request_index_spec.rb": 63.477970837, - "qa/specs/features/ee/api/9_tenant_scale/elasticsearch/index_tests/notes_index/note_index_spec.rb": 62.85925672, - "qa/specs/features/ee/browser_ui/10_govern/change_vulnerability_status_spec.rb": 133.854524265, - "qa/specs/features/ee/browser_ui/10_govern/create_merge_request_with_secure_spec.rb": 71.378891385, - "qa/specs/features/ee/browser_ui/10_govern/dismissed_vulnerabilities_in_security_widget_spec.rb": 106.310033633, - "qa/specs/features/ee/browser_ui/10_govern/explain_this_vulnerability_spec.rb": 48.656577734, - "qa/specs/features/ee/browser_ui/10_govern/export_vulnerability_report_spec.rb": 15.908063331, - "qa/specs/features/ee/browser_ui/10_govern/fix_vulnerability_workflow_spec.rb": 144.069410289, - "qa/specs/features/ee/browser_ui/10_govern/group/group_audit_event_streaming_spec.rb": 58.155441685, - "qa/specs/features/ee/browser_ui/10_govern/group/group_audit_logs_1_spec.rb": 115.65698714400001, - "qa/specs/features/ee/browser_ui/10_govern/group/group_ldap_sync_spec.rb": 122.51110615500002, - "qa/specs/features/ee/browser_ui/10_govern/group/restrict_by_ip_address_spec.rb": 123.506448268, - "qa/specs/features/ee/browser_ui/10_govern/group_pipeline_execution_policy_spec.rb": 244.91917489399998, - "qa/specs/features/ee/browser_ui/10_govern/instance/instance_audit_logs_spec.rb": 167.819808879, - "qa/specs/features/ee/browser_ui/10_govern/project/project_audit_logs_spec.rb": 231.473886222, - "qa/specs/features/ee/browser_ui/10_govern/project_security_dashboard_spec.rb": 62.095760528, - "qa/specs/features/ee/browser_ui/10_govern/scan_execution_policy_vulnerabilities_spec.rb": 158.81351263, - "qa/specs/features/ee/browser_ui/10_govern/scan_result_policy_license_finding_spec.rb": 49.199501503, - "qa/specs/features/ee/browser_ui/10_govern/scan_result_policy_vulnerabilities_spec.rb": 210.54865648499998, - "qa/specs/features/ee/browser_ui/10_govern/security_policies_spec.rb": 81.540982641, - "qa/specs/features/ee/browser_ui/10_govern/security_reports_spec.rb": 363.572918207, - "qa/specs/features/ee/browser_ui/10_govern/user/minimal_access_user_spec.rb": 24.151715831, - "qa/specs/features/ee/browser_ui/10_govern/vulnerabilities_jira_integration_spec.rb": 42.562710221, - "qa/specs/features/ee/browser_ui/10_govern/vulnerability_management_spec.rb": 342.169147882, - "qa/specs/features/ee/browser_ui/11_fulfillment/license/cloud_activation_spec.rb": 19.519817991, - "qa/specs/features/ee/browser_ui/11_fulfillment/license/license_spec.rb": 7.57460835, - "qa/specs/features/ee/browser_ui/11_fulfillment/saas_user_limit_experience_spec.rb": 184.78561392999998, - "qa/specs/features/ee/browser_ui/11_fulfillment/utilization/free_namespace_storage_spec.rb": 341.009588447, - "qa/specs/features/ee/browser_ui/11_fulfillment/utilization/saas_user_caps_spec.rb": 44.723411659, - "qa/specs/features/ee/browser_ui/11_fulfillment/utilization/user_registration_billing_spec.rb": 23.297850153, - "qa/specs/features/ee/browser_ui/13_secure/cvs_dependency_scanning_spec.rb": 75.638407947, - "qa/specs/features/ee/browser_ui/13_secure/license_scanning_spec.rb": 116.30680739, - "qa/specs/features/ee/browser_ui/13_secure/on_demand_dast_spec.rb": 110.920330885, - "qa/specs/features/ee/browser_ui/15_growth/free_trial_spec.rb": 68.967794595, - "qa/specs/features/ee/browser_ui/16_ai_powered/duo_chat/duo_chat_spec.rb": 43.075428703, - "qa/specs/features/ee/browser_ui/16_ai_powered/duo_chat/root_cause_analysis_with_duo_chat_spec.rb": 37.931425691, - "qa/specs/features/ee/browser_ui/1_manage/integrations/jira_issues_list_spec.rb": 58.653198608000004, - "qa/specs/features/ee/browser_ui/2_plan/analytics/contribution_analytics_spec.rb": 211.292243553, - "qa/specs/features/ee/browser_ui/2_plan/analytics/mr_analytics_spec.rb": 74.28075828, - "qa/specs/features/ee/browser_ui/2_plan/analytics/value_stream_analytics_spec.rb": 75.671017318, - "qa/specs/features/ee/browser_ui/2_plan/burndown_chart/burndown_chart_spec.rb": 22.641035335, - "qa/specs/features/ee/browser_ui/2_plan/custom_email/custom_email_spec.rb": 16.821151717, - "qa/specs/features/ee/browser_ui/2_plan/epic/epics_management_spec.rb": 375.506600713, - "qa/specs/features/ee/browser_ui/2_plan/epic/promote_issue_to_epic_spec.rb": 63.20070909, - "qa/specs/features/ee/browser_ui/2_plan/epic/roadmap_spec.rb": 14.576608489, - "qa/specs/features/ee/browser_ui/2_plan/group_wiki/create_group_wiki_page_spec.rb": 41.373198799, - "qa/specs/features/ee/browser_ui/2_plan/group_wiki/delete_group_wiki_page_spec.rb": 17.600620542, - "qa/specs/features/ee/browser_ui/2_plan/group_wiki/file_upload_group_wiki_page_spec.rb": 35.702110881, - "qa/specs/features/ee/browser_ui/2_plan/insights/default_insights_spec.rb": 34.127026174, - "qa/specs/features/ee/browser_ui/2_plan/issue/default_issue_template_spec.rb": 30.402700367, - "qa/specs/features/ee/browser_ui/2_plan/issue_boards/configurable_issue_board_spec.rb": 19.263109267, - "qa/specs/features/ee/browser_ui/2_plan/issue_boards/configure_issue_board_by_label_spec.rb": 26.399046988, - "qa/specs/features/ee/browser_ui/2_plan/issue_boards/create_group_issue_board_spec.rb": 44.058644116, - "qa/specs/features/ee/browser_ui/2_plan/issue_boards/group_issue_boards_spec.rb": 42.505086799, - "qa/specs/features/ee/browser_ui/2_plan/issue_boards/project_issue_boards_spec.rb": 66.01471323000001, - "qa/specs/features/ee/browser_ui/2_plan/issue_boards/read_only_board_configuration_spec.rb": 32.519977572, - "qa/specs/features/ee/browser_ui/2_plan/issue_boards/sum_of_issues_weights_spec.rb": 22.535067519, - "qa/specs/features/ee/browser_ui/2_plan/issues_analytics/issues_analytics_spec.rb": 31.517568487, - "qa/specs/features/ee/browser_ui/2_plan/issues_weight/issue_weight_visualization_spec.rb": 34.898537993, - "qa/specs/features/ee/browser_ui/2_plan/iterations/assign_group_iteration_spec.rb": 22.289509862, - "qa/specs/features/ee/browser_ui/2_plan/iterations/create_group_iteration_spec.rb": 45.105684972999995, - "qa/specs/features/ee/browser_ui/2_plan/multiple_assignees_for_issues/four_assignees_spec.rb": 39.05453727, - "qa/specs/features/ee/browser_ui/2_plan/multiple_assignees_for_issues/more_than_four_assignees_spec.rb": 82.65206438300001, - "qa/specs/features/ee/browser_ui/2_plan/scoped_labels/editing_scoped_labels_spec.rb": 24.677114242, - "qa/specs/features/ee/browser_ui/3_create/merge_request/approval_rules_spec.rb": 106.008473686, - "qa/specs/features/ee/browser_ui/3_create/merge_request/default_merge_request_template_spec.rb": 48.185280618, - "qa/specs/features/ee/browser_ui/3_create/merge_request/generate_commit_message_spec.rb": 40.390914617, - "qa/specs/features/ee/browser_ui/3_create/remote_development/workspace_actions_spec.rb": 656.975314259, - "qa/specs/features/ee/browser_ui/3_create/repository/assign_code_owners_spec.rb": 77.835283702, - "qa/specs/features/ee/browser_ui/3_create/repository/code_owners_spec.rb": 29.858441116, - "qa/specs/features/ee/browser_ui/3_create/repository/duo_chat_explain_code_spec.rb": 28.16854103, - "qa/specs/features/ee/browser_ui/3_create/repository/file_locking_spec.rb": 255.24311795800003, - "qa/specs/features/ee/browser_ui/3_create/repository/group_file_template_spec.rb": 43.29283679, - "qa/specs/features/ee/browser_ui/3_create/repository/merge_with_code_owner_in_root_group_spec.rb": 133.52674356, - "qa/specs/features/ee/browser_ui/3_create/repository/merge_with_code_owner_in_subgroup_spec.rb": 314.069409969, - "qa/specs/features/ee/browser_ui/3_create/repository/prevent_forking_outside_group_spec.rb": 49.551448328, - "qa/specs/features/ee/browser_ui/3_create/repository/project_templates_spec.rb": 195.161257407, - "qa/specs/features/ee/browser_ui/3_create/repository/pull_mirroring_over_http_spec.rb": 54.098731282, - "qa/specs/features/ee/browser_ui/3_create/repository/pull_mirroring_over_ssh_with_key_spec.rb": 54.379182606, - "qa/specs/features/ee/browser_ui/3_create/repository/push_rules_spec.rb": 434.95902557700003, - "qa/specs/features/ee/browser_ui/3_create/repository/restrict_push_protected_branch_spec.rb": 259.66672728500004, - "qa/specs/features/ee/browser_ui/3_create/web_ide/code_suggestions_in_web_ide_spec.rb": 106.25856156900001, - "qa/specs/features/ee/browser_ui/4_verify/multi-project_pipelines_spec.rb": 89.697462894, - "qa/specs/features/ee/browser_ui/4_verify/parent_child_pipelines_dependent_relationship_spec.rb": 110.677573526, - "qa/specs/features/ee/browser_ui/4_verify/pipeline_for_merged_result_spec.rb": 53.854234828, - "qa/specs/features/ee/browser_ui/4_verify/pipeline_subscription_with_group_owned_project_spec.rb": 61.396500039, - "qa/specs/features/ee/browser_ui/8_monitor/incident_management/incident_quick_action_spec.rb": 16.936613385, - "qa/specs/features/ee/browser_ui/9_tenant_scale/group/share_group_with_group_spec.rb": 33.98725241 + "qa/specs/features/api/10_govern/group_access_token_spec.rb": 33.40652677, + "qa/specs/features/api/10_govern/project_access_token_spec.rb": 108.14779121100001, + "qa/specs/features/api/12_systems/gitaly/automatic_failover_and_recovery_spec.rb": 99.263909494, + "qa/specs/features/api/12_systems/gitaly/backend_node_recovery_spec.rb": 102.480642205, + "qa/specs/features/api/12_systems/gitaly/distributed_reads_spec.rb": 102.77347513500001, + "qa/specs/features/api/12_systems/gitaly/gitaly_mtls_spec.rb": 19.340814466, + "qa/specs/features/api/1_manage/import/import_github_repo_spec.rb": 127.489575968, + "qa/specs/features/api/1_manage/integrations/webhook_events_spec.rb": 56.808515615, + "qa/specs/features/api/1_manage/migration/gitlab_migration_group_spec.rb": 59.361528533, + "qa/specs/features/api/1_manage/migration/gitlab_migration_issue_spec.rb": 215.076974441, + "qa/specs/features/api/1_manage/migration/gitlab_migration_pipeline_spec.rb": 91.729914798, + "qa/specs/features/api/1_manage/rate_limits_spec.rb": 14.607217966, + "qa/specs/features/api/2_plan/closes_issue_via_pushing_a_commit_spec.rb": 23.008684037, + "qa/specs/features/api/3_create/merge_request/push_options_mwps_spec.rb": 22.494501055, + "qa/specs/features/api/3_create/merge_request/push_options_remove_source_branch_spec.rb": 43.636242201, + "qa/specs/features/api/3_create/merge_request/push_options_spec.rb": 37.520196219, + "qa/specs/features/api/3_create/merge_request/view_merge_requests_spec.rb": 1.082708408, + "qa/specs/features/api/3_create/repository/add_list_delete_branches_spec.rb": 17.708858703, + "qa/specs/features/api/3_create/repository/commit_to_templated_project_spec.rb": 10.779747315, + "qa/specs/features/api/3_create/repository/default_branch_name_setting_spec.rb": 11.272503979, + "qa/specs/features/api/3_create/repository/files_spec.rb": 9.00272815, + "qa/specs/features/api/3_create/repository/project_archive_compare_spec.rb": 15.180661393, + "qa/specs/features/api/3_create/repository/push_postreceive_idempotent_spec.rb": 25.050371408, + "qa/specs/features/api/3_create/repository/storage_size_spec.rb": 19.204492761, + "qa/specs/features/api/3_create/repository/tag_revision_trigger_prereceive_hook_spec.rb": 11.841812764, + "qa/specs/features/api/4_verify/api_variable_inheritance_with_forward_pipeline_variables_spec.rb": 61.1731228, + "qa/specs/features/api/4_verify/cancel_pipeline_when_block_user_spec.rb": 26.376580723, + "qa/specs/features/api/4_verify/file_variable_spec.rb": 68.844644612, + "qa/specs/features/api/4_verify/job_downloads_artifacts_spec.rb": 27.161383435, + "qa/specs/features/api/5_package/container_registry/saas/container_registry_spec.rb": 69.033341671, + "qa/specs/features/api/8_monitor/metrics_spec.rb": 6.335980976, + "qa/specs/features/api/9_tenant_scale/user_inherited_access_spec.rb": 131.510213571, + "qa/specs/features/api/9_tenant_scale/users_spec.rb": 6.051365423, + "qa/specs/features/browser_ui/10_govern/group/group_access_token_spec.rb": 20.474029766, + "qa/specs/features/browser_ui/10_govern/login/2fa_recovery_spec.rb": 53.607716173, + "qa/specs/features/browser_ui/10_govern/login/2fa_ssh_recovery_spec.rb": 57.850255819, + "qa/specs/features/browser_ui/10_govern/login/log_in_spec.rb": 13.623114893, + "qa/specs/features/browser_ui/10_govern/login/log_in_with_2fa_spec.rb": 100.334444961, + "qa/specs/features/browser_ui/10_govern/login/log_into_gitlab_via_ldap_spec.rb": 4.92612366, + "qa/specs/features/browser_ui/10_govern/login/log_into_mattermost_via_gitlab_spec.rb": 30.722237006, + "qa/specs/features/browser_ui/10_govern/login/login_via_instance_wide_saml_sso_spec.rb": 20.068269269, + "qa/specs/features/browser_ui/10_govern/login/oauth_login_with_github_spec.rb": 42.085418594, + "qa/specs/features/browser_ui/10_govern/login/register_spec.rb": 115.60960340700001, + "qa/specs/features/browser_ui/10_govern/project/project_access_token_spec.rb": 22.744552996, + "qa/specs/features/browser_ui/10_govern/user/impersonation_token_spec.rb": 39.080742241, + "qa/specs/features/browser_ui/10_govern/user/user_access_termination_spec.rb": 40.930434999, + "qa/specs/features/browser_ui/14_analytics/performance_bar_spec.rb": 41.248273954, + "qa/specs/features/browser_ui/14_analytics/service_ping_default_enabled_spec.rb": 23.762679721, + "qa/specs/features/browser_ui/14_analytics/service_ping_disabled_spec.rb": 16.107325885, + "qa/specs/features/browser_ui/1_manage/integrations/jenkins/jenkins_build_status_spec.rb": 63.049141584, + "qa/specs/features/browser_ui/1_manage/integrations/jira/jira_basic_integration_spec.rb": 63.873755599, + "qa/specs/features/browser_ui/1_manage/integrations/jira/jira_issue_import_spec.rb": 53.065096905, + "qa/specs/features/browser_ui/1_manage/integrations/pipeline_status_emails_spec.rb": 88.621169064, + "qa/specs/features/browser_ui/1_manage/migration/gitlab_migration_group_spec.rb": 72.757495199, + "qa/specs/features/browser_ui/1_manage/migration/gitlab_migration_user_contribution_reassignment_spec.rb": 177.476700287, + "qa/specs/features/browser_ui/2_plan/design_management/add_design_content_spec.rb": 22.390309891, + "qa/specs/features/browser_ui/2_plan/design_management/archive_design_content_spec.rb": 33.211751438, + "qa/specs/features/browser_ui/2_plan/design_management/modify_design_content_spec.rb": 25.175048505, + "qa/specs/features/browser_ui/2_plan/email/trigger_email_notification_spec.rb": 19.399112122, + "qa/specs/features/browser_ui/2_plan/issue/collapse_comments_in_discussions_spec.rb": 22.48118938, + "qa/specs/features/browser_ui/2_plan/issue/comment_issue_spec.rb": 26.180878901, + "qa/specs/features/browser_ui/2_plan/issue/create_issue_spec.rb": 202.763821406, + "qa/specs/features/browser_ui/2_plan/issue/custom_issue_template_spec.rb": 31.199291474, + "qa/specs/features/browser_ui/2_plan/issue/export_as_csv_spec.rb": 42.882703366, + "qa/specs/features/browser_ui/2_plan/issue/issue_suggestions_spec.rb": 25.652492251, + "qa/specs/features/browser_ui/2_plan/issue/mentions_spec.rb": 34.942500464, + "qa/specs/features/browser_ui/2_plan/issue/real_time_assignee_spec.rb": 31.47515856, + "qa/specs/features/browser_ui/2_plan/issue_boards/focus_mode_spec.rb": 19.343151789, + "qa/specs/features/browser_ui/2_plan/milestone/assign_milestone_spec.rb": 106.787337649, + "qa/specs/features/browser_ui/2_plan/milestone/create_group_milestone_spec.rb": 22.265545915, + "qa/specs/features/browser_ui/2_plan/milestone/create_project_milestone_spec.rb": 30.000384865, + "qa/specs/features/browser_ui/2_plan/project_wiki/project_based_content_creation_spec.rb": 114.445210364, + "qa/specs/features/browser_ui/2_plan/project_wiki/project_based_content_manipulation_spec.rb": 72.235405971, + "qa/specs/features/browser_ui/2_plan/project_wiki/project_based_directory_management_spec.rb": 22.372347952, + "qa/specs/features/browser_ui/2_plan/project_wiki/project_based_file_upload_spec.rb": 39.202519551, + "qa/specs/features/browser_ui/2_plan/project_wiki/project_based_list_spec.rb": 88.058121398, + "qa/specs/features/browser_ui/2_plan/project_wiki/project_based_page_deletion_spec.rb": 56.673871897, + "qa/specs/features/browser_ui/2_plan/related_issues/related_issues_spec.rb": 25.667597999, + "qa/specs/features/browser_ui/3_create/merge_request/add_batch_comments_in_merge_request_spec.rb": 85.171982466, + "qa/specs/features/browser_ui/3_create/merge_request/cherry_pick/cherry_pick_a_merge_spec.rb": 44.176778105, + "qa/specs/features/browser_ui/3_create/merge_request/cherry_pick/cherry_pick_commit_spec.rb": 34.686354604, + "qa/specs/features/browser_ui/3_create/merge_request/create_merge_request_spec.rb": 65.810911428, + "qa/specs/features/browser_ui/3_create/merge_request/merge_merge_request_from_fork_spec.rb": 39.69523976, + "qa/specs/features/browser_ui/3_create/merge_request/merge_request_set_to_auto_merge_spec.rb": 96.135750584, + "qa/specs/features/browser_ui/3_create/merge_request/rebase_merge_request_spec.rb": 91.869611652, + "qa/specs/features/browser_ui/3_create/merge_request/revert/revert_commit_spec.rb": 29.611802805, + "qa/specs/features/browser_ui/3_create/merge_request/revert/reverting_merge_request_spec.rb": 55.520810221, + "qa/specs/features/browser_ui/3_create/merge_request/suggestions/batch_suggestion_spec.rb": 73.960590807, + "qa/specs/features/browser_ui/3_create/merge_request/suggestions/custom_commit_suggestion_spec.rb": 53.032713696, + "qa/specs/features/browser_ui/3_create/merge_request/view_merge_request_diff_patch_spec.rb": 53.95135281, + "qa/specs/features/browser_ui/3_create/repository/add_file_template_spec.rb": 27.930282318, + "qa/specs/features/browser_ui/3_create/repository/add_new_branch_rule_spec.rb": 45.270817966, + "qa/specs/features/browser_ui/3_create/repository/branch_with_unusual_name_spec.rb": 24.174087797, + "qa/specs/features/browser_ui/3_create/repository/clone_spec.rb": 24.501091296, + "qa/specs/features/browser_ui/3_create/repository/license_detection_spec.rb": 37.788228757, + "qa/specs/features/browser_ui/3_create/repository/protected_tags_spec.rb": 156.75783241, + "qa/specs/features/browser_ui/3_create/repository/protocol_v2_push_http_spec.rb": 22.762603095, + "qa/specs/features/browser_ui/3_create/repository/protocol_v2_push_ssh_spec.rb": 23.320743313, + "qa/specs/features/browser_ui/3_create/repository/push_http_private_token_spec.rb": 25.847487444, + "qa/specs/features/browser_ui/3_create/repository/push_mirroring_lfs_over_http_spec.rb": 84.458710267, + "qa/specs/features/browser_ui/3_create/repository/push_mirroring_over_http_spec.rb": 78.821934437, + "qa/specs/features/browser_ui/3_create/repository/push_over_http_file_size_spec.rb": 58.192687617000004, + "qa/specs/features/browser_ui/3_create/repository/push_over_http_spec.rb": 35.895744995, + "qa/specs/features/browser_ui/3_create/repository/push_over_ssh_file_size_spec.rb": 60.211859737, + "qa/specs/features/browser_ui/3_create/repository/push_over_ssh_spec.rb": 49.343938607, + "qa/specs/features/browser_ui/3_create/repository/push_protected_branch_spec.rb": 26.67423749, + "qa/specs/features/browser_ui/3_create/repository/push_to_canary_gitaly_spec.rb": 23.857914052, + "qa/specs/features/browser_ui/3_create/repository/ssh_key_support_create_spec.rb": 21.282368827, + "qa/specs/features/browser_ui/3_create/repository/ssh_key_support_delete_spec.rb": 18.902263736, + "qa/specs/features/browser_ui/3_create/repository/user_views_commit_diff_patch_spec.rb": 56.115527203, + "qa/specs/features/browser_ui/3_create/snippet/add_comment_to_snippet_spec.rb": 31.974285998, + "qa/specs/features/browser_ui/3_create/snippet/add_file_to_snippet_spec.rb": 55.954054138000004, + "qa/specs/features/browser_ui/3_create/snippet/clone_push_pull_personal_snippet_spec.rb": 76.00938344400001, + "qa/specs/features/browser_ui/3_create/snippet/clone_push_pull_project_snippet_spec.rb": 86.193481991, + "qa/specs/features/browser_ui/3_create/snippet/copy_snippet_file_contents_spec.rb": 25.41531335, + "qa/specs/features/browser_ui/3_create/snippet/create_personal_snippet_with_multiple_files_spec.rb": 16.54897191, + "qa/specs/features/browser_ui/3_create/snippet/create_project_snippet_with_multiple_files_spec.rb": 31.074118649, + "qa/specs/features/browser_ui/3_create/snippet/delete_file_from_snippet_spec.rb": 46.240431095999995, + "qa/specs/features/browser_ui/3_create/snippet/share_snippet_spec.rb": 30.257300877, + "qa/specs/features/browser_ui/3_create/source_editor/source_editor_toolbar_spec.rb": 30.364181551, + "qa/specs/features/browser_ui/3_create/web_ide/add_first_file_in_web_ide_spec.rb": 38.433381843, + "qa/specs/features/browser_ui/3_create/web_ide/add_new_directory_in_web_ide_spec.rb": 101.220843888, + "qa/specs/features/browser_ui/3_create/web_ide/closing_web_ide_with_unsaved_changes_spec.rb": 37.055114931, + "qa/specs/features/browser_ui/3_create/web_ide/settings_sync_web_ide_spec.rb": 179.651143572, + "qa/specs/features/browser_ui/3_create/web_ide/upload_new_file_in_web_ide_spec.rb": 150.02571713999998, + "qa/specs/features/browser_ui/4_verify/ci_components_catalog/ci_catalog_sorting_spec.rb": 88.257084475, + "qa/specs/features/browser_ui/4_verify/ci_components_catalog/release_with_glab_spec.rb": 123.628271413, + "qa/specs/features/browser_ui/4_verify/ci_components_catalog/release_with_release_cli_spec.rb": 158.557140521, + "qa/specs/features/browser_ui/4_verify/ci_components_catalog/run_component_in_project_pipeline_spec.rb": 48.949554375, + "qa/specs/features/browser_ui/4_verify/ci_job_artifacts/expose_job_artifacts_in_mr_spec.rb": 37.774771155, + "qa/specs/features/browser_ui/4_verify/ci_job_artifacts/job_artifacts_access_keyword_spec.rb": 266.063759199, + "qa/specs/features/browser_ui/4_verify/ci_job_artifacts/unlocking_job_artifacts_across_pipelines_spec.rb": 269.653268932, + "qa/specs/features/browser_ui/4_verify/ci_project_artifacts/user_can_bulk_delete_artifacts_spec.rb": 73.291987677, + "qa/specs/features/browser_ui/4_verify/ci_variable/pipeline_with_protected_variable_spec.rb": 133.265900999, + "qa/specs/features/browser_ui/4_verify/ci_variable/raw_variables_defined_in_yaml_spec.rb": 61.572497471, + "qa/specs/features/browser_ui/4_verify/ci_variable/ui_variable_inheritable_when_forward_pipeline_variables_true_spec.rb": 74.633719222, + "qa/specs/features/browser_ui/4_verify/pipeline/include_local_config_file_paths_with_wildcard_spec.rb": 30.915270131, + "qa/specs/features/browser_ui/4_verify/pipeline/include_multiple_files_from_a_project_spec.rb": 49.364241601, + "qa/specs/features/browser_ui/4_verify/pipeline/include_multiple_files_from_multiple_projects_spec.rb": 49.394313638, + "qa/specs/features/browser_ui/4_verify/pipeline/parent_child_pipelines_independent_relationship_spec.rb": 75.159637624, + "qa/specs/features/browser_ui/4_verify/pipeline/pass_dotenv_variables_to_downstream_via_bridge_spec.rb": 63.867982759, + "qa/specs/features/browser_ui/4_verify/pipeline/run_pipeline_with_manual_jobs_spec.rb": 60.973117906, + "qa/specs/features/browser_ui/4_verify/pipeline/trigger_child_pipeline_with_manual_spec.rb": 60.126772749, + "qa/specs/features/browser_ui/4_verify/pipeline/trigger_matrix_spec.rb": 41.242408651, + "qa/specs/features/browser_ui/4_verify/pipeline/update_ci_file_with_pipeline_editor_spec.rb": 42.089385742, + "qa/specs/features/browser_ui/4_verify/runner/deprecated_registration_token_spec.rb": 21.650577048, + "qa/specs/features/browser_ui/4_verify/runner/deprecated_unregister_runner_spec.rb": 36.095911812, + "qa/specs/features/browser_ui/4_verify/runner/fleet_visibility/group_runner_counts_spec.rb": 21.918267332, + "qa/specs/features/browser_ui/4_verify/runner/fleet_visibility/group_runner_status_counts_spec.rb": 18.97998052, + "qa/specs/features/browser_ui/4_verify/runner/register_group_runner_spec.rb": 26.115506564, + "qa/specs/features/browser_ui/4_verify/runner/register_project_runner_spec.rb": 52.527923887, + "qa/specs/features/browser_ui/4_verify/runner/unregister_runner_spec.rb": 26.236790015, + "qa/specs/features/browser_ui/4_verify/testing/endpoint_coverage_spec.rb": 52.316446719, + "qa/specs/features/browser_ui/5_package/container_registry/saas/container_registry_spec.rb": 165.634585609, + "qa/specs/features/browser_ui/5_package/container_registry/self_managed/container_registry_spec.rb": 347.338332446, + "qa/specs/features/browser_ui/5_package/dependency_proxy/dependency_proxy_spec.rb": 199.50891662499998, + "qa/specs/features/browser_ui/5_package/package_registry/composer_registry_spec.rb": 67.286344045, + "qa/specs/features/browser_ui/5_package/package_registry/conan_repository_spec.rb": 109.692268132, + "qa/specs/features/browser_ui/5_package/package_registry/generic_repository_spec.rb": 63.838511729, + "qa/specs/features/browser_ui/5_package/package_registry/helm_registry_spec.rb": 322.85689752, + "qa/specs/features/browser_ui/5_package/package_registry/maven/maven_group_level_spec.rb": 650.299845526, + "qa/specs/features/browser_ui/5_package/package_registry/maven/maven_project_level_spec.rb": 296.734672131, + "qa/specs/features/browser_ui/5_package/package_registry/maven_gradle_repository_spec.rb": 324.63351607, + "qa/specs/features/browser_ui/5_package/package_registry/npm/npm_group_level_spec.rb": 288.85934595599997, + "qa/specs/features/browser_ui/5_package/package_registry/npm/npm_instance_level_spec.rb": 276.400771392, + "qa/specs/features/browser_ui/5_package/package_registry/pypi_repository_spec.rb": 124.86013221, + "qa/specs/features/browser_ui/6_deploy/auto_devops/create_project_with_auto_devops_spec.rb": 568.348871003, + "qa/specs/features/browser_ui/6_deploy/deploy_key/add_deploy_key_spec.rb": 25.653972745, + "qa/specs/features/browser_ui/6_deploy/deploy_key/clone_using_deploy_key_spec.rb": 160.158991192, + "qa/specs/features/browser_ui/6_deploy/deploy_token/add_deploy_token_spec.rb": 13.617455071, + "qa/specs/features/browser_ui/8_monitor/alert_management/alert_management_spec.rb": 203.638595592, + "qa/specs/features/browser_ui/8_monitor/alert_management/email_notification_for_alert_spec.rb": 85.05421501699999, + "qa/specs/features/browser_ui/9_tenant_scale/group/create_group_with_mattermost_team_spec.rb": 11.792938794, + "qa/specs/features/browser_ui/9_tenant_scale/group/group_member_access_request_spec.rb": 74.36519395900001, + "qa/specs/features/browser_ui/9_tenant_scale/group/transfer_project_spec.rb": 21.639426063, + "qa/specs/features/browser_ui/9_tenant_scale/project/add_project_member_spec.rb": 32.685666012, + "qa/specs/features/browser_ui/9_tenant_scale/project/create_project_badge_spec.rb": 29.041984398, + "qa/specs/features/browser_ui/9_tenant_scale/project/create_project_spec.rb": 56.481595366, + "qa/specs/features/browser_ui/9_tenant_scale/project/dashboard_images_spec.rb": 22.738437165, + "qa/specs/features/browser_ui/9_tenant_scale/project/invite_group_to_project_spec.rb": 54.548344267000004, + "qa/specs/features/browser_ui/9_tenant_scale/project/project_owner_permissions_spec.rb": 178.041656998, + "qa/specs/features/browser_ui/9_tenant_scale/project/view_project_activity_spec.rb": 24.761728824, + "qa/specs/features/browser_ui/9_tenant_scale/user/follow_user_activity_spec.rb": 26.594523245, + "qa/specs/features/browser_ui/9_tenant_scale/user/parent_group_access_termination_spec.rb": 29.703109918, + "qa/specs/features/browser_ui/9_tenant_scale/user/user_inherited_access_spec.rb": 35.873381803, + "qa/specs/features/ee/api/10_govern/compliance_pipeline_spec.rb": 27.990791839, + "qa/specs/features/ee/api/10_govern/instance_audit_event_streaming_spec.rb": 23.876685125999998, + "qa/specs/features/ee/api/10_govern/user/minimal_access_user_spec.rb": 83.41368070499999, + "qa/specs/features/ee/api/17_foundations/elasticsearch/advanced_global_advanced_syntax_search_spec.rb": 114.08060985, + "qa/specs/features/ee/api/17_foundations/elasticsearch/elasticsearch_api_spec.rb": 110.64275206500001, + "qa/specs/features/ee/api/17_foundations/elasticsearch/index_tests/blob_index_spec.rb": 42.299344592, + "qa/specs/features/ee/api/17_foundations/elasticsearch/index_tests/commit_index_spec.rb": 39.190616521, + "qa/specs/features/ee/api/17_foundations/elasticsearch/index_tests/issue_index_spec.rb": 45.731552806, + "qa/specs/features/ee/api/17_foundations/elasticsearch/index_tests/merge_request_index_spec.rb": 28.517704861, + "qa/specs/features/ee/api/17_foundations/elasticsearch/index_tests/note_index_spec.rb": 36.025010085, + "qa/specs/features/ee/api/1_manage/import/import_github_repo_spec.rb": 26.742735677, + "qa/specs/features/ee/api/1_manage/integrations/group_webhook_events_spec.rb": 13.725903805, + "qa/specs/features/ee/api/1_manage/migration/gitlab_migration_group_spec.rb": 76.185247628, + "qa/specs/features/ee/api/2_plan/analytics/dora_metrics_spec.rb": 2.134576299, + "qa/specs/features/ee/api/2_plan/epics_milestone_dates_spec.rb": 88.307651451, + "qa/specs/features/ee/api/3_create/code_suggestions_spec.rb": 62.483465078, + "qa/specs/features/ee/api/6_deploy/kubernetes/kubernetes_agent_spec.rb": 333.841964395, + "qa/specs/features/ee/browser_ui/10_govern/change_vulnerability_status_spec.rb": 117.605842988, + "qa/specs/features/ee/browser_ui/10_govern/create_merge_request_with_secure_spec.rb": 70.493630702, + "qa/specs/features/ee/browser_ui/10_govern/dismissed_vulnerabilities_in_security_widget_spec.rb": 78.775272987, + "qa/specs/features/ee/browser_ui/10_govern/explain_this_vulnerability_spec.rb": 48.390992685, + "qa/specs/features/ee/browser_ui/10_govern/export_vulnerability_report_spec.rb": 25.195373892, + "qa/specs/features/ee/browser_ui/10_govern/fix_vulnerability_workflow_spec.rb": 154.707140401, + "qa/specs/features/ee/browser_ui/10_govern/group/group_audit_event_streaming_spec.rb": 43.394211121, + "qa/specs/features/ee/browser_ui/10_govern/group/group_audit_logs_1_spec.rb": 132.310534667, + "qa/specs/features/ee/browser_ui/10_govern/group/group_ldap_sync_spec.rb": 129.970168319, + "qa/specs/features/ee/browser_ui/10_govern/group/restrict_by_ip_address_spec.rb": 130.90665025799998, + "qa/specs/features/ee/browser_ui/10_govern/group_pipeline_execution_policy_spec.rb": 274.306130962, + "qa/specs/features/ee/browser_ui/10_govern/instance/instance_audit_logs_spec.rb": 130.149224385, + "qa/specs/features/ee/browser_ui/10_govern/project/project_audit_logs_spec.rb": 214.633844395, + "qa/specs/features/ee/browser_ui/10_govern/project_security_dashboard_spec.rb": 65.29810035, + "qa/specs/features/ee/browser_ui/10_govern/scan_execution_policy_vulnerabilities_spec.rb": 127.97672757800001, + "qa/specs/features/ee/browser_ui/10_govern/scan_result_policy_license_finding_spec.rb": 51.5421001, + "qa/specs/features/ee/browser_ui/10_govern/scan_result_policy_vulnerabilities_spec.rb": 115.277674252, + "qa/specs/features/ee/browser_ui/10_govern/security_policies_spec.rb": 81.00644148, + "qa/specs/features/ee/browser_ui/10_govern/security_reports_spec.rb": 361.54343162199996, + "qa/specs/features/ee/browser_ui/10_govern/user/minimal_access_user_spec.rb": 24.578217313, + "qa/specs/features/ee/browser_ui/10_govern/vulnerabilities_jira_integration_spec.rb": 42.807938893, + "qa/specs/features/ee/browser_ui/10_govern/vulnerability_management_spec.rb": 361.155253561, + "qa/specs/features/ee/browser_ui/11_fulfillment/license/cloud_activation_spec.rb": 52.245580561, + "qa/specs/features/ee/browser_ui/11_fulfillment/license/license_spec.rb": 13.510919953, + "qa/specs/features/ee/browser_ui/11_fulfillment/saas_user_limit_experience_spec.rb": 188.378093649, + "qa/specs/features/ee/browser_ui/11_fulfillment/utilization/free_namespace_storage_spec.rb": 345.016066913, + "qa/specs/features/ee/browser_ui/11_fulfillment/utilization/saas_user_caps_spec.rb": 51.455543511, + "qa/specs/features/ee/browser_ui/11_fulfillment/utilization/user_registration_billing_spec.rb": 18.337433436, + "qa/specs/features/ee/browser_ui/13_secure/cvs_dependency_scanning_spec.rb": 100.302462833, + "qa/specs/features/ee/browser_ui/13_secure/license_scanning_spec.rb": 125.252427312, + "qa/specs/features/ee/browser_ui/13_secure/on_demand_dast_spec.rb": 116.524583274, + "qa/specs/features/ee/browser_ui/13_secure/secret_push_protection_spec.rb": 143.955237362, + "qa/specs/features/ee/browser_ui/15_growth/free_trial_spec.rb": 67.843876343, + "qa/specs/features/ee/browser_ui/16_ai_powered/duo_chat/duo_chat_explain_code_spec.rb": 36.093509303, + "qa/specs/features/ee/browser_ui/16_ai_powered/duo_chat/duo_chat_spec.rb": 51.176578692, + "qa/specs/features/ee/browser_ui/1_manage/integrations/jira_issues_list_spec.rb": 58.508339867000004, + "qa/specs/features/ee/browser_ui/2_plan/analytics/contribution_analytics_spec.rb": 180.922854976, + "qa/specs/features/ee/browser_ui/2_plan/analytics/mr_analytics_spec.rb": 72.150498024, + "qa/specs/features/ee/browser_ui/2_plan/analytics/value_stream_analytics_spec.rb": 75.65637634000001, + "qa/specs/features/ee/browser_ui/2_plan/burndown_chart/burndown_chart_spec.rb": 23.40066441, + "qa/specs/features/ee/browser_ui/2_plan/custom_email/custom_email_spec.rb": 17.422913947, + "qa/specs/features/ee/browser_ui/2_plan/epic/epics_management_spec.rb": 382.51985342, + "qa/specs/features/ee/browser_ui/2_plan/epic/promote_issue_to_epic_spec.rb": 53.152013451, + "qa/specs/features/ee/browser_ui/2_plan/epic/roadmap_spec.rb": 15.612040113, + "qa/specs/features/ee/browser_ui/2_plan/group_wiki/create_group_wiki_page_spec.rb": 43.134573792, + "qa/specs/features/ee/browser_ui/2_plan/group_wiki/delete_group_wiki_page_spec.rb": 17.688236191, + "qa/specs/features/ee/browser_ui/2_plan/group_wiki/file_upload_group_wiki_page_spec.rb": 36.245175063, + "qa/specs/features/ee/browser_ui/2_plan/insights/default_insights_spec.rb": 36.127016912, + "qa/specs/features/ee/browser_ui/2_plan/issue/default_issue_template_spec.rb": 29.981502699, + "qa/specs/features/ee/browser_ui/2_plan/issue_boards/configurable_issue_board_spec.rb": 20.511514982, + "qa/specs/features/ee/browser_ui/2_plan/issue_boards/configure_issue_board_by_label_spec.rb": 28.127288041, + "qa/specs/features/ee/browser_ui/2_plan/issue_boards/create_group_issue_board_spec.rb": 33.431527318, + "qa/specs/features/ee/browser_ui/2_plan/issue_boards/group_issue_boards_spec.rb": 38.178550758, + "qa/specs/features/ee/browser_ui/2_plan/issue_boards/project_issue_boards_spec.rb": 83.637027736, + "qa/specs/features/ee/browser_ui/2_plan/issue_boards/read_only_board_configuration_spec.rb": 31.767948444, + "qa/specs/features/ee/browser_ui/2_plan/issue_boards/sum_of_issues_weights_spec.rb": 24.656618797, + "qa/specs/features/ee/browser_ui/2_plan/issues_analytics/issues_analytics_spec.rb": 44.522445772, + "qa/specs/features/ee/browser_ui/2_plan/issues_weight/issue_weight_visualization_spec.rb": 35.332557938, + "qa/specs/features/ee/browser_ui/2_plan/iterations/assign_group_iteration_spec.rb": 30.182850649, + "qa/specs/features/ee/browser_ui/2_plan/iterations/create_group_iteration_spec.rb": 45.154880479, + "qa/specs/features/ee/browser_ui/2_plan/multiple_assignees_for_issues/four_assignees_spec.rb": 40.772116388, + "qa/specs/features/ee/browser_ui/2_plan/multiple_assignees_for_issues/more_than_four_assignees_spec.rb": 74.761764619, + "qa/specs/features/ee/browser_ui/2_plan/scoped_labels/editing_scoped_labels_spec.rb": 25.870807747, + "qa/specs/features/ee/browser_ui/3_create/merge_request/approval_rules_spec.rb": 135.927114261, + "qa/specs/features/ee/browser_ui/3_create/merge_request/default_merge_request_template_spec.rb": 45.063333201, + "qa/specs/features/ee/browser_ui/3_create/merge_request/generate_commit_message_spec.rb": 31.566704251, + "qa/specs/features/ee/browser_ui/3_create/remote_development/workspace_actions_spec.rb": 543.233404997, + "qa/specs/features/ee/browser_ui/3_create/repository/assign_code_owners_spec.rb": 59.357746585, + "qa/specs/features/ee/browser_ui/3_create/repository/code_owners_spec.rb": 36.869256928, + "qa/specs/features/ee/browser_ui/3_create/repository/file_locking_spec.rb": 246.545303253, + "qa/specs/features/ee/browser_ui/3_create/repository/group_file_template_spec.rb": 43.200725758, + "qa/specs/features/ee/browser_ui/3_create/repository/merge_with_code_owner_in_root_group_spec.rb": 128.98384694, + "qa/specs/features/ee/browser_ui/3_create/repository/merge_with_code_owner_in_subgroup_spec.rb": 211.633649123, + "qa/specs/features/ee/browser_ui/3_create/repository/prevent_forking_outside_group_spec.rb": 41.111944978, + "qa/specs/features/ee/browser_ui/3_create/repository/project_templates_spec.rb": 176.516678502, + "qa/specs/features/ee/browser_ui/3_create/repository/pull_mirroring_over_http_spec.rb": 44.548635509, + "qa/specs/features/ee/browser_ui/3_create/repository/pull_mirroring_over_ssh_with_key_spec.rb": 74.217703857, + "qa/specs/features/ee/browser_ui/3_create/repository/push_rules_spec.rb": 475.40952402, + "qa/specs/features/ee/browser_ui/3_create/repository/restrict_push_protected_branch_spec.rb": 262.966270802, + "qa/specs/features/ee/browser_ui/3_create/web_ide/code_suggestions_in_web_ide_spec.rb": 110.59269366000001, + "qa/specs/features/ee/browser_ui/4_verify/multi-project_pipelines_spec.rb": 44.332298042, + "qa/specs/features/ee/browser_ui/4_verify/parent_child_pipelines_dependent_relationship_spec.rb": 94.640597731, + "qa/specs/features/ee/browser_ui/4_verify/pipeline_for_merged_result_spec.rb": 64.50677508, + "qa/specs/features/ee/browser_ui/4_verify/pipeline_subscription_with_group_owned_project_spec.rb": 65.356541838, + "qa/specs/features/ee/browser_ui/4_verify/root_cause_analysis_with_duo_chat_spec.rb": 33.753791004, + "qa/specs/features/ee/browser_ui/8_monitor/incident_management/incident_quick_action_spec.rb": 22.417525672, + "qa/specs/features/ee/browser_ui/9_tenant_scale/share_group_with_group_spec.rb": 21.968808136 } diff --git a/qa/tasks/ci.rake b/qa/tasks/ci.rake index 7c8fb9abfef..3e371153be1 100644 --- a/qa/tasks/ci.rake +++ b/qa/tasks/ci.rake @@ -85,13 +85,13 @@ namespace :ci do label: tests_from_mapping.nil? || tests_from_mapping.empty? ? 'non-selective' : 'selective', value: tests_from_mapping.nil? || tests_from_mapping.empty? ? 0 : tests_from_mapping.count } - Tooling::Events::TrackPipelineEvents.new( - event_name: "e2e_tests_selected_for_execution_gitlab_pipeline", - properties: properties - ).send_event + Tooling::Events::TrackPipelineEvents.new(logger: logger).send_event( + "e2e_tests_selected_for_execution_gitlab_pipeline", + **properties + ) rescue StandardError => e - logger.warn("*** Error while creating pipeline with selected specs: #{e.backtrace} ****") - logger.info("*** Running full suite ***") + logger.warn("*** Error while creating pipeline with selected specs: #{e.backtrace} ***") + logger.info("*** Defaulting to running full suite ***") QA::Tools::Ci::PipelineCreator.new([], **creator_args).create end end diff --git a/scripts/rspec_helpers.sh b/scripts/rspec_helpers.sh index d25a9249e62..54279aaf3c8 100644 --- a/scripts/rspec_helpers.sh +++ b/scripts/rspec_helpers.sh @@ -16,13 +16,16 @@ function update_tests_metadata() { } function retrieve_tests_mapping() { - mkdir -p $(dirname "$RSPEC_PACKED_TESTS_MAPPING_PATH") + local mapping_archive="${1:-$RSPEC_PACKED_TESTS_MAPPING_PATH}" + local mapping_path="${2:-$RSPEC_TESTS_MAPPING_PATH}" - if [[ ! -f "${RSPEC_PACKED_TESTS_MAPPING_PATH}" ]]; then - (curl --fail --location -o "${RSPEC_PACKED_TESTS_MAPPING_PATH}.gz" "https://gitlab-org.gitlab.io/gitlab/${RSPEC_PACKED_TESTS_MAPPING_PATH}.gz" && gzip -d "${RSPEC_PACKED_TESTS_MAPPING_PATH}.gz") || echo "{}" > "${RSPEC_PACKED_TESTS_MAPPING_PATH}" + mkdir -p $(dirname "$mapping_archive") + + if [[ ! -f "${mapping_archive}" ]]; then + (curl --fail --location -o "${mapping_archive}.gz" "https://gitlab-org.gitlab.io/gitlab/${mapping_archive}.gz" && gzip -d "${mapping_archive}.gz") || echo "{}" > "${mapping_archive}" fi - scripts/unpack-test-mapping "${RSPEC_PACKED_TESTS_MAPPING_PATH}" "${RSPEC_TESTS_MAPPING_PATH}" + scripts/unpack-test-mapping "${mapping_archive}" "${mapping_path}" } function retrieve_frontend_fixtures_mapping() { 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 73a5fcfeeb8..b3f9963bb45 100644 --- a/spec/controllers/user_settings/personal_access_tokens_controller_spec.rb +++ b/spec/controllers/user_settings/personal_access_tokens_controller_spec.rb @@ -211,9 +211,8 @@ RSpec.describe UserSettings::PersonalAccessTokensController, feature_category: : end end - context 'with virtual_registry_maven feature flag disabled and dependency proxy disabled' do + context 'with dependency proxy disabled' do before do - stub_feature_flags(virtual_registry_maven: false) stub_config(dependency_proxy: { enabled: false }) end diff --git a/spec/db/schema_spec.rb b/spec/db/schema_spec.rb index 0fbcda7c0b8..d550d58f2f5 100644 --- a/spec/db/schema_spec.rb +++ b/spec/db/schema_spec.rb @@ -115,7 +115,6 @@ RSpec.describe 'Database schema', deploy_keys_projects: %w[deploy_key_id], deployments: %w[deployable_id user_id], deployment_merge_requests: %w[project_id], - description_versions: %w[namespace_id], # namespace_id will be added as an FK after backfill draft_notes: %w[discussion_id commit_id], epics: %w[updated_by_id last_edited_by_id state_id], events: %w[target_id], diff --git a/spec/frontend/environments/environment_details/environment_breadcrumbs_spec.js b/spec/frontend/environments/environment_details/environment_breadcrumbs_spec.js index fd33d18c285..f96f6ad1b33 100644 --- a/spec/frontend/environments/environment_details/environment_breadcrumbs_spec.js +++ b/spec/frontend/environments/environment_details/environment_breadcrumbs_spec.js @@ -19,7 +19,7 @@ describe('Environment Breadcrumb', () => { }, ]; - const mountComponent = ($route) => { + const mountComponent = ($route, props = {}) => { wrapper = mount(EnvironmentBreadcrumb, { mocks: { $route, @@ -32,6 +32,7 @@ describe('Environment Breadcrumb', () => { stubs: { RouterLink: RouterLinkStub, }, + propsData: props, }); }; @@ -70,4 +71,22 @@ describe('Environment Breadcrumb', () => { expect(lastLink.text()).toContain(routes[1].params.podName); }); }); + + describe('when staticBreadcrumbs are provided', () => { + beforeEach(() => { + mountComponent(routes[0], { + staticBreadcrumbs: { + items: [{ text: 'static', href: '/static' }], + }, + }); + }); + + it('contains the static breadcrumbs', () => { + const links = wrapper.findAll('a'); + + expect(links).toHaveLength(2); + expect(links.at(0).text()).toContain('static'); + expect(links.at(1).text()).toContain(environmentName); + }); + }); }); diff --git a/spec/migrations/20250514054305_add_status_widget_definition_to_issues_spec.rb b/spec/migrations/20250514054305_add_status_widget_definition_to_issues_spec.rb new file mode 100644 index 00000000000..1ca14f29ee8 --- /dev/null +++ b/spec/migrations/20250514054305_add_status_widget_definition_to_issues_spec.rb @@ -0,0 +1,8 @@ +# frozen_string_literal: true + +require 'spec_helper' +require_migration! + +RSpec.describe AddStatusWidgetDefinitionToIssues, :migration, feature_category: :team_planning do + it_behaves_like 'migration that adds widgets to a work item type' +end diff --git a/spec/requests/admin/impersonation_tokens_controller_spec.rb b/spec/requests/admin/impersonation_tokens_controller_spec.rb index 14cb060ede8..ab4107e021e 100644 --- a/spec/requests/admin/impersonation_tokens_controller_spec.rb +++ b/spec/requests/admin/impersonation_tokens_controller_spec.rb @@ -64,11 +64,9 @@ RSpec.describe Admin::ImpersonationTokensController, :enable_admin_mode, feature end describe '#index', :with_current_organization do - let(:virtual_registry_maven_enabled) { true } let(:dependency_proxy_enabled) { true } before do - stub_feature_flags(virtual_registry_maven: virtual_registry_maven_enabled) stub_config(dependency_proxy: { enabled: dependency_proxy_enabled }) get admin_user_impersonation_tokens_path(user_id: user.username) @@ -85,8 +83,7 @@ RSpec.describe Admin::ImpersonationTokensController, :enable_admin_mode, feature ) end - context 'with virtual_registry_maven feature flag disabled and dependency proxy disabled' do - let(:virtual_registry_maven_enabled) { false } + context 'with dependency proxy disabled' do let(:dependency_proxy_enabled) { false } it 'does not include the virtual registry scopes' do diff --git a/spec/requests/projects/settings/access_tokens_controller_spec.rb b/spec/requests/projects/settings/access_tokens_controller_spec.rb index 4abf9bf66cf..6fd839cfebc 100644 --- a/spec/requests/projects/settings/access_tokens_controller_spec.rb +++ b/spec/requests/projects/settings/access_tokens_controller_spec.rb @@ -108,12 +108,8 @@ RSpec.describe Projects::Settings::AccessTokensController, feature_category: :sy describe '#index' do let_it_be(:resource_access_tokens) { create_list(:personal_access_token, 3, user: access_token_user) } - let(:virtual_registry_maven_enabled) { true } - let(:dependency_proxy_enabled) { true } - before do - stub_feature_flags(virtual_registry_maven: virtual_registry_maven_enabled) - stub_config(dependency_proxy: { enabled: dependency_proxy_enabled }) + stub_config(dependency_proxy: { enabled: true }) get project_settings_access_tokens_path(resource) end diff --git a/spec/tooling/lib/tooling/events/track_pipeline_events_spec.rb b/spec/tooling/lib/tooling/events/track_pipeline_events_spec.rb index 449a173ce6f..d24bff7dc56 100644 --- a/spec/tooling/lib/tooling/events/track_pipeline_events_spec.rb +++ b/spec/tooling/lib/tooling/events/track_pipeline_events_spec.rb @@ -1,96 +1,111 @@ # frozen_string_literal: true require 'gitlab/rspec/stub_env' +require 'logger' + require_relative '../../../../../tooling/lib/tooling/events/track_pipeline_events' RSpec.describe Tooling::Events::TrackPipelineEvents, feature_category: :tooling do include StubENV + subject(:send_event) { described_class.new(logger: logger).send_event(event_name, **additional_properties) } + let(:event_name) { "e2e_tests_selected_for_execution_gitlab_pipeline" } - let(:additional_properties) { { label: 'label', property: 'property', value: 10 } } + let(:additional_properties) { { label: 'label', value: 10, property: 'property' } } let(:access_token) { 'test-admin-token' } + let(:logger) { instance_double(Logger, info: nil, error: nil) } + let(:http_client) { instance_double(Net::HTTP, :use_ssl= => true, :request_post => response) } let(:response) { instance_double(Net::HTTPResponse, code: 200, body: '{}') } - let(:http_client) { instance_double(Net::HTTP) } - let(:http_request) { instance_double(Net::HTTP::Post) } + let(:api_path) { "/api/v4/usage_data/track_event" } + let(:headers) do + { + "PRIVATE-TOKEN" => access_token, + "Content-Type" => "application/json" + } + end before do stub_env("CI_INTERNAL_EVENTS_TOKEN", access_token) - stub_env("CI_API_V4_URL", 'https://gitlab.com/api/v4') - allow($stdout).to receive(:puts) + stub_env("CI_SERVER_URL", "https://gitlab.com") + stub_env("CI_PROJECT_NAMESPACE_ID", "1") + stub_env("CI_PROJECT_ID", "2") end describe '#send_event' do - subject(:send_event) do - described_class - .new(event_name: event_name, properties: additional_properties).send_event - end - context 'with API request' do - let(:expected_request_body) do - { - event: event_name, - send_to_snowplow: true, - namespace_id: Tooling::Events::TrackPipelineEvents::NAMESPACE_ID, - project_id: Tooling::Events::TrackPipelineEvents::PROJECT_ID, - additional_properties: additional_properties - } - end - - let(:uri_double) do - instance_double(URI::HTTPS, - host: 'gitlab.com', - port: 443, path: 'api/v4/usage_data/track_event') - end - before do - allow(URI).to receive(:parse).and_return(uri_double) allow(Net::HTTP).to receive(:new).and_return(http_client) - allow(http_client).to receive(:use_ssl=).and_return(true) - allow(Net::HTTP::Post).to receive(:new).with(uri_double.path).and_return(http_request) - allow(http_request).to receive(:body=) - allow(http_request).to receive(:[]=) + end + + it "sets up correct http client" do + send_event + + expect(Net::HTTP).to have_received(:new).with('gitlab.com', 443) + expect(http_client).to have_received(:use_ssl=).with(true) end context 'when successful' do - before do - allow(http_client).to receive(:request).and_return(response) + let(:expected_request_body) do + { + event: event_name, + send_to_snowplow: true, + namespace_id: 1, + project_id: 2, + additional_properties: additional_properties + }.to_json end it 'sends correct event parameters and success message' do send_event - expect(http_request).to have_received(:body=).with(expected_request_body.to_json) - expect($stdout).to have_received(:puts).with("Successfully sent data for event: #{event_name}") + + expect(http_client).to have_received(:request_post).with(api_path, expected_request_body, headers) + expect(logger).to have_received(:info).with("Successfully sent data for event") end end context 'when error response' do - let(:error_response) do - instance_double(Net::HTTPResponse, code: 422, - body: '{"error":"Invalid parameters"}') - end - - before do - allow(http_client).to receive(:request).and_return(error_response) + let(:response) do + instance_double(Net::HTTPResponse, code: 422, body: '{"error":"Invalid parameters"}') end it 'checks for failed error message' do - result = send_event - expect($stdout).to have_received(:puts) - .with("Failed event tracking: 422, body: {\"error\":\"Invalid parameters\"}") - expect(result).to eq(error_response) + expect(send_event).to eq(response) + expect(logger).to have_received(:error).with("Failed event tracking: 422, body: #{response.body}") + end + end + + context 'when error is raised' do + before do + allow(http_client).to receive(:request_post).and_raise(StandardError, "some error") + end + + it 'logs the error' do + send_event + + expect(logger).to have_received(:error).with( + "Exception when posting event #{event_name}, error: 'some error'" + ) + end + end + + context 'without logger configured' do + let(:logger) { nil } + + it 'logs to stdout' do + expect { send_event }.to output(/Successfully sent data for event/).to_stdout end end context 'when CI_INTERNAL_EVENTS_TOKEN is not set' do before do stub_env("CI_INTERNAL_EVENTS_TOKEN", nil) - allow(http_client).to receive(:request).and_return(response) end it 'prints an error message and returns' do - expect do - send_event - end.to output("Error: Cannot send event '#{event_name}'. Missing project access token.\n").to_stderr + send_event + + expect(logger).to have_received(:error) + .with("Error: Cannot send event '#{event_name}'. Missing project access token.") end end end diff --git a/spec/tooling/lib/tooling/glci/failure_categories/report_job_failure_spec.rb b/spec/tooling/lib/tooling/glci/failure_categories/report_job_failure_spec.rb index 43602cee34b..16b7c676e87 100644 --- a/spec/tooling/lib/tooling/glci/failure_categories/report_job_failure_spec.rb +++ b/spec/tooling/lib/tooling/glci/failure_categories/report_job_failure_spec.rb @@ -11,10 +11,12 @@ RSpec.describe Tooling::Glci::FailureCategories::ReportJobFailure, feature_categ let(:job_id) { '12345' } let(:failure_category) { 'test_failures' } - let(:track_pipeline_events_instance) { instance_double(Tooling::Events::TrackPipelineEvents) } + let(:track_pipeline_events_instance) { instance_double(Tooling::Events::TrackPipelineEvents, send_event: nil) } before do stub_env('CI_JOB_ID', nil) + + allow(Tooling::Events::TrackPipelineEvents).to receive(:new).and_return(track_pipeline_events_instance) end describe '#initialize' do @@ -42,36 +44,14 @@ RSpec.describe Tooling::Glci::FailureCategories::ReportJobFailure, feature_categ describe '#report' do subject(:reporter) { described_class.new(job_id: job_id, failure_category: failure_category) } - before do - allow(Tooling::Events::TrackPipelineEvents).to receive(:new).and_return(track_pipeline_events_instance) - allow(track_pipeline_events_instance).to receive(:send_event) - end - - it 'initializes TrackPipelineEvents with correct event name' do + it 'sends event with correct attributes' do reporter.report - expect(Tooling::Events::TrackPipelineEvents).to have_received(:new).with( - hash_including(event_name: "glci_job_failed") + expect(track_pipeline_events_instance).to have_received(:send_event).with( + "glci_job_failed", + label: job_id, + property: failure_category ) end - - it 'passes the correct properties structure to TrackPipelineEvents' do - reporter.report - - expect(Tooling::Events::TrackPipelineEvents).to have_received(:new).with( - hash_including( - properties: { - label: job_id, - property: failure_category - } - ) - ) - end - - it 'calls send_event on the TrackPipelineEvents instance' do - reporter.report - - expect(track_pipeline_events_instance).to have_received(:send_event) - end end end diff --git a/spec/tooling/lib/tooling/predictive_tests_spec.rb b/spec/tooling/lib/tooling/predictive_tests_spec.rb index 70414b217fb..cc3de8c5e1b 100644 --- a/spec/tooling/lib/tooling/predictive_tests_spec.rb +++ b/spec/tooling/lib/tooling/predictive_tests_spec.rb @@ -11,6 +11,7 @@ RSpec.describe Tooling::PredictiveTests, feature_category: :tooling do let(:instance) { described_class.new } let(:matching_tests_initial_content) { 'initial_matching_spec' } let(:fixtures_mapping_content) { '{}' } + let(:event_tracker) { instance_double(Tooling::Events::TrackPipelineEvents, send_event: nil) } attr_accessor :changed_files, :changed_files_path, :fixtures_mapping, :matching_js_files, :matching_tests, :views_with_partials @@ -62,6 +63,7 @@ RSpec.describe Tooling::PredictiveTests, feature_category: :tooling do File.write(fixtures_mapping.path, fixtures_mapping_content) allow(Gitlab).to receive(:configure) + allow(Tooling::Events::TrackPipelineEvents).to receive(:new).and_return(event_tracker) end describe '#execute' do @@ -136,6 +138,17 @@ RSpec.describe Tooling::PredictiveTests, feature_category: :tooling do expect { subject }.not_to change { File.read(fixtures_mapping.path) } expect { subject }.not_to change { File.read(matching_js_files.path) } end + + it "sends number of tests selected via internal events" do + subject + + expect(event_tracker).to have_received(:send_event).with( + "glci_predictive_tests_count", + label: "test-count", + value: File.read(matching_tests.path).lines.length, + property: "described_class" + ) + end end end end diff --git a/tooling/lib/tooling/events/track_pipeline_events.rb b/tooling/lib/tooling/events/track_pipeline_events.rb index 182949a77b0..a76c58b0fdc 100644 --- a/tooling/lib/tooling/events/track_pipeline_events.rb +++ b/tooling/lib/tooling/events/track_pipeline_events.rb @@ -7,69 +7,100 @@ require 'uri' module Tooling module Events class TrackPipelineEvents - API_ENDPOINT = "#{ENV['CI_API_V4_URL']}/usage_data/track_event".freeze - NAMESPACE_ID = 9970 # gitlab-org group - PROJECT_ID = 278964 # gitlab-org/gitlab project - - # Initializes a new event tracker - # - # @param [String] event_name The name of the event to track - # @param [Hash] properties A hash of properties to include with the event - # @option properties [String] :label String Event attribute - # @option properties [Integer] :value Numeric Event attribute - # @option properties [String] :property Another String attribute - # @param [Hash] args Additional arguments to pass to the parent class - def initialize(event_name:, properties: {}, **args) - @event_name = event_name - @properties = properties - @args = args - @api_token = ENV["CI_INTERNAL_EVENTS_TOKEN"] + def initialize(api_token: ENV["CI_INTERNAL_EVENTS_TOKEN"], logger: nil) + @api_token = api_token + @logger = logger end - def send_event - unless api_token - warn "Error: Cannot send event '#{event_name}'. Missing project access token." - return - end + # Send tracking event to usage_data API + # + # @param event_name [String] the name of the event to track + # @param label [String] Event attribute + # @param value [Number] Numeric event attribute + # @param property [String] Optional event attribute + # @return [Net::HTTPResponse] + def send_event(event_name, label:, value: nil, property: nil) + return log(:error, "Error: Cannot send event '#{event_name}'. Missing project access token.") unless api_token - uri = URI.parse(API_ENDPOINT) - http = Net::HTTP.new(uri.host, uri.port) - http.use_ssl = true + body = { + event: event_name, + send_to_snowplow: true, + namespace_id: namespace_id, + project_id: project_id, + additional_properties: { + label:, + value:, + property: + }.compact + }.to_json - request = Net::HTTP::Post.new(uri.path) - request.body = request_body.to_json - headers.each { |key, value| request[key] = value } - - response = http.request(request) + log(:info, "Sending data for event: #{event_name}") + response = client.request_post("/api/v4/usage_data/track_event", body, headers) if response.code.to_i == 200 - puts "Successfully sent data for event: #{event_name}" + log(:info, "Successfully sent data for event") else - puts "Failed event tracking: #{response.code}, body: #{response.body}" + log(:error, "Failed event tracking: #{response.code}, body: #{response.body}") end response + rescue StandardError => e + log(:error, "Exception when posting event #{event_name}, error: '#{e.message}'") end private - attr_reader :event_name, :properties, :args, :api_token + attr_reader :api_token, :logger + # Print to stdout/stderr or use logger if defined + # + # @param level [Symbol] + # @param message [String] + # @return [void] + def log(level, message) + return logger.public_send(level, message) if logger.respond_to?(level) # rubocop:disable GitlabSecurity/PublicSend -- CI usage only + + %i[warn error].include?(level) ? warn(message) : puts(message) + end + + # Http client + # + # @return [Net::HTTP] + def client + @client ||= Net::HTTP.new(uri.host, uri.port).tap do |http| + http.use_ssl = true + end + end + + # CI server uri + # + # @return [Uri] + def uri + @uri ||= URI.parse(ENV['CI_SERVER_URL']) + end + + # Default request headers + # + # @return [Hash] def headers - { + @headers ||= { "PRIVATE-TOKEN" => api_token, "Content-Type" => "application/json" } end - def request_body - { - event: event_name, - send_to_snowplow: true, - namespace_id: NAMESPACE_ID, - project_id: PROJECT_ID, - additional_properties: properties - } + # Project namespace ID + # + # @return [Integer] + def namespace_id + @namespace_id ||= ENV["CI_PROJECT_NAMESPACE_ID"].to_i + end + + # Project ID + # + # @return [Integer] + def project_id + @project_id ||= ENV["CI_PROJECT_ID"].to_i end end end diff --git a/tooling/lib/tooling/glci/failure_categories/report_job_failure.rb b/tooling/lib/tooling/glci/failure_categories/report_job_failure.rb index 3176ff74b04..f84b89ecad3 100755 --- a/tooling/lib/tooling/glci/failure_categories/report_job_failure.rb +++ b/tooling/lib/tooling/glci/failure_categories/report_job_failure.rb @@ -22,13 +22,11 @@ module Tooling end def report - Tooling::Events::TrackPipelineEvents.new( - event_name: "glci_job_failed", - properties: { - label: @job_id, - property: @failure_category - } - ).send_event + Tooling::Events::TrackPipelineEvents.new.send_event( + "glci_job_failed", + label: @job_id, + property: @failure_category + ) end end end diff --git a/tooling/lib/tooling/predictive_tests.rb b/tooling/lib/tooling/predictive_tests.rb index 3d65672ddc5..fcc7ad52334 100644 --- a/tooling/lib/tooling/predictive_tests.rb +++ b/tooling/lib/tooling/predictive_tests.rb @@ -8,6 +8,7 @@ require_relative 'mappings/js_to_system_specs_mappings' require_relative 'mappings/partial_to_views_mappings' require_relative 'mappings/view_to_js_mappings' require_relative 'mappings/view_to_system_specs_mappings' +require_relative 'events/track_pipeline_events' module Tooling class PredictiveTests @@ -30,6 +31,7 @@ module Tooling @rspec_views_including_partials_path = ENV['RSPEC_VIEWS_INCLUDING_PARTIALS_PATH'] @frontend_fixtures_mapping_path = ENV['FRONTEND_FIXTURES_MAPPING_PATH'] @rspec_matching_js_files_path = ENV['RSPEC_MATCHING_JS_FILES_PATH'] + @predictive_tests_strategy = ENV['PREDICTIVE_TESTS_STRATEGY'] || 'described_class' end def execute @@ -52,11 +54,28 @@ module Tooling frontend_fixtures_mapping_pathname: frontend_fixtures_mapping_path ).execute Tooling::Mappings::ViewToJsMappings.new(rspec_changed_files_path, rspec_matching_js_files_path).execute + + record_selected_test_count end private - attr_reader :rspec_changed_files_path, :rspec_matching_tests_path, :rspec_views_including_partials_path, - :frontend_fixtures_mapping_path, :rspec_matching_js_files_path + attr_reader :rspec_changed_files_path, + :rspec_matching_tests_path, + :rspec_views_including_partials_path, + :frontend_fixtures_mapping_path, + :rspec_matching_js_files_path, + :predictive_tests_strategy + + def record_selected_test_count + test_count = File.read(rspec_matching_tests_path).lines.length + + Tooling::Events::TrackPipelineEvents.new.send_event( + "glci_predictive_tests_count", + label: "test-count", + value: test_count, + property: predictive_tests_strategy + ) + end end end