Welcome to mirror list, hosted at ThFree Co, Russian Federation.

gitlab.com/gitlab-org/gitlab-foss.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGitLab Bot <gitlab-bot@gitlab.com>2023-01-12 18:09:17 +0300
committerGitLab Bot <gitlab-bot@gitlab.com>2023-01-12 18:09:17 +0300
commitd549d413bb69f87ec26661ec96287bb4b25c32ff (patch)
treeac50717d0e3db25fd64bd36c1090496c42b24556
parent1caab68312013cae5083460ec8e03796daef9341 (diff)
Add latest changes from gitlab-org/gitlab@master
-rw-r--r--.gitlab-ci.yml1
-rw-r--r--.rubocop_todo/cop/user_admin.yml1
-rw-r--r--.rubocop_todo/database/multiple_databases.yml1
-rw-r--r--.rubocop_todo/fips/sha1.yml1
-rw-r--r--.rubocop_todo/gitlab/namespaced_class.yml2
-rw-r--r--.rubocop_todo/gitlab/strong_memoize_attr.yml2
-rw-r--r--.rubocop_todo/layout/argument_alignment.yml19
-rw-r--r--.rubocop_todo/layout/array_alignment.yml1
-rw-r--r--.rubocop_todo/layout/first_array_element_indentation.yml1
-rw-r--r--.rubocop_todo/layout/line_length.yml3
-rw-r--r--.rubocop_todo/layout/parameter_alignment.yml2
-rw-r--r--.rubocop_todo/layout/space_in_lambda_literal.yml2
-rw-r--r--.rubocop_todo/lint/missing_cop_enable_directive.yml2
-rw-r--r--.rubocop_todo/lint/redundant_cop_disable_directive.yml3
-rw-r--r--.rubocop_todo/migration/background_migration_base_class.yml1
-rw-r--r--.rubocop_todo/migration/background_migration_record.yml1
-rw-r--r--.rubocop_todo/migration/background_migrations.yml12
-rw-r--r--.rubocop_todo/naming/heredoc_delimiter_naming.yml1
-rw-r--r--.rubocop_todo/rails/file_path.yml5
-rw-r--r--.rubocop_todo/rails/inverse_of.yml3
-rw-r--r--.rubocop_todo/rails/pluck.yml3
-rw-r--r--.rubocop_todo/rails/redundant_foreign_key.yml1
-rw-r--r--.rubocop_todo/rspec/any_instance_of.yml2
-rw-r--r--.rubocop_todo/rspec/capybara/visibility_matcher.yml1
-rw-r--r--.rubocop_todo/rspec/context_wording.yml21
-rw-r--r--.rubocop_todo/rspec/described_class.yml1
-rw-r--r--.rubocop_todo/rspec/expect_change.yml2
-rw-r--r--.rubocop_todo/rspec/expect_in_hook.yml4
-rw-r--r--.rubocop_todo/rspec/factory_bot/avoid_create.yml1
-rw-r--r--.rubocop_todo/rspec/hooks_before_examples.yml1
-rw-r--r--.rubocop_todo/rspec/instance_variable.yml1
-rw-r--r--.rubocop_todo/rspec/multiple_memoized_helpers.yml1
-rw-r--r--.rubocop_todo/rspec/repeated_example_group_body.yml1
-rw-r--r--.rubocop_todo/rspec/repeated_example_group_description.yml1
-rw-r--r--.rubocop_todo/rspec/verified_doubles.yml4
-rw-r--r--.rubocop_todo/security/io_methods.yml1
-rw-r--r--.rubocop_todo/style/accessor_grouping.yml1
-rw-r--r--.rubocop_todo/style/bare_percent_literals.yml2
-rw-r--r--.rubocop_todo/style/class_and_module_children.yml1
-rw-r--r--.rubocop_todo/style/empty_method.yml3
-rw-r--r--.rubocop_todo/style/format_string.yml10
-rw-r--r--.rubocop_todo/style/guard_clause.yml4
-rw-r--r--.rubocop_todo/style/if_unless_modifier.yml7
-rw-r--r--.rubocop_todo/style/percent_literal_delimiters.yml24
-rw-r--r--.rubocop_todo/style/redundant_self.yml2
-rw-r--r--.rubocop_todo/style/string_concatenation.yml3
-rw-r--r--.rubocop_todo/style/symbol_proc.yml2
-rw-r--r--app/assets/javascripts/content_editor/components/toolbar_text_style_dropdown.vue50
-rw-r--r--app/assets/javascripts/repository/components/fork_info.vue146
-rw-r--r--app/assets/javascripts/repository/index.js24
-rw-r--r--app/assets/javascripts/repository/queries/fork_details.query.graphql9
-rw-r--r--app/helpers/projects_helper.rb26
-rw-r--r--app/helpers/url_helper.rb4
-rw-r--r--app/views/projects/_files.html.haml3
-rw-r--r--app/views/projects/_fork_info.html.haml14
-rw-r--r--app/views/projects/_home_panel.html.haml2
-rw-r--r--config/feature_flags/development/markdown_dollar_math.yml8
-rw-r--r--db/docs/achievements.yml2
-rw-r--r--db/docs/ci_job_artifacts.yml1
-rw-r--r--db/docs/dast_pre_scan_verifications.yml2
-rw-r--r--db/docs/dependency_list_exports.yml2
-rw-r--r--db/docs/dingtalk_tracker_data.yml3
-rw-r--r--db/docs/ghost_user_migrations.yml2
-rw-r--r--db/docs/integrations.yml3
-rw-r--r--db/docs/merge_request_predictions.yml2
-rw-r--r--db/docs/ml_candidate_params.yml4
-rw-r--r--db/docs/namespace_bans.yml6
-rw-r--r--db/docs/namespace_details.yml2
-rw-r--r--db/docs/packages_rpm_repository_files.yml2
-rw-r--r--db/docs/project_wiki_repository_states.yml2
-rw-r--r--db/docs/slack_api_scopes.yml2
-rw-r--r--db/docs/slack_integrations_scopes.yml2
-rw-r--r--db/docs/timelog_categories.yml2
-rw-r--r--db/docs/user_namespace_callouts.yml5
-rw-r--r--db/docs/views/postgres_partitioned_tables.yml2
-rw-r--r--db/docs/vulnerability_remediations.yml1
-rw-r--r--db/docs/vulnerability_state_transitions.yml4
-rw-r--r--db/docs/work_item_parent_links.yml1
-rw-r--r--db/migrate/20230105170414_rename_amount_used_column_on_ci_namespace_monthly_usages_table.rb24
-rw-r--r--db/post_migrate/20230105172120_sync_new_amount_used_with_amount_used_on_ci_namespace_monthly_usages_table.rb19
-rw-r--r--db/post_migrate/20230105180002_remove_new_amount_used_column_on_ci_namespace_monthly_usages.rb22
-rw-r--r--db/post_migrate/20230111125148_add_user_id_and_source_id_and_source_type_and_member_role_id_index_to_members.rb15
-rw-r--r--db/post_migrate/20230111125150_drop_user_id_and_source_id_and_source_type_index_from_members.rb15
-rw-r--r--db/schema_migrations/202301051704141
-rw-r--r--db/schema_migrations/202301051721201
-rw-r--r--db/schema_migrations/202301051800021
-rw-r--r--db/schema_migrations/202301111251481
-rw-r--r--db/schema_migrations/202301111251501
-rw-r--r--db/structure.sql18
-rw-r--r--doc/administration/gitaly/index.md6
-rw-r--r--doc/administration/job_logs.md61
-rw-r--r--doc/administration/operations/moving_repositories.md42
-rw-r--r--doc/api/graphql/reference/index.md1
-rw-r--r--doc/api/group_repository_storage_moves.md2
-rw-r--r--doc/api/project_repository_storage_moves.md9
-rw-r--r--doc/api/settings.md34
-rw-r--r--doc/api/snippet_repository_storage_moves.md4
-rw-r--r--doc/ci/quick_start/index.md9
-rw-r--r--doc/development/ee_features.md5
-rw-r--r--doc/user/markdown.md42
-rw-r--r--lib/api/concerns/packages/debian_distribution_endpoints.rb8
-rw-r--r--lib/api/group_debian_distributions.rb2
-rw-r--r--lib/api/project_debian_distributions.rb6
-rw-r--r--lib/banzai/filter/math_filter.rb2
-rw-r--r--lib/tasks/gitlab/db.rake36
-rw-r--r--locale/gitlab.pot11
-rw-r--r--qa/qa/page/component/content_editor.rb5
-rw-r--r--qa/qa/page/project/show.rb2
-rw-r--r--qa/qa/specs/features/api/1_manage/migration/gitlab_migration_project_spec.rb6
-rw-r--r--spec/controllers/projects/releases/evidences_controller_spec.rb2
-rw-r--r--spec/features/groups/navbar_spec.rb2
-rw-r--r--spec/features/issues/group_label_sidebar_spec.rb2
-rw-r--r--spec/features/issues/user_sees_sidebar_updates_in_realtime_spec.rb2
-rw-r--r--spec/features/markdown/sandboxed_mermaid_spec.rb2
-rw-r--r--spec/features/projects/navbar_spec.rb2
-rw-r--r--spec/features/projects_spec.rb8
-rw-r--r--spec/features/protected_tags_spec.rb2
-rw-r--r--spec/frontend/content_editor/components/toolbar_text_style_dropdown_spec.js31
-rw-r--r--spec/frontend/fixtures/issues.rb2
-rw-r--r--spec/frontend/repository/components/fork_info_spec.js122
-rw-r--r--spec/frontend/repository/mock_data.js7
-rw-r--r--spec/frontend/vue_shared/components/markdown/markdown_editor_spec.js4
-rw-r--r--spec/helpers/projects_helper_spec.rb21
-rw-r--r--spec/helpers/url_helper_spec.rb11
-rw-r--r--spec/lib/banzai/filter/math_filter_spec.rb7
-rw-r--r--spec/lib/bulk_imports/projects/pipelines/project_attributes_pipeline_spec.rb2
-rw-r--r--spec/lib/gitlab/import_export/fast_hash_serializer_spec.rb2
-rw-r--r--spec/lib/gitlab/import_export/project/tree_saver_spec.rb2
-rw-r--r--spec/lib/gitlab/usage_data_metrics_spec.rb2
-rw-r--r--spec/lib/sidebars/groups/menus/settings_menu_spec.rb2
-rw-r--r--spec/migrations/20230105172120_sync_new_amount_used_with_amount_used_on_ci_namespace_monthly_usages_table_spec.rb55
-rw-r--r--spec/models/factories_spec.rb2
-rw-r--r--spec/models/merge_request/approval_removal_settings_spec.rb2
-rw-r--r--spec/requests/api/boards_spec.rb2
-rw-r--r--spec/requests/api/graphql/group_query_spec.rb2
-rw-r--r--spec/requests/api/group_boards_spec.rb2
-rw-r--r--spec/requests/api/project_debian_distributions_spec.rb25
-rw-r--r--spec/requests/api/projects_spec.rb2
-rw-r--r--spec/requests/api/snippet_repository_storage_moves_spec.rb2
-rw-r--r--spec/requests/groups/usage_quotas_controller_spec.rb2
-rw-r--r--spec/requests/projects_controller_spec.rb2
-rw-r--r--spec/services/audit_event_service_spec.rb2
-rw-r--r--spec/services/feature_flags/create_service_spec.rb2
-rw-r--r--spec/services/feature_flags/destroy_service_spec.rb2
-rw-r--r--spec/services/feature_flags/update_service_spec.rb2
-rw-r--r--spec/services/issues/export_csv_service_spec.rb2
-rw-r--r--spec/support/rspec_order_todo.yml240
-rw-r--r--spec/support_specs/license_metadata_tags_spec.rb31
-rw-r--r--spec/tooling/lib/tooling/view_to_js_mappings_spec.rb13
-rw-r--r--spec/views/layouts/nav/sidebar/_project.html.haml_spec.rb2
-rw-r--r--spec/views/projects/_files.html.haml_spec.rb73
-rw-r--r--tooling/lib/tooling/view_to_js_mappings.rb5
152 files changed, 829 insertions, 798 deletions
diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
index 9c7b66676a8..595a41fd8ca 100644
--- a/.gitlab-ci.yml
+++ b/.gitlab-ci.yml
@@ -95,6 +95,7 @@ workflow:
- if: '$CI_COMMIT_BRANCH =~ /^[\d-]+-stable(-ee)?$/'
variables:
RUBY_VERSION: "2.7"
+ NOTIFY_PIPELINE_FAILURE_CHANNEL: "releases"
- if: '$CI_COMMIT_BRANCH =~ /^\d+-\d+-auto-deploy-\d+$/'
variables:
RUBY_VERSION: "2.7"
diff --git a/.rubocop_todo/cop/user_admin.yml b/.rubocop_todo/cop/user_admin.yml
index 6f8cc5429c2..c4d3e13b0b5 100644
--- a/.rubocop_todo/cop/user_admin.yml
+++ b/.rubocop_todo/cop/user_admin.yml
@@ -19,7 +19,6 @@ Cop/UserAdmin:
- 'app/helpers/visibility_level_helper.rb'
- 'app/models/concerns/protected_ref_access.rb'
- 'app/models/concerns/spammable.rb'
- - 'app/models/issue_collection.rb'
- 'app/models/merge_requests_closing_issues.rb'
- 'app/models/protected_branch.rb'
- 'app/models/user.rb'
diff --git a/.rubocop_todo/database/multiple_databases.yml b/.rubocop_todo/database/multiple_databases.yml
index 1e53f102683..c59e8a8c15e 100644
--- a/.rubocop_todo/database/multiple_databases.yml
+++ b/.rubocop_todo/database/multiple_databases.yml
@@ -1,6 +1,5 @@
---
Database/MultipleDatabases:
Exclude:
- - 'db/post_migrate/20210317104032_set_iteration_cadence_automatic_to_false.rb'
- 'db/post_migrate/20210811122206_update_external_project_bots.rb'
- 'db/post_migrate/20210812013042_remove_duplicate_project_authorizations.rb'
diff --git a/.rubocop_todo/fips/sha1.yml b/.rubocop_todo/fips/sha1.yml
index 35221d9d3ff..b07fef0ca54 100644
--- a/.rubocop_todo/fips/sha1.yml
+++ b/.rubocop_todo/fips/sha1.yml
@@ -88,7 +88,6 @@ Fips/SHA1:
- 'spec/lib/gitlab/git/tag_spec.rb'
- 'spec/migrations/20220107064845_populate_vulnerability_reads_spec.rb'
- 'spec/migrations/20220524074947_finalize_backfill_null_note_discussion_ids_spec.rb'
- - 'spec/migrations/delete_security_findings_without_uuid_spec.rb'
- 'spec/migrations/schedule_recalculate_vulnerability_finding_signatures_for_findings_spec.rb'
- 'spec/models/ci/artifact_blob_spec.rb'
- 'spec/models/ci/job_artifact_spec.rb'
diff --git a/.rubocop_todo/gitlab/namespaced_class.yml b/.rubocop_todo/gitlab/namespaced_class.yml
index e13d8fd68b2..f394851193c 100644
--- a/.rubocop_todo/gitlab/namespaced_class.yml
+++ b/.rubocop_todo/gitlab/namespaced_class.yml
@@ -48,7 +48,6 @@ Gitlab/NamespacedClass:
- 'app/finders/feature_flags_user_lists_finder.rb'
- 'app/finders/fork_projects_finder.rb'
- 'app/finders/fork_targets_finder.rb'
- - 'app/finders/freeze_periods_finder.rb'
- 'app/finders/git_refs_finder.rb'
- 'app/finders/group_descendants_finder.rb'
- 'app/finders/group_finder.rb'
@@ -198,7 +197,6 @@ Gitlab/NamespacedClass:
- 'app/models/issuable_severity.rb'
- 'app/models/issue.rb'
- 'app/models/issue_assignee.rb'
- - 'app/models/issue_collection.rb'
- 'app/models/issue_email_participant.rb'
- 'app/models/issue_link.rb'
- 'app/models/issue_user_mention.rb'
diff --git a/.rubocop_todo/gitlab/strong_memoize_attr.yml b/.rubocop_todo/gitlab/strong_memoize_attr.yml
index 93fc72ab922..9fe784e1be9 100644
--- a/.rubocop_todo/gitlab/strong_memoize_attr.yml
+++ b/.rubocop_todo/gitlab/strong_memoize_attr.yml
@@ -90,7 +90,6 @@ Gitlab/StrongMemoizeAttr:
- 'app/models/commit.rb'
- 'app/models/commit_collection.rb'
- 'app/models/compare.rb'
- - 'app/models/concerns/analytics/cycle_analytics/stage.rb'
- 'app/models/concerns/avatarable.rb'
- 'app/models/concerns/cascading_namespace_setting_attribute.rb'
- 'app/models/concerns/ci/contextable.rb'
@@ -673,7 +672,6 @@ Gitlab/StrongMemoizeAttr:
- 'lib/gitlab/import_export/base/relation_object_saver.rb'
- 'lib/gitlab/import_export/decompressed_archive_size_validator.rb'
- 'lib/gitlab/import_export/fast_hash_serializer.rb'
- - 'lib/gitlab/import_export/group/legacy_tree_restorer.rb'
- 'lib/gitlab/import_export/group/tree_restorer.rb'
- 'lib/gitlab/import_export/importer.rb'
- 'lib/gitlab/import_export/json/legacy_reader.rb'
diff --git a/.rubocop_todo/layout/argument_alignment.yml b/.rubocop_todo/layout/argument_alignment.yml
index 1e862c88b3c..8531f0500f8 100644
--- a/.rubocop_todo/layout/argument_alignment.yml
+++ b/.rubocop_todo/layout/argument_alignment.yml
@@ -229,7 +229,6 @@ Layout/ArgumentAlignment:
- 'app/models/integrations/drone_ci.rb'
- 'app/models/integrations/emails_on_push.rb'
- 'app/models/integrations/external_wiki.rb'
- - 'app/models/integrations/flowdock.rb'
- 'app/models/integrations/harbor.rb'
- 'app/models/integrations/irker.rb'
- 'app/models/integrations/jenkins.rb'
@@ -332,15 +331,6 @@ Layout/ArgumentAlignment:
- 'config/routes/snippets.rb'
- 'config/routes/uploads.rb'
- 'config/routes/user.rb'
- - 'db/migrate/20210305002016_update_terraform_states_locked_by_user_id_foreign_key.rb'
- - 'db/migrate/20210308190413_change_batched_background_migrations_batch_class_name_default.rb'
- - 'db/migrate/20210324112439_add_index_mirror_data_on_retry_next_execution_where_status.rb'
- - 'db/migrate/20210329191850_add_finding_signature_table.rb'
- - 'db/migrate/20210413121101_add_created_at_web_hook_id_index_to_partitioned_web_hook_log.rb'
- - 'db/migrate/20210413123832_add_index_on_web_hook_id_to_partitioned_web_hook_log.rb'
- - 'db/migrate/20210505070612_create_packages_debian_group_distribution_keys.rb'
- - 'db/migrate/20210505070812_create_packages_debian_project_distribution_keys.rb'
- - 'db/migrate/20210601080039_group_protected_environments_add_index_and_constraint.rb'
- 'db/migrate/20210609013512_add_unique_index_for_batched_background_migrations.rb'
- 'db/migrate/20210625094554_create_error_tracking_error_events.rb'
- 'db/migrate/20210720130006_create_error_tracking_client_keys.rb'
@@ -397,10 +387,6 @@ Layout/ArgumentAlignment:
- 'db/migrate/20221102195642_create_dependency_proxy_manifest_states.rb'
- 'db/migrate/20221108185442_add_project_wiki_repository_id_to_project_wiki_repository_states.rb'
- 'db/migrate/20221110150942_add_project_id_lower_name_index_remove_old_index.rb'
- - 'db/post_migrate/20210330130420_drop_finding_fingerprint_table.rb'
- - 'db/post_migrate/20210413130011_add_partitioned_web_hook_log_fk.rb'
- - 'db/post_migrate/20210415101228_backfill_ci_build_needs_for_bigint_conversion.rb'
- - 'db/post_migrate/20210422023046_backfill_ci_sources_pipelines_source_job_id_for_bigint_conversion.rb'
- 'db/post_migrate/20210611080951_fix_missing_traversal_ids.rb'
- 'db/post_migrate/20210622045705_finalize_events_bigint_conversion.rb'
- 'db/post_migrate/20210701033622_finalize_ci_builds_needs_bigint_conversion.rb'
@@ -709,7 +695,6 @@ Layout/ArgumentAlignment:
- 'ee/spec/controllers/groups/security/policies_controller_spec.rb'
- 'ee/spec/controllers/groups/todos_controller_spec.rb'
- 'ee/spec/controllers/projects/iterations_controller_spec.rb'
- - 'ee/spec/controllers/projects/legacy_pipelines_controller_spec.rb'
- 'ee/spec/controllers/projects/merge_requests/creations_controller_spec.rb'
- 'ee/spec/controllers/projects/merge_requests_controller_spec.rb'
- 'ee/spec/controllers/projects/protected_environments_controller_spec.rb'
@@ -736,7 +721,6 @@ Layout/ArgumentAlignment:
- 'ee/spec/features/merge_trains/user_adds_to_merge_train_when_pipeline_succeeds_spec.rb'
- 'ee/spec/features/projects/environments/environments_spec.rb'
- 'ee/spec/features/projects/merge_requests/user_edits_merge_request_spec.rb'
- - 'ee/spec/features/projects/pipelines/legacy_pipeline_spec.rb'
- 'ee/spec/features/projects/pipelines/pipeline_spec.rb'
- 'ee/spec/features/registrations/saas/standard_flow_company_creating_project_spec.rb'
- 'ee/spec/finders/security/pipeline_vulnerabilities_finder_spec.rb'
@@ -773,7 +757,6 @@ Layout/ArgumentAlignment:
- 'ee/spec/lib/incident_management/oncall_shift_generator_spec.rb'
- 'ee/spec/lib/slack/block_kit/app_home_opened_spec.rb'
- 'ee/spec/models/approval_wrapped_code_owner_rule_spec.rb'
- - 'ee/spec/models/ci/minutes/limit_spec.rb'
- 'ee/spec/models/ci/minutes/namespace_monthly_usage_spec.rb'
- 'ee/spec/models/ci/minutes/project_monthly_usage_spec.rb'
- 'ee/spec/models/ee/audit_event_spec.rb'
@@ -1153,8 +1136,6 @@ Layout/ArgumentAlignment:
- 'spec/features/projects/files/user_reads_pipeline_status_spec.rb'
- 'spec/features/projects/issues/viewing_issues_with_external_authorization_enabled_spec.rb'
- 'spec/features/projects/jobs_spec.rb'
- - 'spec/features/projects/pipelines/legacy_pipeline_spec.rb'
- - 'spec/features/projects/pipelines/legacy_pipelines_spec.rb'
- 'spec/features/projects/pipelines/pipeline_spec.rb'
- 'spec/features/projects/pipelines/pipelines_spec.rb'
- 'spec/features/tags/developer_deletes_tag_spec.rb'
diff --git a/.rubocop_todo/layout/array_alignment.yml b/.rubocop_todo/layout/array_alignment.yml
index 98caefb1563..3f3e6a393da 100644
--- a/.rubocop_todo/layout/array_alignment.yml
+++ b/.rubocop_todo/layout/array_alignment.yml
@@ -112,7 +112,6 @@ Layout/ArrayAlignment:
- 'ee/spec/lib/gitlab/search/index_curator_spec.rb'
- 'ee/spec/lib/gitlab/visibility_level_spec.rb'
- 'ee/spec/lib/incident_management/oncall_shift_generator_spec.rb'
- - 'ee/spec/models/analytics/cycle_analytics/group_value_stream_spec.rb'
- 'ee/spec/models/dora/base_metric_spec.rb'
- 'ee/spec/models/dora/daily_metrics_spec.rb'
- 'ee/spec/models/ee/group_spec.rb'
diff --git a/.rubocop_todo/layout/first_array_element_indentation.yml b/.rubocop_todo/layout/first_array_element_indentation.yml
index d108792ac08..c42d1c54a8b 100644
--- a/.rubocop_todo/layout/first_array_element_indentation.yml
+++ b/.rubocop_todo/layout/first_array_element_indentation.yml
@@ -35,7 +35,6 @@ Layout/FirstArrayElementIndentation:
- 'ee/spec/lib/gitlab/ci/templates/Jobs/browser_performance_testing_gitlab_ci_yaml_spec.rb'
- 'ee/spec/lib/gitlab/ci/templates/Jobs/dast_default_branch_gitlab_ci_yaml_spec.rb'
- 'ee/spec/lib/gitlab/ci/templates/Jobs/load_performance_testing_gitlab_ci_yaml_spec.rb'
- - 'ee/spec/models/analytics/cycle_analytics/group_value_stream_spec.rb'
- 'ee/spec/models/ee/group_spec.rb'
- 'ee/spec/models/security/orchestration_policy_configuration_spec.rb'
- 'ee/spec/models/security/orchestration_policy_rule_schedule_spec.rb'
diff --git a/.rubocop_todo/layout/line_length.yml b/.rubocop_todo/layout/line_length.yml
index 4d67bb9448c..23143e147f1 100644
--- a/.rubocop_todo/layout/line_length.yml
+++ b/.rubocop_todo/layout/line_length.yml
@@ -312,7 +312,6 @@ Layout/LineLength:
- 'app/models/clusters/cluster.rb'
- 'app/models/commit_range.rb'
- 'app/models/commit_status.rb'
- - 'app/models/concerns/analytics/cycle_analytics/stage.rb'
- 'app/models/concerns/analytics/cycle_analytics/stage_event_model.rb'
- 'app/models/concerns/avatarable.rb'
- 'app/models/concerns/bulk_insert_safe.rb'
@@ -1148,7 +1147,6 @@ Layout/LineLength:
- 'ee/app/mailers/ee/emails/profile.rb'
- 'ee/app/mailers/ee/preview/notify_preview.rb'
- 'ee/app/mailers/emails/namespace_storage_usage_mailer.rb'
- - 'ee/app/models/analytics/cycle_analytics/group_stage.rb'
- 'ee/app/models/approval_merge_request_rule.rb'
- 'ee/app/models/approval_project_rule.rb'
- 'ee/app/models/approval_state.rb'
@@ -2128,7 +2126,6 @@ Layout/LineLength:
- 'ee/spec/migrations/update_vulnerability_occurrences_location_spec.rb'
- 'ee/spec/models/allowed_email_domain_spec.rb'
- 'ee/spec/models/analytics/cycle_analytics/group_level_spec.rb'
- - 'ee/spec/models/analytics/cycle_analytics/group_stage_spec.rb'
- 'ee/spec/models/analytics/devops_adoption/enabled_namespace_spec.rb'
- 'ee/spec/models/analytics/devops_adoption/snapshot_spec.rb'
- 'ee/spec/models/app_sec/fuzzing/coverage/corpus_spec.rb'
diff --git a/.rubocop_todo/layout/parameter_alignment.yml b/.rubocop_todo/layout/parameter_alignment.yml
index 3942132a1b2..4fafbab6024 100644
--- a/.rubocop_todo/layout/parameter_alignment.yml
+++ b/.rubocop_todo/layout/parameter_alignment.yml
@@ -10,8 +10,6 @@ Layout/ParameterAlignment:
- 'spec/lib/gitlab/background_migration/recalculate_vulnerabilities_occurrences_uuid_spec.rb'
- 'spec/lib/gitlab/background_migration/remove_duplicate_vulnerabilities_findings_spec.rb'
- 'spec/lib/gitlab/background_migration/remove_occurrence_pipelines_and_duplicate_vulnerabilities_findings_spec.rb'
- - 'spec/migrations/20210423160427_schedule_drop_invalid_vulnerabilities_spec.rb'
- - 'spec/migrations/20210511142748_schedule_drop_invalid_vulnerabilities2_spec.rb'
- 'spec/migrations/20211018152654_schedule_remove_duplicate_vulnerabilities_findings3_spec.rb'
- 'spec/migrations/20211116111644_schedule_remove_occurrence_pipelines_and_duplicate_vulnerabilities_findings_spec.rb'
- 'spec/support/helpers/content_security_policy_helpers.rb'
diff --git a/.rubocop_todo/layout/space_in_lambda_literal.yml b/.rubocop_todo/layout/space_in_lambda_literal.yml
index 73b8a354a58..2fbdf69e5e3 100644
--- a/.rubocop_todo/layout/space_in_lambda_literal.yml
+++ b/.rubocop_todo/layout/space_in_lambda_literal.yml
@@ -24,7 +24,6 @@ Layout/SpaceInLambdaLiteral:
- 'app/models/clusters/cluster.rb'
- 'app/models/clusters/kubernetes_namespace.rb'
- 'app/models/commit_status.rb'
- - 'app/models/concerns/analytics/cycle_analytics/stage.rb'
- 'app/models/concerns/analytics/cycle_analytics/stage_event_model.rb'
- 'app/models/concerns/approvable.rb'
- 'app/models/concerns/ci/artifactable.rb'
@@ -173,7 +172,6 @@ Layout/SpaceInLambdaLiteral:
- 'app/workers/process_commit_worker.rb'
- 'config/initializers/deprecations.rb'
- 'config/routes/project.rb'
- - 'db/post_migrate/20210303121224_update_gitlab_subscriptions_start_at_post_eoa.rb'
- 'ee/app/controllers/groups/analytics/coverage_reports_controller.rb'
- 'ee/app/controllers/projects/on_demand_scans_controller.rb'
- 'ee/app/controllers/projects/security/dast_site_profiles_controller.rb'
diff --git a/.rubocop_todo/lint/missing_cop_enable_directive.yml b/.rubocop_todo/lint/missing_cop_enable_directive.yml
index e0b2afe8256..d4091e27353 100644
--- a/.rubocop_todo/lint/missing_cop_enable_directive.yml
+++ b/.rubocop_todo/lint/missing_cop_enable_directive.yml
@@ -144,12 +144,10 @@ Lint/MissingCopEnableDirective:
- 'ee/app/workers/groups/export_memberships_worker.rb'
- 'ee/app/workers/update_max_seats_used_for_gitlab_com_subscriptions_worker.rb'
- 'ee/lib/api/ldap_group_links.rb'
- - 'ee/lib/api/scim.rb'
- 'ee/lib/ee/gitlab/background_migration/backfill_project_statistics_container_repository_size.rb'
- 'ee/lib/ee/gitlab/background_migration/migrate_approver_to_approval_rules.rb'
- 'ee/lib/ee/gitlab/usage_data.rb'
- 'ee/lib/gitlab/spdx/license.rb'
- - 'ee/spec/controllers/projects/legacy_pipelines_controller_spec.rb'
- 'ee/spec/helpers/groups/security_features_helper_spec.rb'
- 'ee/spec/helpers/projects/security/discover_helper_spec.rb'
- 'ee/spec/lib/ee/gitlab/background_migration/delete_invalid_epic_issues_spec.rb'
diff --git a/.rubocop_todo/lint/redundant_cop_disable_directive.yml b/.rubocop_todo/lint/redundant_cop_disable_directive.yml
index a2dd002b54f..146d7ce164f 100644
--- a/.rubocop_todo/lint/redundant_cop_disable_directive.yml
+++ b/.rubocop_todo/lint/redundant_cop_disable_directive.yml
@@ -73,7 +73,6 @@ Lint/RedundantCopDisableDirective:
- 'config/initializers/warden.rb'
- 'config/initializers/wikicloth_ruby_3_patch.rb'
- 'config/routes/api.rb'
- - 'db/migrate/20210303193544_add_concurrent_fields_to_bulk_imports_trackers.rb'
- 'db/migrate/20210917134321_remove_temporary_index_for_project_topics_on_taggings.rb'
- 'db/migrate/20211013014228_add_content_validation_endpoint_to_application_settings.rb'
- 'db/migrate/20220316022505_create_namespace_details.rb'
@@ -125,7 +124,6 @@ Lint/RedundantCopDisableDirective:
- 'ee/lib/analytics/merge_request_metrics_calculator.rb'
- 'ee/lib/api/audit_events.rb'
- 'ee/lib/api/dora/metrics.rb'
- - 'ee/lib/api/scim.rb'
- 'ee/lib/ee/api/entities/analytics/code_review/merge_request.rb'
- 'ee/lib/ee/gitlab/background_migration/backfill_epic_cache_counts.rb'
- 'ee/lib/ee/gitlab/background_migration/migrate_shared_vulnerability_scanners.rb'
@@ -136,7 +134,6 @@ Lint/RedundantCopDisableDirective:
- 'ee/lib/gitlab/elastic/bool_expr.rb'
- 'ee/lib/gitlab/spdx/license.rb'
- 'ee/lib/gitlab/status_page/storage/object.rb'
- - 'ee/spec/contracts/provider/pact_helpers/project/merge_request/show/suggested_reviewers_helper.rb'
- 'ee/spec/elastic/migrate/20221026082700_backfill_users_spec.rb'
- 'ee/spec/features/boards/user_visits_board_spec.rb'
- 'ee/spec/features/groups/settings/domain_verification_spec.rb'
diff --git a/.rubocop_todo/migration/background_migration_base_class.yml b/.rubocop_todo/migration/background_migration_base_class.yml
index 56b6a4294d4..9f5fb15289b 100644
--- a/.rubocop_todo/migration/background_migration_base_class.yml
+++ b/.rubocop_todo/migration/background_migration_base_class.yml
@@ -1,7 +1,6 @@
---
Migration/BackgroundMigrationBaseClass:
Exclude:
- - 'lib/gitlab/background_migration/add_primary_email_to_emails_if_user_confirmed.rb'
- 'lib/gitlab/background_migration/backfill_ci_queuing_tables.rb'
- 'lib/gitlab/background_migration/backfill_draft_status_on_merge_requests.rb'
- 'lib/gitlab/background_migration/backfill_integrations_enable_ssl_verification.rb'
diff --git a/.rubocop_todo/migration/background_migration_record.yml b/.rubocop_todo/migration/background_migration_record.yml
index 567926e33a2..ec2b9fb6d6a 100644
--- a/.rubocop_todo/migration/background_migration_record.yml
+++ b/.rubocop_todo/migration/background_migration_record.yml
@@ -12,7 +12,6 @@ Migration/BackgroundMigrationRecord:
- 'ee/lib/ee/gitlab/background_migration/populate_resolved_on_default_branch_column.rb'
- 'ee/lib/ee/gitlab/background_migration/populate_uuids_for_security_findings.rb'
- 'ee/lib/ee/gitlab/background_migration/update_vulnerability_occurrences_location.rb'
- - 'lib/gitlab/background_migration/add_primary_email_to_emails_if_user_confirmed.rb'
- 'lib/gitlab/background_migration/backfill_ci_queuing_tables.rb'
- 'lib/gitlab/background_migration/backfill_draft_status_on_merge_requests.rb'
- 'lib/gitlab/background_migration/backfill_namespace_traversal_ids_children.rb'
diff --git a/.rubocop_todo/migration/background_migrations.yml b/.rubocop_todo/migration/background_migrations.yml
index 2219f37901d..fbafbb66289 100644
--- a/.rubocop_todo/migration/background_migrations.yml
+++ b/.rubocop_todo/migration/background_migrations.yml
@@ -1,17 +1,6 @@
---
Migration/BackgroundMigrations:
Exclude:
- - 'db/migrate/20210519154058_schedule_update_users_where_two_factor_auth_required_from_group.rb'
- - 'db/post_migrate/20210302074524_backfill_namespace_statistics_with_wiki_size.rb'
- - 'db/post_migrate/20210304133508_schedule_remove_duplicate_vulnerabilities_findings2.rb'
- - 'db/post_migrate/20210415155043_move_container_registry_enabled_to_project_features3.rb'
- - 'db/post_migrate/20210423160427_schedule_drop_invalid_vulnerabilities.rb'
- - 'db/post_migrate/20210427212034_schedule_update_timelogs_project_id.rb'
- - 'db/post_migrate/20210506065000_schedule_backfill_traversal_ids.rb'
- - 'db/post_migrate/20210511095658_schedule_migrate_project_taggings_context_from_tags_to_topics.rb'
- - 'db/post_migrate/20210511142748_schedule_drop_invalid_vulnerabilities2.rb'
- - 'db/post_migrate/20210514063252_schedule_cleanup_orphaned_lfs_objects_projects.rb'
- - 'db/post_migrate/20210518074332_schedule_disable_expiration_policies_linked_to_no_container_images.rb'
- 'db/post_migrate/20210604070207_retry_backfill_traversal_ids.rb'
- 'db/post_migrate/20210611080951_fix_missing_traversal_ids.rb'
- 'db/post_migrate/20210701111909_backfill_issues_upvotes_count.rb'
@@ -26,7 +15,6 @@ Migration/BackgroundMigrations:
- 'db/post_migrate/20210901153324_slice_merge_request_diff_commit_migrations.rb'
- 'db/post_migrate/20210909104800_reschedule_extract_project_topics_into_separate_table_2.rb'
- 'db/post_migrate/20211004110927_schedule_fix_first_mentioned_in_commit_at_job.rb'
- - 'db/post_migrate/20211004120135_schedule_add_primary_email_to_emails_if_user_confirmed.rb'
- 'db/post_migrate/20211005010101_rereschedule_delete_orphaned_deployments.rb'
- 'db/post_migrate/20211005194425_schedule_requirements_migration.rb'
- 'db/post_migrate/20211006060436_schedule_populate_topics_total_projects_count_cache.rb'
diff --git a/.rubocop_todo/naming/heredoc_delimiter_naming.yml b/.rubocop_todo/naming/heredoc_delimiter_naming.yml
index d57905c8607..d10fac78cef 100644
--- a/.rubocop_todo/naming/heredoc_delimiter_naming.yml
+++ b/.rubocop_todo/naming/heredoc_delimiter_naming.yml
@@ -113,7 +113,6 @@ Naming/HeredocDelimiterNaming:
- 'spec/models/integrations/asana_spec.rb'
- 'spec/models/ssh_host_key_spec.rb'
- 'spec/rubocop/cop/migration/update_column_in_batches_spec.rb'
- - 'spec/services/ci/after_requeue_job_service_spec.rb'
- 'spec/services/ci/create_downstream_pipeline_service_spec.rb'
- 'spec/services/ci/create_pipeline_service/cache_spec.rb'
- 'spec/services/ci/create_pipeline_service/evaluate_runner_tags_spec.rb'
diff --git a/.rubocop_todo/rails/file_path.yml b/.rubocop_todo/rails/file_path.yml
index 0a652631e0b..2b01db2e440 100644
--- a/.rubocop_todo/rails/file_path.yml
+++ b/.rubocop_todo/rails/file_path.yml
@@ -8,8 +8,6 @@ Rails/FilePath:
- 'app/models/concerns/cross_database_modification.rb'
- 'app/models/release_highlight.rb'
- 'app/serializers/review_app_setup_entity.rb'
- - 'app/services/clusters/aws/fetch_credentials_service.rb'
- - 'app/services/clusters/aws/provision_service.rb'
- 'app/services/metrics/sample_metrics_service.rb'
- 'app/services/projects/readme_renderer_service.rb'
- 'config/environments/development.rb'
@@ -17,7 +15,6 @@ Rails/FilePath:
- 'config/initializers/7_prometheus_metrics.rb'
- 'config/initializers/lograge.rb'
- 'config/initializers_before_autoloader/001_fast_gettext.rb'
- - 'db/migrate/20210517144856_require_snapshot_namespace.rb'
- 'db/post_migrate/20210630025020_migrate_push_event_payloads_event_id_back_to_integer_for_gitlab_com.rb'
- 'ee/app/helpers/ee/application_helper.rb'
- 'ee/app/services/security/security_orchestration_policies/project_create_service.rb'
@@ -126,8 +123,6 @@ Rails/FilePath:
- 'spec/requests/api/internal/mail_room_spec.rb'
- 'spec/requests/api/usage_data_queries_spec.rb'
- 'spec/serializers/review_app_setup_entity_spec.rb'
- - 'spec/services/clusters/aws/fetch_credentials_service_spec.rb'
- - 'spec/services/clusters/aws/provision_service_spec.rb'
- 'spec/services/metrics/sample_metrics_service_spec.rb'
- 'spec/support/helpers/doc_url_helper.rb'
- 'spec/support/helpers/test_env.rb'
diff --git a/.rubocop_todo/rails/inverse_of.yml b/.rubocop_todo/rails/inverse_of.yml
index 832767b7bb5..5ec863fdb25 100644
--- a/.rubocop_todo/rails/inverse_of.yml
+++ b/.rubocop_todo/rails/inverse_of.yml
@@ -29,7 +29,6 @@ Rails/InverseOf:
- 'app/models/clusters/project.rb'
- 'app/models/commit_signatures/x509_commit_signature.rb'
- 'app/models/commit_status.rb'
- - 'app/models/concerns/analytics/cycle_analytics/stage.rb'
- 'app/models/concerns/awardable.rb'
- 'app/models/concerns/commit_signature.rb'
- 'app/models/concerns/with_uploads.rb'
@@ -71,8 +70,6 @@ Rails/InverseOf:
- 'app/models/work_item.rb'
- 'app/models/x509_certificate.rb'
- 'ee/app/models/allowed_email_domain.rb'
- - 'ee/app/models/analytics/cycle_analytics/group_stage.rb'
- - 'ee/app/models/analytics/cycle_analytics/group_value_stream.rb'
- 'ee/app/models/analytics/devops_adoption/enabled_namespace.rb'
- 'ee/app/models/analytics/devops_adoption/snapshot.rb'
- 'ee/app/models/audit_events/external_audit_event_destination.rb'
diff --git a/.rubocop_todo/rails/pluck.yml b/.rubocop_todo/rails/pluck.yml
index 88b700d0190..307e6f59800 100644
--- a/.rubocop_todo/rails/pluck.yml
+++ b/.rubocop_todo/rails/pluck.yml
@@ -49,7 +49,6 @@ Rails/Pluck:
- 'ee/spec/graphql/types/vulnerability_scanner_type_spec.rb'
- 'ee/spec/helpers/ee/geo_helper_spec.rb'
- 'ee/spec/helpers/ee/operations_helper_spec.rb'
- - 'ee/spec/lib/ee/gitlab/import_export/group/legacy_tree_saver_spec.rb'
- 'ee/spec/lib/ee/gitlab/import_export/group/tree_saver_spec.rb'
- 'ee/spec/lib/gitlab/custom_file_templates_spec.rb'
- 'ee/spec/lib/gitlab/spdx/catalogue_spec.rb'
@@ -186,7 +185,6 @@ Rails/Pluck:
- 'spec/lib/gitlab/database_importers/common_metrics/importer_spec.rb'
- 'spec/lib/gitlab/git/blame_spec.rb'
- 'spec/lib/gitlab/git/conflict/parser_spec.rb'
- - 'spec/lib/gitlab/import_export/group/legacy_tree_saver_spec.rb'
- 'spec/lib/gitlab/import_export/project/sample/relation_tree_restorer_spec.rb'
- 'spec/lib/gitlab/import_export/project/tree_saver_spec.rb'
- 'spec/lib/gitlab/language_detection_spec.rb'
@@ -285,7 +283,6 @@ Rails/Pluck:
- 'spec/serializers/stage_entity_spec.rb'
- 'spec/services/ci/compare_test_reports_service_spec.rb'
- 'spec/services/ci/pipeline_processing/atomic_processing_service/status_collection_spec.rb'
- - 'spec/services/clusters/applications/prometheus_config_service_spec.rb'
- 'spec/services/issues/export_csv_service_spec.rb'
- 'spec/services/metrics/dashboard/custom_metric_embed_service_spec.rb'
- 'spec/services/projects/participants_service_spec.rb'
diff --git a/.rubocop_todo/rails/redundant_foreign_key.yml b/.rubocop_todo/rails/redundant_foreign_key.yml
index 3251429876e..3a7c4a3754e 100644
--- a/.rubocop_todo/rails/redundant_foreign_key.yml
+++ b/.rubocop_todo/rails/redundant_foreign_key.yml
@@ -18,7 +18,6 @@ Rails/RedundantForeignKey:
- 'app/models/clusters/concerns/application_core.rb'
- 'app/models/clusters/integrations/prometheus.rb'
- 'app/models/commit_signatures/x509_commit_signature.rb'
- - 'app/models/concerns/analytics/cycle_analytics/stage.rb'
- 'app/models/concerns/commit_signature.rb'
- 'app/models/concerns/integrations/base_data_fields.rb'
- 'app/models/group.rb'
diff --git a/.rubocop_todo/rspec/any_instance_of.yml b/.rubocop_todo/rspec/any_instance_of.yml
index b107938dd17..e589d9ed9c6 100644
--- a/.rubocop_todo/rspec/any_instance_of.yml
+++ b/.rubocop_todo/rspec/any_instance_of.yml
@@ -361,7 +361,6 @@ RSpec/AnyInstanceOf:
- 'spec/workers/build_hooks_worker_spec.rb'
- 'spec/workers/ci/build_schedule_worker_spec.rb'
- 'spec/workers/ci/daily_build_group_report_results_worker_spec.rb'
- - 'spec/workers/cluster_provision_worker_spec.rb'
- 'spec/workers/clusters/cleanup/project_namespace_worker_spec.rb'
- 'spec/workers/clusters/cleanup/service_account_worker_spec.rb'
- 'spec/workers/concerns/project_import_options_spec.rb'
@@ -381,4 +380,3 @@ RSpec/AnyInstanceOf:
- 'spec/workers/pipeline_schedule_worker_spec.rb'
- 'spec/workers/project_cache_worker_spec.rb'
- 'spec/workers/stage_update_worker_spec.rb'
- - 'spec/workers/wait_for_cluster_creation_worker_spec.rb'
diff --git a/.rubocop_todo/rspec/capybara/visibility_matcher.yml b/.rubocop_todo/rspec/capybara/visibility_matcher.yml
index f9e8c982903..5f35e5d90f7 100644
--- a/.rubocop_todo/rspec/capybara/visibility_matcher.yml
+++ b/.rubocop_todo/rspec/capybara/visibility_matcher.yml
@@ -46,7 +46,6 @@ RSpec/Capybara/VisibilityMatcher:
- 'spec/features/projects/issues/design_management/user_views_designs_with_svg_xss_spec.rb'
- 'spec/features/projects/jobs_spec.rb'
- 'spec/features/projects/network_graph_spec.rb'
- - 'spec/features/projects/pipelines/legacy_pipeline_spec.rb'
- 'spec/features/projects/pipelines/pipeline_spec.rb'
- 'spec/features/projects/settings/lfs_settings_spec.rb'
- 'spec/features/projects/settings/packages_settings_spec.rb'
diff --git a/.rubocop_todo/rspec/context_wording.yml b/.rubocop_todo/rspec/context_wording.yml
index 6a6a66973c0..c1bd63de2f1 100644
--- a/.rubocop_todo/rspec/context_wording.yml
+++ b/.rubocop_todo/rspec/context_wording.yml
@@ -47,7 +47,6 @@ RSpec/ContextWording:
- 'ee/spec/controllers/projects/integrations/jira/issues_controller_spec.rb'
- 'ee/spec/controllers/projects/integrations/zentao/issues_controller_spec.rb'
- 'ee/spec/controllers/projects/issues_controller_spec.rb'
- - 'ee/spec/controllers/projects/legacy_pipelines_controller_spec.rb'
- 'ee/spec/controllers/projects/merge_requests/creations_controller_spec.rb'
- 'ee/spec/controllers/projects/merge_requests_controller_spec.rb'
- 'ee/spec/controllers/projects/mirrors_controller_spec.rb'
@@ -155,7 +154,6 @@ RSpec/ContextWording:
- 'ee/spec/features/projects/milestones/milestone_spec.rb'
- 'ee/spec/features/projects/new_project_from_template_spec.rb'
- 'ee/spec/features/projects/new_project_spec.rb'
- - 'ee/spec/features/projects/pipelines/legacy_pipeline_spec.rb'
- 'ee/spec/features/projects/pipelines/pipeline_spec.rb'
- 'ee/spec/features/projects/push_rules_spec.rb'
- 'ee/spec/features/projects/quality/test_case_create_spec.rb'
@@ -334,8 +332,6 @@ RSpec/ContextWording:
- 'ee/spec/lib/ee/gitlab/group_search_results_spec.rb'
- 'ee/spec/lib/ee/gitlab/hook_data/group_member_builder_spec.rb'
- 'ee/spec/lib/ee/gitlab/hook_data/user_builder_spec.rb'
- - 'ee/spec/lib/ee/gitlab/import_export/group/legacy_tree_restorer_spec.rb'
- - 'ee/spec/lib/ee/gitlab/import_export/group/legacy_tree_saver_spec.rb'
- 'ee/spec/lib/ee/gitlab/import_export/group/tree_restorer_spec.rb'
- 'ee/spec/lib/ee/gitlab/import_export/group/tree_saver_spec.rb'
- 'ee/spec/lib/ee/gitlab/import_export/project/tree_saver_spec.rb'
@@ -440,7 +436,6 @@ RSpec/ContextWording:
- 'ee/spec/migrations/schedule_requirements_migration_spec.rb'
- 'ee/spec/models/alert_management/alert_payload_field_spec.rb'
- 'ee/spec/models/allowed_email_domain_spec.rb'
- - 'ee/spec/models/analytics/cycle_analytics/group_stage_spec.rb'
- 'ee/spec/models/analytics/cycle_analytics/project_stage_spec.rb'
- 'ee/spec/models/application_setting_spec.rb'
- 'ee/spec/models/approval_merge_request_rule_spec.rb'
@@ -638,7 +633,6 @@ RSpec/ContextWording:
- 'ee/spec/requests/api/projects_spec.rb'
- 'ee/spec/requests/api/protected_branches_spec.rb'
- 'ee/spec/requests/api/releases_spec.rb'
- - 'ee/spec/requests/api/scim_spec.rb'
- 'ee/spec/requests/api/search_spec.rb'
- 'ee/spec/requests/api/settings_spec.rb'
- 'ee/spec/requests/api/status_checks_spec.rb'
@@ -983,7 +977,6 @@ RSpec/ContextWording:
- 'qa/qa/specs/features/browser_ui/5_package/package_registry/pypi_repository_spec.rb'
- 'qa/qa/specs/features/ee/browser_ui/11_fulfillment/license/cloud_activation_spec.rb'
- 'qa/qa/specs/features/ee/browser_ui/11_fulfillment/license/license_spec.rb'
- - 'qa/qa/specs/features/ee/browser_ui/11_fulfillment/purchase/free_tier_group_namespace_spec.rb'
- 'qa/qa/specs/features/ee/browser_ui/11_fulfillment/purchase/purchase_ci_spec.rb'
- 'qa/qa/specs/features/ee/browser_ui/11_fulfillment/purchase/purchase_storage_spec.rb'
- 'qa/qa/specs/features/ee/browser_ui/13_secure/enable_scanning_from_configuration_spec.rb'
@@ -1326,8 +1319,6 @@ RSpec/ContextWording:
- 'spec/features/projects/packages_spec.rb'
- 'spec/features/projects/pages/user_edits_settings_spec.rb'
- 'spec/features/projects/pipeline_schedules_spec.rb'
- - 'spec/features/projects/pipelines/legacy_pipeline_spec.rb'
- - 'spec/features/projects/pipelines/legacy_pipelines_spec.rb'
- 'spec/features/projects/pipelines/pipeline_spec.rb'
- 'spec/features/projects/pipelines/pipelines_spec.rb'
- 'spec/features/projects/releases/user_views_releases_spec.rb'
@@ -1972,8 +1963,6 @@ RSpec/ContextWording:
- 'spec/lib/gitlab/import_export/decompressed_archive_size_validator_spec.rb'
- 'spec/lib/gitlab/import_export/fast_hash_serializer_spec.rb'
- 'spec/lib/gitlab/import_export/file_importer_spec.rb'
- - 'spec/lib/gitlab/import_export/group/legacy_tree_restorer_spec.rb'
- - 'spec/lib/gitlab/import_export/group/legacy_tree_saver_spec.rb'
- 'spec/lib/gitlab/import_export/group/object_builder_spec.rb'
- 'spec/lib/gitlab/import_export/group/relation_factory_spec.rb'
- 'spec/lib/gitlab/import_export/group/tree_restorer_spec.rb'
@@ -2340,7 +2329,6 @@ RSpec/ContextWording:
- 'spec/models/internal_id_spec.rb'
- 'spec/models/issue/metrics_spec.rb'
- 'spec/models/issue_assignee_spec.rb'
- - 'spec/models/issue_collection_spec.rb'
- 'spec/models/issue_spec.rb'
- 'spec/models/jira_import_state_spec.rb'
- 'spec/models/key_spec.rb'
@@ -2723,7 +2711,6 @@ RSpec/ContextWording:
- 'spec/services/branches/validate_new_service_spec.rb'
- 'spec/services/bulk_create_integration_service_spec.rb'
- 'spec/services/chat_names/find_user_service_spec.rb'
- - 'spec/services/ci/after_requeue_job_service_spec.rb'
- 'spec/services/ci/append_build_trace_service_spec.rb'
- 'spec/services/ci/archive_trace_service_spec.rb'
- 'spec/services/ci/compare_test_reports_service_spec.rb'
@@ -2757,16 +2744,8 @@ RSpec/ContextWording:
- 'spec/services/clusters/agent_tokens/track_usage_service_spec.rb'
- 'spec/services/clusters/agents/delete_expired_events_service_spec.rb'
- 'spec/services/clusters/agents/refresh_authorization_service_spec.rb'
- - 'spec/services/clusters/applications/install_service_spec.rb'
- - 'spec/services/clusters/applications/upgrade_service_spec.rb'
- - 'spec/services/clusters/aws/authorize_role_service_spec.rb'
- - 'spec/services/clusters/aws/fetch_credentials_service_spec.rb'
- - 'spec/services/clusters/aws/finalize_creation_service_spec.rb'
- - 'spec/services/clusters/aws/provision_service_spec.rb'
- - 'spec/services/clusters/aws/verify_provision_status_service_spec.rb'
- 'spec/services/clusters/build_kubernetes_namespace_service_spec.rb'
- 'spec/services/clusters/create_service_spec.rb'
- - 'spec/services/clusters/gcp/finalize_creation_service_spec.rb'
- 'spec/services/clusters/kubernetes/create_or_update_namespace_service_spec.rb'
- 'spec/services/clusters/kubernetes/create_or_update_service_account_service_spec.rb'
- 'spec/services/clusters/management/validate_management_project_permissions_service_spec.rb'
diff --git a/.rubocop_todo/rspec/described_class.yml b/.rubocop_todo/rspec/described_class.yml
index 729423d8abd..b60fca01288 100644
--- a/.rubocop_todo/rspec/described_class.yml
+++ b/.rubocop_todo/rspec/described_class.yml
@@ -145,7 +145,6 @@ RSpec/DescribedClass:
- 'spec/lib/sidebars/panel_spec.rb'
- 'spec/mailers/emails/service_desk_spec.rb'
- 'spec/metrics_server/metrics_server_spec.rb'
- - 'spec/migrations/remove_records_without_group_from_webhooks_table_spec.rb'
- 'spec/models/active_session_spec.rb'
- 'spec/models/alert_management/alert_spec.rb'
- 'spec/models/application_record_spec.rb'
diff --git a/.rubocop_todo/rspec/expect_change.yml b/.rubocop_todo/rspec/expect_change.yml
index 23bb61a5d68..24db05a5004 100644
--- a/.rubocop_todo/rspec/expect_change.yml
+++ b/.rubocop_todo/rspec/expect_change.yml
@@ -81,7 +81,6 @@ RSpec/ExpectChange:
- 'ee/spec/requests/groups/protected_environments_controller_spec.rb'
- 'ee/spec/requests/groups_controller_spec.rb'
- 'ee/spec/requests/registrations/project_creation_spec.rb'
- - 'ee/spec/requests/registrations_controller_spec.rb'
- 'ee/spec/services/app_sec/dast/scanner_profiles/create_service_spec.rb'
- 'ee/spec/services/app_sec/dast/scans/run_service_spec.rb'
- 'ee/spec/services/app_sec/dast/site_profiles/create_service_spec.rb'
@@ -291,7 +290,6 @@ RSpec/ExpectChange:
- 'spec/migrations/20221018050323_add_objective_and_keyresult_to_work_item_types_spec.rb'
- 'spec/migrations/20221018193635_ensure_task_note_renaming_background_migration_finished_spec.rb'
- 'spec/migrations/20221102090940_create_next_ci_partitions_record_spec.rb'
- - 'spec/migrations/backfill_escalation_policies_for_oncall_schedules_spec.rb'
- 'spec/migrations/cleanup_mr_attention_request_todos_spec.rb'
- 'spec/migrations/cleanup_vulnerability_state_transitions_with_same_from_state_to_state_spec.rb'
- 'spec/migrations/delete_migrate_shared_vulnerability_scanners_spec.rb'
diff --git a/.rubocop_todo/rspec/expect_in_hook.yml b/.rubocop_todo/rspec/expect_in_hook.yml
index aa0f5f005d7..4b49adf63f9 100644
--- a/.rubocop_todo/rspec/expect_in_hook.yml
+++ b/.rubocop_todo/rspec/expect_in_hook.yml
@@ -302,7 +302,6 @@ RSpec/ExpectInHook:
- 'spec/lib/sidebars/projects/menus/external_wiki_menu_spec.rb'
- 'spec/mailers/emails/service_desk_spec.rb'
- 'spec/metrics_server/metrics_server_spec.rb'
- - 'spec/migrations/20210406144743_backfill_total_tuple_count_for_batched_migrations_spec.rb'
- 'spec/models/ability_spec.rb'
- 'spec/models/application_setting_spec.rb'
- 'spec/models/ci/build_spec.rb'
@@ -387,9 +386,6 @@ RSpec/ExpectInHook:
- 'spec/services/ci/job_artifacts/destroy_all_expired_service_spec.rb'
- 'spec/services/ci/job_artifacts/destroy_batch_service_spec.rb'
- 'spec/services/ci/register_job_service_spec.rb'
- - 'spec/services/clusters/applications/install_service_spec.rb'
- - 'spec/services/clusters/applications/upgrade_service_spec.rb'
- - 'spec/services/clusters/aws/fetch_credentials_service_spec.rb'
- 'spec/services/clusters/integrations/prometheus_health_check_service_spec.rb'
- 'spec/services/container_expiration_policies/cleanup_service_spec.rb'
- 'spec/services/dependency_proxy/find_cached_manifest_service_spec.rb'
diff --git a/.rubocop_todo/rspec/factory_bot/avoid_create.yml b/.rubocop_todo/rspec/factory_bot/avoid_create.yml
index 3201d5a8370..c4a64f505f1 100644
--- a/.rubocop_todo/rspec/factory_bot/avoid_create.yml
+++ b/.rubocop_todo/rspec/factory_bot/avoid_create.yml
@@ -224,7 +224,6 @@ RSpec/FactoryBot/AvoidCreate:
- 'ee/spec/views/projects/edit.html.haml_spec.rb'
- 'ee/spec/views/projects/issues/show.html.haml_spec.rb'
- 'ee/spec/views/projects/on_demand_scans/index.html.haml_spec.rb'
- - 'ee/spec/views/projects/pipelines/_tabs_content.html.haml_spec.rb'
- 'ee/spec/views/projects/project_members/index.html.haml_spec.rb'
- 'ee/spec/views/projects/security/corpus_management/show.html.haml_spec.rb'
- 'ee/spec/views/projects/security/dast_profiles/show.html.haml_spec.rb'
diff --git a/.rubocop_todo/rspec/hooks_before_examples.yml b/.rubocop_todo/rspec/hooks_before_examples.yml
index 333687e1cc4..a6291452db8 100644
--- a/.rubocop_todo/rspec/hooks_before_examples.yml
+++ b/.rubocop_todo/rspec/hooks_before_examples.yml
@@ -42,5 +42,4 @@ RSpec/HooksBeforeExamples:
- 'qa/qa/specs/features/ee/browser_ui/1_manage/group/prevent_forking_outside_group_spec.rb'
- 'qa/qa/specs/features/ee/browser_ui/1_manage/ldap/admin_ldap_sync_spec.rb'
- 'qa/qa/specs/features/ee/browser_ui/1_manage/user/minimal_access_user_spec.rb'
- - 'qa/spec/resource/reusable_collection_spec.rb'
- 'qa/spec/specs/runner_spec.rb'
diff --git a/.rubocop_todo/rspec/instance_variable.yml b/.rubocop_todo/rspec/instance_variable.yml
index b1b4a6c16ce..d57eb938567 100644
--- a/.rubocop_todo/rspec/instance_variable.yml
+++ b/.rubocop_todo/rspec/instance_variable.yml
@@ -113,7 +113,6 @@ RSpec/InstanceVariable:
- 'spec/lib/gitlab/git/diff_spec.rb'
- 'spec/lib/gitlab/git/repository_spec.rb'
- 'spec/lib/gitlab/http_spec.rb'
- - 'spec/lib/gitlab/import_export/group/legacy_tree_restorer_spec.rb'
- 'spec/lib/gitlab/import_export/group/tree_restorer_spec.rb'
- 'spec/lib/gitlab/import_export/project/tree_restorer_spec.rb'
- 'spec/lib/gitlab/patch/prependable_spec.rb'
diff --git a/.rubocop_todo/rspec/multiple_memoized_helpers.yml b/.rubocop_todo/rspec/multiple_memoized_helpers.yml
index e939abd2886..708543510a2 100644
--- a/.rubocop_todo/rspec/multiple_memoized_helpers.yml
+++ b/.rubocop_todo/rspec/multiple_memoized_helpers.yml
@@ -17,7 +17,6 @@ RSpec/MultipleMemoizedHelpers:
- 'spec/finders/user_recent_events_finder_spec.rb'
- 'spec/lib/gitlab/background_migration/recalculate_vulnerabilities_occurrences_uuid_spec.rb'
- 'spec/lib/gitlab/diff/position_tracer/line_strategy_spec.rb'
- - 'spec/migrations/backfill_escalation_policies_for_oncall_schedules_spec.rb'
- 'spec/models/event_spec.rb'
- 'spec/models/milestone_spec.rb'
- 'spec/models/packages/package_file_spec.rb'
diff --git a/.rubocop_todo/rspec/repeated_example_group_body.yml b/.rubocop_todo/rspec/repeated_example_group_body.yml
index 93cbe77765a..a0981240d48 100644
--- a/.rubocop_todo/rspec/repeated_example_group_body.yml
+++ b/.rubocop_todo/rspec/repeated_example_group_body.yml
@@ -22,7 +22,6 @@ RSpec/RepeatedExampleGroupBody:
- 'spec/features/issues/spam_akismet_issue_creation_spec.rb'
- 'spec/features/merge_request/user_sees_closing_issues_message_spec.rb'
- 'spec/features/projects/commit/cherry_pick_spec.rb'
- - 'spec/features/projects/pipelines/legacy_pipeline_spec.rb'
- 'spec/features/security/project/private_access_spec.rb'
- 'spec/finders/packages/nuget/package_finder_spec.rb'
- 'spec/helpers/gitlab_routing_helper_spec.rb'
diff --git a/.rubocop_todo/rspec/repeated_example_group_description.yml b/.rubocop_todo/rspec/repeated_example_group_description.yml
index 826ac2a6838..27eea044e6c 100644
--- a/.rubocop_todo/rspec/repeated_example_group_description.yml
+++ b/.rubocop_todo/rspec/repeated_example_group_description.yml
@@ -36,7 +36,6 @@ RSpec/RepeatedExampleGroupDescription:
- 'spec/features/merge_request/user_sees_merge_widget_spec.rb'
- 'spec/features/projects/jobs_spec.rb'
- 'spec/features/projects/new_project_spec.rb'
- - 'spec/features/projects/pipelines/legacy_pipeline_spec.rb'
- 'spec/features/security/project/private_access_spec.rb'
- 'spec/finders/ci/pipelines_for_merge_request_finder_spec.rb'
- 'spec/frontend/fixtures/startup_css.rb'
diff --git a/.rubocop_todo/rspec/verified_doubles.yml b/.rubocop_todo/rspec/verified_doubles.yml
index 8fa03c775be..b880f995669 100644
--- a/.rubocop_todo/rspec/verified_doubles.yml
+++ b/.rubocop_todo/rspec/verified_doubles.yml
@@ -746,7 +746,6 @@ RSpec/VerifiedDoubles:
- 'spec/mailers/emails/service_desk_spec.rb'
- 'spec/mailers/notify_spec.rb'
- 'spec/metrics_server/metrics_server_spec.rb'
- - 'spec/migrations/20210406144743_backfill_total_tuple_count_for_batched_migrations_spec.rb'
- 'spec/models/active_session_spec.rb'
- 'spec/models/application_record_spec.rb'
- 'spec/models/badge_spec.rb'
@@ -890,9 +889,6 @@ RSpec/VerifiedDoubles:
- 'spec/services/ci/test_failure_history_service_spec.rb'
- 'spec/services/ci/update_build_queue_service_spec.rb'
- 'spec/services/ci/update_build_state_service_spec.rb'
- - 'spec/services/clusters/aws/finalize_creation_service_spec.rb'
- - 'spec/services/clusters/aws/provision_service_spec.rb'
- - 'spec/services/clusters/aws/verify_provision_status_service_spec.rb'
- 'spec/services/clusters/build_kubernetes_namespace_service_spec.rb'
- 'spec/services/clusters/kubernetes/create_or_update_namespace_service_spec.rb'
- 'spec/services/clusters/kubernetes/create_or_update_service_account_service_spec.rb'
diff --git a/.rubocop_todo/security/io_methods.yml b/.rubocop_todo/security/io_methods.yml
index 936bb21d5dc..445afcabb89 100644
--- a/.rubocop_todo/security/io_methods.yml
+++ b/.rubocop_todo/security/io_methods.yml
@@ -3,4 +3,3 @@
Security/IoMethods:
Details: grace period
Exclude:
- - 'db/migrate/20210301200959_init_schema.rb'
diff --git a/.rubocop_todo/style/accessor_grouping.yml b/.rubocop_todo/style/accessor_grouping.yml
index a5586813885..2eb60c08170 100644
--- a/.rubocop_todo/style/accessor_grouping.yml
+++ b/.rubocop_todo/style/accessor_grouping.yml
@@ -55,7 +55,6 @@ Style/AccessorGrouping:
- 'lib/gitlab/git/commit.rb'
- 'lib/gitlab/graphql/connection_redaction.rb'
- 'lib/gitlab/http_io.rb'
- - 'lib/gitlab/import_export/group/legacy_tree_restorer.rb'
- 'lib/gitlab/import_export/project/tree_restorer.rb'
- 'lib/gitlab/sidekiq_daemon/monitor.rb'
- 'lib/gitlab/sidekiq_middleware/duplicate_jobs/duplicate_job.rb'
diff --git a/.rubocop_todo/style/bare_percent_literals.yml b/.rubocop_todo/style/bare_percent_literals.yml
index e98660024db..0380a2e97b8 100644
--- a/.rubocop_todo/style/bare_percent_literals.yml
+++ b/.rubocop_todo/style/bare_percent_literals.yml
@@ -59,8 +59,6 @@ Style/BarePercentLiterals:
- 'spec/features/projects/badges/pipeline_badge_spec.rb'
- 'spec/features/projects/issuable_templates_spec.rb'
- 'spec/features/projects/jobs_spec.rb'
- - 'spec/features/projects/pipelines/legacy_pipeline_spec.rb'
- - 'spec/features/projects/pipelines/legacy_pipelines_spec.rb'
- 'spec/features/projects/pipelines/pipeline_spec.rb'
- 'spec/features/projects/pipelines/pipelines_spec.rb'
- 'spec/features/uploads/user_uploads_avatar_to_group_spec.rb'
diff --git a/.rubocop_todo/style/class_and_module_children.yml b/.rubocop_todo/style/class_and_module_children.yml
index 870b0f721b9..38116899ccd 100644
--- a/.rubocop_todo/style/class_and_module_children.yml
+++ b/.rubocop_todo/style/class_and_module_children.yml
@@ -449,7 +449,6 @@ Style/ClassAndModuleChildren:
- 'ee/app/helpers/projects/security/dast_profiles_helper.rb'
- 'ee/app/helpers/projects/security/discover_helper.rb'
- 'ee/app/helpers/projects/security/sast_configuration_helper.rb'
- - 'ee/app/models/analytics/cycle_analytics/group_value_stream.rb'
- 'ee/app/models/analytics/devops_adoption.rb'
- 'ee/app/models/analytics/devops_adoption/enabled_namespace.rb'
- 'ee/app/models/analytics/devops_adoption/snapshot.rb'
diff --git a/.rubocop_todo/style/empty_method.yml b/.rubocop_todo/style/empty_method.yml
index 65d9da95a40..a876b9361cb 100644
--- a/.rubocop_todo/style/empty_method.yml
+++ b/.rubocop_todo/style/empty_method.yml
@@ -72,11 +72,8 @@ Style/EmptyMethod:
- 'app/services/issuable_base_service.rb'
- 'app/services/projects/transfer_service.rb'
- 'app/workers/namespaces/root_statistics_worker.rb'
- - 'db/migrate/20210420012444_change_web_hook_events_default.rb'
- - 'db/migrate/20210507191949_add_remove_on_issue_close_to_labels.rb'
- 'db/migrate/20210729123101_confirm_security_bot.rb'
- 'db/migrate/20211012134316_clean_up_migrate_merge_request_diff_commit_users.rb'
- - 'db/post_migrate/20210511095658_schedule_migrate_project_taggings_context_from_tags_to_topics.rb'
- 'db/post_migrate/20210730170823_schedule_security_setting_creation.rb'
- 'db/post_migrate/20210823132600_remove_duplicate_dast_site_tokens.rb'
- 'db/post_migrate/20210826171758_initialize_throttle_unauthenticated_api_columns.rb'
diff --git a/.rubocop_todo/style/format_string.yml b/.rubocop_todo/style/format_string.yml
index 827a6a66998..d18cd4d24a8 100644
--- a/.rubocop_todo/style/format_string.yml
+++ b/.rubocop_todo/style/format_string.yml
@@ -121,14 +121,6 @@ Style/FormatString:
- 'app/serializers/build_details_entity.rb'
- 'app/services/alert_management/alerts/update_service.rb'
- 'app/services/boards/lists/base_create_service.rb'
- - 'app/services/clusters/applications/check_progress_service.rb'
- - 'app/services/clusters/applications/install_service.rb'
- - 'app/services/clusters/applications/upgrade_service.rb'
- - 'app/services/clusters/aws/authorize_role_service.rb'
- - 'app/services/clusters/aws/finalize_creation_service.rb'
- - 'app/services/clusters/aws/verify_provision_status_service.rb'
- - 'app/services/clusters/gcp/finalize_creation_service.rb'
- - 'app/services/clusters/gcp/verify_provision_status_service.rb'
- 'app/services/concerns/update_repository_storage_methods.rb'
- 'app/services/concerns/validates_classification_label.rb'
- 'app/services/gravatar_service.rb'
@@ -243,7 +235,6 @@ Style/FormatString:
- 'ee/lib/ee/gitlab/quick_actions/epic_actions.rb'
- 'ee/lib/ee/gitlab/quick_actions/issue_actions.rb'
- 'ee/lib/ee/gitlab/quick_actions/issue_and_merge_request_actions.rb'
- - 'ee/lib/ee/gitlab/scim/deprovision_service.rb'
- 'ee/lib/gitlab/analytics/cycle_analytics/stage_events/issue_label_added.rb'
- 'ee/lib/gitlab/analytics/cycle_analytics/stage_events/issue_label_removed.rb'
- 'ee/lib/gitlab/analytics/cycle_analytics/stage_events/merge_request_label_added.rb'
@@ -332,7 +323,6 @@ Style/FormatString:
- 'spec/models/integrations/datadog_spec.rb'
- 'spec/models/serverless/domain_spec.rb'
- 'spec/requests/api/graphql/project/jira_projects_spec.rb'
- - 'spec/services/clusters/applications/upgrade_service_spec.rb'
- 'spec/services/groups/import_export/export_service_spec.rb'
- 'spec/services/projects/import_export/export_service_spec.rb'
- 'spec/support/helpers/javascript_fixtures_helpers.rb'
diff --git a/.rubocop_todo/style/guard_clause.yml b/.rubocop_todo/style/guard_clause.yml
index 59aa38fc9f5..586f146c2ba 100644
--- a/.rubocop_todo/style/guard_clause.yml
+++ b/.rubocop_todo/style/guard_clause.yml
@@ -89,7 +89,6 @@ Style/GuardClause:
- 'app/models/clusters/cluster.rb'
- 'app/models/clusters/platforms/kubernetes.rb'
- 'app/models/commit_range.rb'
- - 'app/models/concerns/analytics/cycle_analytics/stage.rb'
- 'app/models/concerns/avatarable.rb'
- 'app/models/concerns/bulk_insert_safe.rb'
- 'app/models/concerns/cache_markdown_field.rb'
@@ -173,7 +172,6 @@ Style/GuardClause:
- 'app/services/ci/runners/register_runner_service.rb'
- 'app/services/ci/update_build_queue_service.rb'
- 'app/services/clusters/agent_tokens/track_usage_service.rb'
- - 'app/services/clusters/aws/fetch_credentials_service.rb'
- 'app/services/commits/commit_patch_service.rb'
- 'app/services/commits/create_service.rb'
- 'app/services/concerns/alert_management/alert_processing.rb'
@@ -274,7 +272,6 @@ Style/GuardClause:
- 'config/initializers/postgresql_cte.rb'
- 'config/object_store_settings.rb'
- 'danger/feature_flag/Dangerfile'
- - 'db/migrate/20210302212623_rename_vuln_fingerprints_indexes.rb'
- 'db/migrate/20210707095545_add_status_to_merge_request_cleanup_schedules.rb'
- 'db/migrate/20210816095826_add_unique_index_on_dast_profile_to_dast_profile_schedules.rb'
- 'db/migrate/20210816192041_add_invites_email_success_to_member.rb'
@@ -647,7 +644,6 @@ Style/GuardClause:
- 'qa/qa/resource/api_fabricator.rb'
- 'qa/qa/resource/package.rb'
- 'qa/qa/resource/registry_repository.rb'
- - 'qa/qa/resource/reusable.rb'
- 'qa/qa/resource/user_gpg.rb'
- 'qa/qa/runtime/feature.rb'
- 'qa/qa/runtime/search.rb'
diff --git a/.rubocop_todo/style/if_unless_modifier.yml b/.rubocop_todo/style/if_unless_modifier.yml
index 5804fda39e1..515a9ddad6a 100644
--- a/.rubocop_todo/style/if_unless_modifier.yml
+++ b/.rubocop_todo/style/if_unless_modifier.yml
@@ -243,9 +243,6 @@ Style/IfUnlessModifier:
- 'app/services/ci/runners/reconcile_existing_runner_versions_service.rb'
- 'app/services/ci/runners/register_runner_service.rb'
- 'app/services/ci/update_build_state_service.rb'
- - 'app/services/clusters/applications/base_service.rb'
- - 'app/services/clusters/aws/fetch_credentials_service.rb'
- - 'app/services/clusters/gcp/provision_service.rb'
- 'app/services/clusters/update_service.rb'
- 'app/services/commits/commit_patch_service.rb'
- 'app/services/commits/create_service.rb'
@@ -407,7 +404,6 @@ Style/IfUnlessModifier:
- 'db/migrate/20210818061156_remove_project_profile_compound_index_from_dast_profile_schedules.rb'
- 'db/migrate/20210909184349_add_index_package_id_id_on_package_files.rb'
- 'db/migrate/20220324175325_add_key_data_to_secure_files.rb'
- - 'db/post_migrate/20210505092746_create_partial_covering_index_for_pending_builds.rb'
- 'db/post_migrate/20210629101712_remove_deprecated_modsecurity_columns.rb'
- 'db/post_migrate/20210713042000_fix_ci_sources_pipelines_index_names.rb'
- 'db/post_migrate/20211021140426_remove_geo_upload_deprecated_fields.rb'
@@ -631,7 +627,6 @@ Style/IfUnlessModifier:
- 'ee/lib/ee/gitlab/quick_actions/epic_actions.rb'
- 'ee/lib/ee/gitlab/quick_actions/issue_actions.rb'
- 'ee/lib/ee/gitlab/repository_size_checker.rb'
- - 'ee/lib/ee/gitlab/scim/deprovision_service.rb'
- 'ee/lib/ee/gitlab/usage_data.rb'
- 'ee/lib/ee/sidebars/groups/menus/settings_menu.rb'
- 'ee/lib/ee/sidebars/projects/menus/analytics_menu.rb'
@@ -1018,8 +1013,6 @@ Style/IfUnlessModifier:
- 'qa/qa/page/view.rb'
- 'qa/qa/resource/registry_repository.rb'
- 'qa/qa/resource/repository/push.rb'
- - 'qa/qa/resource/reusable_collection.rb'
- - 'qa/qa/resource/runner.rb'
- 'qa/qa/resource/snippet.rb'
- 'qa/qa/runtime/application_settings.rb'
- 'qa/qa/runtime/gpg.rb'
diff --git a/.rubocop_todo/style/percent_literal_delimiters.yml b/.rubocop_todo/style/percent_literal_delimiters.yml
index b6020baeafd..54945e69974 100644
--- a/.rubocop_todo/style/percent_literal_delimiters.yml
+++ b/.rubocop_todo/style/percent_literal_delimiters.yml
@@ -176,29 +176,11 @@ Style/PercentLiteralDelimiters:
- 'config/initializers_before_autoloader/000_inflections.rb'
- 'config/object_store_settings.rb'
- 'config/spring.rb'
- - 'db/migrate/20210317210338_add_valid_runner_registrars.rb'
- - 'db/migrate/20210420120734_initialize_conversion_of_ci_job_artifacts_to_bigint.rb'
- - 'db/migrate/20210426094524_initialize_conversion_of_ci_builds_to_bigint.rb'
- - 'db/migrate/20210427045604_initialize_conversion_of_ci_build_trace_chunks_to_bigint.rb'
- - 'db/migrate/20210427084924_initialize_conversion_of_ci_builds_runner_session_to_bigint.rb'
- - 'db/migrate/20210427094931_add_execution_order_index_to_batched_background_migration_jobs.rb'
- - 'db/migrate/20210520133032_initialize_conversion_of_taggings_to_bigint.rb'
- - 'db/migrate/20210520133440_backfill_taggings_for_bigint_conversion.rb'
- - 'db/migrate/20210525085158_initialize_conversion_of_deployments_to_bigint.rb'
- - 'db/migrate/20210525085325_backfill_deployments_for_bigint_conversion.rb'
- - 'db/migrate/20210525100539_initialize_conversion_of_geo_job_artifact_deleted_events_to_bigint.rb'
- - 'db/migrate/20210525100603_backfill_geo_job_artifact_deleted_events_for_bigint_conversion.rb'
- 'db/migrate/20210608072312_initialize_conversion_of_ci_stages_to_bigint.rb'
- 'db/migrate/20210608072346_backfill_ci_stages_for_bigint_conversion.rb'
- 'db/migrate/20210621044000_rename_services_indexes_to_integrations.rb'
- 'db/migrate/20210709085759_index_batched_migration_jobs_by_max_value.rb'
- 'db/migrate/20210928155022_improve_index_for_error_tracking.rb'
- - 'db/post_migrate/20210329102724_add_new_trail_plans.rb'
- - 'db/post_migrate/20210420121149_backfill_conversion_of_ci_job_artifacts.rb'
- - 'db/post_migrate/20210426094549_backfill_ci_builds_for_bigint_conversion.rb'
- - 'db/post_migrate/20210427045711_backfill_ci_build_trace_chunks_for_bigint_conversion.rb'
- - 'db/post_migrate/20210427085020_backfill_ci_builds_runner_session_for_bigint_conversion.rb'
- - 'db/post_migrate/20210520012430_backfill_pk_conversion_for_self_managed.rb'
- 'db/post_migrate/20210823142036_drop_temporary_trigger_for_ci_job_artifacts.rb'
- 'db/post_migrate/20210826171758_initialize_throttle_unauthenticated_api_columns.rb'
- 'db/post_migrate/20210906130643_drop_temporary_columns_and_triggers_for_taggings.rb'
@@ -291,7 +273,6 @@ Style/PercentLiteralDelimiters:
- 'ee/spec/controllers/groups/scim_oauth_controller_spec.rb'
- 'ee/spec/controllers/groups/sso_controller_spec.rb'
- 'ee/spec/controllers/projects/issues_controller_spec.rb'
- - 'ee/spec/controllers/projects/legacy_pipelines_controller_spec.rb'
- 'ee/spec/controllers/projects/pipelines_controller_spec.rb'
- 'ee/spec/controllers/projects/security/configuration_controller_spec.rb'
- 'ee/spec/elastic_integration/global_search_spec.rb'
@@ -411,7 +392,6 @@ Style/PercentLiteralDelimiters:
- 'ee/spec/requests/api/internal/base_spec.rb'
- 'ee/spec/requests/api/issues_spec.rb'
- 'ee/spec/requests/api/merge_requests_spec.rb'
- - 'ee/spec/requests/api/scim_spec.rb'
- 'ee/spec/requests/api/wikis_spec.rb'
- 'ee/spec/requests/lfs_locks_api_spec.rb'
- 'ee/spec/serializers/merge_request_widget_entity_spec.rb'
@@ -654,8 +634,6 @@ Style/PercentLiteralDelimiters:
- 'spec/features/projects/integrations/user_activates_jira_spec.rb'
- 'spec/features/projects/jobs_spec.rb'
- 'spec/features/projects/labels/issues_sorted_by_priority_spec.rb'
- - 'spec/features/projects/pipelines/legacy_pipeline_spec.rb'
- - 'spec/features/projects/pipelines/legacy_pipelines_spec.rb'
- 'spec/features/projects/pipelines/pipeline_spec.rb'
- 'spec/features/projects/pipelines/pipelines_spec.rb'
- 'spec/features/tags/developer_views_tags_spec.rb'
@@ -916,8 +894,6 @@ Style/PercentLiteralDelimiters:
- 'spec/lib/unnested_in_filters/dsl_spec.rb'
- 'spec/lib/unnested_in_filters/rewriter_spec.rb'
- 'spec/metrics_server/metrics_server_spec.rb'
- - 'spec/migrations/add_new_trail_plans_spec.rb'
- - 'spec/migrations/change_web_hook_events_default_spec.rb'
- 'spec/migrations/reset_severity_levels_to_new_default_spec.rb'
- 'spec/models/alert_management/http_integration_spec.rb'
- 'spec/models/appearance_spec.rb'
diff --git a/.rubocop_todo/style/redundant_self.yml b/.rubocop_todo/style/redundant_self.yml
index ec9aaac85dc..ae19cf458be 100644
--- a/.rubocop_todo/style/redundant_self.yml
+++ b/.rubocop_todo/style/redundant_self.yml
@@ -188,7 +188,6 @@ Style/RedundantSelf:
- 'config/initializers/active_record_keyset_pagination.rb'
- 'config/initializers/forbid_sidekiq_in_transactions.rb'
- 'config/initializers/mail_encoding_patch.rb'
- - 'db/post_migrate/20210329102724_add_new_trail_plans.rb'
- 'db/post_migrate/20211029102822_add_open_source_plan.rb'
- 'ee/app/graphql/resolvers/geo/registries_resolver.rb'
- 'ee/app/models/approval_merge_request_rule.rb'
@@ -412,7 +411,6 @@ Style/RedundantSelf:
- 'qa/qa/resource/events/project.rb'
- 'qa/qa/resource/personal_access_token.rb'
- 'qa/qa/resource/protected_branch.rb'
- - 'qa/qa/resource/reusable.rb'
- 'qa/qa/resource/user_gpg.rb'
- 'qa/qa/runtime/release.rb'
- 'qa/qa/scenario/bootable.rb'
diff --git a/.rubocop_todo/style/string_concatenation.yml b/.rubocop_todo/style/string_concatenation.yml
index 91eb45f73cf..91376f61e4c 100644
--- a/.rubocop_todo/style/string_concatenation.yml
+++ b/.rubocop_todo/style/string_concatenation.yml
@@ -22,7 +22,6 @@ Style/StringConcatenation:
- 'app/models/wiki.rb'
- 'app/models/wiki_page.rb'
- 'app/presenters/snippet_blob_presenter.rb'
- - 'app/services/clusters/gcp/finalize_creation_service.rb'
- 'app/services/feature_flags/update_service.rb'
- 'app/services/packages/composer/version_parser_service.rb'
- 'app/services/packages/debian/generate_distribution_key_service.rb'
@@ -35,7 +34,6 @@ Style/StringConcatenation:
- 'config/initializers/1_settings.rb'
- 'config/settings.rb'
- 'config/spring.rb'
- - 'db/migrate/20210412111213_create_security_orchestration_policy_rule_schedule.rb'
- 'ee/app/controllers/admin/elasticsearch_controller.rb'
- 'ee/app/finders/ee/issuables/label_filter.rb'
- 'ee/app/helpers/ee/geo_helper.rb'
@@ -271,7 +269,6 @@ Style/StringConcatenation:
- 'spec/requests/users_controller_spec.rb'
- 'spec/routing/git_http_routing_spec.rb'
- 'spec/services/ci/find_exposed_artifacts_service_spec.rb'
- - 'spec/services/clusters/gcp/finalize_creation_service_spec.rb'
- 'spec/services/clusters/kubernetes/create_or_update_service_account_service_spec.rb'
- 'spec/services/error_tracking/list_projects_service_spec.rb'
- 'spec/services/groups/update_service_spec.rb'
diff --git a/.rubocop_todo/style/symbol_proc.yml b/.rubocop_todo/style/symbol_proc.yml
index de4d3f90e7d..4bcd310b899 100644
--- a/.rubocop_todo/style/symbol_proc.yml
+++ b/.rubocop_todo/style/symbol_proc.yml
@@ -66,8 +66,6 @@ Style/SymbolProc:
- 'config/initializers/doorkeeper_openid_connect.rb'
- 'config/initializers/mail_encoding_patch.rb'
- 'config/settings.rb'
- - 'db/migrate/20210318134427_delete_security_findings_without_uuid.rb'
- - 'db/migrate/20210503105845_add_project_value_stream_id_to_project_stages.rb'
- 'db/post_migrate/20220119094503_populate_audit_event_streaming_verification_token.rb'
- 'db/post_migrate/20220803042352_cleanup_mr_attention_request_todos.rb'
- 'ee/app/helpers/ee/mirror_helper.rb'
diff --git a/app/assets/javascripts/content_editor/components/toolbar_text_style_dropdown.vue b/app/assets/javascripts/content_editor/components/toolbar_text_style_dropdown.vue
index 2bf32a70cd1..9c1d1faca48 100644
--- a/app/assets/javascripts/content_editor/components/toolbar_text_style_dropdown.vue
+++ b/app/assets/javascripts/content_editor/components/toolbar_text_style_dropdown.vue
@@ -1,13 +1,12 @@
<script>
-import { GlDropdown, GlDropdownItem, GlTooltipDirective as GlTooltip } from '@gitlab/ui';
+import { GlTooltipDirective as GlTooltip, GlCollapsibleListbox } from '@gitlab/ui';
import { __ } from '~/locale';
import { TEXT_STYLE_DROPDOWN_ITEMS } from '../constants';
import EditorStateObserver from './editor_state_observer.vue';
export default {
components: {
- GlDropdown,
- GlDropdownItem,
+ GlCollapsibleListbox,
EditorStateObserver,
},
directives: {
@@ -25,15 +24,26 @@ export default {
return activeItem ? activeItem.label : this.$options.i18n.placeholder;
},
+ listboxItems() {
+ return this.$options.items.map((item) => {
+ return {
+ value: item.label,
+ text: item.label,
+ };
+ });
+ },
},
methods: {
+ mapDropdownItemToCommand(dropdownItem) {
+ return this.$options.items.find((option) => option.label === dropdownItem);
+ },
updateActiveItem({ editor }) {
this.activeItem = TEXT_STYLE_DROPDOWN_ITEMS.find((item) =>
editor.isActive(item.contentType, item.commandParams),
);
},
execute(item) {
- const { editorCommand, contentType, commandParams } = item;
+ const { editorCommand, contentType, commandParams } = this.mapDropdownItemToCommand(item);
const value = commandParams?.level;
if (editorCommand) {
@@ -46,8 +56,8 @@ export default {
this.$emit('execute', { contentType, value });
},
- isActive(item) {
- return this.tiptapEditor.isActive(item.contentType, item.commandParams);
+ isActive(dropdownItem) {
+ return this.tiptapEditor.isActive(dropdownItem.contentType, dropdownItem.commandParams);
},
},
items: TEXT_STYLE_DROPDOWN_ITEMS,
@@ -58,25 +68,15 @@ export default {
</script>
<template>
<editor-state-observer @transaction="updateActiveItem">
- <gl-dropdown
- v-gl-tooltip="$options.i18n.placeholder"
- size="small"
- data-qa-selector="text_style_dropdown"
+ <gl-collapsible-listbox
+ v-gl-tooltip.hover="$options.i18n.placeholder"
+ :items="listboxItems"
+ :toggle-text="activeItemLabel"
+ :selected="activeItemLabel"
:disabled="!activeItem"
- :text="activeItemLabel"
- lazy
- >
- <gl-dropdown-item
- v-for="(item, index) in $options.items"
- :key="index"
- is-check-item
- :is-checked="isActive(item)"
- data-qa-selector="text_style_menu_item"
- :data-qa-text-style="item.label"
- @click="execute(item)"
- >
- {{ item.label }}
- </gl-dropdown-item>
- </gl-dropdown>
+ :data-qa-text-style="activeItemLabel"
+ data-qa-selector="text_style_dropdown"
+ @select="execute"
+ />
</editor-state-observer>
</template>
diff --git a/app/assets/javascripts/repository/components/fork_info.vue b/app/assets/javascripts/repository/components/fork_info.vue
new file mode 100644
index 00000000000..980fa140eb5
--- /dev/null
+++ b/app/assets/javascripts/repository/components/fork_info.vue
@@ -0,0 +1,146 @@
+<script>
+import { GlIcon, GlLink, GlSkeletonLoader } from '@gitlab/ui';
+import { s__, sprintf, n__ } from '~/locale';
+import { createAlert } from '~/flash';
+import forkDetailsQuery from '../queries/fork_details.query.graphql';
+
+export const i18n = {
+ forkedFrom: s__('ForkedFromProjectPath|Forked from'),
+ inaccessibleProject: s__('ForkedFromProjectPath|Forked from an inaccessible project.'),
+ upToDate: s__('ForksDivergence|Up to date with the upstream repository.'),
+ unknown: s__('ForksDivergence|This fork has diverged from the upstream repository.'),
+ behind: s__('ForksDivergence|%{behind} %{commit_word} behind'),
+ ahead: s__('ForksDivergence|%{ahead} %{commit_word} ahead of'),
+ behindAndAhead: s__('ForksDivergence|%{messages} the upstream repository.'),
+ error: s__('ForksDivergence|Failed to fetch fork details. Try again later.'),
+};
+
+export default {
+ i18n,
+ components: {
+ GlIcon,
+ GlLink,
+ GlSkeletonLoader,
+ },
+ apollo: {
+ project: {
+ query: forkDetailsQuery,
+ variables() {
+ return {
+ projectPath: this.projectPath,
+ ref: this.selectedRef,
+ };
+ },
+ skip() {
+ return !this.sourceName;
+ },
+ error(error) {
+ createAlert({
+ message: this.$options.i18n.error,
+ captureError: true,
+ error,
+ });
+ },
+ },
+ },
+ props: {
+ projectPath: {
+ type: String,
+ required: true,
+ },
+ selectedRef: {
+ type: String,
+ required: true,
+ },
+ sourceName: {
+ type: String,
+ required: false,
+ default: '',
+ },
+ sourcePath: {
+ type: String,
+ required: false,
+ default: '',
+ },
+ },
+ data() {
+ return {
+ project: {
+ forkDetails: {
+ ahead: null,
+ behind: null,
+ },
+ },
+ };
+ },
+ computed: {
+ isLoading() {
+ return this.$apollo.queries.project.loading;
+ },
+ ahead() {
+ return this.project?.forkDetails?.ahead;
+ },
+ behind() {
+ return this.project?.forkDetails?.behind;
+ },
+ behindText() {
+ return sprintf(this.$options.i18n.behind, {
+ behind: this.behind,
+ commit_word: n__('commit', 'commits', this.behind),
+ });
+ },
+ aheadText() {
+ return sprintf(this.$options.i18n.ahead, {
+ ahead: this.ahead,
+ commit_word: n__('commit', 'commits', this.ahead),
+ });
+ },
+ isUnknownDivergence() {
+ return (!this.ahead && this.ahead !== 0) || (!this.behind && this.behind !== 0);
+ },
+ behindAheadMessage() {
+ const messages = [];
+ if (this.behind > 0) {
+ messages.push(this.behindText);
+ }
+ if (this.ahead > 0) {
+ messages.push(this.aheadText);
+ }
+ return messages.join(', ');
+ },
+ hasBehindAheadMessage() {
+ return this.behindAheadMessage.length > 0;
+ },
+ forkDivergenceMessage() {
+ if (this.isUnknownDivergence) {
+ return this.$options.i18n.unknown;
+ }
+ if (this.hasBehindAheadMessage) {
+ return sprintf(this.$options.i18n.behindAndAhead, {
+ messages: this.behindAheadMessage,
+ });
+ }
+ return this.$options.i18n.upToDate;
+ },
+ },
+};
+</script>
+
+<template>
+ <div class="info-well gl-sm-display-flex gl-flex-direction-column">
+ <div class="well-segment gl-p-5 gl-w-full gl-display-flex">
+ <gl-icon name="fork" :size="16" class="gl-display-block gl-m-4 gl-text-center" />
+ <div v-if="sourceName">
+ {{ $options.i18n.forkedFrom }}
+ <gl-link data-qa-selector="forked_from_link" :href="sourcePath">{{ sourceName }}</gl-link>
+ <gl-skeleton-loader v-if="isLoading" :lines="1" />
+ <div v-else class="gl-text-secondary">
+ {{ forkDivergenceMessage }}
+ </div>
+ </div>
+ <div v-else data-testid="inaccessible-project" class="gl-align-items-center gl-display-flex">
+ {{ $options.i18n.inaccessibleProject }}
+ </div>
+ </div>
+ </div>
+</template>
diff --git a/app/assets/javascripts/repository/index.js b/app/assets/javascripts/repository/index.js
index e9214e3acff..e5d22f50d72 100644
--- a/app/assets/javascripts/repository/index.js
+++ b/app/assets/javascripts/repository/index.js
@@ -11,6 +11,7 @@ import RefSelector from '~/ref/components/ref_selector.vue';
import App from './components/app.vue';
import Breadcrumbs from './components/breadcrumbs.vue';
import DirectoryDownloadLinks from './components/directory_download_links.vue';
+import ForkInfo from './components/fork_info.vue';
import LastCommit from './components/last_commit.vue';
import BlobControls from './components/blob_controls.vue';
import apolloProvider from './graphql';
@@ -63,6 +64,28 @@ export default function setupVueRepositoryList() {
},
});
+ const initForkInfo = () => {
+ const forkEl = document.getElementById('js-fork-info');
+ if (!forkEl) {
+ return null;
+ }
+ const { sourceName, sourcePath } = forkEl.dataset;
+ return new Vue({
+ el: forkEl,
+ apolloProvider,
+ render(h) {
+ return h(ForkInfo, {
+ props: {
+ projectPath,
+ selectedRef: ref,
+ sourceName,
+ sourcePath,
+ },
+ });
+ },
+ });
+ };
+
const initLastCommitApp = () =>
new Vue({
el: document.getElementById('js-last-commit'),
@@ -118,6 +141,7 @@ export default function setupVueRepositoryList() {
initLastCommitApp();
initBlobControlsApp();
+ initForkInfo();
initRefSwitcher();
router.afterEach(({ params: { path } }) => {
diff --git a/app/assets/javascripts/repository/queries/fork_details.query.graphql b/app/assets/javascripts/repository/queries/fork_details.query.graphql
new file mode 100644
index 00000000000..d1a37d00d55
--- /dev/null
+++ b/app/assets/javascripts/repository/queries/fork_details.query.graphql
@@ -0,0 +1,9 @@
+query getForkDetails($projectPath: ID!, $ref: String) {
+ project(fullPath: $projectPath) {
+ id
+ forkDetails(ref: $ref) {
+ ahead
+ behind
+ }
+ }
+}
diff --git a/app/helpers/projects_helper.rb b/app/helpers/projects_helper.rb
index 76dd1e4f6b6..507e05b9967 100644
--- a/app/helpers/projects_helper.rb
+++ b/app/helpers/projects_helper.rb
@@ -479,32 +479,6 @@ module ProjectsHelper
format_cached_count(1000, number)
end
- def fork_divergence_message(counts)
- messages = []
-
- if counts[:behind].nil? || counts[:ahead].nil?
- return s_('ForksDivergence|Fork has diverged from upstream repository')
- end
-
- if counts[:behind] > 0
- messages << s_("ForksDivergence|%{behind} %{commit_word} behind") % {
- behind: counts[:behind], commit_word: n_('commit', 'commits', counts[:behind])
- }
- end
-
- if counts[:ahead] > 0
- messages << s_("ForksDivergence|%{ahead} %{commit_word} ahead of") % {
- ahead: counts[:ahead], commit_word: n_('commit', 'commits', counts[:ahead])
- }
- end
-
- if messages.blank?
- s_('ForksDivergence|Up to date with upstream repository')
- else
- s_("ForksDivergence|%{messages} upstream repository") % { messages: messages.join(', ') }
- end
- end
-
private
def localized_access_names
diff --git a/app/helpers/url_helper.rb b/app/helpers/url_helper.rb
index b4168781b4c..9083ca4e8dd 100644
--- a/app/helpers/url_helper.rb
+++ b/app/helpers/url_helper.rb
@@ -2,6 +2,10 @@
module UrlHelper
def escaped_url(url)
+ return unless url
+
Addressable::URI.escape(url)
+ rescue Addressable::URI::InvalidURIError
+ nil
end
end
diff --git a/app/views/projects/_files.html.haml b/app/views/projects/_files.html.haml
index c278b15cc38..e4eed63f45a 100644
--- a/app/views/projects/_files.html.haml
+++ b/app/views/projects/_files.html.haml
@@ -4,6 +4,7 @@
- ref = local_assigns.fetch(:ref) { current_ref }
- project = local_assigns.fetch(:project) { @project }
- add_page_startup_api_call logs_file_project_ref_path(@project, ref, @path, format: "json", offset: 0)
+- source = visible_fork_source(@project)
- if readme_path = @project.repository.readme_path
- add_page_startup_api_call project_blob_path(@project, tree_join(@ref, readme_path), viewer: "rich", format: "json")
@@ -17,7 +18,7 @@
= render 'projects/tree/tree_header', tree: @tree, is_project_overview: is_project_overview
- if project.forked? && Feature.enabled?(:fork_divergence_counts, @project.fork_source)
- = render 'projects/fork_info'
+ #js-fork-info{ data: { source_name: source ? source.full_name : '', source_path: source ? project_path(source) : '' } }
- if is_project_overview
.project-buttons.gl-mb-5.js-show-on-project-root{ data: { qa_selector: 'project_buttons' } }
diff --git a/app/views/projects/_fork_info.html.haml b/app/views/projects/_fork_info.html.haml
deleted file mode 100644
index 7fe30214e97..00000000000
--- a/app/views/projects/_fork_info.html.haml
+++ /dev/null
@@ -1,14 +0,0 @@
-.info-well.gl-sm-display-flex.gl-flex-direction-column
- .well-segment.gl-p-5.gl-w-full.gl-display-flex
- .gl-icon.s32.gl-mt-4.gl-mr-4.gl-text-center
- = sprite_icon('fork')
- - source = visible_fork_source(@project)
- - if source
- %div
- #{ s_('ForkedFromProjectPath|Forked from') }
- = link_to source.full_name, project_path(source), data: { qa_selector: 'forked_from_link' }
- .gl-text-secondary
- = fork_divergence_message(::Projects::Forks::DivergenceCounts.new(@project, @ref).counts)
- - else
- .gl-py-4
- = s_('ForkedFromProjectPath|Forked from an inaccessible project')
diff --git a/app/views/projects/_home_panel.html.haml b/app/views/projects/_home_panel.html.haml
index dc426f2f6b7..1154640ccfb 100644
--- a/app/views/projects/_home_panel.html.haml
+++ b/app/views/projects/_home_panel.html.haml
@@ -60,7 +60,7 @@
#{ s_('ForkedFromProjectPath|Forked from') }
= link_to source.full_name, project_path(source), data: { qa_selector: 'forked_from_link' }
- else
- = s_('ForkedFromProjectPath|Forked from an inaccessible project')
+ = s_('ForkedFromProjectPath|Forked from an inaccessible project.')
= render_if_exists "projects/home_mirror"
diff --git a/config/feature_flags/development/markdown_dollar_math.yml b/config/feature_flags/development/markdown_dollar_math.yml
deleted file mode 100644
index 842837ea688..00000000000
--- a/config/feature_flags/development/markdown_dollar_math.yml
+++ /dev/null
@@ -1,8 +0,0 @@
----
-name: markdown_dollar_math
-introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/94111
-rollout_issue_url: https://gitlab.com/gitlab-org/gitlab/-/issues/371180
-milestone: '15.4'
-type: development
-group: group::project management
-default_enabled: false
diff --git a/db/docs/achievements.yml b/db/docs/achievements.yml
index 20f9d1616b3..04d17defa06 100644
--- a/db/docs/achievements.yml
+++ b/db/docs/achievements.yml
@@ -1,7 +1,7 @@
---
table_name: achievements
classes:
-- Achievements::Achivement
+- Achievements::Achievement
feature_categories:
- users
description: Achievements which can be created by namespaces to award them to users
diff --git a/db/docs/ci_job_artifacts.yml b/db/docs/ci_job_artifacts.yml
index bff81fa5ae9..92c43eaf04f 100644
--- a/db/docs/ci_job_artifacts.yml
+++ b/db/docs/ci_job_artifacts.yml
@@ -2,7 +2,6 @@
table_name: ci_job_artifacts
classes:
- Ci::JobArtifact
-- Gitlab::Ci::JobArtifact
feature_categories:
- build_artifacts
description: Stores artifacts produced by a build.
diff --git a/db/docs/dast_pre_scan_verifications.yml b/db/docs/dast_pre_scan_verifications.yml
index 45d39335264..cc537aa87d6 100644
--- a/db/docs/dast_pre_scan_verifications.yml
+++ b/db/docs/dast_pre_scan_verifications.yml
@@ -1,7 +1,7 @@
---
table_name: dast_pre_scan_verifications
classes:
-- Dast::PreScanVerifications
+- Dast::PreScanVerification
feature_categories:
- dynamic_application_security_testing
description: Verification status for DAST Profiles
diff --git a/db/docs/dependency_list_exports.yml b/db/docs/dependency_list_exports.yml
index 14d222edb06..1597f17c80c 100644
--- a/db/docs/dependency_list_exports.yml
+++ b/db/docs/dependency_list_exports.yml
@@ -1,5 +1,7 @@
---
table_name: dependency_list_exports
+classes:
+- Dependencies::DependencyListExport
feature_categories:
- dependency_management
description: Dependency list exported data
diff --git a/db/docs/dingtalk_tracker_data.yml b/db/docs/dingtalk_tracker_data.yml
index 6994bd805a7..cd9e8f86602 100644
--- a/db/docs/dingtalk_tracker_data.yml
+++ b/db/docs/dingtalk_tracker_data.yml
@@ -1,7 +1,6 @@
---
table_name: dingtalk_tracker_data
-classes:
-- Integrations::DingtalkTrackerData
+classes: []
feature_categories:
- integrations
description: Data related to the Dingtalk integration (JiHu-specific, see https://jihulab.com/gitlab-cn/gitlab/-/merge_requests/417).
diff --git a/db/docs/ghost_user_migrations.yml b/db/docs/ghost_user_migrations.yml
index d90eca9f153..245e6735cd6 100644
--- a/db/docs/ghost_user_migrations.yml
+++ b/db/docs/ghost_user_migrations.yml
@@ -1,7 +1,7 @@
---
table_name: ghost_user_migrations
classes:
-- GhostUserMigration
+- Users::GhostUserMigration
feature_categories:
- users
description: Users records awaiting for their associated records to be migrated to ghost user
diff --git a/db/docs/integrations.yml b/db/docs/integrations.yml
index 52d719e19da..5bb4f448541 100644
--- a/db/docs/integrations.yml
+++ b/db/docs/integrations.yml
@@ -2,6 +2,7 @@
table_name: integrations
classes:
- Integration
+- Integrations::AppleAppStore
- Integrations::Asana
- Integrations::Assembla
- Integrations::Bamboo
@@ -9,7 +10,9 @@ classes:
- Integrations::BaseCi
- Integrations::BaseIssueTracker
- Integrations::BaseMonitoring
+- Integrations::BaseSlackNotification
- Integrations::BaseSlashCommands
+- Integrations::BaseThirdPartyWiki
- Integrations::Bugzilla
- Integrations::Buildkite
- Integrations::Campfire
diff --git a/db/docs/merge_request_predictions.yml b/db/docs/merge_request_predictions.yml
index 60680a73583..9d1ef61c66a 100644
--- a/db/docs/merge_request_predictions.yml
+++ b/db/docs/merge_request_predictions.yml
@@ -1,7 +1,7 @@
---
table_name: merge_request_predictions
classes:
-- MergeRequest::Prediction
+- MergeRequest::Predictions
feature_categories:
- workflow_automation
description: Includes machine learning model predictions
diff --git a/db/docs/ml_candidate_params.yml b/db/docs/ml_candidate_params.yml
index 2d0dc29795e..334ba7420e8 100644
--- a/db/docs/ml_candidate_params.yml
+++ b/db/docs/ml_candidate_params.yml
@@ -1,9 +1,9 @@
---
table_name: ml_candidate_params
classes:
- - Ml::CandidateParams
+- Ml::CandidateParam
feature_categories:
- - mlops
+- mlops
description: Configuration parameters recorded for a Machine Learning model candidate
introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/95168
milestone: '15.4'
diff --git a/db/docs/namespace_bans.yml b/db/docs/namespace_bans.yml
index af68cf0b48b..dbb1c012bda 100644
--- a/db/docs/namespace_bans.yml
+++ b/db/docs/namespace_bans.yml
@@ -1,10 +1,10 @@
---
table_name: namespace_bans
classes:
- - NamespaceBan
+- Namespaces::NamespaceBan
feature_categories:
- - instance_resiliency
+- instance_resiliency
description: Contains users banned from namespaces
introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/91271
-milestone: "15.2"
+milestone: '15.2'
gitlab_schema: gitlab_main
diff --git a/db/docs/namespace_details.yml b/db/docs/namespace_details.yml
index d256085bf00..35e57d7c686 100644
--- a/db/docs/namespace_details.yml
+++ b/db/docs/namespace_details.yml
@@ -1,7 +1,7 @@
---
table_name: namespace_details
classes:
-- NamespaceDetail
+- Namespace::Detail
feature_categories:
- subgroups
description: Used to store details for namespaces
diff --git a/db/docs/packages_rpm_repository_files.yml b/db/docs/packages_rpm_repository_files.yml
index 7044b58e22a..4e62774e3c8 100644
--- a/db/docs/packages_rpm_repository_files.yml
+++ b/db/docs/packages_rpm_repository_files.yml
@@ -1,7 +1,7 @@
---
table_name: packages_rpm_repository_files
classes:
-- Packages::RPM::RepositoryFile
+- Packages::Rpm::RepositoryFile
feature_categories:
- package_registry
description: Package registry file links and file metadata for RPM packages
diff --git a/db/docs/project_wiki_repository_states.yml b/db/docs/project_wiki_repository_states.yml
index c12e904b339..e6faeadf8a6 100644
--- a/db/docs/project_wiki_repository_states.yml
+++ b/db/docs/project_wiki_repository_states.yml
@@ -1,7 +1,7 @@
---
table_name: project_wiki_repository_states
classes:
-- ProjectWikiRepositoryState
+- Geo::ProjectWikiRepositoryState
feature_categories:
- geo_replication
description: Separate table for project wikis containing Geo verification metadata.
diff --git a/db/docs/slack_api_scopes.yml b/db/docs/slack_api_scopes.yml
index 467880dccf5..184c5bbebd4 100644
--- a/db/docs/slack_api_scopes.yml
+++ b/db/docs/slack_api_scopes.yml
@@ -1,7 +1,7 @@
---
table_name: slack_api_scopes
classes:
-- Integrations::KnownSlackApiScope
+- Integrations::SlackWorkspace::ApiScope
feature_categories:
- integrations
description: Data related to the Slack application integration.
diff --git a/db/docs/slack_integrations_scopes.yml b/db/docs/slack_integrations_scopes.yml
index b09c1b4a51e..773bf9dd57d 100644
--- a/db/docs/slack_integrations_scopes.yml
+++ b/db/docs/slack_integrations_scopes.yml
@@ -1,7 +1,7 @@
---
table_name: slack_integrations_scopes
classes:
-- Integrations::SlackIntegrationsKnownApiScope
+- Integrations::SlackWorkspace::IntegrationApiScope
feature_categories:
- integrations
description: Data related to the Slack application integration.
diff --git a/db/docs/timelog_categories.yml b/db/docs/timelog_categories.yml
index 8448e3dd59f..a8874837a35 100644
--- a/db/docs/timelog_categories.yml
+++ b/db/docs/timelog_categories.yml
@@ -1,7 +1,7 @@
---
table_name: timelog_categories
classes:
-- TimelogCategory
+- TimeTracking::TimelogCategory
feature_categories:
- team_planning
description: Categories that can be associated to a timelog to categorize them
diff --git a/db/docs/user_namespace_callouts.yml b/db/docs/user_namespace_callouts.yml
index 3f057e21aee..7ffc2e0c209 100644
--- a/db/docs/user_namespace_callouts.yml
+++ b/db/docs/user_namespace_callouts.yml
@@ -1,10 +1,9 @@
---
table_name: user_namespace_callouts
-classes:
-- Users::NamespaceCallout
+classes: []
feature_categories:
- navigation
description: Contains records of which users have dismissed a callout, grouped by namespace.
introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/91092
milestone: '15.2'
-gitlab_schema: gitlab_main
+gitlab_schema: gitlab_main \ No newline at end of file
diff --git a/db/docs/views/postgres_partitioned_tables.yml b/db/docs/views/postgres_partitioned_tables.yml
index ddec7550e80..c23b582072e 100644
--- a/db/docs/views/postgres_partitioned_tables.yml
+++ b/db/docs/views/postgres_partitioned_tables.yml
@@ -2,7 +2,7 @@
view_name: postgres_partitioned_tables
description: TODO
classes:
-- Gitlab::Database::PostgresPartitionedTables
+- Gitlab::Database::PostgresPartitionedTable
feature_categories:
- database
introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/45591
diff --git a/db/docs/vulnerability_remediations.yml b/db/docs/vulnerability_remediations.yml
index d522a2147c0..e2de83561d1 100644
--- a/db/docs/vulnerability_remediations.yml
+++ b/db/docs/vulnerability_remediations.yml
@@ -1,6 +1,7 @@
---
table_name: vulnerability_remediations
classes:
+- Security::Ingestion::Tasks::IngestRemediations::RemediationBulkInsertProxy
- Vulnerabilities::Remediation
feature_categories:
- vulnerability_management
diff --git a/db/docs/vulnerability_state_transitions.yml b/db/docs/vulnerability_state_transitions.yml
index 0f168f7a0ee..1a669b1527d 100644
--- a/db/docs/vulnerability_state_transitions.yml
+++ b/db/docs/vulnerability_state_transitions.yml
@@ -1,9 +1,9 @@
---
table_name: vulnerability_state_transitions
classes:
- - Vulnerabilities::VulnerabilityStateTransition
+- Vulnerabilities::StateTransition
feature_categories:
- - vulnerability_management
+- vulnerability_management
description: Stores state transitions of a Vulnerability
introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/87957
milestone: '15.1'
diff --git a/db/docs/work_item_parent_links.yml b/db/docs/work_item_parent_links.yml
index 3966154a17e..ca933345fc1 100644
--- a/db/docs/work_item_parent_links.yml
+++ b/db/docs/work_item_parent_links.yml
@@ -1,7 +1,6 @@
---
table_name: work_item_parent_links
classes:
-- WorkItem
- WorkItems::ParentLink
feature_categories:
- team_planning
diff --git a/db/migrate/20230105170414_rename_amount_used_column_on_ci_namespace_monthly_usages_table.rb b/db/migrate/20230105170414_rename_amount_used_column_on_ci_namespace_monthly_usages_table.rb
new file mode 100644
index 00000000000..ff59b1e5987
--- /dev/null
+++ b/db/migrate/20230105170414_rename_amount_used_column_on_ci_namespace_monthly_usages_table.rb
@@ -0,0 +1,24 @@
+# frozen_string_literal: true
+
+class RenameAmountUsedColumnOnCiNamespaceMonthlyUsagesTable < Gitlab::Database::Migration[2.1]
+ enable_lock_retries!
+
+ TRIGGER_NAME = 'sync_namespaces_amount_used_columns'
+ def up
+ rename_column :ci_namespace_monthly_usages, :amount_used, :tmp_amount_used
+ rename_column :ci_namespace_monthly_usages, :new_amount_used, :amount_used
+ rename_column :ci_namespace_monthly_usages, :tmp_amount_used, :new_amount_used
+
+ remove_rename_triggers(:ci_namespace_monthly_usages, TRIGGER_NAME)
+ install_rename_triggers(:ci_namespace_monthly_usages, :amount_used, :new_amount_used, trigger_name: TRIGGER_NAME)
+ end
+
+ def down
+ rename_column :ci_namespace_monthly_usages, :amount_used, :tmp_amount_used
+ rename_column :ci_namespace_monthly_usages, :new_amount_used, :amount_used
+ rename_column :ci_namespace_monthly_usages, :tmp_amount_used, :new_amount_used
+
+ remove_rename_triggers(:ci_namespace_monthly_usages, TRIGGER_NAME)
+ install_rename_triggers(:ci_namespace_monthly_usages, :amount_used, :new_amount_used, trigger_name: TRIGGER_NAME)
+ end
+end
diff --git a/db/post_migrate/20230105172120_sync_new_amount_used_with_amount_used_on_ci_namespace_monthly_usages_table.rb b/db/post_migrate/20230105172120_sync_new_amount_used_with_amount_used_on_ci_namespace_monthly_usages_table.rb
new file mode 100644
index 00000000000..4181d6a0f92
--- /dev/null
+++ b/db/post_migrate/20230105172120_sync_new_amount_used_with_amount_used_on_ci_namespace_monthly_usages_table.rb
@@ -0,0 +1,19 @@
+# frozen_string_literal: true
+
+class SyncNewAmountUsedWithAmountUsedOnCiNamespaceMonthlyUsagesTable < Gitlab::Database::Migration[2.1]
+ disable_ddl_transaction!
+
+ restrict_gitlab_migration gitlab_schema: :gitlab_ci
+
+ def up
+ # This migration will only run on rollback, there is no need for the positive case
+ end
+
+ def down
+ project_usages = define_batchable_model('ci_namespace_monthly_usages')
+
+ project_usages.each_batch(of: 500) do |batch|
+ batch.where('amount_used > 0').update_all('new_amount_used = amount_used')
+ end
+ end
+end
diff --git a/db/post_migrate/20230105180002_remove_new_amount_used_column_on_ci_namespace_monthly_usages.rb b/db/post_migrate/20230105180002_remove_new_amount_used_column_on_ci_namespace_monthly_usages.rb
new file mode 100644
index 00000000000..cebda3e353e
--- /dev/null
+++ b/db/post_migrate/20230105180002_remove_new_amount_used_column_on_ci_namespace_monthly_usages.rb
@@ -0,0 +1,22 @@
+# frozen_string_literal: true
+
+class RemoveNewAmountUsedColumnOnCiNamespaceMonthlyUsages < Gitlab::Database::Migration[2.1]
+ enable_lock_retries!
+
+ TRIGGER_NAME = 'sync_namespaces_amount_used_columns'
+ def up
+ remove_rename_triggers :ci_namespace_monthly_usages, TRIGGER_NAME
+ remove_column :ci_namespace_monthly_usages, :new_amount_used
+ end
+
+ def down
+ return if column_exists?(:ci_namespace_monthly_usages, :new_amount_used)
+
+ # rubocop:disable Migration/SchemaAdditionMethodsNoPost, Migration/AddColumnsToWideTables
+ add_column :ci_namespace_monthly_usages, :new_amount_used, :decimal, default: 0.0,
+ precision: 18, scale: 2, null: false
+ # rubocop:enable Migration/SchemaAdditionMethodsNoPost, Migration/AddColumnsToWideTables
+
+ install_rename_triggers :ci_namespace_monthly_usages, :amount_used, :new_amount_used, trigger_name: TRIGGER_NAME
+ end
+end
diff --git a/db/post_migrate/20230111125148_add_user_id_and_source_id_and_source_type_and_member_role_id_index_to_members.rb b/db/post_migrate/20230111125148_add_user_id_and_source_id_and_source_type_and_member_role_id_index_to_members.rb
new file mode 100644
index 00000000000..82e2ea8bf29
--- /dev/null
+++ b/db/post_migrate/20230111125148_add_user_id_and_source_id_and_source_type_and_member_role_id_index_to_members.rb
@@ -0,0 +1,15 @@
+# frozen_string_literal: true
+
+class AddUserIdAndSourceIdAndSourceTypeAndMemberRoleIdIndexToMembers < Gitlab::Database::Migration[2.1]
+ disable_ddl_transaction!
+
+ INDEX_NAME = 'idx_members_on_user_and_source_and_source_type_and_member_role'
+
+ def up
+ add_concurrent_index :members, [:user_id, :source_id, :source_type, :member_role_id], name: INDEX_NAME
+ end
+
+ def down
+ remove_concurrent_index_by_name :members, name: INDEX_NAME
+ end
+end
diff --git a/db/post_migrate/20230111125150_drop_user_id_and_source_id_and_source_type_index_from_members.rb b/db/post_migrate/20230111125150_drop_user_id_and_source_id_and_source_type_index_from_members.rb
new file mode 100644
index 00000000000..c1c56a4073c
--- /dev/null
+++ b/db/post_migrate/20230111125150_drop_user_id_and_source_id_and_source_type_index_from_members.rb
@@ -0,0 +1,15 @@
+# frozen_string_literal: true
+
+class DropUserIdAndSourceIdAndSourceTypeIndexFromMembers < Gitlab::Database::Migration[2.1]
+ disable_ddl_transaction!
+
+ INDEX_NAME = 'index_members_on_user_id_source_id_source_type'
+
+ def up
+ remove_concurrent_index_by_name :members, name: INDEX_NAME
+ end
+
+ def down
+ add_concurrent_index :members, [:user_id, :source_id, :source_type], name: INDEX_NAME
+ end
+end
diff --git a/db/schema_migrations/20230105170414 b/db/schema_migrations/20230105170414
new file mode 100644
index 00000000000..6892cba20ac
--- /dev/null
+++ b/db/schema_migrations/20230105170414
@@ -0,0 +1 @@
+14de51f7ba812f5a4159e18f2f537ea91e21c1f5fc6c297417409c815c2ac0be \ No newline at end of file
diff --git a/db/schema_migrations/20230105172120 b/db/schema_migrations/20230105172120
new file mode 100644
index 00000000000..d849fb97d65
--- /dev/null
+++ b/db/schema_migrations/20230105172120
@@ -0,0 +1 @@
+b3c4386dd49156991f2c9efe2516f96540d0bad81965a7be56f319a4dbe13580 \ No newline at end of file
diff --git a/db/schema_migrations/20230105180002 b/db/schema_migrations/20230105180002
new file mode 100644
index 00000000000..94ce14f4739
--- /dev/null
+++ b/db/schema_migrations/20230105180002
@@ -0,0 +1 @@
+3dcf0ced36dc29ebb3e79bbe137e7e0ca76e74d30bebaec5971e91eb858ae145 \ No newline at end of file
diff --git a/db/schema_migrations/20230111125148 b/db/schema_migrations/20230111125148
new file mode 100644
index 00000000000..d152198f42c
--- /dev/null
+++ b/db/schema_migrations/20230111125148
@@ -0,0 +1 @@
+3df52ce2b3bfb29884d73cb69aa317ccca8f13c06a4e5cc6622347c52b599c50 \ No newline at end of file
diff --git a/db/schema_migrations/20230111125150 b/db/schema_migrations/20230111125150
new file mode 100644
index 00000000000..21009223bc2
--- /dev/null
+++ b/db/schema_migrations/20230111125150
@@ -0,0 +1 @@
+414c3da79aa6ae6b6a609b7dae715c0121f62d84a76400b745c0b8eaf27433e0 \ No newline at end of file
diff --git a/db/structure.sql b/db/structure.sql
index 14a30a5ca3a..710ea844fb3 100644
--- a/db/structure.sql
+++ b/db/structure.sql
@@ -225,15 +225,6 @@ RETURN NULL;
END
$$;
-CREATE FUNCTION sync_namespaces_amount_used_columns() RETURNS trigger
- LANGUAGE plpgsql
- AS $$
-BEGIN
- NEW."new_amount_used" := NEW."amount_used";
- RETURN NEW;
-END;
-$$;
-
CREATE FUNCTION trigger_1a857e8db6cd() RETURNS trigger
LANGUAGE plpgsql
AS $$
@@ -13052,11 +13043,10 @@ CREATE TABLE ci_namespace_monthly_usages (
id bigint NOT NULL,
namespace_id bigint NOT NULL,
date date NOT NULL,
- amount_used numeric(18,2) DEFAULT 0.0 NOT NULL,
notification_level smallint DEFAULT 100 NOT NULL,
shared_runners_duration integer DEFAULT 0 NOT NULL,
created_at timestamp with time zone,
- new_amount_used numeric(18,4) DEFAULT 0.0 NOT NULL,
+ amount_used numeric(18,4) DEFAULT 0.0 NOT NULL,
CONSTRAINT ci_namespace_monthly_usages_year_month_constraint CHECK ((date = date_trunc('month'::text, (date)::timestamp with time zone)))
);
@@ -28327,6 +28317,8 @@ CREATE INDEX idx_keys_expires_at_and_before_expiry_notification_undelivered ON k
CREATE INDEX idx_members_created_at_user_id_invite_token ON members USING btree (created_at) WHERE ((invite_token IS NOT NULL) AND (user_id IS NULL));
+CREATE INDEX idx_members_on_user_and_source_and_source_type_and_member_role ON members USING btree (user_id, source_id, source_type, member_role_id);
+
CREATE INDEX idx_merge_requests_on_id_and_merge_jid ON merge_requests USING btree (id, merge_jid) WHERE ((merge_jid IS NOT NULL) AND (state_id = 4));
CREATE INDEX idx_merge_requests_on_merged_state ON merge_requests USING btree (id) WHERE (state_id = 3);
@@ -30025,8 +30017,6 @@ CREATE INDEX index_members_on_user_id_and_access_level_requested_at_is_null ON m
CREATE INDEX index_members_on_user_id_created_at ON members USING btree (user_id, created_at) WHERE ((ldap = true) AND ((type)::text = 'GroupMember'::text) AND ((source_type)::text = 'Namespace'::text));
-CREATE INDEX index_members_on_user_id_source_id_source_type ON members USING btree (user_id, source_id, source_type);
-
CREATE INDEX index_merge_request_assignees_on_merge_request_id ON merge_request_assignees USING btree (merge_request_id);
CREATE UNIQUE INDEX index_merge_request_assignees_on_merge_request_id_and_user_id ON merge_request_assignees USING btree (merge_request_id, user_id);
@@ -33121,8 +33111,6 @@ CREATE TRIGGER nullify_merge_request_metrics_build_data_on_update BEFORE UPDATE
CREATE TRIGGER projects_loose_fk_trigger AFTER DELETE ON projects REFERENCING OLD TABLE AS old_table FOR EACH STATEMENT EXECUTE FUNCTION insert_into_loose_foreign_keys_deleted_records();
-CREATE TRIGGER sync_namespaces_amount_used_columns BEFORE INSERT OR UPDATE ON ci_namespace_monthly_usages FOR EACH ROW EXECUTE FUNCTION sync_namespaces_amount_used_columns();
-
CREATE TRIGGER trigger_1a857e8db6cd BEFORE INSERT OR UPDATE ON vulnerability_occurrences FOR EACH ROW EXECUTE FUNCTION trigger_1a857e8db6cd();
CREATE TRIGGER trigger_delete_project_namespace_on_project_delete AFTER DELETE ON projects FOR EACH ROW WHEN ((old.project_namespace_id IS NOT NULL)) EXECUTE FUNCTION delete_associated_project_namespace();
diff --git a/doc/administration/gitaly/index.md b/doc/administration/gitaly/index.md
index 32b44552b1a..b2b6962a222 100644
--- a/doc/administration/gitaly/index.md
+++ b/doc/administration/gitaly/index.md
@@ -570,9 +570,9 @@ To migrate to Gitaly Cluster:
[repository storage recommendations](praefect.md#repository-storage-recommendations).
1. Create and configure [Gitaly Cluster](praefect.md).
1. Configure the existing Gitaly instance [to use TCP](praefect.md#use-tcp-for-existing-gitlab-instances), if not already configured that way.
-1. [Move the repositories](../operations/moving_repositories.md#move-repositories). To migrate to
+1. [Move the repositories](../operations/moving_repositories.md#moving-repositories). To migrate to
Gitaly Cluster, existing repositories stored outside Gitaly Cluster must be moved. There is no
- automatic migration but the moves can be scheduled with the GitLab API.
+ automatic migration, but the moves can be scheduled with the GitLab API.
Even if you don't use the `default` repository storage, you must ensure it is configured.
[Read more about this limitation](configure_gitaly.md#gitlab-requires-a-default-repository-storage).
@@ -583,7 +583,7 @@ If the limitations and tradeoffs of Gitaly Cluster are found to be not suitable
off Gitaly Cluster to a sharded Gitaly instance:
1. Create and configure a new [Gitaly server](configure_gitaly.md#run-gitaly-on-its-own-server).
-1. [Move the repositories](../operations/moving_repositories.md#move-repositories) to the newly created storage. You can
+1. [Move the repositories](../operations/moving_repositories.md#moving-repositories) to the newly created storage. You can
move them by shard or by group, which gives you the opportunity to spread them over multiple Gitaly servers.
## Direct access to Git in GitLab
diff --git a/doc/administration/job_logs.md b/doc/administration/job_logs.md
index 324739696a3..c8702260ccb 100644
--- a/doc/administration/job_logs.md
+++ b/doc/administration/job_logs.md
@@ -39,22 +39,10 @@ To change the location where the job logs are stored:
:::TabTitle Linux package (Omnibus)
1. Optional. If you have existing job logs, pause continuous integration data
- processing. Jobs in progress are not affected, based on how
- [data flow](#data-flow) works.
-
-1. Edit `/etc/gitlab/gitlab.rb`:
-
- ```ruby
- sidekiq['queue_selector'] = true
- sidekiq['queue_groups'] = [
- "feature_category!=continuous_integration"
- ]
- ```
-
-1. Save the file and reconfigure GitLab:
+ processing by temporarily stopping Sidekiq:
```shell
- sudo gitlab-ctl reconfigure
+ sudo gitlab-ctl stop sidekiq
```
1. Set the new storage location in `/etc/gitlab/gitlab.rb`:
@@ -72,15 +60,16 @@ To change the location where the job logs are stored:
1. Use `rsync` to move job logs from the current location to the new location:
```shell
- sudo rsync -avzh --remove-source-files --ignore-existing --progress /var/opt/gitlab/gitlab-ci/builds/ /mnt/gitlab-ci/builds
+ sudo rsync -avzh --remove-source-files --ignore-existing --progress /var/opt/gitlab/gitlab-ci/builds/ /mnt/gitlab-ci/builds/
```
Use `--ignore-existing` so you don't override new job logs with older versions of the same log.
-1. Resume continuous integration data processing by editing `/etc/gitlab/gitlab.rb` and removing the `sidekiq` setting you updated earlier.
-1. Save the file and reconfigure GitLab:
+
+1. If you opted to pause the continuous integration data processing, you can
+ start Sidekiq again:
```shell
- sudo gitlab-ctl reconfigure
+ sudo gitlab-ctl start sidekiq
```
1. Remove the old job logs storage location:
@@ -91,6 +80,17 @@ To change the location where the job logs are stored:
:::TabTitle Self-compiled (source)
+1. Optional. If you have existing job logs, pause continuous integration data
+ processing by temporarily stopping Sidekiq:
+
+ ```shell
+ # For systems running systemd
+ sudo systemctl stop gitlab-sidekiq
+
+ # For systems running SysV init
+ sudo service gitlab stop
+ ```
+
1. Edit `/home/git/gitlab/config/gitlab.yml` to set the new storage location:
```yaml
@@ -109,6 +109,31 @@ To change the location where the job logs are stored:
sudo service gitlab restart
```
+1. Use `rsync` to move job logs from the current location to the new location:
+
+ ```shell
+ sudo rsync -avzh --remove-source-files --ignore-existing --progress /home/git/gitlab/builds/ /mnt/gitlab-ci/builds/
+ ```
+
+ Use `--ignore-existing` so you don't override new job logs with older versions of the same log.
+
+1. If you opted to pause the continuous integration data processing, you can
+ start Sidekiq again:
+
+ ```shell
+ # For systems running systemd
+ sudo systemctl start gitlab-sidekiq
+
+ # For systems running SysV init
+ sudo service gitlab start
+ ```
+
+1. Remove the old job logs storage location:
+
+ ```shell
+ sudo rm -rf /home/git/gitlab/builds
+ ```
+
::EndTabs
## Uploading logs to object storage
diff --git a/doc/administration/operations/moving_repositories.md b/doc/administration/operations/moving_repositories.md
index 64118082467..5066f6d99d8 100644
--- a/doc/administration/operations/moving_repositories.md
+++ b/doc/administration/operations/moving_repositories.md
@@ -8,7 +8,7 @@ info: To determine the technical writer assigned to the Stage/Group associated w
You can move all repositories managed by GitLab to another file system or another server.
-## Moving data within a GitLab instance
+## Moving data in a GitLab instance
The GitLab API is the recommended way to move Git repositories:
@@ -28,10 +28,10 @@ For more information, see:
querying and scheduling group repository moves **(PREMIUM SELF)**.
- [Migrate to Gitaly Cluster](../gitaly/index.md#migrate-to-gitaly-cluster).
-### Move Repositories
+### Moving Repositories
GitLab repositories can be associated with projects, groups, and snippets. Each of these types
-have a separate API to schedule the respective repositories to move. To move all repositories
+has a separate API to schedule the respective repositories to move. To move all repositories
on a GitLab instance, each of these types must be scheduled to move for each storage.
WARNING:
@@ -41,7 +41,7 @@ To move repositories into a [Gitaly Cluster](../gitaly/index.md#gitaly-cluster)
WARNING:
Repositories can be **permanently deleted** by a call to `/projects/:project_id/repository_storage_moves`
that attempts to move a project already stored in a Gitaly Cluster back into that cluster.
-See [this issue for more details](https://gitlab.com/gitlab-org/gitaly/-/issues/3752). This was fixed in
+See [this issue for more details](https://gitlab.com/gitlab-org/gitaly/-/issues/3752). This issue was fixed in
GitLab 14.3.0 and backported to
[14.2.4](https://about.gitlab.com/releases/2021/09/17/gitlab-14-2-4-released/),
[14.1.6](https://about.gitlab.com/releases/2021/09/27/gitlab-14-1-6-released/),
@@ -59,16 +59,16 @@ To move repositories:
so that the new storages receives all new projects. This stops new projects from being created
on existing storages while the migration is in progress.
1. Schedule repository moves for:
- - [All projects](#bulk-schedule-project-moves) or
+ - [All projects](#move-all-projects) or
[individual projects](../../api/project_repository_storage_moves.md#schedule-a-repository-storage-move-for-a-project).
- - [All snippets](#bulk-schedule-snippet-moves) or
+ - [All snippets](#move-all-snippets) or
[individual snippets](../../api/snippet_repository_storage_moves.md#schedule-a-repository-storage-move-for-a-snippet).
- - [All groups](#bulk-schedule-group-moves) or
+ - [All groups](#move-all-groups) or
[individual groups](../../api/group_repository_storage_moves.md#schedule-a-repository-storage-move-for-a-group). **(PREMIUM SELF)**
-### Bulk schedule project moves
+#### Move all projects
-Use the API to schedule project moves:
+To move all projects by using the API:
1. [Schedule repository storage moves for all projects on a storage shard](../../api/project_repository_storage_moves.md#schedule-repository-storage-moves-for-all-projects-on-a-storage-shard)
using the API. For example:
@@ -103,9 +103,9 @@ Use the API to schedule project moves:
1. Repeat for each storage as required.
-### Bulk schedule snippet moves
+#### Move all snippets
-Use the API to schedule snippet moves:
+To move all snippets by using the API:
1. [Schedule repository storage moves for all snippets on a storage shard](../../api/snippet_repository_storage_moves.md#schedule-repository-storage-moves-for-all-snippets-on-a-storage-shard). For example:
@@ -116,8 +116,8 @@ Use the API to schedule snippet moves:
"https://gitlab.example.com/api/v4/snippet_repository_storage_moves"
```
-1. [Query the most recent repository moves](../../api/snippet_repository_storage_moves.md#retrieve-all-snippet-repository-storage-moves)
-The response indicates either:
+1. [Query the most recent repository moves](../../api/snippet_repository_storage_moves.md#retrieve-all-snippet-repository-storage-moves).
+ The response indicates either:
- The moves have completed successfully. The `state` field is `finished`.
- The moves are in progress. Re-query the repository move until it completes successfully.
- The moves have failed. Most failures are temporary and are solved by rescheduling the move.
@@ -132,12 +132,12 @@ The response indicates either:
1. Repeat for each storage as required.
-### Bulk schedule group moves **(PREMIUM SELF)**
+#### Move all groups **(PREMIUM SELF)**
-Use the API to schedule group moves:
+To move all groups by using the API:
-1. [Schedule repository storage moves for all groups on a storage shard](../../api/group_repository_storage_moves.md#schedule-repository-storage-moves-for-all-groups-on-a-storage-shard)
-. For example:
+1. [Schedule repository storage moves for all groups on a storage shard](../../api/group_repository_storage_moves.md#schedule-repository-storage-moves-for-all-groups-on-a-storage-shard).
+ For example:
```shell
curl --request POST --header "PRIVATE-TOKEN: <your_access_token>" \
@@ -146,8 +146,8 @@ Use the API to schedule group moves:
"https://gitlab.example.com/api/v4/group_repository_storage_moves"
```
-1. [Query the most recent repository moves](../../api/group_repository_storage_moves.md#retrieve-all-group-repository-storage-moves)
-. The response indicates either:
+1. [Query the most recent repository moves](../../api/group_repository_storage_moves.md#retrieve-all-group-repository-storage-moves).
+ The response indicates either:
- The moves have completed successfully. The `state` field is `finished`.
- The moves are in progress. Re-query the repository move until it completes successfully.
- The moves have failed. Most failures are temporary and are solved by rescheduling the move.
@@ -164,7 +164,7 @@ Use the API to schedule group moves:
## Migrating to another GitLab instance
-[Using the API](#moving-data-within-a-gitlab-instance) isn't an option if you are migrating to a new
+[Using the API](#moving-data-in-a-gitlab-instance) isn't an option if you are migrating to a new
GitLab environment, for example:
- From a single-node GitLab to a scaled-out architecture.
@@ -188,7 +188,7 @@ Each of the approaches we list can or does overwrite data in the target director
For either Gitaly or Gitaly Cluster targets, the GitLab [backup and restore capability](../../raketasks/backup_restore.md)
should be used. Git repositories are accessed, managed, and stored on GitLab servers by Gitaly as a database. Data loss
-can result from directly accessing and copying Gitaly's files using tools like `rsync`.
+can result from directly accessing and copying Gitaly files using tools like `rsync`.
- From GitLab 13.3, backup performance can be improved by
[processing multiple repositories concurrently](../../raketasks/backup_gitlab.md#back-up-git-repositories-concurrently).
diff --git a/doc/api/graphql/reference/index.md b/doc/api/graphql/reference/index.md
index 3edf01cf216..a5e37ba7489 100644
--- a/doc/api/graphql/reference/index.md
+++ b/doc/api/graphql/reference/index.md
@@ -19739,6 +19739,7 @@ Represents a requirement test report.
| <a id="testreportcreatedat"></a>`createdAt` | [`Time!`](#time) | Timestamp of when the test report was created. |
| <a id="testreportid"></a>`id` | [`ID!`](#id) | ID of the test report. |
| <a id="testreportstate"></a>`state` | [`TestReportState!`](#testreportstate) | State of the test report. |
+| <a id="testreportuseslegacyiid"></a>`usesLegacyIid` | [`Boolean`](#boolean) | Indicates whether the test report was generated with references to legacy requirement IIDs. |
### `TestReportSummary`
diff --git a/doc/api/group_repository_storage_moves.md b/doc/api/group_repository_storage_moves.md
index ea7764c3f39..a207775cf45 100644
--- a/doc/api/group_repository_storage_moves.md
+++ b/doc/api/group_repository_storage_moves.md
@@ -240,7 +240,7 @@ Example response:
Schedules repository storage moves for each group repository stored on the source storage shard.
This endpoint migrates all groups at once. For more information, see
-[Bulk schedule group moves](../administration/operations/moving_repositories.md#bulk-schedule-group-moves).
+[Move all groups](../administration/operations/moving_repositories.md#move-all-groups).
```plaintext
POST /group_repository_storage_moves
diff --git a/doc/api/project_repository_storage_moves.md b/doc/api/project_repository_storage_moves.md
index 0f094f62af2..bed4d4c9d88 100644
--- a/doc/api/project_repository_storage_moves.md
+++ b/doc/api/project_repository_storage_moves.md
@@ -8,9 +8,8 @@ info: To determine the technical writer assigned to the Stage/Group associated w
> [Introduced](https://gitlab.com/gitlab-org/gitlab/-/merge_requests/31285) in GitLab 13.0.
-Project repositories including wiki and design repositories can be moved between storages. This can be useful when
-[migrating to Gitaly Cluster](../administration/gitaly/index.md#migrate-to-gitaly-cluster),
-for example.
+Project repositories including wiki and design repositories can be moved between storages. This API can help you when
+[migrating to Gitaly Cluster](../administration/gitaly/index.md#migrate-to-gitaly-cluster), for example.
As project repository storage moves are processed, they transition through different states. Values
of `state` are:
@@ -250,8 +249,8 @@ Example response:
> [Introduced](https://gitlab.com/gitlab-org/gitlab/-/merge_requests/47142) in GitLab 13.7.
Schedules repository storage moves for each project repository stored on the source storage shard.
-This endpoint migrates all projects at once. For more information, see
-[Bulk schedule project moves](../administration/operations/moving_repositories.md#bulk-schedule-project-moves).
+This endpoint migrates all projects at once. For more information, see
+[Move all projects](../administration/operations/moving_repositories.md#move-all-projects).
```plaintext
POST /project_repository_storage_moves
diff --git a/doc/api/settings.md b/doc/api/settings.md
index 671db520c23..4e684b1721e 100644
--- a/doc/api/settings.md
+++ b/doc/api/settings.md
@@ -252,6 +252,8 @@ Example responses: **(PREMIUM SELF)**
## List of settings that can be accessed via API calls
+> Fields `housekeeping_full_repack_period`, `housekeeping_gc_period`, and `housekeeping_incremental_repack_period` [deprecated](https://gitlab.com/gitlab-org/gitlab/-/merge_requests/106963) in GitLab 15.8. Use `housekeeping_optimize_repository_period` instead.
+
In general, all settings are optional. Certain settings though, if enabled,
require other settings to be set to function properly. These requirements are
listed in the descriptions of the relevant settings.
@@ -377,11 +379,11 @@ listed in the descriptions of the relevant settings.
| `help_text` **(PREMIUM)** | string | no | GitLab server administrator information. |
| `hide_third_party_offers` | boolean | no | Do not display offers from third parties in GitLab. |
| `home_page_url` | string | no | Redirect to this URL when not logged in. |
-| `housekeeping_bitmaps_enabled` | boolean | no | Git pack file bitmap creation is always enabled and cannot be changed via API and UI. This API field is deprecated and always returns `true`. |
-| `housekeeping_enabled` | boolean | no | (**If enabled, requires either:** `housekeeping_bitmaps_enabled`, `housekeeping_full_repack_period`, `housekeeping_gc_period`, and `housekeeping_incremental_repack_period` **or** `housekeeping_optimize_repository_period`) Enable or disable Git housekeeping. |
-| `housekeeping_full_repack_period` | integer | no | **Deprecated** (use `housekeeping_optimize_repository_period` instead): Number of Git pushes after which an incremental `git repack` is run. |
-| `housekeeping_gc_period` | integer | no | **Deprecated** (use `housekeeping_optimize_repository_period` instead): Number of Git pushes after which `git gc` is run. |
-| `housekeeping_incremental_repack_period` | integer | no | **Deprecated** (use `housekeeping_optimize_repository_period` instead): Number of Git pushes after which an incremental `git repack` is run. |
+| `housekeeping_bitmaps_enabled` | boolean | no | Deprecated. Git pack file bitmap creation is always enabled and cannot be changed via API and UI. Always returns `true`. |
+| `housekeeping_enabled` | boolean | no | Enable or disable Git housekeeping. Requires additional fields to be set. For more information, see [Housekeeping fields](#housekeeping-fields). |
+| `housekeeping_full_repack_period` | integer | no | Deprecated. Number of Git pushes after which an incremental `git repack` is run. Use `housekeeping_optimize_repository_period` instead. For more information, see [Housekeeping fields](#housekeeping-fields). |
+| `housekeeping_gc_period` | integer | no | Deprecated. Number of Git pushes after which `git gc` is run. Use `housekeeping_optimize_repository_period` instead. For more information, see [Housekeeping fields](#housekeeping-fields). |
+| `housekeeping_incremental_repack_period` | integer | no | Deprecated. Number of Git pushes after which an incremental `git repack` is run. Use `housekeeping_optimize_repository_period` instead. For more information, see [Housekeeping fields](#housekeeping-fields).|
| `housekeeping_optimize_repository_period`| integer | no | Number of Git pushes after which an incremental `git repack` is run. |
| `html_emails_enabled` | boolean | no | Enable HTML emails. |
| `import_sources` | array of strings | no | Sources to allow project import from, possible values: `github`, `bitbucket`, `bitbucket_server`, `gitlab`, `fogbugz`, `git`, `gitlab_project`, `gitea`, `manifest`, and `phabricator`. |
@@ -524,6 +526,28 @@ listed in the descriptions of the relevant settings.
| `jira_connect_application_key` | String | no | Application ID of the OAuth application that should be used to authenticate with the GitLab.com for Jira Cloud app |
| `jira_connect_proxy_url` | String | no | URL of the GitLab instance that should be used as a proxy for the GitLab.com for Jira Cloud app |
+## Housekeeping fields
+
+::Tabs
+
+:::TabTitle 15.8 and later
+
+If the `housekeeping_optimize_repository_period`
+field is set to an integer, housekeeping operations are performed after the number
+of Git pushes you specify.
+
+:::TabTitle 15.7 and earlier
+
+The `housekeeping_enabled` field enables or disables
+Git housekeeping. To function properly, this field requires `housekeeping_optimize_repository_period`
+to be set, or _all_ of these values to be set:
+
+- `housekeeping_bitmaps_enabled`
+- `housekeeping_full_repack_period`
+- `housekeeping_gc_period`
+
+::EndTabs
+
### Package Registry: Package file size limits
The package file size limits are not part of the Application settings API.
diff --git a/doc/api/snippet_repository_storage_moves.md b/doc/api/snippet_repository_storage_moves.md
index 29061bcbfb9..90cbe19112c 100644
--- a/doc/api/snippet_repository_storage_moves.md
+++ b/doc/api/snippet_repository_storage_moves.md
@@ -9,7 +9,7 @@ type: reference
> [Introduced](https://gitlab.com/gitlab-org/gitlab/-/merge_requests/49228) in GitLab 13.8.
-Snippet repositories can be moved between storages. This can be useful when
+Snippet repositories can be moved between storages. This API can help you when
[migrating to Gitaly Cluster](../administration/gitaly/index.md#migrate-to-gitaly-cluster), for
example.
@@ -267,7 +267,7 @@ Example response:
Schedules repository storage moves for each snippet repository stored on the source storage shard.
This endpoint migrates all snippets at once. For more information, see
-[Bulk schedule snippet moves](../administration/operations/moving_repositories.md#bulk-schedule-snippet-moves).
+[Move all snippets](../administration/operations/moving_repositories.md#move-all-snippets).
```plaintext
POST /snippet_repository_storage_moves
diff --git a/doc/ci/quick_start/index.md b/doc/ci/quick_start/index.md
index 8d71f4569e5..b9e0e39396c 100644
--- a/doc/ci/quick_start/index.md
+++ b/doc/ci/quick_start/index.md
@@ -138,11 +138,8 @@ For the complete `.gitlab-ci.yml` syntax, see [the full `.gitlab-ci.yml` keyword
- Use the [pipeline editor](../pipeline_editor/index.md) to edit your `.gitlab-ci.yml` file.
- Each job contains a script section and belongs to a stage:
- - The [`default`](../yaml/index.md#default) keyword is for
- custom defaults, for example with [`before_script`](../yaml/index.md#before_script)
- and [`after_script`](../yaml/index.md#after_script).
- [`stage`](../yaml/index.md#stage) describes the sequential execution of jobs.
- Jobs in a single stage run in parallel as long as there are available runners.
+ If there are runners available, jobs in a single stage run in parallel.
- Use the [`needs` keyword](../yaml/index.md#needs) to run jobs out of stage order.
This creates a [Directed Acyclic Graph (DAG)](../directed_acyclic_graph/index.md).
- You can set additional configuration to customize how your jobs and stages perform:
@@ -152,6 +149,10 @@ For the complete `.gitlab-ci.yml` syntax, see [the full `.gitlab-ci.yml` keyword
- Keep information across jobs and stages persistent in a pipeline with [`cache`](../yaml/index.md#cache)
and [`artifacts`](../yaml/index.md#artifacts). These keywords are ways to store
dependencies and job output, even when using ephemeral runners for each job.
+ - Use the [`default`](../yaml/index.md#default) keyword to specify additional
+ configurations that are applied to all jobs. This keyword is often used to define
+ [`before_script`](../yaml/index.md#before_script) and [`after_script`](../yaml/index.md#after_script)
+ sections that should run on every job.
## Related topics
diff --git a/doc/development/ee_features.md b/doc/development/ee_features.md
index 5e236c3e322..4eb5bedef1c 100644
--- a/doc/development/ee_features.md
+++ b/doc/development/ee_features.md
@@ -209,7 +209,10 @@ To test an EE class that doesn't exist in CE, create the spec file as you normal
would in the `ee/spec` directory, but without the second `ee/` subdirectory.
For example, a class `ee/app/models/vulnerability.rb` would have its tests in `ee/spec/models/vulnerability_spec.rb`.
-By default, licensed features are disabled while specs are running. To effectively test your feature
+By default, licensed features are disabled for specs in `specs/`.
+Specs in the `ee/spec` directory have Starter license initialized by default.
+
+To effectively test your feature
you must explicitly enable the feature using the `stub_licensed_features` helper, for example:
```ruby
diff --git a/doc/user/markdown.md b/doc/user/markdown.md
index 17b91eb9483..6f2dd8bb3be 100644
--- a/doc/user/markdown.md
+++ b/doc/user/markdown.md
@@ -343,6 +343,9 @@ backslash <code>&#92;</code>. Otherwise the diff highlight does not render corre
### Math
+> - LaTeX-compatible fencing [introduced](https://gitlab.com/gitlab-org/gitlab/-/issues/21757) in GitLab 15.4 [with a flag](../administration/feature_flags.md) named `markdown_dollar_math`. Disabled by default. Enabled on GitLab.com.
+> - LaTeX-compatible fencing [generally available](https://gitlab.com/gitlab-org/gitlab/-/issues/371180) in GitLab 15.8. Feature flag `markdown_dollar_math` removed.
+
[View this topic in GitLab](https://gitlab.com/gitlab-org/gitlab/-/blob/master/doc/user/markdown.md#math).
Math written in LaTeX syntax is rendered with [KaTeX](https://github.com/KaTeX/KaTeX).
@@ -350,8 +353,10 @@ _KaTeX only supports a [subset](https://katex.org/docs/supported.html) of LaTeX.
This syntax also works for the Asciidoctor `:stem: latexmath`. For details, see
the [Asciidoctor user manual](https://asciidoctor.org/docs/user-manual/#activating-stem-support).
-Math written between dollar signs with backticks (``$`...`$``) is rendered
-inline with the text. Math written in a [code block](#code-spans-and-blocks) with
+Math written between dollar signs with backticks (``$`...`$``) or single dollar signs (`$...$`)
+is rendered inline with the text.
+
+Math written between double dollar signs (`$$...$$`) or in a [code block](#code-spans-and-blocks) with
the language declared as `math` is rendered on a separate line:
````markdown
@@ -362,6 +367,14 @@ This math is on a separate line:
```math
a^2+b^2=c^2
```
+
+This math is on a separate line: $$a^2+b^2=c^2$$
+
+This math is on a separate line:
+
+$$
+a^2+b^2=c^2
+$$
````
This math is inline: $`a^2+b^2=c^2`$.
@@ -372,25 +385,6 @@ This math is on a separate line:
a^2+b^2=c^2
```
-#### LaTeX-compatible fencing
-
-> Introduced in GitLab 15.4 [with a flag](../administration/feature_flags.md) named `markdown_dollar_math`. Disabled by default. Enabled on GitLab.com.
-
-[View this topic in GitLab](https://gitlab.com/gitlab-org/gitlab/-/blob/master/doc/user/markdown.md#latex-compatible-fencing).
-
-FLAG:
-On self-managed GitLab, by default this feature is not available. To make it available per group,
-ask an administrator to [enable the feature flag](../administration/feature_flags.md) named `markdown_dollar_math`.
-On GitLab.com, this feature is available.
-The feature is not ready for production use.
-
-Math written between dollar signs (`$...$`) is rendered
-inline with the text. Math written between double dollar signs (`$$...$$`) is rendered
-on a separate line:
-
-````markdown
-This math is inline: $a^2+b^2=c^2$.
-
This math is on a separate line: $$a^2+b^2=c^2$$
This math is on a separate line:
@@ -398,10 +392,6 @@ This math is on a separate line:
$$
a^2+b^2=c^2
$$
-````
-
-<!-- Uncomment the example below when the flag is enabled on GitLab.com -->
-<!-- This math is inline: $a^2+b^2=c^2$.
This math is on a separate line: $$a^2+b^2=c^2$$
@@ -409,7 +399,7 @@ This math is on a separate line:
$$
a^2+b^2=c^2
-$$ -->
+$$
### Task lists
diff --git a/lib/api/concerns/packages/debian_distribution_endpoints.rb b/lib/api/concerns/packages/debian_distribution_endpoints.rb
index 76b996f2301..6fe3f432edb 100644
--- a/lib/api/concerns/packages/debian_distribution_endpoints.rb
+++ b/lib/api/concerns/packages/debian_distribution_endpoints.rb
@@ -80,10 +80,10 @@ module API
use :optional_distribution_params
end
post '/' do
- authorize_create_package!(project_or_group)
+ authorize_create_package!(project_or_group(:read_project))
distribution_params = declared_params(include_missing: false)
- result = ::Packages::Debian::CreateDistributionService.new(project_or_group, current_user, distribution_params).execute
+ result = ::Packages::Debian::CreateDistributionService.new(project_or_group(:read_project), current_user, distribution_params).execute
created_distribution = result.payload[:distribution]
if result.success?
@@ -183,7 +183,7 @@ module API
use :optional_distribution_params
end
put '/:codename' do
- authorize_create_package!(project_or_group)
+ authorize_create_package!(project_or_group(:read_project))
distribution_params = declared_params(include_missing: false).except(:codename)
result = ::Packages::Debian::UpdateDistributionService.new(distribution, distribution_params).execute
@@ -214,7 +214,7 @@ module API
use :optional_distribution_params
end
delete '/:codename' do
- authorize_destroy_package!(project_or_group)
+ authorize_destroy_package!(project_or_group(:read_project))
accepted! if distribution.destroy
diff --git a/lib/api/group_debian_distributions.rb b/lib/api/group_debian_distributions.rb
index 0364e2e7b56..8b6d4b8c4b2 100644
--- a/lib/api/group_debian_distributions.rb
+++ b/lib/api/group_debian_distributions.rb
@@ -19,7 +19,7 @@ module API
namespace ':id/-' do
helpers do
- def project_or_group
+ def project_or_group(_ = nil)
user_group
end
end
diff --git a/lib/api/project_debian_distributions.rb b/lib/api/project_debian_distributions.rb
index 1e27f5c8856..856b4097b5a 100644
--- a/lib/api/project_debian_distributions.rb
+++ b/lib/api/project_debian_distributions.rb
@@ -14,13 +14,13 @@ module API
after_validation do
require_packages_enabled!
- not_found! unless ::Feature.enabled?(:debian_packages, user_project)
+ not_found! unless ::Feature.enabled?(:debian_packages, project_or_group)
end
namespace ':id' do
helpers do
- def project_or_group
- user_project
+ def project_or_group(action = :read_package)
+ user_project(action: action)
end
end
diff --git a/lib/banzai/filter/math_filter.rb b/lib/banzai/filter/math_filter.rb
index 1d854d6599b..e096f1753ed 100644
--- a/lib/banzai/filter/math_filter.rb
+++ b/lib/banzai/filter/math_filter.rb
@@ -61,7 +61,7 @@ module Banzai
def call
@nodes_count = 0
- process_dollar_pipeline if Feature.enabled?(:markdown_dollar_math, group)
+ process_dollar_pipeline
process_dollar_backtick_inline
process_math_codeblock
diff --git a/lib/tasks/gitlab/db.rake b/lib/tasks/gitlab/db.rake
index f0264456201..9c92aa5eb28 100644
--- a/lib/tasks/gitlab/db.rake
+++ b/lib/tasks/gitlab/db.rake
@@ -407,7 +407,12 @@ namespace :gitlab do
Rails.application.eager_load!
tables = Gitlab::Database.database_base_models.flat_map { |_, m| m.connection.tables }
- classes = tables.index_with { [] }
+
+ views = Gitlab::Database.database_base_models.flat_map { |_, m| m.connection.views }
+
+ sources = tables + views
+
+ classes = sources.index_with { [] }
Gitlab::Database.database_base_models.each do |_, model_class|
model_class
@@ -421,12 +426,13 @@ namespace :gitlab do
version = Gem::Version.new(File.read('VERSION'))
milestone = version.release.segments[0..1].join('.')
- tables.each do |table_name|
- file = File.join(DB_DOCS_PATH, "#{table_name}.yml")
+ sources.each do |source_name|
+ file = dictionary_file_path(source_name, views)
+ key_name = "#{data_source_type(source_name, views)}_name"
table_metadata = {
- 'table_name' => table_name,
- 'classes' => classes[table_name]&.sort&.uniq,
+ key_name => source_name,
+ 'classes' => classes[source_name]&.sort&.uniq,
'feature_categories' => [],
'description' => nil,
'introduced_by_url' => nil,
@@ -438,12 +444,12 @@ namespace :gitlab do
existing_metadata = YAML.safe_load(File.read(file))
- if existing_metadata['table_name'] != table_metadata['table_name']
- existing_metadata['table_name'] = table_metadata['table_name']
+ if existing_metadata[key_name] != table_metadata[key_name]
+ existing_metadata[key_name] = table_metadata[key_name]
outdated = true
end
- if existing_metadata['classes'].difference(table_metadata['classes']).any?
+ if existing_metadata['classes'].sort != table_metadata['classes'].sort
existing_metadata['classes'] = table_metadata['classes']
outdated = true
end
@@ -455,6 +461,20 @@ namespace :gitlab do
end
end
+ private
+
+ def data_source_type(source_name, views)
+ return 'view' if views.include?(source_name)
+
+ 'table'
+ end
+
+ def dictionary_file_path(source_name, views)
+ sub_directory = views.include?(source_name) ? 'views' : ''
+
+ File.join(DB_DOCS_PATH, sub_directory, "#{source_name}.yml")
+ end
+
# Temporary disable this, see https://gitlab.com/gitlab-org/gitlab/-/merge_requests/85760#note_998452069
# Rake::Task['db:migrate'].enhance do
# Rake::Task['gitlab:db:dictionary:generate'].invoke if Rails.env.development?
diff --git a/locale/gitlab.pot b/locale/gitlab.pot
index 71fbff57787..24f33c09bcd 100644
--- a/locale/gitlab.pot
+++ b/locale/gitlab.pot
@@ -17760,7 +17760,7 @@ msgstr ""
msgid "ForkedFromProjectPath|Forked from"
msgstr ""
-msgid "ForkedFromProjectPath|Forked from an inaccessible project"
+msgid "ForkedFromProjectPath|Forked from an inaccessible project."
msgstr ""
msgid "Forking in progress"
@@ -17775,13 +17775,16 @@ msgstr ""
msgid "ForksDivergence|%{behind} %{commit_word} behind"
msgstr ""
-msgid "ForksDivergence|%{messages} upstream repository"
+msgid "ForksDivergence|%{messages} the upstream repository."
msgstr ""
-msgid "ForksDivergence|Fork has diverged from upstream repository"
+msgid "ForksDivergence|Failed to fetch fork details. Try again later."
msgstr ""
-msgid "ForksDivergence|Up to date with upstream repository"
+msgid "ForksDivergence|This fork has diverged from the upstream repository."
+msgstr ""
+
+msgid "ForksDivergence|Up to date with the upstream repository."
msgstr ""
msgid "Format: %{dateFormat}"
diff --git a/qa/qa/page/component/content_editor.rb b/qa/qa/page/component/content_editor.rb
index e9fc575ae39..a9abda42610 100644
--- a/qa/qa/page/component/content_editor.rb
+++ b/qa/qa/page/component/content_editor.rb
@@ -15,7 +15,6 @@ module QA
base.view 'app/assets/javascripts/content_editor/components/toolbar_text_style_dropdown.vue' do
element :text_style_dropdown
- element :text_style_menu_item
end
base.view 'app/assets/javascripts/content_editor/components/toolbar_image_button.vue' do
@@ -33,9 +32,7 @@ module QA
# wait for text style option to become active after typing
has_active_element?(:text_style_dropdown, wait: 1)
click_element(:text_style_dropdown)
- within_element(:text_style_dropdown) do
- click_element(:text_style_menu_item, text_style: heading)
- end
+ find_element(:text_style_dropdown).find('li', text: heading).click
end
end
diff --git a/qa/qa/page/project/show.rb b/qa/qa/page/project/show.rb
index 168bfd6aa0a..e00458bfc3b 100644
--- a/qa/qa/page/project/show.rb
+++ b/qa/qa/page/project/show.rb
@@ -47,7 +47,7 @@ module QA
element :tree_holder, '.tree-holder' # rubocop:disable QA/ElementWithPattern
end
- view 'app/views/projects/_fork_info.html.haml' do
+ view 'app/assets/javascripts/repository/components/fork_info.vue' do
element :forked_from_link
end
diff --git a/qa/qa/specs/features/api/1_manage/migration/gitlab_migration_project_spec.rb b/qa/qa/specs/features/api/1_manage/migration/gitlab_migration_project_spec.rb
index 83691cdf143..9f6b1d38bd7 100644
--- a/qa/qa/specs/features/api/1_manage/migration/gitlab_migration_project_spec.rb
+++ b/qa/qa/specs/features/api/1_manage/migration/gitlab_migration_project_spec.rb
@@ -6,11 +6,7 @@ module QA
include_context 'with gitlab project migration'
# this spec is used as a sanity test for gitlab migration because it can run outside of orchestrated setup
- context 'with import within same instance', orchestrated: false, import: false, quarantine: {
- type: :test_environment,
- issue: "https://gitlab.com/gitlab-org/gitlab/-/issues/383605",
- only: { job: "review-qa" }
- } do
+ context 'with import within same instance', orchestrated: false, import: false do
let!(:source_project_with_readme) { true }
let!(:source_gitlab_address) { Runtime::Scenario.gitlab_address }
let!(:source_admin_api_client) { admin_api_client }
diff --git a/spec/controllers/projects/releases/evidences_controller_spec.rb b/spec/controllers/projects/releases/evidences_controller_spec.rb
index 68433969d69..879cbc543e9 100644
--- a/spec/controllers/projects/releases/evidences_controller_spec.rb
+++ b/spec/controllers/projects/releases/evidences_controller_spec.rb
@@ -2,7 +2,7 @@
require 'spec_helper'
-RSpec.describe Projects::Releases::EvidencesController do
+RSpec.describe Projects::Releases::EvidencesController, :with_license do
let!(:project) { create(:project, :repository, :public) }
let_it_be(:private_project) { create(:project, :repository, :private) }
let_it_be(:developer) { create(:user) }
diff --git a/spec/features/groups/navbar_spec.rb b/spec/features/groups/navbar_spec.rb
index 180ccab78bc..a52e2d95fed 100644
--- a/spec/features/groups/navbar_spec.rb
+++ b/spec/features/groups/navbar_spec.rb
@@ -2,7 +2,7 @@
require 'spec_helper'
-RSpec.describe 'Group navbar', feature_category: :navigation do
+RSpec.describe 'Group navbar', :with_license, feature_category: :navigation do
include NavbarStructureHelper
include WikiHelpers
diff --git a/spec/features/issues/group_label_sidebar_spec.rb b/spec/features/issues/group_label_sidebar_spec.rb
index b26030fe8d0..41450ba3373 100644
--- a/spec/features/issues/group_label_sidebar_spec.rb
+++ b/spec/features/issues/group_label_sidebar_spec.rb
@@ -2,7 +2,7 @@
require 'spec_helper'
-RSpec.describe 'Group label on issue', feature_category: :team_planning do
+RSpec.describe 'Group label on issue', :with_license, feature_category: :team_planning do
it 'renders link to the project issues page', :js do
group = create(:group)
project = create(:project, :public, namespace: group)
diff --git a/spec/features/issues/user_sees_sidebar_updates_in_realtime_spec.rb b/spec/features/issues/user_sees_sidebar_updates_in_realtime_spec.rb
index b9a25f47da9..91b18454af5 100644
--- a/spec/features/issues/user_sees_sidebar_updates_in_realtime_spec.rb
+++ b/spec/features/issues/user_sees_sidebar_updates_in_realtime_spec.rb
@@ -2,7 +2,7 @@
require 'spec_helper'
-RSpec.describe 'Issues > Real-time sidebar', :js, feature_category: :team_planning do
+RSpec.describe 'Issues > Real-time sidebar', :js, :with_license, feature_category: :team_planning do
let_it_be(:project) { create(:project, :public) }
let_it_be(:issue) { create(:issue, project: project) }
let_it_be(:user) { create(:user) }
diff --git a/spec/features/markdown/sandboxed_mermaid_spec.rb b/spec/features/markdown/sandboxed_mermaid_spec.rb
index 26b397a1fd5..0282d02d809 100644
--- a/spec/features/markdown/sandboxed_mermaid_spec.rb
+++ b/spec/features/markdown/sandboxed_mermaid_spec.rb
@@ -23,7 +23,7 @@ RSpec.describe 'Sandboxed Mermaid rendering', :js, feature_category: :team_plann
context 'in an issue' do
let(:issue) { create(:issue, project: project, description: description) }
- it 'includes mermaid frame correctly' do
+ it 'includes mermaid frame correctly', :with_license do
visit project_issue_path(project, issue)
wait_for_requests
diff --git a/spec/features/projects/navbar_spec.rb b/spec/features/projects/navbar_spec.rb
index d182ae1bb84..6090d132e3a 100644
--- a/spec/features/projects/navbar_spec.rb
+++ b/spec/features/projects/navbar_spec.rb
@@ -2,7 +2,7 @@
require 'spec_helper'
-RSpec.describe 'Project navbar', feature_category: :projects do
+RSpec.describe 'Project navbar', :with_license, feature_category: :projects do
include NavbarStructureHelper
include WaitForRequests
diff --git a/spec/features/projects_spec.rb b/spec/features/projects_spec.rb
index ec0b3f9d81b..84702b3a6bb 100644
--- a/spec/features/projects_spec.rb
+++ b/spec/features/projects_spec.rb
@@ -213,7 +213,7 @@ RSpec.describe 'Project', feature_category: :projects do
end
end
- describe 'showing information about source of a project fork' do
+ describe 'showing information about source of a project fork', :js do
let(:user) { create(:user) }
let(:base_project) { create(:project, :public, :repository) }
let(:forked_project) { fork_project(base_project, user, repository: true) }
@@ -224,6 +224,7 @@ RSpec.describe 'Project', feature_category: :projects do
it 'shows a link to the source project when it is available', :sidekiq_might_not_need_inline do
visit project_path(forked_project)
+ wait_for_requests
expect(page).to have_content('Forked from')
expect(page).to have_link(base_project.full_name)
@@ -233,6 +234,7 @@ RSpec.describe 'Project', feature_category: :projects do
forked_project
visit project_path(base_project)
+ wait_for_requests
expect(page).not_to have_content('In fork network of')
expect(page).not_to have_content('Forked from')
@@ -243,7 +245,7 @@ RSpec.describe 'Project', feature_category: :projects do
Projects::DestroyService.new(base_project, base_project.first_owner).execute
visit project_path(forked_project)
-
+ wait_for_requests
expect(page).to have_content('Forked from an inaccessible project')
end
@@ -255,7 +257,7 @@ RSpec.describe 'Project', feature_category: :projects do
Projects::DestroyService.new(forked_project, user).execute
visit project_path(fork_of_fork)
-
+ wait_for_requests
expect(page).to have_content("Forked from")
expect(page).to have_link(base_project.full_name)
end
diff --git a/spec/features/protected_tags_spec.rb b/spec/features/protected_tags_spec.rb
index 1aadc7ce90a..c2058a5c345 100644
--- a/spec/features/protected_tags_spec.rb
+++ b/spec/features/protected_tags_spec.rb
@@ -2,7 +2,7 @@
require 'spec_helper'
-RSpec.describe 'Protected Tags', :js, feature_category: :source_code_management do
+RSpec.describe 'Protected Tags', :js, :with_license, feature_category: :source_code_management do
include ProtectedTagHelpers
let(:project) { create(:project, :repository) }
diff --git a/spec/frontend/content_editor/components/toolbar_text_style_dropdown_spec.js b/spec/frontend/content_editor/components/toolbar_text_style_dropdown_spec.js
index 3ebb305afbf..5a725ac1ca4 100644
--- a/spec/frontend/content_editor/components/toolbar_text_style_dropdown_spec.js
+++ b/spec/frontend/content_editor/components/toolbar_text_style_dropdown_spec.js
@@ -1,4 +1,4 @@
-import { GlDropdown, GlDropdownItem } from '@gitlab/ui';
+import { GlCollapsibleListbox } from '@gitlab/ui';
import { shallowMountExtended } from 'helpers/vue_test_utils_helper';
import EditorStateObserver from '~/content_editor/components/editor_state_observer.vue';
import ToolbarTextStyleDropdown from '~/content_editor/components/toolbar_text_style_dropdown.vue';
@@ -22,8 +22,6 @@ describe('content_editor/components/toolbar_text_style_dropdown', () => {
const buildWrapper = (propsData = {}) => {
wrapper = shallowMountExtended(ToolbarTextStyleDropdown, {
stubs: {
- GlDropdown,
- GlDropdownItem,
EditorStateObserver,
},
provide: {
@@ -35,7 +33,7 @@ describe('content_editor/components/toolbar_text_style_dropdown', () => {
},
});
};
- const findDropdown = () => wrapper.findComponent(GlDropdown);
+ const findListbox = () => wrapper.findComponent(GlCollapsibleListbox);
beforeEach(() => {
buildEditor();
@@ -48,9 +46,10 @@ describe('content_editor/components/toolbar_text_style_dropdown', () => {
it('renders all text styles as dropdown items', () => {
buildWrapper();
- TEXT_STYLE_DROPDOWN_ITEMS.forEach((textStyle) => {
- expect(wrapper.findByText(textStyle.label).exists()).toBe(true);
+ TEXT_STYLE_DROPDOWN_ITEMS.forEach((textStyle, index) => {
+ expect(findListbox().props('items').at(index).text).toContain(textStyle.label);
});
+ expect(findListbox().props('items').length).toBe(TEXT_STYLE_DROPDOWN_ITEMS.length);
});
describe('when there is an active item', () => {
@@ -69,19 +68,11 @@ describe('content_editor/components/toolbar_text_style_dropdown', () => {
});
it('displays the active text style label as the dropdown toggle text', () => {
- expect(findDropdown().props().text).toBe(activeTextStyle.label);
+ expect(findListbox().props('toggleText')).toBe(activeTextStyle.label);
});
it('sets dropdown as enabled', () => {
- expect(findDropdown().props().disabled).toBe(false);
- });
-
- it('sets active item as active', () => {
- const activeItem = wrapper
- .findAllComponents(GlDropdownItem)
- .filter((item) => item.text() === activeTextStyle.label)
- .at(0);
- expect(activeItem.props().isChecked).toBe(true);
+ expect(findListbox().props('disabled')).toBe(false);
});
});
@@ -93,11 +84,11 @@ describe('content_editor/components/toolbar_text_style_dropdown', () => {
});
it('sets dropdown as disabled', () => {
- expect(findDropdown().props().disabled).toBe(true);
+ expect(findListbox().props('disabled')).toBe(true);
});
it('sets dropdown toggle text to Text style', () => {
- expect(findDropdown().props().text).toBe('Text style');
+ expect(findListbox().props('toggleText')).toBe('Text style');
});
});
@@ -109,7 +100,7 @@ describe('content_editor/components/toolbar_text_style_dropdown', () => {
const { editorCommand, commandParams } = textStyle;
const commands = mockChainedCommands(tiptapEditor, [editorCommand, 'focus', 'run']);
- wrapper.findAllComponents(GlDropdownItem).at(index).vm.$emit('click');
+ findListbox().vm.$emit('select', TEXT_STYLE_DROPDOWN_ITEMS[index].label);
expect(commands[editorCommand]).toHaveBeenCalledWith(commandParams || {});
expect(commands.focus).toHaveBeenCalled();
expect(commands.run).toHaveBeenCalled();
@@ -121,7 +112,7 @@ describe('content_editor/components/toolbar_text_style_dropdown', () => {
buildWrapper();
const { contentType, commandParams } = textStyle;
- wrapper.findAllComponents(GlDropdownItem).at(index).vm.$emit('click');
+ findListbox().vm.$emit('select', TEXT_STYLE_DROPDOWN_ITEMS[index].label);
expect(wrapper.emitted('execute')).toEqual([
[
{
diff --git a/spec/frontend/fixtures/issues.rb b/spec/frontend/fixtures/issues.rb
index bc5ece20032..1e6baf30a76 100644
--- a/spec/frontend/fixtures/issues.rb
+++ b/spec/frontend/fixtures/issues.rb
@@ -2,7 +2,7 @@
require 'spec_helper'
-RSpec.describe Projects::IssuesController, '(JavaScript fixtures)', type: :controller do
+RSpec.describe Projects::IssuesController, '(JavaScript fixtures)', :with_license, type: :controller do
include JavaScriptFixturesHelpers
let(:user) { create(:user, feed_token: 'feedtoken:coldfeed') }
diff --git a/spec/frontend/repository/components/fork_info_spec.js b/spec/frontend/repository/components/fork_info_spec.js
new file mode 100644
index 00000000000..c23d5ae5823
--- /dev/null
+++ b/spec/frontend/repository/components/fork_info_spec.js
@@ -0,0 +1,122 @@
+import Vue from 'vue';
+import VueApollo from 'vue-apollo';
+import { GlSkeletonLoader, GlIcon, GlLink } from '@gitlab/ui';
+import createMockApollo from 'helpers/mock_apollo_helper';
+import waitForPromises from 'helpers/wait_for_promises';
+import { shallowMountExtended } from 'helpers/vue_test_utils_helper';
+import { createAlert } from '~/flash';
+
+import ForkInfo, { i18n } from '~/repository/components/fork_info.vue';
+import forkDetailsQuery from '~/repository/queries/fork_details.query.graphql';
+import { propsForkInfo } from '../mock_data';
+
+jest.mock('~/flash');
+
+describe('ForkInfo component', () => {
+ let wrapper;
+ let mockResolver;
+ const forkInfoError = new Error('Something went wrong');
+
+ Vue.use(VueApollo);
+
+ const createCommitData = ({ ahead = 3, behind = 7 }) => {
+ return {
+ data: {
+ project: { id: '1', forkDetails: { ahead, behind, __typename: 'ForkDetails' } },
+ },
+ };
+ };
+
+ const createComponent = (props = {}, data = {}, isRequestFailed = false) => {
+ mockResolver = isRequestFailed
+ ? jest.fn().mockRejectedValue(forkInfoError)
+ : jest.fn().mockResolvedValue(createCommitData(data));
+
+ wrapper = shallowMountExtended(ForkInfo, {
+ apolloProvider: createMockApollo([[forkDetailsQuery, mockResolver]]),
+ propsData: { ...propsForkInfo, ...props },
+ });
+ return waitForPromises();
+ };
+
+ const findLink = () => wrapper.findComponent(GlLink);
+ const findSkeleton = () => wrapper.findComponent(GlSkeletonLoader);
+ const findIcon = () => wrapper.findComponent(GlIcon);
+ const findDivergenceMessage = () => wrapper.find('.gl-text-secondary');
+ const findInaccessibleMessage = () => wrapper.findByTestId('inaccessible-project');
+ it('displays a skeleton while loading data', async () => {
+ createComponent();
+ expect(findSkeleton().exists()).toBe(true);
+ });
+
+ it('does not display skeleton when data is loaded', async () => {
+ await createComponent();
+ expect(findSkeleton().exists()).toBe(false);
+ });
+
+ it('renders fork icon', async () => {
+ await createComponent();
+ expect(findIcon().exists()).toBe(true);
+ });
+
+ it('queries the data when sourceName is present', async () => {
+ await createComponent();
+ expect(mockResolver).toHaveBeenCalled();
+ });
+
+ it('does not query the data when sourceName is empty', async () => {
+ await createComponent({ sourceName: null });
+ expect(mockResolver).not.toHaveBeenCalled();
+ });
+
+ it('renders inaccessible message when fork source is not available', async () => {
+ await createComponent({ sourceName: '' });
+ const message = findInaccessibleMessage();
+ expect(message.exists()).toBe(true);
+ expect(message.text()).toBe(i18n.inaccessibleProject);
+ });
+
+ it('shows source project name with a link to a repo', async () => {
+ await createComponent();
+ const link = findLink();
+ expect(link.text()).toBe(propsForkInfo.sourceName);
+ expect(link.attributes('href')).toBe(propsForkInfo.sourcePath);
+ });
+
+ it('renders unknown divergence message when divergence is unknown', async () => {
+ await createComponent({}, { ahead: null, behind: null });
+ expect(findDivergenceMessage().text()).toBe(i18n.unknown);
+ });
+
+ it('shows correct divergence message when data is present', async () => {
+ await createComponent();
+ expect(findDivergenceMessage().text()).toMatchInterpolatedText(
+ '7 commits behind, 3 commits ahead of the upstream repository.',
+ );
+ });
+
+ it('renders up to date message when divergence is unknown', async () => {
+ await createComponent({}, { ahead: 0, behind: 0 });
+ expect(findDivergenceMessage().text()).toBe(i18n.upToDate);
+ });
+
+ it('renders commits ahead message', async () => {
+ await createComponent({}, { behind: 0 });
+ expect(findDivergenceMessage().text()).toBe('3 commits ahead of the upstream repository.');
+ });
+
+ it('renders commits behind message', async () => {
+ await createComponent({}, { ahead: 0 });
+
+ expect(findDivergenceMessage().text()).toBe('7 commits behind the upstream repository.');
+ });
+
+ it('renders alert with error message when request fails', async () => {
+ await createComponent({}, {}, true);
+ expect(createAlert).toHaveBeenCalledWith({
+ message: i18n.error,
+ captureError: true,
+ error: forkInfoError,
+ });
+ });
+});
diff --git a/spec/frontend/repository/mock_data.js b/spec/frontend/repository/mock_data.js
index 63b62c80e30..d85434a9148 100644
--- a/spec/frontend/repository/mock_data.js
+++ b/spec/frontend/repository/mock_data.js
@@ -117,3 +117,10 @@ export const graphQLErrors = [
extensions: { code: 'unavailable', gitaly_code: 14, service: 'git' },
},
];
+
+export const propsForkInfo = {
+ projectPath: 'nataliia/myGitLab',
+ selectedRef: 'main',
+ sourceName: 'gitLab',
+ sourcePath: 'gitlab-org/gitlab',
+};
diff --git a/spec/frontend/vue_shared/components/markdown/markdown_editor_spec.js b/spec/frontend/vue_shared/components/markdown/markdown_editor_spec.js
index 64b4b55fce5..e3df2cde1c1 100644
--- a/spec/frontend/vue_shared/components/markdown/markdown_editor_spec.js
+++ b/spec/frontend/vue_shared/components/markdown/markdown_editor_spec.js
@@ -95,11 +95,13 @@ describe('vue_shared/component/markdown/markdown_editor', () => {
expect(findTextarea().element.value).toBe(value);
});
- it(`emits ${EDITING_MODE_CONTENT_EDITOR} event when enableContentEditor emitted from markdown editor`, () => {
+ it(`emits ${EDITING_MODE_CONTENT_EDITOR} event when enableContentEditor emitted from markdown editor`, async () => {
buildWrapper();
findMarkdownField().vm.$emit('enableContentEditor');
+ await nextTick();
+
expect(wrapper.emitted(EDITING_MODE_CONTENT_EDITOR)).toHaveLength(1);
});
diff --git a/spec/helpers/projects_helper_spec.rb b/spec/helpers/projects_helper_spec.rb
index 14378685be7..91dd4c46a74 100644
--- a/spec/helpers/projects_helper_spec.rb
+++ b/spec/helpers/projects_helper_spec.rb
@@ -1333,27 +1333,6 @@ RSpec.describe ProjectsHelper do
end
end
- describe '#fork_divergence_message' do
- using RSpec::Parameterized::TableSyntax
-
- where(:behind, :ahead, :message) do
- 0 | 0 | 'Up to date with upstream repository'
- 1 | 0 | '1 commit behind upstream repository'
- 2 | 0 | '2 commits behind upstream repository'
- 0 | 1 | '1 commit ahead of upstream repository'
- 0 | 2 | '2 commits ahead of upstream repository'
- 5 | 7 | '5 commits behind, 7 commits ahead of upstream repository'
- nil | 7 | 'Fork has diverged from upstream repository'
- 7 | nil | 'Fork has diverged from upstream repository'
- end
-
- with_them do
- it 'returns message based on behind/ahead values' do
- expect(helper.fork_divergence_message({ behind: behind, ahead: ahead })).to eq(message)
- end
- end
- end
-
describe '#localized_project_human_access' do
using RSpec::Parameterized::TableSyntax
diff --git a/spec/helpers/url_helper_spec.rb b/spec/helpers/url_helper_spec.rb
index d84d4007d2e..7955a41b63a 100644
--- a/spec/helpers/url_helper_spec.rb
+++ b/spec/helpers/url_helper_spec.rb
@@ -2,19 +2,24 @@
require 'spec_helper'
-RSpec.describe UrlHelper do
+RSpec.describe UrlHelper, feature_category: :integrations do
describe '#escaped_url' do
it 'escapes url' do
expect(helper.escaped_url('https://example.com?param=test value')).to eq('https://example.com?param=test%20value')
end
it 'escapes XSS injection' do
- expect(helper.escaped_url('https://example.com/asset.js"+eval(alert(1))));</script>'))
- .to eq('https://example.com/asset.js%22+eval(alert(1))));%3C/script%3E')
+ expect(helper.escaped_url('https://example.com?injected_here"+eval(1)+"'))
+ .to eq('https://example.com?injected_here%22+eval(1)+%22')
end
it 'returns nil if url is nil' do
expect(helper.escaped_url(nil)).to be_nil
end
+
+ it 'returns nil when url is invalid' do
+ expect(helper.escaped_url('https://?&*^invalid-url'))
+ .to be_nil
+ end
end
end
diff --git a/spec/lib/banzai/filter/math_filter_spec.rb b/spec/lib/banzai/filter/math_filter_spec.rb
index c5d2bcd5363..1dcfae0c38c 100644
--- a/spec/lib/banzai/filter/math_filter_spec.rb
+++ b/spec/lib/banzai/filter/math_filter_spec.rb
@@ -186,11 +186,4 @@ RSpec.describe Banzai::Filter::MathFilter do
expect(doc.search('.js-render-math').count).to eq(2)
end
-
- it 'does not recognize new syntax when feature flag is off' do
- stub_feature_flags(markdown_dollar_math: false)
- doc = filter('$1+2$')
-
- expect(doc.to_s).to eq '$1+2$'
- end
end
diff --git a/spec/lib/bulk_imports/projects/pipelines/project_attributes_pipeline_spec.rb b/spec/lib/bulk_imports/projects/pipelines/project_attributes_pipeline_spec.rb
index 4320d5dc119..ecb3c8fe76d 100644
--- a/spec/lib/bulk_imports/projects/pipelines/project_attributes_pipeline_spec.rb
+++ b/spec/lib/bulk_imports/projects/pipelines/project_attributes_pipeline_spec.rb
@@ -2,7 +2,7 @@
require 'spec_helper'
-RSpec.describe BulkImports::Projects::Pipelines::ProjectAttributesPipeline do
+RSpec.describe BulkImports::Projects::Pipelines::ProjectAttributesPipeline, :with_license do
let_it_be(:project) { create(:project) }
let_it_be(:bulk_import) { create(:bulk_import) }
let_it_be(:entity) { create(:bulk_import_entity, :project_entity, project: project, bulk_import: bulk_import) }
diff --git a/spec/lib/gitlab/import_export/fast_hash_serializer_spec.rb b/spec/lib/gitlab/import_export/fast_hash_serializer_spec.rb
index ce888b71d5e..f18d9e64f52 100644
--- a/spec/lib/gitlab/import_export/fast_hash_serializer_spec.rb
+++ b/spec/lib/gitlab/import_export/fast_hash_serializer_spec.rb
@@ -2,7 +2,7 @@
require 'spec_helper'
-RSpec.describe Gitlab::ImportExport::FastHashSerializer do
+RSpec.describe Gitlab::ImportExport::FastHashSerializer, :with_license do
# FastHashSerializer#execute generates the hash which is not easily accessible
# and includes `JSONBatchRelation` items which are serialized at this point.
# Wrapping the result into JSON generating/parsing is for making
diff --git a/spec/lib/gitlab/import_export/project/tree_saver_spec.rb b/spec/lib/gitlab/import_export/project/tree_saver_spec.rb
index 15108d28bf2..74b6e039601 100644
--- a/spec/lib/gitlab/import_export/project/tree_saver_spec.rb
+++ b/spec/lib/gitlab/import_export/project/tree_saver_spec.rb
@@ -2,7 +2,7 @@
require 'spec_helper'
-RSpec.describe Gitlab::ImportExport::Project::TreeSaver do
+RSpec.describe Gitlab::ImportExport::Project::TreeSaver, :with_license do
let_it_be(:export_path) { "#{Dir.tmpdir}/project_tree_saver_spec" }
let_it_be(:exportable_path) { 'project' }
let_it_be(:user) { create(:user) }
diff --git a/spec/lib/gitlab/usage_data_metrics_spec.rb b/spec/lib/gitlab/usage_data_metrics_spec.rb
index 5d58933f1fd..34f8e5b2a2f 100644
--- a/spec/lib/gitlab/usage_data_metrics_spec.rb
+++ b/spec/lib/gitlab/usage_data_metrics_spec.rb
@@ -2,7 +2,7 @@
require 'spec_helper'
-RSpec.describe Gitlab::UsageDataMetrics do
+RSpec.describe Gitlab::UsageDataMetrics, :with_license do
describe '.uncached_data' do
subject { described_class.uncached_data }
diff --git a/spec/lib/sidebars/groups/menus/settings_menu_spec.rb b/spec/lib/sidebars/groups/menus/settings_menu_spec.rb
index 4e3c639672b..c5246fe93dd 100644
--- a/spec/lib/sidebars/groups/menus/settings_menu_spec.rb
+++ b/spec/lib/sidebars/groups/menus/settings_menu_spec.rb
@@ -2,7 +2,7 @@
require 'spec_helper'
-RSpec.describe Sidebars::Groups::Menus::SettingsMenu do
+RSpec.describe Sidebars::Groups::Menus::SettingsMenu, :with_license do
let_it_be(:owner) { create(:user) }
let_it_be_with_refind(:group) do
diff --git a/spec/migrations/20230105172120_sync_new_amount_used_with_amount_used_on_ci_namespace_monthly_usages_table_spec.rb b/spec/migrations/20230105172120_sync_new_amount_used_with_amount_used_on_ci_namespace_monthly_usages_table_spec.rb
new file mode 100644
index 00000000000..aa82ca2661b
--- /dev/null
+++ b/spec/migrations/20230105172120_sync_new_amount_used_with_amount_used_on_ci_namespace_monthly_usages_table_spec.rb
@@ -0,0 +1,55 @@
+# frozen_string_literal: true
+
+require 'spec_helper'
+
+require_migration!
+
+RSpec.describe SyncNewAmountUsedWithAmountUsedOnCiNamespaceMonthlyUsagesTable, migration: :gitlab_ci,
+feature_category: :continuous_integration do
+ let(:namespace_usages) { table(:ci_namespace_monthly_usages) }
+ let(:migration) { described_class.new }
+
+ before do
+ # Disabling the trigger temporarily to allow records being created with out-of-sync
+ # `new_amount_used` and `amount_used`. This will simulate existing records before
+ # we add the trigger.
+ ActiveRecord::Base.connection
+ .execute("ALTER TABLE ci_namespace_monthly_usages DISABLE TRIGGER sync_namespaces_amount_used_columns")
+
+ this_month = Time.now.utc.beginning_of_month
+ last_month = 1.month.ago.utc.beginning_of_month
+ last_year = 1.year.ago.utc.beginning_of_month
+
+ namespace_usages.create!(namespace_id: 1, date: last_year)
+ namespace_usages.create!(namespace_id: 1, date: this_month, amount_used: 10, new_amount_used: 0)
+ namespace_usages.create!(namespace_id: 1, date: last_month, amount_used: 20, new_amount_used: 0)
+
+ namespace_usages.create!(namespace_id: 2, date: last_year)
+ namespace_usages.create!(namespace_id: 2, date: this_month, amount_used: 30, new_amount_used: 0)
+ namespace_usages.create!(namespace_id: 2, date: last_month, amount_used: 40, new_amount_used: 0)
+
+ ActiveRecord::Base.connection
+ .execute("ALTER TABLE ci_namespace_monthly_usages ENABLE TRIGGER sync_namespaces_amount_used_columns")
+ end
+
+ describe '#up' do
+ it "doesnt change new_amount_used values" do
+ data = namespace_usages.all
+ data.each do |item|
+ expect { migration.up }.to not_change { item.new_amount_used }
+ end
+ end
+ end
+
+ describe '#down' do
+ it 'updates `new_amount_used` with values from `amount_used`' do
+ expect(namespace_usages.where(new_amount_used: 0).count).to eq(6)
+
+ migration.down
+
+ expect(namespace_usages.where(new_amount_used: 0).count).to eq(2)
+ expect(namespace_usages.order(:id).pluck(:new_amount_used))
+ .to contain_exactly(0, 0, 10, 20, 30, 40)
+ end
+ end
+end
diff --git a/spec/models/factories_spec.rb b/spec/models/factories_spec.rb
index 981ca3dfa2c..b0a0d24a6dd 100644
--- a/spec/models/factories_spec.rb
+++ b/spec/models/factories_spec.rb
@@ -4,7 +4,7 @@ require 'spec_helper'
# `:saas` is used to test `gitlab_subscription` factory.
# It's not available on FOSS but also this very factory is not.
-RSpec.describe 'factories', :saas do
+RSpec.describe 'factories', :saas, :with_license do
include Database::DatabaseHelpers
# Used in `skipped` and indicates whether to skip any traits including the
diff --git a/spec/models/merge_request/approval_removal_settings_spec.rb b/spec/models/merge_request/approval_removal_settings_spec.rb
index 5f879207a72..7e375c7ff39 100644
--- a/spec/models/merge_request/approval_removal_settings_spec.rb
+++ b/spec/models/merge_request/approval_removal_settings_spec.rb
@@ -2,7 +2,7 @@
require 'spec_helper'
-RSpec.describe MergeRequest::ApprovalRemovalSettings do
+RSpec.describe MergeRequest::ApprovalRemovalSettings, :with_license do
describe 'validations' do
let(:reset_approvals_on_push) {}
let(:selective_code_owner_removals) {}
diff --git a/spec/requests/api/boards_spec.rb b/spec/requests/api/boards_spec.rb
index 69804c2c4a4..5f2ff22d0db 100644
--- a/spec/requests/api/boards_spec.rb
+++ b/spec/requests/api/boards_spec.rb
@@ -2,7 +2,7 @@
require 'spec_helper'
-RSpec.describe API::Boards, feature_category: :team_planning do
+RSpec.describe API::Boards, :with_license, feature_category: :team_planning do
let_it_be(:user) { create(:user) }
let_it_be(:non_member) { create(:user) }
let_it_be(:guest) { create(:user) }
diff --git a/spec/requests/api/graphql/group_query_spec.rb b/spec/requests/api/graphql/group_query_spec.rb
index bc288c0a98b..ce5816999a6 100644
--- a/spec/requests/api/graphql/group_query_spec.rb
+++ b/spec/requests/api/graphql/group_query_spec.rb
@@ -4,7 +4,7 @@ require 'spec_helper'
# Based on spec/requests/api/groups_spec.rb
# Should follow closely in order to ensure all situations are covered
-RSpec.describe 'getting group information', feature_category: :subgroups do
+RSpec.describe 'getting group information', :with_license, feature_category: :subgroups do
include GraphqlHelpers
include UploadHelpers
diff --git a/spec/requests/api/group_boards_spec.rb b/spec/requests/api/group_boards_spec.rb
index 01f0e6e2061..acc30b2c137 100644
--- a/spec/requests/api/group_boards_spec.rb
+++ b/spec/requests/api/group_boards_spec.rb
@@ -2,7 +2,7 @@
require 'spec_helper'
-RSpec.describe API::GroupBoards, feature_category: :team_planning do
+RSpec.describe API::GroupBoards, :with_license, feature_category: :team_planning do
let_it_be(:user) { create(:user) }
let_it_be(:non_member) { create(:user) }
let_it_be(:guest) { create(:user) }
diff --git a/spec/requests/api/project_debian_distributions_spec.rb b/spec/requests/api/project_debian_distributions_spec.rb
index 9807f177c5d..dfe93e9fbad 100644
--- a/spec/requests/api/project_debian_distributions_spec.rb
+++ b/spec/requests/api/project_debian_distributions_spec.rb
@@ -5,7 +5,17 @@ RSpec.describe API::ProjectDebianDistributions, feature_category: :package_regis
include HttpBasicAuthHelpers
include WorkhorseHelpers
- include_context 'Debian repository shared context', :project, true do
+ include_context 'Debian repository shared context', :project, false do
+ shared_examples 'accept GET request on private project with access to package registry for everyone' do
+ include_context 'Debian repository access', :private, :anonymous, :basic do
+ before do
+ container.project_feature.reload.update!(package_registry_access_level: ProjectFeature::PUBLIC)
+ end
+
+ it_behaves_like 'Debian distributions GET request', :success
+ end
+ end
+
describe 'POST projects/:id/debian_distributions' do
let(:method) { :post }
let(:url) { "/projects/#{container.id}/debian_distributions" }
@@ -18,24 +28,37 @@ RSpec.describe API::ProjectDebianDistributions, feature_category: :package_regis
it_behaves_like 'Debian distributions write endpoint', 'GET', :bad_request, /^{"message":{"codename":\["has already been taken"\]}}$/
end
+
+ context 'with access to package registry for everyone' do
+ include_context 'Debian repository access', :private, :anonymous, :basic do
+ before do
+ container.project_feature.reload.update!(package_registry_access_level: ProjectFeature::PUBLIC)
+ end
+
+ it_behaves_like 'Debian distributions POST request', :not_found
+ end
+ end
end
describe 'GET projects/:id/debian_distributions' do
let(:url) { "/projects/#{container.id}/debian_distributions" }
it_behaves_like 'Debian distributions read endpoint', 'GET', :success, /^\[{.*"codename":"existing-codename",.*"components":\["existing-component"\],.*"architectures":\["all","existing-arch"\]/
+ it_behaves_like 'accept GET request on private project with access to package registry for everyone'
end
describe 'GET projects/:id/debian_distributions/:codename' do
let(:url) { "/projects/#{container.id}/debian_distributions/#{distribution.codename}" }
it_behaves_like 'Debian distributions read endpoint', 'GET', :success, /^{.*"codename":"existing-codename",.*"components":\["existing-component"\],.*"architectures":\["all","existing-arch"\]/
+ it_behaves_like 'accept GET request on private project with access to package registry for everyone'
end
describe 'GET projects/:id/debian_distributions/:codename/key.asc' do
let(:url) { "/projects/#{container.id}/debian_distributions/#{distribution.codename}/key.asc" }
it_behaves_like 'Debian distributions read endpoint', 'GET', :success, /^-----BEGIN PGP PUBLIC KEY BLOCK-----/
+ it_behaves_like 'accept GET request on private project with access to package registry for everyone'
end
describe 'PUT projects/:id/debian_distributions/:codename' do
diff --git a/spec/requests/api/projects_spec.rb b/spec/requests/api/projects_spec.rb
index 4f7fad0bc69..d62f8a32453 100644
--- a/spec/requests/api/projects_spec.rb
+++ b/spec/requests/api/projects_spec.rb
@@ -2288,7 +2288,7 @@ RSpec.describe API::Projects do
end
end
- context 'when authenticated as an admin' do
+ context 'when authenticated as an admin', :with_license do
before do
stub_container_registry_config(enabled: true, host_port: 'registry.example.org:5000')
end
diff --git a/spec/requests/api/snippet_repository_storage_moves_spec.rb b/spec/requests/api/snippet_repository_storage_moves_spec.rb
index 6081531aee9..9afd8147eb6 100644
--- a/spec/requests/api/snippet_repository_storage_moves_spec.rb
+++ b/spec/requests/api/snippet_repository_storage_moves_spec.rb
@@ -2,7 +2,7 @@
require 'spec_helper'
-RSpec.describe API::SnippetRepositoryStorageMoves, feature_category: :gitaly do
+RSpec.describe API::SnippetRepositoryStorageMoves, :with_license, feature_category: :gitaly do
it_behaves_like 'repository_storage_moves API', 'snippets' do
let_it_be(:container) { create(:snippet, :repository).tap { |snippet| snippet.create_repository } }
let_it_be(:storage_move) { create(:snippet_repository_storage_move, :scheduled, container: container) }
diff --git a/spec/requests/groups/usage_quotas_controller_spec.rb b/spec/requests/groups/usage_quotas_controller_spec.rb
index bddc95434ce..90fd08063f3 100644
--- a/spec/requests/groups/usage_quotas_controller_spec.rb
+++ b/spec/requests/groups/usage_quotas_controller_spec.rb
@@ -2,7 +2,7 @@
require 'spec_helper'
-RSpec.describe Groups::UsageQuotasController, feature_category: :subscription_cost_management do
+RSpec.describe Groups::UsageQuotasController, :with_license, feature_category: :subscription_cost_management do
let_it_be(:group) { create(:group) }
let_it_be(:subgroup) { create(:group, parent: group) }
let_it_be(:user) { create(:user) }
diff --git a/spec/requests/projects_controller_spec.rb b/spec/requests/projects_controller_spec.rb
index f08f3578dc0..613f528e8c2 100644
--- a/spec/requests/projects_controller_spec.rb
+++ b/spec/requests/projects_controller_spec.rb
@@ -2,7 +2,7 @@
require 'spec_helper'
-RSpec.describe ProjectsController, feature_category: :projects do
+RSpec.describe ProjectsController, :with_license, feature_category: :projects do
context 'token authentication' do
context 'when public project' do
let_it_be(:public_project) { create(:project, :public) }
diff --git a/spec/services/audit_event_service_spec.rb b/spec/services/audit_event_service_spec.rb
index 063d250f22b..1d079adc0be 100644
--- a/spec/services/audit_event_service_spec.rb
+++ b/spec/services/audit_event_service_spec.rb
@@ -2,7 +2,7 @@
require 'spec_helper'
-RSpec.describe AuditEventService do
+RSpec.describe AuditEventService, :with_license do
let_it_be(:project) { create(:project) }
let_it_be(:user) { create(:user, :with_sign_ins) }
let_it_be(:project_member) { create(:project_member, user: user) }
diff --git a/spec/services/feature_flags/create_service_spec.rb b/spec/services/feature_flags/create_service_spec.rb
index 1c9bde70af3..1a32faad948 100644
--- a/spec/services/feature_flags/create_service_spec.rb
+++ b/spec/services/feature_flags/create_service_spec.rb
@@ -86,7 +86,7 @@ RSpec.describe FeatureFlags::CreateService do
end
end
- it 'creates audit event' do
+ it 'creates audit event', :with_license do
expect { subject }.to change { AuditEvent.count }.by(1)
expect(AuditEvent.last.details[:custom_message]).to start_with('Created feature flag feature_flag with description "description".')
expect(AuditEvent.last.details[:custom_message]).to include('Created strategy "default" with scopes "*".')
diff --git a/spec/services/feature_flags/destroy_service_spec.rb b/spec/services/feature_flags/destroy_service_spec.rb
index 740923db9b6..b2793dc0560 100644
--- a/spec/services/feature_flags/destroy_service_spec.rb
+++ b/spec/services/feature_flags/destroy_service_spec.rb
@@ -31,7 +31,7 @@ RSpec.describe FeatureFlags::DestroyService do
expect { subject }.to change { Operations::FeatureFlag.count }.by(-1)
end
- it 'creates audit log' do
+ it 'creates audit log', :with_license do
expect { subject }.to change { AuditEvent.count }.by(1)
expect(audit_event_message).to eq("Deleted feature flag #{feature_flag.name}.")
end
diff --git a/spec/services/feature_flags/update_service_spec.rb b/spec/services/feature_flags/update_service_spec.rb
index 8f985d34961..1c5af71a50a 100644
--- a/spec/services/feature_flags/update_service_spec.rb
+++ b/spec/services/feature_flags/update_service_spec.rb
@@ -2,7 +2,7 @@
require 'spec_helper'
-RSpec.describe FeatureFlags::UpdateService do
+RSpec.describe FeatureFlags::UpdateService, :with_license do
let_it_be(:project) { create(:project) }
let_it_be(:developer) { create(:user) }
let_it_be(:reporter) { create(:user) }
diff --git a/spec/services/issues/export_csv_service_spec.rb b/spec/services/issues/export_csv_service_spec.rb
index 66d017464bf..d3359447fd8 100644
--- a/spec/services/issues/export_csv_service_spec.rb
+++ b/spec/services/issues/export_csv_service_spec.rb
@@ -2,7 +2,7 @@
require 'spec_helper'
-RSpec.describe Issues::ExportCsvService do
+RSpec.describe Issues::ExportCsvService, :with_license do
let_it_be(:user) { create(:user) }
let_it_be(:group) { create(:group) }
let_it_be(:project) { create(:project, :public, group: group) }
diff --git a/spec/support/rspec_order_todo.yml b/spec/support/rspec_order_todo.yml
index 13cd4d5755d..e14db02d9c2 100644
--- a/spec/support/rspec_order_todo.yml
+++ b/spec/support/rspec_order_todo.yml
@@ -30,11 +30,6 @@
- './ee/spec/controllers/admin/runners_controller_spec.rb'
- './ee/spec/controllers/admin/users_controller_spec.rb'
- './ee/spec/controllers/autocomplete_controller_spec.rb'
-- './ee/spec/controllers/boards/issues_controller_spec.rb'
-- './ee/spec/controllers/boards/lists_controller_spec.rb'
-- './ee/spec/controllers/boards/milestones_controller_spec.rb'
-- './ee/spec/controllers/boards/users_controller_spec.rb'
-- './ee/spec/controllers/concerns/boards_responses_spec.rb'
- './ee/spec/controllers/concerns/ee/routable_actions/sso_enforcement_redirect_spec.rb'
- './ee/spec/controllers/concerns/geo_instrumentation_spec.rb'
- './ee/spec/controllers/concerns/gitlab_subscriptions/seat_count_alert_spec.rb'
@@ -107,7 +102,6 @@
- './ee/spec/controllers/groups/security/vulnerabilities_controller_spec.rb'
- './ee/spec/controllers/groups/sso_controller_spec.rb'
- './ee/spec/controllers/groups/todos_controller_spec.rb'
-- './ee/spec/controllers/groups/usage_quotas_controller_spec.rb'
- './ee/spec/controllers/groups/wikis_controller_spec.rb'
- './ee/spec/controllers/ldap/omniauth_callbacks_controller_spec.rb'
- './ee/spec/controllers/oauth/applications_controller_spec.rb'
@@ -141,7 +135,6 @@
- './ee/spec/controllers/projects/issues_controller_spec.rb'
- './ee/spec/controllers/projects/iteration_cadences_controller_spec.rb'
- './ee/spec/controllers/projects/iterations_controller_spec.rb'
-- './ee/spec/controllers/projects/legacy_pipelines_controller_spec.rb'
- './ee/spec/controllers/projects/licenses_controller_spec.rb'
- './ee/spec/controllers/projects/merge_requests_controller_spec.rb'
- './ee/spec/controllers/projects/merge_requests/creations_controller_spec.rb'
@@ -171,9 +164,7 @@
- './ee/spec/controllers/projects/subscriptions_controller_spec.rb'
- './ee/spec/controllers/projects/vulnerability_feedback_controller_spec.rb'
- './ee/spec/controllers/registrations/company_controller_spec.rb'
-- './ee/spec/controllers/registrations/groups_controller_spec.rb'
- './ee/spec/controllers/registrations/groups_projects_controller_spec.rb'
-- './ee/spec/controllers/registrations/projects_controller_spec.rb'
- './ee/spec/controllers/registrations/verification_controller_spec.rb'
- './ee/spec/controllers/repositories/git_http_controller_spec.rb'
- './ee/spec/controllers/security/dashboard_controller_spec.rb'
@@ -209,7 +200,6 @@
- './ee/spec/elastic/migrate/20220512150000_pause_indexing_for_unsupported_es_versions_spec.rb'
- './ee/spec/elastic/migrate/20220613120500_migrate_commits_to_separate_index_spec.rb'
- './ee/spec/elastic/migrate/20220713103500_delete_commits_from_original_index_spec.rb'
-- './ee/spec/factories/lfs_object_spec.rb'
- './ee/spec/features/account_recovery_regular_check_spec.rb'
- './ee/spec/features/admin/admin_credentials_inventory_spec.rb'
- './ee/spec/features/admin/admin_dashboard_spec.rb'
@@ -259,7 +249,6 @@
- './ee/spec/features/ci_shared_runner_settings_spec.rb'
- './ee/spec/features/ci_shared_runner_warnings_spec.rb'
- './ee/spec/features/clusters/cluster_detail_page_spec.rb'
-- './ee/spec/features/contextual_sidebar_spec.rb'
- './ee/spec/features/dashboards/activity_spec.rb'
- './ee/spec/features/dashboards/groups_spec.rb'
- './ee/spec/features/dashboards/issues_spec.rb'
@@ -311,8 +300,6 @@
- './ee/spec/features/groups/hooks/user_views_hooks_spec.rb'
- './ee/spec/features/groups/insights_spec.rb'
- './ee/spec/features/groups/issues_spec.rb'
-- './ee/spec/features/groups/iterations/iterations_list_spec.rb'
-- './ee/spec/features/groups/iteration_spec.rb'
- './ee/spec/features/groups/iterations/user_creates_iteration_in_cadence_spec.rb'
- './ee/spec/features/groups/iterations/user_edits_iteration_cadence_spec.rb'
- './ee/spec/features/groups/iterations/user_edits_iteration_spec.rb'
@@ -332,7 +319,6 @@
- './ee/spec/features/groups/saml_group_links_spec.rb'
- './ee/spec/features/groups/saml_providers_spec.rb'
- './ee/spec/features/groups/scim_token_spec.rb'
-- './ee/spec/features/groups/seat_usage/seat_usage_spec.rb'
- './ee/spec/features/groups/security/compliance_dashboards_spec.rb'
- './ee/spec/features/groups/settings/ci_cd_spec.rb'
- './ee/spec/features/groups/settings/protected_environments_spec.rb'
@@ -341,10 +327,8 @@
- './ee/spec/features/groups/settings/user_searches_in_settings_spec.rb'
- './ee/spec/features/groups_spec.rb'
- './ee/spec/features/groups/sso_spec.rb'
-- './ee/spec/features/groups/usage_quotas_spec.rb'
- './ee/spec/features/groups/wikis_spec.rb'
- './ee/spec/features/groups/wiki/user_views_wiki_empty_spec.rb'
-- './ee/spec/features/ide/user_commits_changes_spec.rb'
- './ee/spec/features/ide/user_opens_ide_spec.rb'
- './ee/spec/features/integrations/jira/jira_issues_list_spec.rb'
- './ee/spec/features/invites_spec.rb'
@@ -431,7 +415,6 @@
- './ee/spec/features/projects/issues/user_creates_issue_spec.rb'
- './ee/spec/features/projects/issues/viewing_relocated_issues_spec.rb'
- './ee/spec/features/projects/iterations/iteration_cadences_list_spec.rb'
-- './ee/spec/features/projects/iterations/iterations_list_spec.rb'
- './ee/spec/features/projects/iterations/user_views_iteration_spec.rb'
- './ee/spec/features/projects/jobs/blocked_deployment_job_page_spec.rb'
- './ee/spec/features/projects/jobs_spec.rb'
@@ -449,7 +432,6 @@
- './ee/spec/features/projects/new_project_from_template_spec.rb'
- './ee/spec/features/projects/new_project_spec.rb'
- './ee/spec/features/projects/path_locks_spec.rb'
-- './ee/spec/features/projects/pipelines/legacy_pipeline_spec.rb'
- './ee/spec/features/projects/pipelines/pipeline_csp_spec.rb'
- './ee/spec/features/projects/pipelines/pipeline_spec.rb'
- './ee/spec/features/projects/pipelines/pipelines_spec.rb'
@@ -478,7 +460,6 @@
- './ee/spec/features/projects/settings/user_manages_approval_settings_spec.rb'
- './ee/spec/features/projects/settings/user_manages_issues_template_spec.rb'
- './ee/spec/features/projects/settings/user_manages_members_spec.rb'
-- './ee/spec/features/projects/settings/user_manages_merge_pipelines_spec.rb'
- './ee/spec/features/projects/settings/user_manages_merge_requests_template_spec.rb'
- './ee/spec/features/projects/settings/user_manages_merge_trains_spec.rb'
- './ee/spec/features/projects/show/developer_views_empty_project_instructions_spec.rb'
@@ -493,9 +474,6 @@
- './ee/spec/features/read_only_spec.rb'
- './ee/spec/features/registrations/combined_registration_spec.rb'
- './ee/spec/features/registrations/one_trust_spec.rb'
-- './ee/spec/features/registrations/saas_user_registration_spec.rb'
-- './ee/spec/features/registrations/trial_during_signup_flow_spec.rb'
-- './ee/spec/features/registrations/user_sees_new_onboarding_flow_spec.rb'
- './ee/spec/features/registrations/welcome_spec.rb'
- './ee/spec/features/search/elastic/global_search_spec.rb'
- './ee/spec/features/search/elastic/group_search_spec.rb'
@@ -594,7 +572,6 @@
- './ee/spec/finders/productivity_analytics_finder_spec.rb'
- './ee/spec/finders/projects/integrations/jira/by_ids_finder_spec.rb'
- './ee/spec/finders/projects/integrations/jira/issues_finder_spec.rb'
-- './ee/spec/finders/requirements_management/requirements_finder_spec.rb'
- './ee/spec/finders/scim_finder_spec.rb'
- './ee/spec/finders/security/findings_finder_spec.rb'
- './ee/spec/finders/security/pipeline_vulnerabilities_finder_spec.rb'
@@ -640,7 +617,6 @@
- './ee/spec/graphql/ee/mutations/concerns/mutations/resolves_issuable_spec.rb'
- './ee/spec/graphql/ee/resolvers/board_list_issues_resolver_spec.rb'
- './ee/spec/graphql/ee/resolvers/board_lists_resolver_spec.rb'
-- './ee/spec/graphql/ee/resolvers/issues_resolver_spec.rb'
- './ee/spec/graphql/ee/resolvers/namespace_projects_resolver_spec.rb'
- './ee/spec/graphql/ee/types/alert_management/http_integration_type_spec.rb'
- './ee/spec/graphql/ee/types/board_list_type_spec.rb'
@@ -717,7 +693,6 @@
- './ee/spec/graphql/mutations/requirements_management/update_requirement_spec.rb'
- './ee/spec/graphql/mutations/security/ci_configuration/configure_container_scanning_spec.rb'
- './ee/spec/graphql/mutations/security/ci_configuration/configure_dependency_scanning_spec.rb'
-- './ee/spec/graphql/mutations/security_finding/dismiss_spec.rb'
- './ee/spec/graphql/mutations/security_policy/assign_security_policy_project_spec.rb'
- './ee/spec/graphql/mutations/security_policy/commit_scan_execution_policy_spec.rb'
- './ee/spec/graphql/mutations/security_policy/create_security_policy_project_spec.rb'
@@ -957,7 +932,6 @@
- './ee/spec/graphql/types/vulnerable_projects_by_grade_type_spec.rb'
- './ee/spec/graphql/types/work_items/type_spec.rb'
- './ee/spec/graphql/types/work_items/widget_interface_spec.rb'
-- './ee/spec/graphql/types/work_items/widgets/verification_status_type_spec.rb'
- './ee/spec/helpers/admin/emails_helper_spec.rb'
- './ee/spec/helpers/admin/ip_restriction_helper_spec.rb'
- './ee/spec/helpers/admin/repo_size_limit_helper_spec.rb'
@@ -1131,13 +1105,6 @@
- './ee/spec/lib/ee/api/helpers/scim_pagination_spec.rb'
- './ee/spec/lib/ee/api/helpers_spec.rb'
- './ee/spec/lib/ee/api/helpers/variables_helpers_spec.rb'
-- './ee/spec/lib/ee/audit/compliance_framework_changes_auditor_spec.rb'
-- './ee/spec/lib/ee/audit/group_changes_auditor_spec.rb'
-- './ee/spec/lib/ee/audit/project_changes_auditor_spec.rb'
-- './ee/spec/lib/ee/audit/project_ci_cd_setting_changes_auditor_spec.rb'
-- './ee/spec/lib/ee/audit/project_feature_changes_auditor_spec.rb'
-- './ee/spec/lib/ee/audit/project_setting_changes_auditor_spec.rb'
-- './ee/spec/lib/ee/audit/protected_branches_changes_auditor_spec.rb'
- './ee/spec/lib/ee/backup/repositories_spec.rb'
- './ee/spec/lib/ee/banzai/filter/sanitization_filter_spec.rb'
- './ee/spec/lib/ee/bulk_imports/groups/stage_spec.rb'
@@ -1169,7 +1136,6 @@
- './ee/spec/lib/ee/gitlab/background_migration/migrate_approver_to_approval_rules_check_progress_spec.rb'
- './ee/spec/lib/ee/gitlab/background_migration/migrate_approver_to_approval_rules_in_batch_spec.rb'
- './ee/spec/lib/ee/gitlab/background_migration/migrate_approver_to_approval_rules_spec.rb'
-- './ee/spec/lib/ee/gitlab/background_migration/migrate_job_artifact_registry_to_ssf_spec.rb'
- './ee/spec/lib/ee/gitlab/background_migration/migrate_shared_vulnerability_scanners_spec.rb'
- './ee/spec/lib/ee/gitlab/background_migration/populate_latest_pipeline_ids_spec.rb'
- './ee/spec/lib/ee/gitlab/background_migration/populate_namespace_statistics_spec.rb'
@@ -1196,7 +1162,6 @@
- './ee/spec/lib/ee/gitlab/ci/pipeline/chain/validate/external_spec.rb'
- './ee/spec/lib/ee/gitlab/ci/pipeline/chain/validate/security_orchestration_policy_spec.rb'
- './ee/spec/lib/ee/gitlab/ci/pipeline/quota/activity_spec.rb'
-- './ee/spec/lib/ee/gitlab/ci/pipeline/quota/job_activity_spec.rb'
- './ee/spec/lib/ee/gitlab/ci/pipeline/quota/size_spec.rb'
- './ee/spec/lib/ee/gitlab/ci/reports/security/reports_spec.rb'
- './ee/spec/lib/ee/gitlab/ci/status/build/manual_spec.rb'
@@ -1218,8 +1183,6 @@
- './ee/spec/lib/ee/gitlab/hook_data/issue_builder_spec.rb'
- './ee/spec/lib/ee/gitlab/hook_data/user_builder_spec.rb'
- './ee/spec/lib/ee/gitlab/import_export/after_export_strategies/custom_template_export_import_strategy_spec.rb'
-- './ee/spec/lib/ee/gitlab/import_export/group/legacy_tree_restorer_spec.rb'
-- './ee/spec/lib/ee/gitlab/import_export/group/legacy_tree_saver_spec.rb'
- './ee/spec/lib/ee/gitlab/import_export/group/tree_restorer_spec.rb'
- './ee/spec/lib/ee/gitlab/import_export/group/tree_saver_spec.rb'
- './ee/spec/lib/ee/gitlab/import_export/project/tree_restorer_spec.rb'
@@ -1240,11 +1203,9 @@
- './ee/spec/lib/ee/gitlab/repo_path_spec.rb'
- './ee/spec/lib/ee/gitlab/repository_size_checker_spec.rb'
- './ee/spec/lib/ee/gitlab/scim/attribute_transform_spec.rb'
-- './ee/spec/lib/ee/gitlab/scim/deprovision_service_spec.rb'
- './ee/spec/lib/ee/gitlab/scim/filter_parser_spec.rb'
- './ee/spec/lib/ee/gitlab/scim/params_parser_spec.rb'
- './ee/spec/lib/ee/gitlab/scim/provisioning_service_spec.rb'
-- './ee/spec/lib/ee/gitlab/scim/reprovision_service_spec.rb'
- './ee/spec/lib/ee/gitlab/scim/value_parser_spec.rb'
- './ee/spec/lib/ee/gitlab/search_results_spec.rb'
- './ee/spec/lib/ee/gitlab/security/scan_configuration_spec.rb'
@@ -1384,13 +1345,11 @@
- './ee/spec/lib/gitlab/ci/parsers/security/dast_spec.rb'
- './ee/spec/lib/gitlab/ci/parsers/security/dependency_list_spec.rb'
- './ee/spec/lib/gitlab/ci/parsers/security/dependency_scanning_spec.rb'
-- './ee/spec/lib/gitlab/ci/parsers/security/formatters/dast_spec.rb'
- './ee/spec/lib/gitlab/ci/parsers/security/formatters/dependency_list_spec.rb'
- './ee/spec/lib/gitlab/ci/parsers/security/validators/default_branch_image_validator_spec.rb'
- './ee/spec/lib/gitlab/ci/pipeline/chain/config/content_spec.rb'
- './ee/spec/lib/gitlab/ci/pipeline/chain/create_cross_database_associations_spec.rb'
- './ee/spec/lib/gitlab/ci/pipeline/chain/limit/activity_spec.rb'
-- './ee/spec/lib/gitlab/ci/pipeline/chain/limit/job_activity_spec.rb'
- './ee/spec/lib/gitlab/ci/pipeline/chain/limit/size_spec.rb'
- './ee/spec/lib/gitlab/ci/reports/coverage_fuzzing/report_spec.rb'
- './ee/spec/lib/gitlab/ci/reports/dependency_list/dependency_spec.rb'
@@ -1532,7 +1491,6 @@
- './ee/spec/lib/gitlab/insights/reducers/base_reducer_spec.rb'
- './ee/spec/lib/gitlab/insights/reducers/count_per_label_reducer_spec.rb'
- './ee/spec/lib/gitlab/insights/reducers/count_per_period_reducer_spec.rb'
-- './ee/spec/lib/gitlab/insights/reducers/dora_reducer_spec.rb'
- './ee/spec/lib/gitlab/insights/reducers/label_count_per_period_reducer_spec.rb'
- './ee/spec/lib/gitlab/insights/serializers/chartjs/bar_serializer_spec.rb'
- './ee/spec/lib/gitlab/insights/serializers/chartjs/bar_time_series_serializer_spec.rb'
@@ -1551,7 +1509,6 @@
- './ee/spec/lib/gitlab/middleware/ip_restrictor_spec.rb'
- './ee/spec/lib/gitlab/mirror_spec.rb'
- './ee/spec/lib/gitlab/object_hierarchy_spec.rb'
-- './ee/spec/lib/gitlab/pagination_delegate_spec.rb'
- './ee/spec/lib/gitlab/pagination/keyset/simple_order_builder_spec.rb'
- './ee/spec/lib/gitlab/patch/database_config_spec.rb'
- './ee/spec/lib/gitlab/patch/draw_route_spec.rb'
@@ -1589,7 +1546,6 @@
- './ee/spec/lib/gitlab/usage_data_counters/epic_activity_unique_counter_spec.rb'
- './ee/spec/lib/gitlab/usage_data_counters/licenses_list_spec.rb'
- './ee/spec/lib/gitlab/usage_data_metrics_spec.rb'
-- './ee/spec/lib/gitlab/usage/metrics/aggregates/aggregate_spec.rb'
- './ee/spec/lib/gitlab/usage/metrics/instrumentations/advanced_search/build_type_metric_spec.rb'
- './ee/spec/lib/gitlab/usage/metrics/instrumentations/advanced_search/distribution_metric_spec.rb'
- './ee/spec/lib/gitlab/usage/metrics/instrumentations/advanced_search/lucene_version_metric_spec.rb'
@@ -1669,12 +1625,10 @@
- './ee/spec/migrations/add_non_null_constraint_for_escalation_rule_on_pending_alert_escalations_spec.rb'
- './ee/spec/migrations/async_build_trace_expire_at_index_spec.rb'
- './ee/spec/migrations/backfill_delayed_group_deletion_spec.rb'
-- './ee/spec/migrations/backfill_namespace_statistics_with_wiki_size_spec.rb'
- './ee/spec/migrations/drop_invalid_remediations_spec.rb'
- './ee/spec/migrations/geo/fix_state_column_in_file_registry_spec.rb'
- './ee/spec/migrations/geo/fix_state_column_in_lfs_object_registry_spec.rb'
- './ee/spec/migrations/geo/migrate_ci_job_artifacts_to_separate_registry_spec.rb'
-- './ee/spec/migrations/geo/migrate_job_artifact_registry_spec.rb'
- './ee/spec/migrations/geo/migrate_lfs_objects_to_separate_registry_spec.rb'
- './ee/spec/migrations/geo/set_resync_flag_for_retried_projects_spec.rb'
- './ee/spec/migrations/remove_schedule_and_status_null_constraints_from_pending_escalations_alert_spec.rb'
@@ -1682,14 +1636,11 @@
- './ee/spec/migrations/schedule_populate_test_reports_issue_id_spec.rb'
- './ee/spec/migrations/schedule_requirements_migration_spec.rb'
- './ee/spec/migrations/schedule_trace_expiry_removal_spec.rb'
-- './ee/spec/migrations/update_gitlab_subscriptions_start_at_post_eoa_spec.rb'
- './ee/spec/migrations/update_vulnerability_occurrences_location_spec.rb'
- './ee/spec/models/alert_management/alert_payload_field_spec.rb'
- './ee/spec/models/allowed_email_domain_spec.rb'
- './ee/spec/models/analytics/cycle_analytics/aggregation_context_spec.rb'
- './ee/spec/models/analytics/cycle_analytics/group_level_spec.rb'
-- './ee/spec/models/analytics/cycle_analytics/group_stage_spec.rb'
-- './ee/spec/models/analytics/cycle_analytics/group_value_stream_spec.rb'
- './ee/spec/models/analytics/cycle_analytics/project_stage_spec.rb'
- './ee/spec/models/analytics/cycle_analytics/runtime_limiter_spec.rb'
- './ee/spec/models/analytics/devops_adoption/enabled_namespace_spec.rb'
@@ -1697,7 +1648,6 @@
- './ee/spec/models/analytics/issues_analytics_spec.rb'
- './ee/spec/models/analytics/language_trend/repository_language_spec.rb'
- './ee/spec/models/application_setting_spec.rb'
-- './ee/spec/models/approvable_spec.rb'
- './ee/spec/models/approval_merge_request_rule_spec.rb'
- './ee/spec/models/approval_project_rule_spec.rb'
- './ee/spec/models/approvals/scan_finding_wrapped_rule_set_spec.rb'
@@ -1729,7 +1679,6 @@
- './ee/spec/models/ci/daily_build_group_report_result_spec.rb'
- './ee/spec/models/ci/minutes/additional_pack_spec.rb'
- './ee/spec/models/ci/minutes/context_spec.rb'
-- './ee/spec/models/ci/minutes/limit_spec.rb'
- './ee/spec/models/ci/minutes/namespace_monthly_usage_spec.rb'
- './ee/spec/models/ci/minutes/notification_spec.rb'
- './ee/spec/models/ci/minutes/project_monthly_usage_spec.rb'
@@ -1941,7 +1890,6 @@
- './ee/spec/models/namespace_limit_spec.rb'
- './ee/spec/models/namespace_setting_spec.rb'
- './ee/spec/models/namespaces/free_user_cap_spec.rb'
-- './ee/spec/models/namespaces/free_user_cap/standard_spec.rb'
- './ee/spec/models/namespaces/storage/root_excess_size_spec.rb'
- './ee/spec/models/namespaces/storage/root_size_spec.rb'
- './ee/spec/models/note_spec.rb'
@@ -1962,9 +1910,7 @@
- './ee/spec/models/project_team_spec.rb'
- './ee/spec/models/protected_branch/required_code_owners_section_spec.rb'
- './ee/spec/models/protected_branch/unprotect_access_level_spec.rb'
-- './ee/spec/models/protected_environment/deploy_access_level_spec.rb'
- './ee/spec/models/protected_environments/approval_rule_spec.rb'
-- './ee/spec/models/protected_environments/approval_summary_spec.rb'
- './ee/spec/models/protected_environment_spec.rb'
- './ee/spec/models/push_rule_spec.rb'
- './ee/spec/models/release_highlight_spec.rb'
@@ -2029,7 +1975,6 @@
- './ee/spec/models/vulnerability_user_mention_spec.rb'
- './ee/spec/models/weight_note_spec.rb'
- './ee/spec/models/work_item_spec.rb'
-- './ee/spec/models/work_items/widgets/verification_status_spec.rb'
- './ee/spec/policies/approval_merge_request_rule_policy_spec.rb'
- './ee/spec/policies/approval_project_rule_policy_spec.rb'
- './ee/spec/policies/approval_state_policy_spec.rb'
@@ -2264,7 +2209,6 @@
- './ee/spec/requests/api/graphql/mutations/requirements_management/create_requirement_spec.rb'
- './ee/spec/requests/api/graphql/mutations/requirements_management/export_requirements_spec.rb'
- './ee/spec/requests/api/graphql/mutations/requirements_management/update_requirement_spec.rb'
-- './ee/spec/requests/api/graphql/mutations/security_finding/create_issue_spec.rb'
- './ee/spec/requests/api/graphql/mutations/security_policy/assign_security_policy_project_spec.rb'
- './ee/spec/requests/api/graphql/mutations/security_policy/commit_scan_execution_policy_spec.rb'
- './ee/spec/requests/api/graphql/mutations/security_policy/create_security_policy_project_spec.rb'
@@ -2365,7 +2309,6 @@
- './ee/spec/requests/api/resource_label_events_spec.rb'
- './ee/spec/requests/api/resource_weight_events_spec.rb'
- './ee/spec/requests/api/saml_group_links_spec.rb'
-- './ee/spec/requests/api/scim_spec.rb'
- './ee/spec/requests/api/search_spec.rb'
- './ee/spec/requests/api/settings_spec.rb'
- './ee/spec/requests/api/status_checks_spec.rb'
@@ -2453,7 +2396,6 @@
- './ee/spec/serializers/autocomplete/group_entity_spec.rb'
- './ee/spec/serializers/autocomplete/group_serializer_spec.rb'
- './ee/spec/serializers/blocking_merge_request_entity_spec.rb'
-- './ee/spec/serializers/board_serializer_spec.rb'
- './ee/spec/serializers/clusters/deployment_entity_spec.rb'
- './ee/spec/serializers/clusters/environment_entity_spec.rb'
- './ee/spec/serializers/clusters/environment_serializer_spec.rb'
@@ -2466,7 +2408,6 @@
- './ee/spec/serializers/dependency_list_serializer_spec.rb'
- './ee/spec/serializers/ee/admin/user_entity_spec.rb'
- './ee/spec/serializers/ee/blob_entity_spec.rb'
-- './ee/spec/serializers/ee/board_simple_entity_spec.rb'
- './ee/spec/serializers/ee/build_details_entity_spec.rb'
- './ee/spec/serializers/ee/ci/job_entity_spec.rb'
- './ee/spec/serializers/ee/ci/pipeline_entity_spec.rb'
@@ -2593,7 +2534,6 @@
- './ee/spec/services/app_sec/fuzzing/api/ci_configuration_create_service_spec.rb'
- './ee/spec/services/app_sec/fuzzing/coverage/corpuses/create_service_spec.rb'
- './ee/spec/services/arkose/blocked_users_report_service_spec.rb'
-- './ee/spec/services/arkose/user_verification_service_spec.rb'
- './ee/spec/services/audit_events/build_service_spec.rb'
- './ee/spec/services/audit_events/custom_audit_event_service_spec.rb'
- './ee/spec/services/audit_event_service_spec.rb'
@@ -2741,11 +2681,9 @@
- './ee/spec/services/ee/issues/after_create_service_spec.rb'
- './ee/spec/services/ee/issues/build_from_vulnerability_service_spec.rb'
- './ee/spec/services/ee/issues/clone_service_spec.rb'
-- './ee/spec/services/ee/issues/close_service_spec.rb'
- './ee/spec/services/ee/issues/create_from_vulnerability_data_service_spec.rb'
- './ee/spec/services/ee/issues/create_service_spec.rb'
- './ee/spec/services/ee/issues/move_service_spec.rb'
-- './ee/spec/services/ee/issues/reopen_service_spec.rb'
- './ee/spec/services/ee/issues/update_service_spec.rb'
- './ee/spec/services/ee/keys/destroy_service_spec.rb'
- './ee/spec/services/ee/labels/create_service_spec.rb'
@@ -2803,7 +2741,6 @@
- './ee/spec/services/ee/users/build_service_spec.rb'
- './ee/spec/services/ee/users/create_service_spec.rb'
- './ee/spec/services/ee/users/destroy_service_spec.rb'
-- './ee/spec/services/ee/users/migrate_to_ghost_user_service_spec.rb'
- './ee/spec/services/ee/users/reject_service_spec.rb'
- './ee/spec/services/ee/users/update_service_spec.rb'
- './ee/spec/services/ee/vulnerability_feedback_module/update_service_spec.rb'
@@ -2884,9 +2821,7 @@
- './ee/spec/services/geo/repository_verification_secondary_service_spec.rb'
- './ee/spec/services/geo/reset_checksum_event_store_spec.rb'
- './ee/spec/services/geo/wiki_sync_service_spec.rb'
-- './ee/spec/services/gitlab_subscriptions/activate_awaiting_users_service_spec.rb'
- './ee/spec/services/gitlab_subscriptions/activate_service_spec.rb'
-- './ee/spec/services/gitlab_subscriptions/apply_trial_service_spec.rb'
- './ee/spec/services/gitlab_subscriptions/check_future_renewal_service_spec.rb'
- './ee/spec/services/gitlab_subscriptions/create_hand_raise_lead_service_spec.rb'
- './ee/spec/services/gitlab_subscriptions/create_service_spec.rb'
@@ -2969,10 +2904,6 @@
- './ee/spec/services/milestones/destroy_service_spec.rb'
- './ee/spec/services/milestones/promote_service_spec.rb'
- './ee/spec/services/milestones/update_service_spec.rb'
-- './ee/spec/services/namespaces/free_user_cap/deactivate_members_over_limit_service_spec.rb'
-- './ee/spec/services/namespaces/free_user_cap/remove_group_group_links_outside_hierarchy_service_spec.rb'
-- './ee/spec/services/namespaces/free_user_cap/remove_project_group_links_outside_hierarchy_service_spec.rb'
-- './ee/spec/services/namespaces/free_user_cap/update_prevent_sharing_outside_hierarchy_service_spec.rb'
- './ee/spec/services/namespaces/in_product_marketing_emails_service_spec.rb'
- './ee/spec/services/namespaces/storage/email_notification_service_spec.rb'
- './ee/spec/services/path_locks/lock_service_spec.rb'
@@ -3001,8 +2932,6 @@
- './ee/spec/services/projects/hashed_storage/migrate_repository_service_spec.rb'
- './ee/spec/services/projects/import_export/export_service_spec.rb'
- './ee/spec/services/projects/import_service_spec.rb'
-- './ee/spec/services/projects/licenses/create_policy_service_spec.rb'
-- './ee/spec/services/projects/licenses/update_policy_service_spec.rb'
- './ee/spec/services/projects/mark_for_deletion_service_spec.rb'
- './ee/spec/services/projects/open_issues_count_service_spec.rb'
- './ee/spec/services/projects/operations/update_service_spec.rb'
@@ -3031,7 +2960,6 @@
- './ee/spec/services/requirements_management/map_export_fields_service_spec.rb'
- './ee/spec/services/requirements_management/prepare_import_csv_service_spec.rb'
- './ee/spec/services/requirements_management/process_test_reports_service_spec.rb'
-- './ee/spec/services/requirements_management/update_requirement_service_spec.rb'
- './ee/spec/services/resource_access_tokens/create_service_spec.rb'
- './ee/spec/services/resource_access_tokens/revoke_service_spec.rb'
- './ee/spec/services/resource_events/change_weight_service_spec.rb'
@@ -3044,7 +2972,6 @@
- './ee/spec/services/security/auto_fix_service_spec.rb'
- './ee/spec/services/security/configuration/save_auto_fix_service_spec.rb'
- './ee/spec/services/security/dependency_list_service_spec.rb'
-- './ee/spec/services/security/findings/cleanup_service_spec.rb'
- './ee/spec/services/security/ingestion/finding_map_collection_spec.rb'
- './ee/spec/services/security/ingestion/finding_map_spec.rb'
- './ee/spec/services/security/ingestion/ingest_report_service_spec.rb'
@@ -3117,7 +3044,6 @@
- './ee/spec/services/todo_service_spec.rb'
- './ee/spec/services/upcoming_reconciliations/update_service_spec.rb'
- './ee/spec/services/user_permissions/export_service_spec.rb'
-- './ee/spec/services/users/abuse/excessive_projects_download_ban_service_spec.rb'
- './ee/spec/services/users/abuse/git_abuse/namespace_throttle_service_spec.rb'
- './ee/spec/services/users/abuse/namespace_bans/create_service_spec.rb'
- './ee/spec/services/users/abuse/namespace_bans/destroy_service_spec.rb'
@@ -3166,7 +3092,6 @@
- './ee/spec/tasks/gitlab/license_rake_spec.rb'
- './ee/spec/tasks/gitlab/seed/group_seed_rake_spec.rb'
- './ee/spec/tasks/gitlab/spdx_rake_spec.rb'
-- './ee/spec/tasks/gitlab/uploads/migrate_rake_spec.rb'
- './ee/spec/validators/json_schema_validator_spec.rb'
- './ee/spec/validators/ldap_filter_validator_spec.rb'
- './ee/spec/validators/password/complexity_validator_spec.rb'
@@ -3199,8 +3124,6 @@
- './ee/spec/views/groups/security/discover/show.html.haml_spec.rb'
- './ee/spec/views/groups/settings/_remove.html.haml_spec.rb'
- './ee/spec/views/groups/settings/reporting/show.html.haml_spec.rb'
-- './ee/spec/views/groups/show.html.haml_spec.rb'
-- './ee/spec/views/groups/usage_quotas/index.html.haml_spec.rb'
- './ee/spec/views/layouts/application.html.haml_spec.rb'
- './ee/spec/views/layouts/checkout.html.haml_spec.rb'
- './ee/spec/views/layouts/header/_current_user_dropdown.html.haml_spec.rb'
@@ -3217,12 +3140,9 @@
- './ee/spec/views/operations/index.html.haml_spec.rb'
- './ee/spec/views/profiles/preferences/show.html.haml_spec.rb'
- './ee/spec/views/projects/edit.html.haml_spec.rb'
-- './ee/spec/views/projects/empty.html.haml_spec.rb'
- './ee/spec/views/projects/issues/show.html.haml_spec.rb'
-- './ee/spec/views/projects/merge_requests/_merge_request_approvals.html.haml_spec.rb'
- './ee/spec/views/projects/_merge_request_status_checks_settings.html.haml_spec.rb'
- './ee/spec/views/projects/on_demand_scans/index.html.haml_spec.rb'
-- './ee/spec/views/projects/pipelines/_tabs_content.html.haml_spec.rb'
- './ee/spec/views/projects/project_members/index.html.haml_spec.rb'
- './ee/spec/views/projects/security/corpus_management/show.html.haml_spec.rb'
- './ee/spec/views/projects/security/dast_profiles/show.html.haml_spec.rb'
@@ -3234,10 +3154,7 @@
- './ee/spec/views/projects/security/policies/index.html.haml_spec.rb'
- './ee/spec/views/projects/security/sast_configuration/show.html.haml_spec.rb'
- './ee/spec/views/projects/settings/subscriptions/_index.html.haml_spec.rb'
-- './ee/spec/views/projects/show.html.haml_spec.rb'
-- './ee/spec/views/registrations/groups/new.html.haml_spec.rb'
- './ee/spec/views/registrations/groups_projects/new.html.haml_spec.rb'
-- './ee/spec/views/registrations/projects/new.html.haml_spec.rb'
- './ee/spec/views/registrations/welcome/continuous_onboarding_getting_started.html.haml_spec.rb'
- './ee/spec/views/registrations/welcome/show.html.haml_spec.rb'
- './ee/spec/views/search/_category.html.haml_spec.rb'
@@ -3250,7 +3167,6 @@
- './ee/spec/views/shared/credentials_inventory/_expiry_date.html.haml_spec.rb'
- './ee/spec/views/shared/credentials_inventory/gpg_keys/_gpg_key.html.haml_spec.rb'
- './ee/spec/views/shared/credentials_inventory/personal_access_tokens/_personal_access_token.html.haml_spec.rb'
-- './ee/spec/views/shared/credentials_inventory/project_access_tokens/_project_access_token.html.haml_spec.rb'
- './ee/spec/views/shared/credentials_inventory/ssh_keys/_ssh_key.html.haml_spec.rb'
- './ee/spec/views/shared/issuable/_approver_suggestion.html.haml_spec.rb'
- './ee/spec/views/shared/issuable/_epic_dropdown.html.haml_spec.rb'
@@ -3269,7 +3185,6 @@
- './ee/spec/views/subscriptions/groups/edit.html.haml_spec.rb'
- './ee/spec/views/subscriptions/new.html.haml_spec.rb'
- './ee/spec/views/trial_registrations/new.html.haml_spec.rb'
-- './ee/spec/views/trials/_skip_trial.html.haml_spec.rb'
- './ee/spec/workers/active_user_count_threshold_worker_spec.rb'
- './ee/spec/workers/adjourned_group_deletion_worker_spec.rb'
- './ee/spec/workers/adjourned_project_deletion_worker_spec.rb'
@@ -3333,7 +3248,6 @@
- './ee/spec/workers/geo/batch_event_create_worker_spec.rb'
- './ee/spec/workers/geo/batch/project_registry_scheduler_worker_spec.rb'
- './ee/spec/workers/geo/batch/project_registry_worker_spec.rb'
-- './ee/spec/workers/geo/container_repository_sync_dispatch_worker_spec.rb'
- './ee/spec/workers/geo/container_repository_sync_worker_spec.rb'
- './ee/spec/workers/geo/create_repository_updated_event_worker_spec.rb'
- './ee/spec/workers/geo/design_repository_shard_sync_worker_spec.rb'
@@ -3388,7 +3302,6 @@
- './ee/spec/workers/merge_request_reset_approvals_worker_spec.rb'
- './ee/spec/workers/merge_requests/stream_approval_audit_event_worker_spec.rb'
- './ee/spec/workers/merge_requests/sync_code_owner_approval_rules_worker_spec.rb'
-- './ee/spec/workers/namespaces/free_user_cap/remediation_worker_spec.rb'
- './ee/spec/workers/namespaces/sync_namespace_name_worker_spec.rb'
- './ee/spec/workers/new_epic_worker_spec.rb'
- './ee/spec/workers/personal_access_tokens/groups/policy_worker_spec.rb'
@@ -3407,8 +3320,6 @@
- './ee/spec/workers/scan_security_report_secrets_worker_spec.rb'
- './ee/spec/workers/security/auto_fix_worker_spec.rb'
- './ee/spec/workers/security/create_orchestration_policy_worker_spec.rb'
-- './ee/spec/workers/security/findings/cleanup_worker_spec.rb'
-- './ee/spec/workers/security/findings/delete_by_job_id_worker_spec.rb'
- './ee/spec/workers/security/orchestration_policy_rule_schedule_namespace_worker_spec.rb'
- './ee/spec/workers/security/orchestration_policy_rule_schedule_worker_spec.rb'
- './ee/spec/workers/security/store_scans_worker_spec.rb'
@@ -3451,7 +3362,6 @@
- './spec/config/application_spec.rb'
- './spec/config/inject_enterprise_edition_module_spec.rb'
- './spec/config/mail_room_spec.rb'
-- './spec/config/metrics/aggregates/aggregated_metrics_spec.rb'
- './spec/config/object_store_settings_spec.rb'
- './spec/config/settings_spec.rb'
- './spec/config/smime_signature_settings_spec.rb'
@@ -3485,10 +3395,7 @@
- './spec/controllers/admin/users_controller_spec.rb'
- './spec/controllers/application_controller_spec.rb'
- './spec/controllers/autocomplete_controller_spec.rb'
-- './spec/controllers/boards/issues_controller_spec.rb'
-- './spec/controllers/boards/lists_controller_spec.rb'
- './spec/controllers/chaos_controller_spec.rb'
-- './spec/controllers/concerns/boards_responses_spec.rb'
- './spec/controllers/concerns/check_rate_limit_spec.rb'
- './spec/controllers/concerns/checks_collaboration_spec.rb'
- './spec/controllers/concerns/confirm_email_warning_spec.rb'
@@ -3666,7 +3573,6 @@
- './spec/controllers/projects/pipelines_settings_controller_spec.rb'
- './spec/controllers/projects/pipelines/stages_controller_spec.rb'
- './spec/controllers/projects/pipelines/tests_controller_spec.rb'
-- './spec/controllers/projects/product_analytics_controller_spec.rb'
- './spec/controllers/projects/project_members_controller_spec.rb'
- './spec/controllers/projects/prometheus/alerts_controller_spec.rb'
- './spec/controllers/projects/prometheus/metrics_controller_spec.rb'
@@ -3930,7 +3836,6 @@
- './spec/features/ide/clientside_preview_csp_spec.rb'
- './spec/features/ide_spec.rb'
- './spec/features/ide/static_object_external_storage_csp_spec.rb'
-- './spec/features/ide/user_commits_changes_spec.rb'
- './spec/features/ide/user_opens_merge_request_spec.rb'
- './spec/features/import/manifest_import_spec.rb'
- './spec/features/invites_spec.rb'
@@ -4053,7 +3958,6 @@
- './spec/features/merge_request/user_edits_reviewers_sidebar_spec.rb'
- './spec/features/merge_request/user_expands_diff_spec.rb'
- './spec/features/merge_request/user_interacts_with_batched_mr_diffs_spec.rb'
-- './spec/features/merge_request/user_jumps_to_discussion_spec.rb'
- './spec/features/merge_request/user_locks_discussion_spec.rb'
- './spec/features/merge_request/user_manages_subscription_spec.rb'
- './spec/features/merge_request/user_marks_merge_request_as_draft_spec.rb'
@@ -4108,7 +4012,6 @@
- './spec/features/merge_request/user_views_diffs_spec.rb'
- './spec/features/merge_request/user_views_merge_request_from_deleted_fork_spec.rb'
- './spec/features/merge_request/user_views_open_merge_request_spec.rb'
-- './spec/features/merge_request/user_views_user_status_on_merge_request_spec.rb'
- './spec/features/milestone_spec.rb'
- './spec/features/milestones/user_creates_milestone_spec.rb'
- './spec/features/milestones/user_deletes_milestone_spec.rb'
@@ -4169,7 +4072,6 @@
- './spec/features/projects/blobs/blob_show_spec.rb'
- './spec/features/projects/blobs/edit_spec.rb'
- './spec/features/projects/blobs/shortcuts_blob_spec.rb'
-- './spec/features/projects/blobs/user_creates_new_blob_in_new_project_spec.rb'
- './spec/features/projects/blobs/user_follows_pipeline_suggest_nudge_spec.rb'
- './spec/features/projects/blobs/user_views_pipeline_editor_button_spec.rb'
- './spec/features/projects/branches/download_buttons_spec.rb'
@@ -4329,14 +4231,8 @@
- './spec/features/projects/pages/user_edits_lets_encrypt_settings_spec.rb'
- './spec/features/projects/pages/user_edits_settings_spec.rb'
- './spec/features/projects/pipeline_schedules_spec.rb'
-- './spec/features/projects/pipelines/legacy_pipeline_spec.rb'
-- './spec/features/projects/pipelines/legacy_pipelines_spec.rb'
- './spec/features/projects/pipelines/pipeline_spec.rb'
- './spec/features/projects/pipelines/pipelines_spec.rb'
-- './spec/features/projects/product_analytics/events_spec.rb'
-- './spec/features/projects/product_analytics/graphs_spec.rb'
-- './spec/features/projects/product_analytics/setup_spec.rb'
-- './spec/features/projects/product_analytics/test_spec.rb'
- './spec/features/projects/raw/user_interacts_with_raw_endpoint_spec.rb'
- './spec/features/projects/releases/user_creates_release_spec.rb'
- './spec/features/projects/releases/user_views_edit_release_spec.rb'
@@ -4485,7 +4381,6 @@
- './spec/features/users/anonymous_sessions_spec.rb'
- './spec/features/users/bizible_csp_spec.rb'
- './spec/features/users/confirmation_spec.rb'
-- './spec/features/user_sees_marketing_header_spec.rb'
- './spec/features/user_sees_revert_modal_spec.rb'
- './spec/features/users/email_verification_on_login_spec.rb'
- './spec/features/users/google_analytics_csp_spec.rb'
@@ -4565,7 +4460,6 @@
- './spec/finders/feature_flags_user_lists_finder_spec.rb'
- './spec/finders/fork_projects_finder_spec.rb'
- './spec/finders/fork_targets_finder_spec.rb'
-- './spec/finders/freeze_periods_finder_spec.rb'
- './spec/finders/group_descendants_finder_spec.rb'
- './spec/finders/group_members_finder_spec.rb'
- './spec/finders/group_projects_finder_spec.rb'
@@ -4585,7 +4479,6 @@
- './spec/finders/members_finder_spec.rb'
- './spec/finders/merge_request/metrics_finder_spec.rb'
- './spec/finders/merge_requests/by_approvals_finder_spec.rb'
-- './spec/finders/merge_requests_finder/params_spec.rb'
- './spec/finders/merge_requests_finder_spec.rb'
- './spec/finders/merge_requests/oldest_per_commit_finder_spec.rb'
- './spec/finders/merge_request_target_project_finder_spec.rb'
@@ -4700,7 +4593,6 @@
- './spec/frontend/fixtures/u2f.rb'
- './spec/frontend/fixtures/webauthn.rb'
- './spec/graphql/features/authorization_spec.rb'
-- './spec/graphql/features/feature_flag_spec.rb'
- './spec/graphql/gitlab_schema_spec.rb'
- './spec/graphql/graphql_triggers_spec.rb'
- './spec/graphql/mutations/alert_management/alerts/set_assignees_spec.rb'
@@ -4798,7 +4690,6 @@
- './spec/graphql/mutations/todos/restore_spec.rb'
- './spec/graphql/mutations/user_callouts/create_spec.rb'
- './spec/graphql/mutations/work_items/update_task_spec.rb'
-- './spec/graphql/mutations/work_items/update_widgets_spec.rb'
- './spec/graphql/resolvers/admin/analytics/usage_trends/measurements_resolver_spec.rb'
- './spec/graphql/resolvers/alert_management/alert_resolver_spec.rb'
- './spec/graphql/resolvers/alert_management/alert_status_counts_resolver_spec.rb'
@@ -4862,7 +4753,6 @@
- './spec/graphql/resolvers/group_packages_resolver_spec.rb'
- './spec/graphql/resolvers/group_resolver_spec.rb'
- './spec/graphql/resolvers/groups_resolver_spec.rb'
-- './spec/graphql/resolvers/issues_resolver_spec.rb'
- './spec/graphql/resolvers/issue_status_counts_resolver_spec.rb'
- './spec/graphql/resolvers/kas/agent_configurations_resolver_spec.rb'
- './spec/graphql/resolvers/kas/agent_connections_resolver_spec.rb'
@@ -5362,8 +5252,6 @@
- './spec/initializers/action_mailer_hooks_spec.rb'
- './spec/initializers/active_record_locking_spec.rb'
- './spec/initializers/asset_proxy_setting_spec.rb'
-- './spec/initializers/attr_encrypted_no_db_connection_spec.rb'
-- './spec/initializers/attr_encrypted_thread_safe_spec.rb'
- './spec/initializers/carrierwave_patch_spec.rb'
- './spec/initializers/cookies_serializer_spec.rb'
- './spec/initializers/database_config_spec.rb'
@@ -5431,7 +5319,6 @@
- './spec/lib/api/entities/nuget/search_result_spec.rb'
- './spec/lib/api/entities/package_spec.rb'
- './spec/lib/api/entities/personal_access_token_spec.rb'
-- './spec/lib/api/entities/personal_access_token_with_details_spec.rb'
- './spec/lib/api/entities/plan_limit_spec.rb'
- './spec/lib/api/entities/project_import_failed_relation_spec.rb'
- './spec/lib/api/entities/project_import_status_spec.rb'
@@ -5464,7 +5351,6 @@
- './spec/lib/api/helpers_spec.rb'
- './spec/lib/api/helpers/variables_helpers_spec.rb'
- './spec/lib/api/helpers/version_spec.rb'
-- './spec/lib/api/integrations/slack/events/url_verification_spec.rb'
- './spec/lib/api/support/git_access_actor_spec.rb'
- './spec/lib/api/validations/validators/absence_spec.rb'
- './spec/lib/api/validations/validators/array_none_any_spec.rb'
@@ -5814,7 +5700,6 @@
- './spec/lib/gitlab/auth/unique_ips_limiter_spec.rb'
- './spec/lib/gitlab/auth/user_access_denied_reason_spec.rb'
- './spec/lib/gitlab/avatar_cache_spec.rb'
-- './spec/lib/gitlab/background_migration/add_primary_email_to_emails_if_user_confirmed_spec.rb'
- './spec/lib/gitlab/background_migration/backfill_ci_queuing_tables_spec.rb'
- './spec/lib/gitlab/background_migration/backfill_draft_status_on_merge_requests_spec.rb'
- './spec/lib/gitlab/background_migration/backfill_draft_status_on_merge_requests_with_corrected_regex_spec.rb'
@@ -5836,7 +5721,6 @@
- './spec/lib/gitlab/background_migration/backfill_project_member_namespace_id_spec.rb'
- './spec/lib/gitlab/background_migration/backfill_project_repositories_spec.rb'
- './spec/lib/gitlab/background_migration/backfill_project_settings_spec.rb'
-- './spec/lib/gitlab/background_migration/backfill_projects_with_coverage_spec.rb'
- './spec/lib/gitlab/background_migration/backfill_snippet_repositories_spec.rb'
- './spec/lib/gitlab/background_migration/backfill_topics_title_spec.rb'
- './spec/lib/gitlab/background_migration/backfill_upvotes_count_on_issues_spec.rb'
@@ -5845,7 +5729,6 @@
- './spec/lib/gitlab/background_migration/backfill_work_item_type_id_for_issues_spec.rb'
- './spec/lib/gitlab/background_migration/base_job_spec.rb'
- './spec/lib/gitlab/background_migration/batched_migration_job_spec.rb'
-- './spec/lib/gitlab/background_migration/batching_strategies/backfill_issue_work_item_type_batching_strategy_spec.rb'
- './spec/lib/gitlab/background_migration/batching_strategies/backfill_project_namespace_per_group_batching_strategy_spec.rb'
- './spec/lib/gitlab/background_migration/batching_strategies/backfill_project_statistics_with_container_registry_size_batching_strategy_spec.rb'
- './spec/lib/gitlab/background_migration/batching_strategies/base_strategy_spec.rb'
@@ -5914,7 +5797,6 @@
- './spec/lib/gitlab/backtrace_cleaner_spec.rb'
- './spec/lib/gitlab/bare_repository_import/importer_spec.rb'
- './spec/lib/gitlab/bare_repository_import/repository_spec.rb'
-- './spec/lib/gitlab/batch_pop_queueing_spec.rb'
- './spec/lib/gitlab/batch_worker_context_spec.rb'
- './spec/lib/gitlab/bitbucket_import/importer_spec.rb'
- './spec/lib/gitlab/bitbucket_import/project_creator_spec.rb'
@@ -5981,7 +5863,6 @@
- './spec/lib/gitlab/ci/badge/release/template_spec.rb'
- './spec/lib/gitlab/ci/build/artifacts/adapters/gzip_stream_spec.rb'
- './spec/lib/gitlab/ci/build/artifacts/adapters/raw_stream_spec.rb'
-- './spec/lib/gitlab/ci/build/artifacts/adapters/zip_stream_spec.rb'
- './spec/lib/gitlab/ci/build/artifacts/metadata/entry_spec.rb'
- './spec/lib/gitlab/ci/build/artifacts/metadata_spec.rb'
- './spec/lib/gitlab/ci/build/artifacts/path_spec.rb'
@@ -6155,8 +6036,6 @@
- './spec/lib/gitlab/ci/pipeline/quota/deployments_spec.rb'
- './spec/lib/gitlab/ci/pipeline/seed/build/cache_spec.rb'
- './spec/lib/gitlab/ci/pipeline/seed/build_spec.rb'
-- './spec/lib/gitlab/ci/pipeline/seed/deployment_spec.rb'
-- './spec/lib/gitlab/ci/pipeline/seed/environment_spec.rb'
- './spec/lib/gitlab/ci/pipeline/seed/pipeline_spec.rb'
- './spec/lib/gitlab/ci/pipeline/seed/processable/resource_group_spec.rb'
- './spec/lib/gitlab/ci/pipeline/seed/stage_spec.rb'
@@ -6548,7 +6427,6 @@
- './spec/lib/gitlab/discussions_diff/file_collection_spec.rb'
- './spec/lib/gitlab/discussions_diff/highlight_cache_spec.rb'
- './spec/lib/gitlab/doctor/secrets_spec.rb'
-- './spec/lib/gitlab/doorkeeper_secret_storing/pbkdf2_sha512_spec.rb'
- './spec/lib/gitlab_edition_spec.rb'
- './spec/lib/gitlab/email/attachment_uploader_spec.rb'
- './spec/lib/gitlab/email/failure_handler_spec.rb'
@@ -6608,10 +6486,6 @@
- './spec/lib/gitlab/exclusive_lease_helpers/sleeping_lock_spec.rb'
- './spec/lib/gitlab/exclusive_lease_helpers_spec.rb'
- './spec/lib/gitlab/exclusive_lease_spec.rb'
-- './spec/lib/gitlab/experimentation/controller_concern_spec.rb'
-- './spec/lib/gitlab/experimentation/experiment_spec.rb'
-- './spec/lib/gitlab/experimentation/group_types_spec.rb'
-- './spec/lib/gitlab/experimentation_spec.rb'
- './spec/lib/gitlab/experiment/rollout/feature_spec.rb'
- './spec/lib/gitlab/external_authorization/access_spec.rb'
- './spec/lib/gitlab/external_authorization/cache_spec.rb'
@@ -6660,7 +6534,6 @@
- './spec/lib/gitlab/gitaly_client_spec.rb'
- './spec/lib/gitlab/gitaly_client/storage_settings_spec.rb'
- './spec/lib/gitlab/gitaly_client/util_spec.rb'
-- './spec/lib/gitlab/gitaly_client/wiki_service_spec.rb'
- './spec/lib/gitlab/git/attributes_at_ref_parser_spec.rb'
- './spec/lib/gitlab/git/attributes_parser_spec.rb'
- './spec/lib/gitlab/git/base_error_spec.rb'
@@ -6676,7 +6549,6 @@
- './spec/lib/gitlab/git/conflict/file_spec.rb'
- './spec/lib/gitlab/git/conflict/parser_spec.rb'
- './spec/lib/gitlab/git/conflict/resolver_spec.rb'
-- './spec/lib/gitlab/git/cross_repo_comparer_spec.rb'
- './spec/lib/gitlab/git/diff_collection_spec.rb'
- './spec/lib/gitlab/git/diff_spec.rb'
- './spec/lib/gitlab/git/diff_stats_collection_spec.rb'
@@ -6769,7 +6641,6 @@
- './spec/lib/gitlab/git/user_spec.rb'
- './spec/lib/gitlab/git/util_spec.rb'
- './spec/lib/gitlab/git/wiki_page_version_spec.rb'
-- './spec/lib/gitlab/git/wiki_spec.rb'
- './spec/lib/gitlab/git/wraps_gitaly_errors_spec.rb'
- './spec/lib/gitlab/global_id/deprecations_spec.rb'
- './spec/lib/gitlab/global_id_spec.rb'
@@ -6812,7 +6683,6 @@
- './spec/lib/gitlab/graphql/pagination/connections_spec.rb'
- './spec/lib/gitlab/graphql/pagination/externally_paginated_array_connection_spec.rb'
- './spec/lib/gitlab/graphql/pagination/keyset/connection_spec.rb'
-- './spec/lib/gitlab/graphql/pagination/keyset/last_items_spec.rb'
- './spec/lib/gitlab/graphql/pagination/offset_active_record_relation_connection_spec.rb'
- './spec/lib/gitlab/graphql/present/field_extension_spec.rb'
- './spec/lib/gitlab/graphql/queries_spec.rb'
@@ -6838,13 +6708,6 @@
- './spec/lib/gitlab/health_checks/middleware_spec.rb'
- './spec/lib/gitlab/health_checks/probes/collection_spec.rb'
- './spec/lib/gitlab/health_checks/puma_check_spec.rb'
-- './spec/lib/gitlab/health_checks/redis/cache_check_spec.rb'
-- './spec/lib/gitlab/health_checks/redis/queues_check_spec.rb'
-- './spec/lib/gitlab/health_checks/redis/rate_limiting_check_spec.rb'
-- './spec/lib/gitlab/health_checks/redis/redis_check_spec.rb'
-- './spec/lib/gitlab/health_checks/redis/sessions_check_spec.rb'
-- './spec/lib/gitlab/health_checks/redis/shared_state_check_spec.rb'
-- './spec/lib/gitlab/health_checks/redis/trace_chunks_check_spec.rb'
- './spec/lib/gitlab/health_checks/server_spec.rb'
- './spec/lib/gitlab/highlight_spec.rb'
- './spec/lib/gitlab/hook_data/base_builder_spec.rb'
@@ -6890,8 +6753,6 @@
- './spec/lib/gitlab/import_export/fast_hash_serializer_spec.rb'
- './spec/lib/gitlab/import_export/file_importer_spec.rb'
- './spec/lib/gitlab/import_export/fork_spec.rb'
-- './spec/lib/gitlab/import_export/group/legacy_tree_restorer_spec.rb'
-- './spec/lib/gitlab/import_export/group/legacy_tree_saver_spec.rb'
- './spec/lib/gitlab/import_export/group/object_builder_spec.rb'
- './spec/lib/gitlab/import_export/group/relation_factory_spec.rb'
- './spec/lib/gitlab/import_export/group/relation_tree_restorer_spec.rb'
@@ -7069,7 +6930,6 @@
- './spec/lib/gitlab/memory/reports_daemon_spec.rb'
- './spec/lib/gitlab/memory/reports/jemalloc_stats_spec.rb'
- './spec/lib/gitlab/memory/watchdog_spec.rb'
-- './spec/lib/gitlab/merge_requests/commit_message_generator_spec.rb'
- './spec/lib/gitlab/merge_requests/mergeability/check_result_spec.rb'
- './spec/lib/gitlab/merge_requests/mergeability/redis_interface_spec.rb'
- './spec/lib/gitlab/merge_requests/mergeability/results_store_spec.rb'
@@ -7348,7 +7208,6 @@
- './spec/lib/gitlab/sidekiq_middleware/duplicate_jobs/strategies/until_executing_spec.rb'
- './spec/lib/gitlab/sidekiq_middleware/extra_done_log_metadata_spec.rb'
- './spec/lib/gitlab/sidekiq_middleware/instrumentation_logger_spec.rb'
-- './spec/lib/gitlab/sidekiq_middleware/memory_killer_spec.rb'
- './spec/lib/gitlab/sidekiq_middleware/monitor_spec.rb'
- './spec/lib/gitlab/sidekiq_middleware/query_analyzer_spec.rb'
- './spec/lib/gitlab/sidekiq_middleware/server_metrics_spec.rb'
@@ -7508,7 +7367,6 @@
- './spec/lib/gitlab/usage/metrics/instrumentations/uuid_metric_spec.rb'
- './spec/lib/gitlab/usage/metrics/key_path_processor_spec.rb'
- './spec/lib/gitlab/usage/metrics/names_suggestions/generator_spec.rb'
-- './spec/lib/gitlab/usage/metrics/names_suggestions/relation_parsers/constraints_spec.rb'
- './spec/lib/gitlab/usage/metrics/names_suggestions/relation_parsers/joins_spec.rb'
- './spec/lib/gitlab/usage/metrics/name_suggestion_spec.rb'
- './spec/lib/gitlab/usage/metric_spec.rb'
@@ -7601,8 +7459,6 @@
- './spec/lib/security/ci_configuration/sast_iac_build_action_spec.rb'
- './spec/lib/security/ci_configuration/secret_detection_build_action_spec.rb'
- './spec/lib/security/report_schema_version_matcher_spec.rb'
-- './spec/lib/serializers/json_spec.rb'
-- './spec/lib/serializers/symbolized_json_spec.rb'
- './spec/lib/serializers/unsafe_json_spec.rb'
- './spec/lib/service_ping/build_payload_spec.rb'
- './spec/lib/service_ping/devops_report_spec.rb'
@@ -7681,15 +7537,6 @@
- './spec/mailers/notify_spec.rb'
- './spec/mailers/repository_check_mailer_spec.rb'
- './spec/metrics_server/metrics_server_spec.rb'
-- './spec/migrations/20210406144743_backfill_total_tuple_count_for_batched_migrations_spec.rb'
-- './spec/migrations/20210423160427_schedule_drop_invalid_vulnerabilities_spec.rb'
-- './spec/migrations/20210430134202_copy_adoption_snapshot_namespace_spec.rb'
-- './spec/migrations/20210430135954_copy_adoption_segments_namespace_spec.rb'
-- './spec/migrations/20210503105845_add_project_value_stream_id_to_project_stages_spec.rb'
-- './spec/migrations/20210511142748_schedule_drop_invalid_vulnerabilities2_spec.rb'
-- './spec/migrations/20210514063252_schedule_cleanup_orphaned_lfs_objects_projects_spec.rb'
-- './spec/migrations/20210601073400_fix_total_stage_in_vsa_spec.rb'
-- './spec/migrations/20210601080039_group_protected_environments_add_index_and_constraint_spec.rb'
- './spec/migrations/20210603222333_remove_builds_email_service_from_services_spec.rb'
- './spec/migrations/20210610153556_delete_legacy_operations_feature_flags_spec.rb'
- './spec/migrations/2021061716138_cascade_delete_freeze_periods_spec.rb'
@@ -7701,7 +7548,6 @@
- './spec/migrations/20210805192450_update_trial_plans_ci_daily_pipeline_schedule_triggers_spec.rb'
- './spec/migrations/20210811122206_update_external_project_bots_spec.rb'
- './spec/migrations/20210812013042_remove_duplicate_project_authorizations_spec.rb'
-- './spec/migrations/20210818185845_backfill_projects_with_coverage_spec.rb'
- './spec/migrations/20210819145000_drop_temporary_columns_and_triggers_for_ci_builds_runner_session_spec.rb'
- './spec/migrations/20210831203408_upsert_base_work_item_types_spec.rb'
- './spec/migrations/20210902144144_drop_temporary_columns_and_triggers_for_ci_build_needs_spec.rb'
@@ -7798,11 +7644,9 @@
- './spec/migrations/20220801155858_schedule_disable_legacy_open_source_licence_for_recent_public_projects_spec.rb'
- './spec/migrations/20220802114351_reschedule_backfill_container_registry_size_into_project_statistics_spec.rb'
- './spec/migrations/20220802204737_remove_deactivated_user_highest_role_stats_spec.rb'
-- './spec/migrations/20220809002011_schedule_destroy_invalid_group_members_spec.rb'
- './spec/migrations/active_record/schema_spec.rb'
- './spec/migrations/add_default_project_approval_rules_vuln_allowed_spec.rb'
- './spec/migrations/add_epics_relative_position_spec.rb'
-- './spec/migrations/add_new_trail_plans_spec.rb'
- './spec/migrations/add_open_source_plan_spec.rb'
- './spec/migrations/add_premium_and_ultimate_plan_limits_spec.rb'
- './spec/migrations/add_triggers_to_integrations_type_new_spec.rb'
@@ -7811,9 +7655,7 @@
- './spec/migrations/associate_existing_dast_builds_with_variables_spec.rb'
- './spec/migrations/backfill_all_project_namespaces_spec.rb'
- './spec/migrations/backfill_cadence_id_for_boards_scoped_to_iteration_spec.rb'
-- './spec/migrations/backfill_clusters_integration_prometheus_enabled_spec.rb'
- './spec/migrations/backfill_cycle_analytics_aggregations_spec.rb'
-- './spec/migrations/backfill_escalation_policies_for_oncall_schedules_spec.rb'
- './spec/migrations/backfill_group_features_spec.rb'
- './spec/migrations/backfill_integrations_enable_ssl_verification_spec.rb'
- './spec/migrations/backfill_integrations_type_new_spec.rb'
@@ -7821,26 +7663,19 @@
- './spec/migrations/backfill_member_namespace_id_for_group_members_spec.rb'
- './spec/migrations/backfill_namespace_id_for_namespace_routes_spec.rb'
- './spec/migrations/backfill_namespace_id_for_project_routes_spec.rb'
-- './spec/migrations/backfill_nuget_temporary_packages_to_processing_status_spec.rb'
- './spec/migrations/backfill_project_import_level_spec.rb'
- './spec/migrations/backfill_project_namespaces_for_group_spec.rb'
- './spec/migrations/backfill_stage_event_hash_spec.rb'
- './spec/migrations/backfill_user_namespace_spec.rb'
- './spec/migrations/bulk_insert_cluster_enabled_grants_spec.rb'
- './spec/migrations/change_public_projects_cost_factor_spec.rb'
-- './spec/migrations/change_web_hook_events_default_spec.rb'
-- './spec/migrations/cleanup_after_add_primary_email_to_emails_if_user_confirmed_spec.rb'
- './spec/migrations/cleanup_after_fixing_issue_when_admin_changed_primary_email_spec.rb'
- './spec/migrations/cleanup_after_fixing_regression_with_new_users_emails_spec.rb'
- './spec/migrations/cleanup_backfill_integrations_enable_ssl_verification_spec.rb'
-- './spec/migrations/cleanup_move_container_registry_enabled_to_project_feature_spec.rb'
- './spec/migrations/cleanup_mr_attention_request_todos_spec.rb'
- './spec/migrations/cleanup_orphaned_routes_spec.rb'
-- './spec/migrations/clean_up_pending_builds_table_spec.rb'
- './spec/migrations/cleanup_remaining_orphan_invites_spec.rb'
- './spec/migrations/confirm_security_bot_spec.rb'
-- './spec/migrations/confirm_support_bot_user_spec.rb'
-- './spec/migrations/delete_security_findings_without_uuid_spec.rb'
- './spec/migrations/disable_expiration_policies_linked_to_no_container_images_spec.rb'
- './spec/migrations/disable_job_token_scope_when_unused_spec.rb'
- './spec/migrations/finalize_orphaned_routes_cleanup_spec.rb'
@@ -7850,23 +7685,17 @@
- './spec/migrations/fix_and_backfill_project_namespaces_for_projects_with_duplicate_name_spec.rb'
- './spec/migrations/fix_batched_migrations_old_format_job_arguments_spec.rb'
- './spec/migrations/generate_customers_dot_jwt_signing_key_spec.rb'
-- './spec/migrations/insert_ci_daily_pipeline_schedule_triggers_plan_limits_spec.rb'
-- './spec/migrations/migrate_elastic_index_settings_spec.rb'
- './spec/migrations/migrate_protected_attribute_to_pending_builds_spec.rb'
-- './spec/migrations/move_container_registry_enabled_to_project_features3_spec.rb'
- './spec/migrations/orphaned_invite_tokens_cleanup_spec.rb'
- './spec/migrations/populate_audit_event_streaming_verification_token_spec.rb'
-- './spec/migrations/populate_dismissal_information_for_vulnerabilities_spec.rb'
- './spec/migrations/populate_operation_visibility_permissions_spec.rb'
- './spec/migrations/queue_backfill_project_feature_package_registry_access_level_spec.rb'
- './spec/migrations/recreate_index_security_ci_builds_on_name_and_id_parser_features_spec.rb'
- './spec/migrations/recreate_index_security_ci_builds_on_name_and_id_parser_with_new_features_spec.rb'
- './spec/migrations/remove_duplicate_dast_site_tokens_spec.rb'
- './spec/migrations/remove_duplicate_dast_site_tokens_with_same_token_spec.rb'
-- './spec/migrations/remove_hipchat_service_records_spec.rb'
- './spec/migrations/remove_invalid_integrations_spec.rb'
- './spec/migrations/remove_not_null_contraint_on_title_from_sprints_spec.rb'
-- './spec/migrations/remove_records_without_group_from_webhooks_table_spec.rb'
- './spec/migrations/remove_schedule_and_status_from_pending_alert_escalations_spec.rb'
- './spec/migrations/remove_wiki_notes_spec.rb'
- './spec/migrations/rename_services_to_integrations_spec.rb'
@@ -7878,22 +7707,17 @@
- './spec/migrations/reset_job_token_scope_enabled_spec.rb'
- './spec/migrations/reset_severity_levels_to_new_default_spec.rb'
- './spec/migrations/retry_backfill_traversal_ids_spec.rb'
-- './spec/migrations/schedule_add_primary_email_to_emails_if_user_confirmed_spec.rb'
- './spec/migrations/schedule_backfill_draft_status_on_merge_requests_corrected_regex_spec.rb'
- './spec/migrations/schedule_backfilling_the_namespace_id_for_vulnerability_reads_spec.rb'
- './spec/migrations/schedule_copy_ci_builds_columns_to_security_scans2_spec.rb'
-- './spec/migrations/schedule_disable_expiration_policies_linked_to_no_container_images_spec.rb'
- './spec/migrations/schedule_fix_incorrect_max_seats_used2_spec.rb'
- './spec/migrations/schedule_fix_incorrect_max_seats_used_spec.rb'
-- './spec/migrations/schedule_migrate_shared_vulnerability_scanners_spec.rb'
- './spec/migrations/schedule_populate_requirements_issue_id_spec.rb'
- './spec/migrations/schedule_purging_stale_security_scans_spec.rb'
- './spec/migrations/schedule_recalculate_vulnerability_finding_signatures_for_findings_spec.rb'
- './spec/migrations/schedule_security_setting_creation_spec.rb'
- './spec/migrations/schedule_set_correct_vulnerability_state_spec.rb'
- './spec/migrations/schedule_update_timelogs_null_spent_at_spec.rb'
-- './spec/migrations/schedule_update_timelogs_project_id_spec.rb'
-- './spec/migrations/schedule_update_users_where_two_factor_auth_required_from_group_spec.rb'
- './spec/migrations/set_default_job_token_scope_true_spec.rb'
- './spec/migrations/slice_merge_request_diff_commit_migrations_spec.rb'
- './spec/migrations/start_backfill_ci_queuing_tables_spec.rb'
@@ -7904,7 +7728,6 @@
- './spec/migrations/update_default_scan_method_of_dast_site_profile_spec.rb'
- './spec/migrations/update_integrations_trigger_type_new_on_insert_spec.rb'
- './spec/migrations/update_invalid_member_states_spec.rb'
-- './spec/migrations/update_invalid_web_hooks_spec.rb'
- './spec/models/ability_spec.rb'
- './spec/models/abuse_report_spec.rb'
- './spec/models/active_session_spec.rb'
@@ -7989,7 +7812,6 @@
- './spec/models/ci/daily_build_group_report_result_spec.rb'
- './spec/models/ci/deleted_object_spec.rb'
- './spec/models/ci/freeze_period_spec.rb'
-- './spec/models/ci/freeze_period_status_spec.rb'
- './spec/models/ci/group_spec.rb'
- './spec/models/ci/group_variable_spec.rb'
- './spec/models/ci/instance_variable_spec.rb'
@@ -8061,7 +7883,6 @@
- './spec/models/compare_spec.rb'
- './spec/models/concerns/access_requestable_spec.rb'
- './spec/models/concerns/after_commit_queue_spec.rb'
-- './spec/models/concerns/approvable_base_spec.rb'
- './spec/models/concerns/as_cte_spec.rb'
- './spec/models/concerns/atomic_internal_id_spec.rb'
- './spec/models/concerns/avatarable_spec.rb'
@@ -8075,13 +7896,11 @@
- './spec/models/concerns/bulk_insert_safe_spec.rb'
- './spec/models/concerns/cacheable_attributes_spec.rb'
- './spec/models/concerns/cache_markdown_field_spec.rb'
-- './spec/models/concerns/cascading_namespace_setting_attribute_spec.rb'
- './spec/models/concerns/case_sensitivity_spec.rb'
- './spec/models/concerns/checksummable_spec.rb'
- './spec/models/concerns/chronic_duration_attribute_spec.rb'
- './spec/models/concerns/ci/artifactable_spec.rb'
- './spec/models/concerns/ci/bulk_insertable_tags_spec.rb'
-- './spec/models/concerns/ci/has_deployment_name_spec.rb'
- './spec/models/concerns/ci/has_ref_spec.rb'
- './spec/models/concerns/ci/has_status_spec.rb'
- './spec/models/concerns/ci/has_variable_spec.rb'
@@ -8218,9 +8037,6 @@
- './spec/models/error_tracking/error_spec.rb'
- './spec/models/error_tracking/project_error_tracking_setting_spec.rb'
- './spec/models/event_spec.rb'
-- './spec/models/experiment_spec.rb'
-- './spec/models/experiment_subject_spec.rb'
-- './spec/models/experiment_user_spec.rb'
- './spec/models/exported_protected_branch_spec.rb'
- './spec/models/external_issue_spec.rb'
- './spec/models/external_pull_request_spec.rb'
@@ -8313,7 +8129,6 @@
- './spec/models/internal_id_spec.rb'
- './spec/models/issuable_severity_spec.rb'
- './spec/models/issue_assignee_spec.rb'
-- './spec/models/issue_collection_spec.rb'
- './spec/models/issue_email_participant_spec.rb'
- './spec/models/issue/email_spec.rb'
- './spec/models/issue_link_spec.rb'
@@ -8385,7 +8200,6 @@
- './spec/models/notification_setting_spec.rb'
- './spec/models/oauth_access_grant_spec.rb'
- './spec/models/oauth_access_token_spec.rb'
-- './spec/models/onboarding_progress_spec.rb'
- './spec/models/operations/feature_flags_client_spec.rb'
- './spec/models/operations/feature_flag_spec.rb'
- './spec/models/operations/feature_flags/strategy_spec.rb'
@@ -8561,7 +8375,6 @@
- './spec/models/users/group_callout_spec.rb'
- './spec/models/users/in_product_marketing_email_spec.rb'
- './spec/models/users/merge_request_interaction_spec.rb'
-- './spec/models/users/namespace_callout_spec.rb'
- './spec/models/user_spec.rb'
- './spec/models/users/project_callout_spec.rb'
- './spec/models/users/saved_reply_spec.rb'
@@ -8607,7 +8420,6 @@
- './spec/policies/commit_policy_spec.rb'
- './spec/policies/concerns/crud_policy_helpers_spec.rb'
- './spec/policies/concerns/policy_actor_spec.rb'
-- './spec/policies/concerns/readonly_abilities_spec.rb'
- './spec/policies/container_expiration_policy_policy_spec.rb'
- './spec/policies/custom_emoji_policy_spec.rb'
- './spec/policies/deploy_key_policy_spec.rb'
@@ -8957,7 +8769,6 @@
- './spec/requests/api/graphql/mutations/work_items/delete_task_spec.rb'
- './spec/requests/api/graphql/mutations/work_items/update_spec.rb'
- './spec/requests/api/graphql/mutations/work_items/update_task_spec.rb'
-- './spec/requests/api/graphql/mutations/work_items/update_widgets_spec.rb'
- './spec/requests/api/graphql/namespace/package_settings_spec.rb'
- './spec/requests/api/graphql/namespace/projects_spec.rb'
- './spec/requests/api/graphql/namespace_query_spec.rb'
@@ -9053,7 +8864,6 @@
- './spec/requests/api/import_bitbucket_server_spec.rb'
- './spec/requests/api/import_github_spec.rb'
- './spec/requests/api/integrations/jira_connect/subscriptions_spec.rb'
-- './spec/requests/api/integrations/slack/events_spec.rb'
- './spec/requests/api/integrations_spec.rb'
- './spec/requests/api/internal/base_spec.rb'
- './spec/requests/api/internal/container_registry/migration_spec.rb'
@@ -9151,9 +8961,7 @@
- './spec/requests/api/users_preferences_spec.rb'
- './spec/requests/api/users_spec.rb'
- './spec/requests/api/v3/github_spec.rb'
-- './spec/requests/api/version_spec.rb'
- './spec/requests/api/wikis_spec.rb'
-- './spec/requests/boards/lists_controller_spec.rb'
- './spec/requests/concerns/planning_hierarchy_spec.rb'
- './spec/requests/content_security_policy_spec.rb'
- './spec/requests/dashboard_controller_spec.rb'
@@ -9195,8 +9003,6 @@
- './spec/requests/oauth/tokens_controller_spec.rb'
- './spec/requests/oauth_tokens_spec.rb'
- './spec/requests/openid_connect_spec.rb'
-- './spec/requests/product_analytics/collector_app_attack_spec.rb'
-- './spec/requests/product_analytics/collector_app_spec.rb'
- './spec/requests/profiles/notifications_controller_spec.rb'
- './spec/requests/projects/ci/promeheus_metrics/histograms_controller_spec.rb'
- './spec/requests/projects/cluster_agents_controller_spec.rb'
@@ -9252,7 +9058,6 @@
- './spec/requests/users_controller_spec.rb'
- './spec/requests/user_sends_malformed_strings_spec.rb'
- './spec/requests/users/group_callouts_spec.rb'
-- './spec/requests/users/namespace_callouts_spec.rb'
- './spec/requests/user_spoofs_ip_spec.rb'
- './spec/requests/users/project_callouts_spec.rb'
- './spec/requests/verifies_with_email_spec.rb'
@@ -9282,8 +9087,6 @@
- './spec/serializers/analytics_summary_serializer_spec.rb'
- './spec/serializers/base_discussion_entity_spec.rb'
- './spec/serializers/blob_entity_spec.rb'
-- './spec/serializers/board_serializer_spec.rb'
-- './spec/serializers/board_simple_entity_spec.rb'
- './spec/serializers/build_action_entity_spec.rb'
- './spec/serializers/build_artifact_entity_spec.rb'
- './spec/serializers/build_details_entity_spec.rb'
@@ -9492,7 +9295,6 @@
- './spec/services/boards/issues/move_service_spec.rb'
- './spec/services/boards/lists/create_service_spec.rb'
- './spec/services/boards/lists/destroy_service_spec.rb'
-- './spec/services/boards/lists/generate_service_spec.rb'
- './spec/services/boards/lists/list_service_spec.rb'
- './spec/services/boards/lists/move_service_spec.rb'
- './spec/services/boards/lists/update_service_spec.rb'
@@ -9522,7 +9324,6 @@
- './spec/services/chat_names/authorize_user_service_spec.rb'
- './spec/services/chat_names/find_user_service_spec.rb'
- './spec/services/ci/abort_pipelines_service_spec.rb'
-- './spec/services/ci/after_requeue_job_service_spec.rb'
- './spec/services/ci/append_build_trace_service_spec.rb'
- './spec/services/ci/archive_trace_service_spec.rb'
- './spec/services/ci/build_cancel_service_spec.rb'
@@ -9635,37 +9436,14 @@
- './spec/services/clusters/agents/refresh_authorization_service_spec.rb'
- './spec/services/clusters/agent_tokens/create_service_spec.rb'
- './spec/services/clusters/agent_tokens/track_usage_service_spec.rb'
-- './spec/services/clusters/applications/check_ingress_ip_address_service_spec.rb'
-- './spec/services/clusters/applications/check_installation_progress_service_spec.rb'
-- './spec/services/clusters/applications/check_uninstall_progress_service_spec.rb'
-- './spec/services/clusters/applications/check_upgrade_progress_service_spec.rb'
-- './spec/services/clusters/applications/create_service_spec.rb'
-- './spec/services/clusters/applications/destroy_service_spec.rb'
-- './spec/services/clusters/applications/install_service_spec.rb'
-- './spec/services/clusters/applications/patch_service_spec.rb'
-- './spec/services/clusters/applications/prometheus_config_service_spec.rb'
-- './spec/services/clusters/applications/prometheus_update_service_spec.rb'
-- './spec/services/clusters/applications/uninstall_service_spec.rb'
-- './spec/services/clusters/applications/update_service_spec.rb'
-- './spec/services/clusters/applications/upgrade_service_spec.rb'
-- './spec/services/clusters/aws/authorize_role_service_spec.rb'
-- './spec/services/clusters/aws/fetch_credentials_service_spec.rb'
-- './spec/services/clusters/aws/finalize_creation_service_spec.rb'
-- './spec/services/clusters/aws/provision_service_spec.rb'
-- './spec/services/clusters/aws/verify_provision_status_service_spec.rb'
- './spec/services/clusters/build_kubernetes_namespace_service_spec.rb'
- './spec/services/clusters/build_service_spec.rb'
- './spec/services/clusters/cleanup/project_namespace_service_spec.rb'
- './spec/services/clusters/cleanup/service_account_service_spec.rb'
- './spec/services/clusters/create_service_spec.rb'
- './spec/services/clusters/destroy_service_spec.rb'
-- './spec/services/clusters/gcp/fetch_operation_service_spec.rb'
-- './spec/services/clusters/gcp/finalize_creation_service_spec.rb'
-- './spec/services/clusters/gcp/provision_service_spec.rb'
-- './spec/services/clusters/gcp/verify_provision_status_service_spec.rb'
- './spec/services/clusters/integrations/create_service_spec.rb'
- './spec/services/clusters/integrations/prometheus_health_check_service_spec.rb'
-- './spec/services/clusters/kubernetes/configure_istio_ingress_service_spec.rb'
- './spec/services/clusters/kubernetes/create_or_update_namespace_service_spec.rb'
- './spec/services/clusters/kubernetes/create_or_update_service_account_service_spec.rb'
- './spec/services/clusters/kubernetes/fetch_kubernetes_token_service_spec.rb'
@@ -10232,14 +10010,12 @@
- './spec/services/users/destroy_service_spec.rb'
- './spec/services/users/dismiss_callout_service_spec.rb'
- './spec/services/users/dismiss_group_callout_service_spec.rb'
-- './spec/services/users/dismiss_namespace_callout_service_spec.rb'
- './spec/services/users/dismiss_project_callout_service_spec.rb'
- './spec/services/users/email_verification/generate_token_service_spec.rb'
- './spec/services/users/email_verification/validate_token_service_spec.rb'
- './spec/services/users/in_product_marketing_email_records_spec.rb'
- './spec/services/users/keys_count_service_spec.rb'
- './spec/services/users/last_push_event_service_spec.rb'
-- './spec/services/users/migrate_to_ghost_user_service_spec.rb'
- './spec/services/users/refresh_authorized_projects_service_spec.rb'
- './spec/services/users/registrations_build_service_spec.rb'
- './spec/services/users/reject_service_spec.rb'
@@ -10290,7 +10066,6 @@
- './spec/sidekiq_cluster/sidekiq_cluster_spec.rb'
- './spec/sidekiq/cron/job_gem_dependency_spec.rb'
- './spec/spam/concerns/has_spam_action_response_fields_spec.rb'
-- './spec/support_specs/database/multiple_databases_spec.rb'
- './spec/support_specs/database/prevent_cross_joins_spec.rb'
- './spec/support_specs/graphql/arguments_spec.rb'
- './spec/support_specs/graphql/field_selection_spec.rb'
@@ -10410,7 +10185,6 @@
- './spec/validators/addressable_url_validator_spec.rb'
- './spec/validators/any_field_validator_spec.rb'
- './spec/validators/array_members_validator_spec.rb'
-- './spec/validators/branch_filter_validator_spec.rb'
- './spec/validators/color_validator_spec.rb'
- './spec/validators/cron_freeze_period_timezone_validator_spec.rb'
- './spec/validators/cron_validator_spec.rb'
@@ -10504,7 +10278,6 @@
- './spec/views/profiles/notifications/show.html.haml_spec.rb'
- './spec/views/profiles/preferences/show.html.haml_spec.rb'
- './spec/views/profiles/show.html.haml_spec.rb'
-- './spec/views/projects/artifacts/_artifact.html.haml_spec.rb'
- './spec/views/projects/blob/_viewer.html.haml_spec.rb'
- './spec/views/projects/branches/index.html.haml_spec.rb'
- './spec/views/projects/commit/branches.html.haml_spec.rb'
@@ -10549,7 +10322,6 @@
- './spec/views/registrations/welcome/show.html.haml_spec.rb'
- './spec/views/search/_results.html.haml_spec.rb'
- './spec/views/search/show.html.haml_spec.rb'
-- './spec/views/shared/deploy_tokens/_form.html.haml_spec.rb'
- './spec/views/shared/groups/_dropdown.html.haml_spec.rb'
- './spec/views/shared/issuable/_sidebar.html.haml_spec.rb'
- './spec/views/shared/_label_row.html.haml_spec.rb'
@@ -10564,7 +10336,6 @@
- './spec/views/shared/projects/_project.html.haml_spec.rb'
- './spec/views/shared/runners/_runner_details.html.haml_spec.rb'
- './spec/views/shared/snippets/_snippet.html.haml_spec.rb'
-- './spec/views/shared/ssh_keys/_key_details.html.haml_spec.rb'
- './spec/views/shared/wikis/_sidebar.html.haml_spec.rb'
- './spec/workers/admin_email_worker_spec.rb'
- './spec/workers/analytics/usage_trends/counter_job_worker_spec.rb'
@@ -10629,18 +10400,12 @@
- './spec/workers/ci/track_failed_build_worker_spec.rb'
- './spec/workers/ci/update_locked_unknown_artifacts_worker_spec.rb'
- './spec/workers/cleanup_container_repository_worker_spec.rb'
-- './spec/workers/cluster_configure_istio_worker_spec.rb'
-- './spec/workers/cluster_provision_worker_spec.rb'
- './spec/workers/clusters/agents/delete_expired_events_worker_spec.rb'
- './spec/workers/clusters/applications/activate_integration_worker_spec.rb'
- './spec/workers/clusters/applications/deactivate_integration_worker_spec.rb'
-- './spec/workers/clusters/applications/wait_for_uninstall_app_worker_spec.rb'
- './spec/workers/clusters/cleanup/project_namespace_worker_spec.rb'
- './spec/workers/clusters/cleanup/service_account_worker_spec.rb'
- './spec/workers/clusters/integrations/check_prometheus_health_worker_spec.rb'
-- './spec/workers/cluster_update_app_worker_spec.rb'
-- './spec/workers/cluster_wait_for_app_update_worker_spec.rb'
-- './spec/workers/cluster_wait_for_ingress_ip_address_worker_spec.rb'
- './spec/workers/concerns/application_worker_spec.rb'
- './spec/workers/concerns/cluster_agent_queue_spec.rb'
- './spec/workers/concerns/cluster_queue_spec.rb'
@@ -10793,10 +10558,6 @@
- './spec/workers/metrics/dashboard/sync_dashboards_worker_spec.rb'
- './spec/workers/migrate_external_diffs_worker_spec.rb'
- './spec/workers/namespaces/in_product_marketing_emails_worker_spec.rb'
-- './spec/workers/namespaces/onboarding_issue_created_worker_spec.rb'
-- './spec/workers/namespaces/onboarding_pipeline_created_worker_spec.rb'
-- './spec/workers/namespaces/onboarding_progress_worker_spec.rb'
-- './spec/workers/namespaces/onboarding_user_added_worker_spec.rb'
- './spec/workers/namespaces/process_sync_events_worker_spec.rb'
- './spec/workers/namespaces/prune_aggregation_schedules_worker_spec.rb'
- './spec/workers/namespaces/root_statistics_worker_spec.rb'
@@ -10912,7 +10673,6 @@
- './spec/workers/users/create_statistics_worker_spec.rb'
- './spec/workers/users/deactivate_dormant_users_worker_spec.rb'
- './spec/workers/user_status_cleanup/batch_worker_spec.rb'
-- './spec/workers/wait_for_cluster_creation_worker_spec.rb'
- './spec/workers/web_hooks/log_destroy_worker_spec.rb'
- './spec/workers/web_hook_worker_spec.rb'
- './spec/workers/wikis/git_garbage_collect_worker_spec.rb'
diff --git a/spec/support_specs/license_metadata_tags_spec.rb b/spec/support_specs/license_metadata_tags_spec.rb
new file mode 100644
index 00000000000..f89a32574c7
--- /dev/null
+++ b/spec/support_specs/license_metadata_tags_spec.rb
@@ -0,0 +1,31 @@
+# frozen_string_literal: true
+
+require 'spec_helper'
+
+# These specs only make sense if ee/spec/spec_helper is loaded
+# In FOSS_ONLY=1 mode, nothing should happen
+RSpec.describe 'license metadata tags', feature_category: :sm_provisioning, if: Gitlab.ee? do
+ it 'applies the without_license metadata tag by default' do |example|
+ expect(example.metadata[:without_license]).to eq(true)
+ end
+
+ it 'does not apply the with_license metadata tag by default' do |example|
+ expect(example.metadata[:with_license]).to be_nil
+ end
+
+ it 'does not have a current license' do
+ expect(License.current).to be_nil
+ end
+
+ context 'with with_license tag', :with_license do
+ it 'has a current license' do
+ expect(License.current).to be_present
+ end
+ end
+
+ context 'with without_license tag', :without_license do
+ it 'does not have a current license' do
+ expect(License.current).to be_nil
+ end
+ end
+end
diff --git a/spec/tooling/lib/tooling/view_to_js_mappings_spec.rb b/spec/tooling/lib/tooling/view_to_js_mappings_spec.rb
index e4c5737df54..b09df2a9200 100644
--- a/spec/tooling/lib/tooling/view_to_js_mappings_spec.rb
+++ b/spec/tooling/lib/tooling/view_to_js_mappings_spec.rb
@@ -143,6 +143,11 @@ RSpec.describe Tooling::ViewToJsMappings, feature_category: :tooling do
describe '#view_files' do
subject { described_class.new(view_base_folder: view_base_folder).view_files(changed_files) }
+ before do
+ File.write("#{js_base_folder}/index.js", "index.js")
+ File.write("#{view_base_folder}/index.html", "index.html")
+ end
+
context 'when no files were changed' do
let(:changed_files) { [] }
@@ -166,6 +171,14 @@ RSpec.describe Tooling::ViewToJsMappings, feature_category: :tooling do
expect(subject).to match_array(["#{view_base_folder}/index.html"])
end
end
+
+ context 'when view files are deleted' do
+ let(:changed_files) { ["#{js_base_folder}/index.js", "#{view_base_folder}/deleted.html"] }
+
+ it 'returns an empty array' do
+ expect(subject).to match_array([])
+ end
+ end
end
describe '#folders_for_available_editions' do
diff --git a/spec/views/layouts/nav/sidebar/_project.html.haml_spec.rb b/spec/views/layouts/nav/sidebar/_project.html.haml_spec.rb
index 080a53cc1a2..4de2c011b93 100644
--- a/spec/views/layouts/nav/sidebar/_project.html.haml_spec.rb
+++ b/spec/views/layouts/nav/sidebar/_project.html.haml_spec.rb
@@ -827,7 +827,7 @@ RSpec.describe 'layouts/nav/sidebar/_project' do
end
end
- context 'gitlab.com' do
+ context 'gitlab.com', :with_license do
before do
allow(Gitlab).to receive(:com?).and_return(true)
end
diff --git a/spec/views/projects/_files.html.haml_spec.rb b/spec/views/projects/_files.html.haml_spec.rb
deleted file mode 100644
index b6a8b4735b0..00000000000
--- a/spec/views/projects/_files.html.haml_spec.rb
+++ /dev/null
@@ -1,73 +0,0 @@
-# frozen_string_literal: true
-
-require 'spec_helper'
-
-RSpec.describe 'projects/_files' do
- include ProjectForksHelper
-
- let_it_be(:user) { create(:user) }
- let_it_be(:source_project) { create(:project, :repository, :public) }
-
- context 'when the project is a fork' do
- let_it_be(:project) { fork_project(source_project, user, { repository: true }) }
-
- before do
- assign(:project, project)
- assign(:ref, project.default_branch)
- assign(:path, '/')
- assign(:id, project.commit.id)
-
- allow(view).to receive(:current_user).and_return(user)
- end
-
- context 'when user can read fork source' do
- before do
- allow(view).to receive(:can?).with(user, :read_project, source_project).and_return(true)
- end
-
- it 'shows the forked-from project' do
- render
-
- expect(rendered).to have_content("Forked from #{source_project.full_name}")
- expect(rendered).to have_content("Up to date with upstream repository")
- end
-
- context 'when fork_divergence_counts is disabled' do
- before do
- stub_feature_flags(fork_divergence_counts: false)
- end
-
- it 'does not show fork info' do
- render
-
- expect(rendered).not_to have_content("Forked from #{source_project.full_name}")
- expect(rendered).not_to have_content("Up to date with upstream repository")
- end
- end
- end
-
- context 'when user cannot read fork source' do
- before do
- allow(view).to receive(:can?).with(user, :read_project, source_project).and_return(false)
- end
-
- it 'does not show the forked-from project' do
- render
-
- expect(rendered).to have_content("Forked from an inaccessible project")
- end
-
- context 'when fork_divergence_counts is disabled' do
- before do
- stub_feature_flags(fork_divergence_counts: false)
- end
-
- it 'does not show fork info' do
- render
-
- expect(rendered).not_to have_content("Forked from an inaccessible project")
- end
- end
- end
- end
-end
diff --git a/tooling/lib/tooling/view_to_js_mappings.rb b/tooling/lib/tooling/view_to_js_mappings.rb
index 48568db382b..76704a04469 100644
--- a/tooling/lib/tooling/view_to_js_mappings.rb
+++ b/tooling/lib/tooling/view_to_js_mappings.rb
@@ -39,7 +39,10 @@ module Tooling
# Keep the files that are in the @view_base_folders folder
def view_files(changed_files)
- changed_files.select { |filename| filename.start_with?(*@view_base_folders) }
+ changed_files.select do |filename|
+ filename.start_with?(*@view_base_folders) &&
+ File.exist?(filename)
+ end
end
def folders_for_available_editions(base_folder)