From a9e651e01a463aeeecfed576a8489123f80b21cf Mon Sep 17 00:00:00 2001 From: GitLab Bot Date: Tue, 20 May 2025 09:14:16 +0000 Subject: [PATCH] Add latest changes from gitlab-org/gitlab@master --- .gitlab/ci/setup.gitlab-ci.yml | 13 +- GITALY_SERVER_VERSION | 2 +- .../environment_breadcrumbs.vue | 9 +- .../javascripts/environments/mount_show.js | 2 +- .../update_package_from_metadata_service.rb | 5 +- .../wip/virtual_registry_maven.yml | 9 - ...ackfill_description_versions_namespace.yml | 2 +- db/docs/description_versions.yml | 5 +- ..._add_status_widget_definition_to_issues.rb | 25 + ...backfill_description_versions_namespace.rb | 23 + ...description_versions_namespace_id_index.rb | 16 + ...ion_versions_parent_not_null_constraint.rb | 19 + ...ption_versions_namespace_id_foreign_key.rb | 16 + db/schema_migrations/20250514054305 | 1 + db/schema_migrations/20250519120927 | 1 + db/schema_migrations/20250519121623 | 1 + db/schema_migrations/20250519122020 | 1 + db/schema_migrations/20250519123127 | 1 + db/structure.sql | 11 +- .../gitlab_duo_self_hosted/_index.md | 2 +- doc/api/maven_virtual_registries.md | 30 + .../documentation/experiment_beta.md | 6 +- doc/subscriptions/subscription-add-ons.md | 2 +- .../vulnerabilities/_index.md | 4 + doc/user/discussions/_index.md | 3 + .../get_started/getting_started_gitlab_duo.md | 2 +- doc/user/gitlab_duo/_index.md | 140 +-- doc/user/gitlab_duo/feature_summary.md | 50 + doc/user/gitlab_duo/setup.md | 1 + doc/user/gitlab_duo_chat/_index.md | 3 + doc/user/gitlab_duo_chat/examples.md | 9 +- doc/user/group/issues_analytics/_index.md | 2 + .../img/enhanced_issue_analytics_v17_8.png | Bin 0 -> 45930 bytes .../img/issue_analytics_v17_8.png | Bin 45930 -> 146642 bytes doc/user/packages/virtual_registry/_index.md | 6 +- .../packages/virtual_registry/maven/_index.md | 6 +- doc/user/project/issues/managing_issues.md | 3 + doc/user/project/merge_requests/changes.md | 3 + .../merge_requests/duo_in_merge_requests.md | 6 + .../repository/code_suggestions/_index.md | 7 +- .../work_items/base_type_importer.rb | 3 +- locale/gitlab.pot | 6 + .../example_runtimes/master_report.json | 1040 +++++++++-------- qa/knapsack/master_report.json | 580 +++++---- qa/tasks/ci.rake | 12 +- scripts/rspec_helpers.sh | 11 +- .../personal_access_tokens_controller_spec.rb | 3 +- spec/db/schema_spec.rb | 1 - .../environment_breadcrumbs_spec.js | 21 +- ...status_widget_definition_to_issues_spec.rb | 8 + .../impersonation_tokens_controller_spec.rb | 5 +- .../settings/access_tokens_controller_spec.rb | 6 +- .../events/track_pipeline_events_spec.rb | 115 +- .../report_job_failure_spec.rb | 36 +- .../lib/tooling/predictive_tests_spec.rb | 13 + .../tooling/events/track_pipeline_events.rb | 115 +- .../failure_categories/report_job_failure.rb | 12 +- tooling/lib/tooling/predictive_tests.rb | 23 +- 58 files changed, 1323 insertions(+), 1134 deletions(-) delete mode 100644 config/feature_flags/wip/virtual_registry_maven.yml create mode 100644 db/migrate/20250514054305_add_status_widget_definition_to_issues.rb create mode 100644 db/post_migrate/20250519120927_finalize_backfill_description_versions_namespace.rb create mode 100644 db/post_migrate/20250519121623_add_description_versions_namespace_id_index.rb create mode 100644 db/post_migrate/20250519122020_validate_description_versions_parent_not_null_constraint.rb create mode 100644 db/post_migrate/20250519123127_add_description_versions_namespace_id_foreign_key.rb create mode 100644 db/schema_migrations/20250514054305 create mode 100644 db/schema_migrations/20250519120927 create mode 100644 db/schema_migrations/20250519121623 create mode 100644 db/schema_migrations/20250519122020 create mode 100644 db/schema_migrations/20250519123127 create mode 100644 doc/user/gitlab_duo/feature_summary.md create mode 100644 doc/user/group/issues_analytics/img/enhanced_issue_analytics_v17_8.png create mode 100644 spec/migrations/20250514054305_add_status_widget_definition_to_issues_spec.rb 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 0000000000000000000000000000000000000000..454ed8528c7fc0d4d5c5fa4f6a7394e85f74f610 GIT binary patch literal 45930 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 literal 0 HcmV?d00001 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 454ed8528c7fc0d4d5c5fa4f6a7394e85f74f610..9e9fdbd66e3361cddf921306b9d334c24a5d8f09 100644 GIT binary patch literal 146642 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 z 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 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