From b439698ad0db024650aa770d5a743a49a7e4181b Mon Sep 17 00:00:00 2001 From: Pirate Praveen Date: Fri, 17 Mar 2023 16:20:25 +0530 Subject: [PATCH] New upstream version 15.8.4+ds1 --- .gitignore | 2 + .gitlab-ci.yml | 66 +- .gitlab/CODEOWNERS | 58 +- .gitlab/ci/build-images.gitlab-ci.yml | 5 + .gitlab/ci/docs.gitlab-ci.yml | 9 +- .gitlab/ci/frontend.gitlab-ci.yml | 14 +- .gitlab/ci/global.gitlab-ci.yml | 4 +- .../ci/package-and-test/main.gitlab-ci.yml | 11 +- .gitlab/ci/rails.gitlab-ci.yml | 253 +- .gitlab/ci/rails/shared.gitlab-ci.yml | 34 +- .gitlab/ci/review-apps/main.gitlab-ci.yml | 4 +- .gitlab/ci/review-apps/qa.gitlab-ci.yml | 2 +- .gitlab/ci/rules.gitlab-ci.yml | 201 +- .gitlab/ci/setup.gitlab-ci.yml | 39 +- .gitlab/ci/static-analysis.gitlab-ci.yml | 2 +- .gitlab/ci/test-metadata.gitlab-ci.yml | 3 + .gitlab/ci/workhorse.gitlab-ci.yml | 3 +- .../issue_templates/Broken Master - Flaky.md | 6 +- .../Broken Master - Non-flaky.md | 2 +- .gitlab/issue_templates/Doc_cleanup.md | 6 +- .../Experiment Successful Cleanup.md | 2 + .../issue_templates/Feature Flag Roll Out.md | 2 + ...Geo Replicate a new Git repository type.md | 84 +- .../Geo Replicate a new blob type.md | 93 +- .../New Version of gitlab-styles.md | 11 +- .../Security Release.md | 3 +- .markdownlint.yml | 1 + .rubocop.yml | 13 +- .../background_migration/feature_category.yml | 3 + .rubocop_todo/cop/user_admin.yml | 1 - .rubocop_todo/database/multiple_databases.yml | 9 - .rubocop_todo/fips/sha1.yml | 1 - .rubocop_todo/gitlab/namespaced_class.yml | 8 +- .rubocop_todo/gitlab/strong_memoize_attr.yml | 27 - .rubocop_todo/graphql/descriptions.yml | 6 - .rubocop_todo/layout/argument_alignment.yml | 20 - .rubocop_todo/layout/array_alignment.yml | 365 ++ .../layout/first_argument_indentation.yml | 26 + .../first_array_element_indentation.yml | 89 + .../layout/first_hash_element_indentation.yml | 480 +-- .rubocop_todo/layout/hash_alignment.yml | 2 +- .../line_continuation_leading_space.yml | 75 + .../layout/line_continuation_spacing.yml | 224 + ...e_end_string_concatenation_indentation.yml | 358 ++ .rubocop_todo/layout/line_length.yml | 138 - .rubocop_todo/layout/parameter_alignment.yml | 18 + .../layout/space_in_lambda_literal.yml | 2 - .../lint/ambiguous_regexp_literal.yml | 96 + .../lint/missing_cop_enable_directive.yml | 2 - .../lint/redundant_cop_disable_directive.yml | 3 - .../background_migration_base_class.yml | 1 - .../migration/background_migration_record.yml | 1 - .../migration/background_migrations.yml | 12 - .../naming/heredoc_delimiter_naming.yml | 1 - .../performance/concurrent_monotonic_time.yml | 6 + .rubocop_todo/performance/flat_map.yml | 38 + .rubocop_todo/performance/map_compact.yml | 148 + .../redundant_equality_comparison_block.yml | 23 + .../redundant_split_regexp_argument.yml | 8 + .rubocop_todo/rails/file_path.yml | 5 - .rubocop_todo/rails/inverse_of.yml | 4 +- .rubocop_todo/rails/negate_include.yml | 1 - .rubocop_todo/rails/pluck.yml | 4 - .rubocop_todo/rails/redundant_foreign_key.yml | 1 - .rubocop_todo/rspec/any_instance_of.yml | 19 - .../rspec/capybara/visibility_matcher.yml | 1 - .rubocop_todo/rspec/context_wording.yml | 26 - .rubocop_todo/rspec/described_class.yml | 1 - .rubocop_todo/rspec/expect_change.yml | 2 - .rubocop_todo/rspec/expect_in_hook.yml | 5 - .../rspec/factory_bot/avoid_create.yml | 1 - .rubocop_todo/rspec/hooks_before_examples.yml | 1 - .rubocop_todo/rspec/instance_variable.yml | 1 - .../rspec/multiple_memoized_helpers.yml | 1 - .../rspec/repeated_example_group_body.yml | 1 - .../repeated_example_group_description.yml | 1 - .rubocop_todo/rspec/verified_doubles.yml | 4 - .rubocop_todo/security/io_methods.yml | 1 - .rubocop_todo/style/accessor_grouping.yml | 1 - .rubocop_todo/style/bare_percent_literals.yml | 2 - .../style/class_and_module_children.yml | 2 - .rubocop_todo/style/empty_method.yml | 4 - .rubocop_todo/style/format_string.yml | 26 - .rubocop_todo/style/guard_clause.yml | 4 - .rubocop_todo/style/if_unless_modifier.yml | 7 - .../style/percent_literal_delimiters.yml | 28 - .rubocop_todo/style/redundant_self.yml | 2 - .rubocop_todo/style/string_concatenation.yml | 3 - .rubocop_todo/style/symbol_proc.yml | 20 - .solargraph.yml.example | 2 +- CHANGELOG.md | 569 ++- GITALY_SERVER_VERSION | 2 +- GITLAB_ELASTICSEARCH_INDEXER_VERSION | 2 +- GITLAB_KAS_VERSION | 2 +- GITLAB_METRICS_EXPORTER_VERSION | 2 +- GITLAB_PAGES_VERSION | 2 +- GITLAB_SHELL_VERSION | 2 +- Gemfile | 21 +- Gemfile.checksum | 33 +- Gemfile.lock | 50 +- README.md | 2 +- VERSION | 2 +- .../components/abuse_category_selector.vue | 112 + .../components/database_listbox.vue | 2 +- .../admin/users/components/actions/ban.vue | 4 +- app/assets/javascripts/alert_handler.js | 3 +- .../components/alerts_settings_form.vue | 1 + .../components/alerts_settings_wrapper.vue | 4 +- .../components/metric_tile.vue | 51 - app/assets/javascripts/api/user_api.js | 2 +- .../artifacts/components/artifact_row.vue | 2 + .../artifacts/components/feedback_banner.vue | 41 + .../components/job_artifacts_table.vue | 6 +- app/assets/javascripts/artifacts/constants.js | 7 + .../queries/get_job_artifacts.query.graphql | 1 - app/assets/javascripts/artifacts/index.js | 5 +- app/assets/javascripts/autosave.js | 59 +- .../components/submit_dropdown.vue | 3 +- .../behaviors/markdown/gfm_auto_complete.js | 1 + .../behaviors/markdown/init_gfm.js | 13 - .../behaviors/markdown/render_gfm.js | 4 + .../javascripts/behaviors/preview_markdown.js | 4 +- .../behaviors/shortcuts/shortcut.vue | 3 +- .../shortcuts/shortcuts_navigation.js | 2 +- .../blob/components/blob_header.vue | 2 +- .../blob/file_template_mediator.js | 88 +- app/assets/javascripts/blob/notebook/index.js | 6 +- app/assets/javascripts/blob/openapi/index.js | 4 +- .../blob/template_selectors/type_selector.js | 24 - app/assets/javascripts/blob/viewer/index.js | 4 +- app/assets/javascripts/blob_edit/edit_blob.js | 4 +- .../boards/components/board_app.vue | 4 +- .../boards/components/board_card.vue | 15 +- .../boards/components/board_card_inner.vue | 9 +- .../boards/components/board_column.vue | 8 +- .../boards/components/board_content.vue | 14 +- .../components/board_content_sidebar.vue | 18 +- .../components/board_filtered_search.vue | 8 + .../boards/components/board_form.vue | 9 +- .../boards/components/board_list.vue | 7 +- .../boards/components/board_list_header.vue | 7 +- .../boards/components/board_new_issue.vue | 6 +- .../boards/components/boards_selector.vue | 7 +- .../issue_board_filtered_search.vue | 13 +- app/assets/javascripts/boards/index.js | 12 +- .../javascripts/boards/issue_board_filters.js | 7 +- .../javascripts/boards/stores/getters.js | 4 +- .../ci_variable_list/ci_variable_list.js | 0 .../components/ci_admin_variables.vue | 0 .../components/ci_environments_dropdown.vue | 57 +- .../components/ci_group_variables.vue | 0 .../components/ci_project_variables.vue | 0 .../ci_variable_autocomplete_tokens.js | 0 .../components/ci_variable_modal.vue | 1 - .../components/ci_variable_settings.vue | 0 .../components/ci_variable_shared.vue | 0 .../components/ci_variable_table.vue | 0 .../{ => ci}/ci_variable_list/constants.js | 0 .../fragments/ci_variable.fragment.graphql | 0 .../admin_add_variable.mutation.graphql | 2 +- .../admin_delete_variable.mutation.graphql | 2 +- .../admin_update_variable.mutation.graphql | 2 +- .../add_project_environment.mutation.graphql | 0 .../group_add_variable.mutation.graphql | 2 +- .../group_delete_variable.mutation.graphql | 2 +- .../group_update_variable.mutation.graphql | 2 +- .../project_add_variable.mutation.graphql | 2 +- .../project_delete_variable.mutation.graphql | 2 +- .../project_update_variable.mutation.graphql | 2 +- .../queries/group_variables.query.graphql | 2 +- .../project_environments.query.graphql | 0 .../queries/project_variables.query.graphql | 2 +- .../graphql/queries/variables.query.graphql | 2 +- .../ci_variable_list/graphql/settings.js | 4 +- .../{ => ci}/ci_variable_list/index.js | 0 .../native_form_variable_list.js | 0 .../{ => ci}/ci_variable_list/utils.js | 0 .../components/editor/text_editor.vue | 8 +- .../components/pipeline_new_form.vue | 0 .../pipeline_new/components/refs_dropdown.vue | 86 + .../{ => ci}/pipeline_new/constants.js | 0 .../create_pipeline.mutation.graphql | 0 .../queries/ci_config_variables.graphql | 0 .../pipeline_new/graphql/resolvers.js | 0 .../{ => ci}/pipeline_new/index.js | 0 .../pipeline_new/utils/filter_variables.js | 0 .../ci/pipeline_new/utils/format_refs.js | 55 + .../components/pipeline_schedules.vue | 157 +- .../pipeline_schedules_empty_state.vue | 63 + .../components/pipeline_schedules_form.vue | 2 +- .../table/cells/pipeline_schedule_actions.vue | 9 +- .../cells/pipeline_schedule_last_pipeline.vue | 10 +- .../table/pipeline_schedules_table.vue | 1 + .../play_pipeline_schedule.mutation.graphql | 6 + .../mount_pipeline_schedules_app.js | 3 +- .../runner/components/runner_jobs_table.vue | 6 +- .../runner/components/stat/runner_stats.vue | 4 + .../graphql/show/runner_jobs.query.graphql | 2 +- .../ci/runner/project_runners/index.js | 23 + .../project_runners/project_runners_app.vue | 19 + .../ci_settings_pipeline_triggers/index.js | 5 - app/assets/javascripts/constants.js | 7 +- .../components/content_editor.vue | 14 +- .../components/formatting_toolbar.vue | 9 + .../toolbar_text_style_dropdown.vue | 50 +- .../components/custom_metrics_form_fields.vue | 4 +- .../components/new_deploy_token.vue | 2 +- app/assets/javascripts/deprecated_notes.js | 28 +- .../design_notes/design_reply_form.vue | 3 +- app/assets/javascripts/diff.js | 23 +- .../javascripts/diffs/components/app.vue | 9 +- .../diffs/components/diff_file_header.vue | 1 + .../components/merge_conflict_warning.vue | 4 +- .../diffs/components/tree_list.vue | 7 +- app/assets/javascripts/diffs/store/actions.js | 6 +- app/assets/javascripts/editor/constants.js | 12 +- app/assets/javascripts/editor/schema/ci.json | 27 +- .../components/deployment_job.vue | 24 + .../components/deployment_status_link.vue | 26 + .../components/deployment_triggerer.vue | 25 + .../environment_details/constants.js | 17 +- .../environment_details/deployments_table.vue | 55 + .../environment_details/empty_state.vue | 34 + .../environment_details/index.vue | 169 +- .../environment_details/pagination.vue | 74 + .../queries/environment_details.query.graphql | 23 +- .../javascripts/environments/mount_show.js | 37 +- .../components/error_tracking_list.vue | 20 +- .../components/project_dropdown.vue | 41 +- app/assets/javascripts/flash.js | 96 - .../frequent_items/components/app.vue | 34 +- .../components/frequent_items_list.vue | 12 +- .../components/frequent_items_list_item.vue | 76 +- .../javascripts/frequent_items/constants.js | 2 + .../frequent_items/store/actions.js | 29 + .../frequent_items/store/mutation_types.js | 3 + .../frequent_items/store/mutations.js | 16 + .../javascripts/frequent_items/store/state.js | 2 + app/assets/javascripts/gfm_auto_complete.js | 23 +- .../security_patch_upgrade_alert.vue | 76 - .../javascripts/gitlab_version_check/index.js | 25 - .../graphql_shared/issuable_client.js | 41 +- .../graphql_shared/possible_types.json | 3 +- app/assets/javascripts/groups_select.js | 122 - .../ide/components/repo_editor.vue | 4 +- .../ide/lib/gitlab_web_ide/get_base_config.js | 9 +- .../ide/stores/modules/commit/actions.js | 6 +- .../ide/stores/modules/pipelines/actions.js | 4 +- .../stores/modules/terminal/actions/checks.js | 4 +- .../terminal/actions/session_controls.js | 4 +- .../ide/stores/modules/terminal/messages.js | 4 +- .../components/import_status.vue | 33 +- .../components/import_actions_cell.vue | 35 +- .../import_groups/components/import_table.vue | 60 +- .../import_groups/graphql/client_factory.js | 1 + .../import_groups/graphql/typedefs.graphql | 1 + .../components/provider_repo_table_row.vue | 4 +- .../import_entities/import_projects/index.js | 8 +- .../javascripts/init_diff_stats_dropdown.js | 2 +- .../javascripts/integrations/constants.js | 4 + .../edit/components/integration_form.vue | 78 +- .../components/integration_forms/section.vue | 90 + .../edit/components/sections/trigger.vue | 3 +- .../edit/components/trigger_field.vue | 29 +- .../components/invite_members_modal.vue | 7 +- .../components/user_limit_notification.vue | 32 + .../javascripts/invite_members/constants.js | 12 +- .../components/issuable_header_warnings.vue | 11 +- .../components/related_issuable_item.vue | 1 - .../javascripts/issuable/issuable_form.js | 21 +- .../components/issues_dashboard_app.vue | 116 +- .../javascripts/issues/dashboard/index.js | 12 +- .../queries/get_issues.query.graphql | 12 + .../javascripts/issues/dashboard/utils.js | 23 + .../list/components/issues_list_app.vue | 1 + .../javascripts/issues/list/constants.js | 13 +- app/assets/javascripts/issues/list/utils.js | 12 +- .../issues/show/components/header_actions.vue | 22 +- .../show/components/incidents/constants.js | 13 + .../incidents/create_timeline_event.vue | 1 + .../incidents/edit_timeline_event.vue | 2 +- .../incidents/timeline_events_form.vue | 70 +- app/assets/javascripts/issues/show/index.js | 6 +- .../branches/components/project_dropdown.vue | 87 +- .../subscriptions/components/app.vue | 6 +- .../components/compatibility_alert.vue | 73 - .../components/sign_in_oauth_button.vue | 16 +- .../pages/sign_in/sign_in_gitlab_com.vue | 4 + .../components/job/manual_variables_form.vue | 16 +- .../jobs/components/table/jobs_table.vue | 6 +- app/assets/javascripts/jobs/store/actions.js | 4 +- .../language_switcher/components/app.vue | 26 +- app/assets/javascripts/layout_nav.js | 77 +- .../javascripts/lib/utils/common_utils.js | 12 +- .../datetime/date_calculation_utility.js | 2 +- .../lib/utils/datetime/date_format_utility.js | 10 +- .../javascripts/lib/utils/http_status.js | 23 +- .../lib/utils/poll_until_complete.js | 4 +- ..._single_line.js => ensure_single_line.cjs} | 0 app/assets/javascripts/locale/index.js | 2 +- app/assets/javascripts/main.js | 10 + .../access_request_action_buttons.vue | 2 - .../approve_access_request_button.vue | 1 - .../action_buttons/invite_action_buttons.vue | 2 - .../action_buttons/leave_button.vue | 40 - .../remove_group_link_button.vue | 1 - .../action_buttons/remove_member_button.vue | 31 +- .../action_buttons/user_action_buttons.vue | 95 - .../components/action_dropdowns/constants.js | 22 + .../leave_group_dropdown_item.vue | 36 + .../remove_member_dropdown_item.vue | 86 + .../action_dropdowns/user_action_dropdown.vue | 134 + .../members/components/modals/leave_modal.vue | 63 +- .../components/modals/remove_member_modal.vue | 48 +- .../members/components/table/created_at.vue | 8 +- .../table/member_action_buttons.vue | 11 +- .../components/table/member_activity.vue | 38 + .../components/table/member_source.vue | 41 +- .../components/table/members_table.vue | 42 +- .../components/table/members_table_cell.vue | 7 +- .../components/table/role_dropdown.vue | 40 +- app/assets/javascripts/members/constants.js | 17 +- .../members/guest_overage_confirm_action.js | 3 + app/assets/javascripts/members/index.js | 6 + app/assets/javascripts/members/utils.js | 6 + app/assets/javascripts/merge_request_tabs.js | 42 +- .../components/sticky_header.vue | 8 +- .../components/ml_candidate.vue | 50 +- .../components/ml_experiment.vue | 89 +- .../javascripts/monitoring/requests/index.js | 8 +- .../monitoring/stores/mutations.js | 6 +- app/assets/javascripts/mr_notes/init_notes.js | 8 + .../nav/components/new_nav_toggle.vue | 29 +- .../notes/components/comment_form.vue | 2 +- .../notes/components/note_header.vue | 11 +- .../javascripts/notes/mixins/autosave.js | 3 +- .../javascripts/notes/stores/actions.js | 2 +- .../notification_email_listbox_input.vue | 46 + app/assets/javascripts/notifications/index.js | 27 + .../components/observability_app.vue | 26 +- .../components/skeleton/index.vue | 130 +- .../javascripts/observability/constants.js | 30 +- .../components/details_page/tags_list_row.vue | 2 +- .../components/list_page/image_list_row.vue | 51 +- .../explorer/constants/list.js | 1 - .../explorer/graphql/index.js | 2 +- .../details/components/package_history.vue | 8 +- .../components/delete_modal.vue | 1 + .../components/details/package_history.vue | 12 +- .../details/package_versions_list.vue | 29 +- .../components/details/pypi_installation.vue | 2 +- .../components/list/packages_list.vue | 26 +- .../package_registry/constants.js | 8 +- .../package_registry/pages/list.vue | 56 +- .../shared/components/registry_list.vue | 8 +- .../pages/admin/application_settings/index.js | 2 +- .../broadcast_messages/broadcast_message.js | 60 - .../admin/broadcast_messages/edit/index.js | 7 +- .../admin/broadcast_messages/index/index.js | 9 +- .../javascripts/pages/groups/boards/index.js | 2 - .../javascripts/pages/groups/edit/index.js | 4 +- .../pages/groups/group_members/index.js | 2 +- .../groups/observability/datasources/index.js | 3 + .../pages/groups/settings/ci_cd/show/index.js | 2 +- .../javascripts/pages/groups/show/index.js | 2 + .../pages/import/bitbucket/status/index.js | 21 +- .../import/bitbucket_server/status/index.js | 30 +- .../components/bulk_imports_history_app.vue | 65 +- .../pages/import/fogbugz/status/index.js | 2 +- .../pages/import/gitea/status/index.js | 2 +- .../pages/import/github/status/index.js | 2 +- .../pages/import/gitlab/status/index.js | 2 +- .../pages/import/manifest/status/index.js | 2 +- .../pages/projects/commit/show/index.js | 2 + .../pages/projects/compare/show/index.js | 3 + .../forks/new/components/fork_form.vue | 84 +- .../new/components/project_namespace.vue | 78 +- .../pages/projects/forks/new/index.js | 2 + .../javascripts/pages/projects/index.js | 2 - .../components/learn_gitlab_section_link.vue | 9 +- .../merge_requests/init_merge_request.js | 2 - .../projects/merge_requests/show/index.js | 2 + .../projects/ml/experiments/show/index.js | 3 + .../pipeline_schedules/index/index.js | 3 +- .../components/interval_pattern_input.vue | 4 +- .../pipeline_schedules/shared/init_form.js | 2 +- .../pages/projects/pipelines/new/index.js | 2 +- .../pages/projects/project_members/index.js | 2 +- .../projects/settings/ci_cd/show/index.js | 7 +- .../projects/settings/merge_requests/index.js | 3 - .../pages/projects/usage_quotas/index.js | 9 + app/assets/javascripts/pages/users/index.js | 2 + .../pipeline_new/components/refs_dropdown.vue | 114 - .../pipeline_new/utils/format_refs.js | 18 - .../pipeline_wizard/components/wrapper.vue | 12 +- .../components/jobs/failed_jobs_table.vue | 6 +- .../components/pipelines_list/pipelines.vue | 28 +- .../pipelines_list/pipelines_status_badge.vue | 9 +- .../pipelines_list/pipelines_table.vue | 2 +- .../components/pipelines_list/time_ago.vue | 44 +- app/assets/javascripts/pipelines/constants.js | 4 +- .../pipelines/mixins/pipelines_mixin.js | 4 +- .../preferences/profile_preferences_bundle.js | 3 + app/assets/javascripts/profile/profile.js | 4 - .../javascripts/projects/commits/index.js | 19 +- .../components/report_abuse_dropdown_item.vue | 41 + .../projects/merge_requests/index.js | 18 + .../branch_rules/components/view/index.vue | 8 +- .../settings/mount_shared_runners_toggle.js | 4 + .../branch_rules/components/branch_rule.vue | 12 +- app/assets/javascripts/read_more.js | 4 +- .../ref/components/ref_results_section.vue | 8 + .../ref/components/ref_selector.vue | 15 + app/assets/javascripts/ref/constants.js | 2 + .../javascripts/ref/stores/mutations.js | 4 +- app/assets/javascripts/ref_select_dropdown.js | 51 - .../javascripts/repository/commits_service.js | 2 +- .../components/blob_viewers/index.js | 2 + .../blob_viewers/notebook_viewer.vue | 31 + .../blob_viewers/openapi_viewer.vue | 24 + .../repository/components/fork_info.vue | 146 + .../repository/components/tree_content.vue | 17 +- .../javascripts/repository/constants.js | 6 + app/assets/javascripts/repository/index.js | 24 + .../queries/fork_details.query.graphql | 9 + .../repository/utils/ref_switcher_utils.js | 8 +- app/assets/javascripts/search/index.js | 11 +- .../components/confidentiality_filter.vue | 2 +- .../sidebar/components/results_filters.vue | 2 +- .../sidebar/components/scope_navigation.vue | 17 +- .../sidebar/components/status_filter.vue | 2 +- .../search/sidebar/constants/index.js | 13 +- .../javascripts/search/sidebar/index.js | 6 +- .../javascripts/search/store/constants.js | 2 + app/assets/javascripts/search/store/utils.js | 24 +- .../javascripts/search/topbar/constants.js | 2 +- .../javascripts/self_monitor/store/actions.js | 6 +- .../set_status_modal/set_status_form.vue | 39 +- .../set_status_modal_wrapper.vue | 27 +- .../user_profile_set_status_wrapper.vue | 54 +- .../javascripts/set_status_modal/utils.js | 10 +- .../labels_select_vue/labels_select_root.vue | 5 +- .../super_sidebar/components/bottom_bar.vue | 24 + .../components/context_switcher.vue | 83 + .../components/context_switcher_toggle.vue | 45 + .../super_sidebar/components/counter.vue | 48 + .../super_sidebar/components/nav_item.vue | 37 + .../components/super_sidebar.vue | 50 + .../super_sidebar/components/user_bar.vue | 77 + .../javascripts/super_sidebar/mock_data.js | 59 + .../super_sidebar/super_sidebar_bundle.js | 26 + app/assets/javascripts/syntax_highlight.js | 2 +- .../terraform/components/states_table.vue | 6 +- .../components/project_storage_app.vue | 134 + .../components/project_storage_detail.vue | 142 + .../storage/components/storage_type_icon.vue | 35 + .../storage/components/usage_graph.vue | 170 + .../usage_quotas/storage/constants.js | 100 + .../storage/init_project_storage.js | 34 + .../queries/project_storage.query.graphql | 17 + .../javascripts/usage_quotas/storage/utils.js | 49 + .../components/report_abuse_button.vue | 55 + app/assets/javascripts/users/profile/index.js | 18 + .../components/extensions/base.vue | 2 +- .../components/mr_collapsible_extension.vue | 23 +- .../mr_widget_how_to_merge_modal.vue | 66 +- .../components/report_widget_container.vue | 10 +- .../components/state_container.vue | 8 +- .../components/states/mr_widget_conflicts.vue | 21 +- .../components/states/mr_widget_rebase.vue | 22 +- .../components/states/work_in_progress.vue | 5 +- .../components/widget/app.vue | 10 +- .../components/widget/widget.vue | 41 +- .../components/widget/widget_content_row.vue | 7 +- .../extensions/code_quality/constants.js | 27 +- .../extensions/code_quality/index.js | 34 +- ...merge_request_download_paths.query.graphql | 28 + .../mr_widget_security_reports.vue | 134 + .../stores/artifacts_list/actions.js | 4 +- .../vue_shared/components/ci_badge_link.vue | 3 +- .../ci_cd_analytics_charts.vue | 3 +- .../components/ci_cd_analytics/constants.js | 1 + .../vue_shared/components/ci_icon.vue | 2 +- .../vue_shared/components/constants.js | 4 + .../tokens/emoji_token.vue | 1 + .../components/group_select/constants.js | 1 + .../components/group_select/group_select.vue | 91 +- .../group_select/init_group_selects.js | 48 + .../components/header_ci_component.vue | 6 +- .../listbox_input/init_listbox_inputs.js | 42 + .../listbox_input/listbox_input.vue | 31 +- .../markdown/editor_mode_dropdown.vue | 58 + .../vue_shared/components/markdown/field.vue | 7 + .../vue_shared/components/markdown/header.vue | 11 +- .../components/markdown/markdown_editor.vue | 38 +- .../components/markdown/toolbar.vue | 21 + .../vue_shared/components/navigation_tabs.vue | 4 +- .../pagination/table_pagination.vue | 3 +- .../runner_aws_deployments/constants.js | 63 - .../runner_aws_deployments_modal.vue | 114 +- .../runner_instructions/constants.js | 75 +- .../get_runner_platforms.query.graphql | 0 .../get_runner_setup.query.graphql | 0 .../instructions/runner_aws_instructions.vue | 123 + .../instructions/runner_cli_instructions.vue | 169 + .../runner_docker_instructions.vue | 35 + .../runner_kubernetes_instructions.vue | 35 + .../runner_instructions_modal.vue | 201 +- .../components/source_viewer/constants.js | 4 + .../source_viewer/source_viewer.vue | 8 +- .../timezone_dropdown/timezone_dropdown.vue | 14 +- .../vue_shared/components/web_ide_link.vue | 15 +- .../javascripts/vue_shared/constants.js | 2 +- .../show/components/issuable_edit_form.vue | 5 +- .../new_namespace/components/welcome.vue | 2 +- .../components/notes/activity_filter.vue | 113 + .../components/notes/work_item_note.vue | 59 + .../components/notes/work_item_note_body.vue | 37 + .../components/work_item_comment_form.vue | 228 + .../components/work_item_comment_locked.vue | 66 + .../components/work_item_detail.vue | 67 +- .../components/work_item_detail_modal.vue | 21 +- .../components/work_item_links/index.js | 4 + .../work_item_links/work_item_link_child.vue | 41 +- .../work_item_link_child_metadata.vue | 45 +- .../work_item_links/work_item_links.vue | 1 + .../work_item_links/work_item_links_form.vue | 149 +- .../work_item_links/work_item_tree.vue | 14 + .../work_item_tree_children.vue | 1 + .../components/work_item_note_signed_out.vue | 31 + .../work_items/components/work_item_notes.vue | 158 +- .../components/work_item_type_icon.vue | 5 - .../javascripts/work_items/constants.js | 31 +- .../create_work_item_note.mutation.graphql | 5 + .../graphql/project_work_items.query.graphql | 1 + .../graphql/work_item.fragment.graphql | 1 + .../graphql/work_item_links.query.graphql | 1 + ...ork_item_metadata_widgets.fragment.graphql | 1 - ...raphql => work_item_note.fragment.graphql} | 8 +- .../graphql/work_item_notes.query.graphql | 6 +- .../work_item_notes_by_iid.query.graphql | 6 +- .../graphql/work_item_tree.query.graphql | 2 +- .../work_item_widgets.fragment.graphql | 2 +- app/assets/javascripts/work_items/index.js | 4 + app/assets/stylesheets/fonts.scss | 29 + app/assets/stylesheets/framework.scss | 1 + app/assets/stylesheets/framework/common.scss | 4 + .../framework/contextual_sidebar.scss | 7 +- .../stylesheets/framework/dropdowns.scss | 12 +- app/assets/stylesheets/framework/selects.scss | 11 + .../stylesheets/framework/super_sidebar.scss | 22 + .../stylesheets/framework/variables.scss | 2 +- .../lazy_bundles/select2_overrides.scss | 16 - .../stylesheets/page_bundles/ci_status.scss | 3 - .../stylesheets/page_bundles/editor.scss | 1 - .../stylesheets/page_bundles/import.scss | 45 +- .../stylesheets/page_bundles/members.scss | 4 + .../page_bundles/merge_requests.scss | 14 +- .../page_bundles/oncall_schedules.scss | 10 +- .../stylesheets/page_bundles/todos.scss | 4 +- .../pages/ml_experiment_tracking.scss | 14 + app/assets/stylesheets/pages/pipelines.scss | 13 +- app/assets/stylesheets/pages/projects.scss | 4 +- .../stylesheets/startup/startup-dark.scss | 17 +- .../stylesheets/startup/startup-general.scss | 13 +- app/assets/stylesheets/themes/_dark.scss | 4 +- app/assets/stylesheets/utilities.scss | 43 +- app/components/pajamas/badge_component.rb | 2 +- app/controllers/abuse_reports_controller.rb | 21 +- .../appearances_controller.rb | 2 +- .../admin/application_settings_controller.rb | 6 +- .../admin/broadcast_messages_controller.rb | 1 - app/controllers/admin/dashboard_controller.rb | 1 + app/controllers/admin/groups_controller.rb | 4 +- .../admin/impersonation_tokens_controller.rb | 4 +- app/controllers/admin/projects_controller.rb | 2 +- app/controllers/admin/spam_logs_controller.rb | 2 +- app/controllers/admin/topics_controller.rb | 6 +- app/controllers/admin/users_controller.rb | 21 +- app/controllers/application_controller.rb | 1 + app/controllers/autocomplete_controller.rb | 2 +- .../concerns/access_tokens_actions.rb | 4 +- app/controllers/concerns/check_rate_limit.rb | 15 +- .../concerns/confirm_email_warning.rb | 11 +- .../concerns/content_security_policy_patch.rb | 27 + .../enforces_two_factor_authentication.rb | 5 +- app/controllers/concerns/gitlab_recaptcha.rb | 2 +- .../concerns/integrations/actions.rb | 4 +- .../concerns/integrations/params.rb | 4 + .../concerns/issuable_collections.rb | 1 + .../concerns/issuable_collections_action.rb | 6 + app/controllers/concerns/lfs_request.rb | 10 +- .../concerns/membership_actions.rb | 9 +- app/controllers/concerns/notes_actions.rb | 2 +- .../observability/content_security_policy.rb | 10 +- .../redirects_for_missing_path_on_tree.rb | 2 +- app/controllers/concerns/renders_blob.rb | 2 +- .../akismet_mark_as_spam_action.rb | 2 +- .../html_format_actions_support.rb | 2 +- app/controllers/concerns/uploads_actions.rb | 2 +- .../concerns/verifies_with_email.rb | 6 +- app/controllers/dashboard_controller.rb | 2 +- .../groups/autocomplete_sources_controller.rb | 2 +- app/controllers/groups/imports_controller.rb | 3 +- .../groups/observability_controller.rb | 8 +- .../groups/settings/ci_cd_controller.rb | 4 +- .../groups/usage_quotas_controller.rb | 3 +- app/controllers/groups_controller.rb | 6 +- app/controllers/ide_controller.rb | 1 - .../import/available_namespaces_controller.rb | 10 - .../import/bitbucket_controller.rb | 4 +- .../import/bitbucket_server_controller.rb | 4 +- .../import/bulk_imports_controller.rb | 23 +- app/controllers/import/github_controller.rb | 19 +- .../omniauth_callbacks_controller.rb | 8 +- .../profiles/avatars_controller.rb | 2 +- .../profiles/two_factor_auths_controller.rb | 2 +- .../projects/artifacts_controller.rb | 1 + .../autocomplete_sources_controller.rb | 4 +- .../projects/ci/pipeline_editor_controller.rb | 3 - .../designs/resized_image_controller.rb | 13 +- .../projects/environments_controller.rb | 10 + .../google_cloud/deployments_controller.rb | 7 + .../projects/group_links_controller.rb | 21 +- .../projects/incidents_controller.rb | 1 + app/controllers/projects/issues_controller.rb | 12 +- .../merge_requests/application_controller.rb | 6 +- .../merge_requests/diffs_controller.rb | 34 +- .../projects/merge_requests_controller.rb | 22 +- .../projects/ml/experiments_controller.rb | 26 +- app/controllers/projects/pages_controller.rb | 10 +- .../projects/protected_refs_controller.rb | 5 +- .../projects/settings/ci_cd_controller.rb | 11 +- .../settings/merge_requests_controller.rb | 2 +- .../projects/work_items_controller.rb | 2 +- app/controllers/projects_controller.rb | 4 +- app/controllers/pwa_controller.rb | 2 +- .../registrations/welcome_controller.rb | 38 +- app/controllers/registrations_controller.rb | 10 +- app/controllers/search_controller.rb | 37 +- app/controllers/sessions_controller.rb | 4 +- app/controllers/snippets/notes_controller.rb | 2 +- app/controllers/uploads_controller.rb | 5 +- .../pages_domain_created_event.rb | 1 + .../pages_domain_deleted_event.rb | 1 + .../pages_domain_updated_event.rb | 1 + app/finders/access_requests_finder.rb | 6 +- app/finders/branches_finder.rb | 18 +- app/finders/ci/pipelines_finder.rb | 3 +- app/finders/ci/runners_finder.rb | 2 +- app/finders/git_refs_finder.rb | 2 +- app/finders/issuable_finder.rb | 8 +- app/finders/issuable_finder/params.rb | 5 + app/finders/issuables/label_filter.rb | 44 +- app/finders/issues_finder.rb | 2 +- app/finders/issues_finder/params.rb | 8 +- app/finders/members_finder.rb | 6 +- app/finders/packages/go/version_finder.rb | 2 +- app/graphql/mutations/achievements/create.rb | 54 + .../mutations/boards/lists/base_update.rb | 2 +- app/graphql/mutations/ci/job/play.rb | 12 +- .../ci/project_ci_cd_settings_update.rb | 2 +- .../mutations/clusters/agents/create.rb | 2 +- app/graphql/mutations/commits/create.rb | 2 +- .../mutations/work_items/widgetable.rb | 2 +- app/graphql/mutations/jira_import/start.rb | 2 +- .../mutations/members/groups/bulk_update.rb | 85 + .../mutations/merge_requests/accept.rb | 4 +- app/graphql/mutations/notes/create/note.rb | 2 +- .../mutations/packages/bulk_destroy.rb | 5 +- app/graphql/mutations/releases/create.rb | 2 +- app/graphql/resolvers/ci/jobs_resolver.rb | 7 +- .../resolvers/ci/runner_groups_resolver.rb | 2 +- .../concerns/board_item_filterable.rb | 1 + .../concerns/caching_array_resolver.rb | 1 + .../concerns/issues/look_ahead_preloads.rb | 5 +- .../concerns/resolves_merge_requests.rb | 2 +- .../resolvers/concerns/search_arguments.rb | 23 + app/graphql/resolvers/issues/base_resolver.rb | 21 +- app/graphql/resolvers/issues_resolver.rb | 16 + .../projects/branch_rules_resolver.rb | 10 +- app/graphql/resolvers/timelog_resolver.rb | 36 +- app/graphql/resolvers/work_items_resolver.rb | 2 +- app/graphql/types/access_level_enum.rb | 2 + .../types/achievements/achievement_type.rb | 55 + .../ci/runner_countable_connection_type.rb | 12 + app/graphql/types/ci/runner_type.rb | 9 +- app/graphql/types/description_version_type.rb | 19 + app/graphql/types/issue_type.rb | 9 +- .../issues/unioned_issue_filter_input_type.rb | 3 + app/graphql/types/member_access_level_enum.rb | 16 + app/graphql/types/member_interface.rb | 2 +- .../interacts_with_merge_request.rb | 2 +- app/graphql/types/mutation_type.rb | 2 + .../namespace/shared_runners_setting_enum.rb | 13 +- app/graphql/types/namespace_type.rb | 11 + app/graphql/types/notes/note_type.rb | 88 +- app/graphql/types/notes/noteable_interface.rb | 5 + .../types/notes/system_note_metadata_type.rb | 22 + .../types/projects/branch_rule_type.rb | 16 +- app/graphql/types/query_type.rb | 184 +- app/graphql/types/repository/blob_type.rb | 8 +- .../time_tracking/timelog_connection_type.rb | 25 + .../types/time_tracking/timelog_sort_enum.rb | 21 + app/graphql/types/timelog_type.rb | 2 + app/graphql/types/todo_action_enum.rb | 2 +- app/graphql/types/user_interface.rb | 13 + app/graphql/types/users/email_type.rb | 36 + .../users/namespace_commit_email_type.rb | 36 + .../work_items/widgets/description_type.rb | 4 +- app/helpers/admin/components_helper.rb | 15 + app/helpers/appearances_helper.rb | 4 + app/helpers/application_helper.rb | 20 +- app/helpers/application_settings_helper.rb | 5 +- app/helpers/broadcast_messages_helper.rb | 8 - app/helpers/button_helper.rb | 4 +- app/helpers/ci/runners_helper.rb | 2 +- app/helpers/emails_helper.rb | 37 +- app/helpers/environment_helper.rb | 5 +- app/helpers/feature_flags_helper.rb | 3 +- app/helpers/form_helper.rb | 12 +- app/helpers/graph_helper.rb | 2 +- app/helpers/groups/group_members_helper.rb | 4 +- app/helpers/groups/observability_helper.rb | 10 +- app/helpers/import_helper.rb | 2 +- app/helpers/integrations_helper.rb | 8 + app/helpers/issuables_helper.rb | 22 +- app/helpers/issues_helper.rb | 28 +- app/helpers/markup_helper.rb | 15 - app/helpers/merge_requests_helper.rb | 6 + app/helpers/nav_helper.rb | 4 + app/helpers/preferences_helper.rb | 17 +- app/helpers/projects/ml/experiments_helper.rb | 23 +- .../projects/project_members_helper.rb | 4 +- app/helpers/projects_helper.rb | 30 +- app/helpers/protected_branches_helper.rb | 19 + app/helpers/search_helper.rb | 2 +- app/helpers/selects_helper.rb | 14 - app/helpers/sidebars_helper.rb | 12 + app/helpers/timeboxes_helper.rb | 14 +- app/helpers/todos_helper.rb | 4 +- app/helpers/url_helper.rb | 11 + app/helpers/users/callouts_helper.rb | 4 +- app/helpers/users_helper.rb | 2 +- app/helpers/version_check_helper.rb | 6 +- app/helpers/visibility_level_helper.rb | 2 +- app/helpers/work_items_helper.rb | 4 +- app/mailers/devise_mailer.rb | 5 + app/mailers/emails/imports.rb | 15 + app/mailers/emails/profile.rb | 5 +- app/mailers/emails/service_desk.rb | 33 +- app/mailers/notify.rb | 1 + app/mailers/previews/notify_preview.rb | 4 + app/models/abuse_report.rb | 37 +- app/models/achievements/achievement.rb | 3 + app/models/achievements/user_achievement.rb | 17 + .../analytics/cycle_analytics/aggregation.rb | 8 +- .../cycle_analytics/project_stage.rb | 5 +- app/models/appearance.rb | 8 +- app/models/application_setting.rb | 17 +- .../application_setting_implementation.rb | 4 +- app/models/bulk_imports/entity.rb | 4 + app/models/chat_name.rb | 4 +- app/models/ci/artifact_blob.rb | 2 +- app/models/ci/bridge.rb | 31 +- app/models/ci/build.rb | 26 +- app/models/ci/build_metadata.rb | 2 +- app/models/ci/build_trace_chunk.rb | 2 +- app/models/ci/job_artifact.rb | 8 + app/models/ci/pipeline.rb | 6 +- app/models/ci/runner.rb | 23 +- app/models/ci/runner_machine.rb | 33 + .../clusters/concerns/provider_status.rb | 2 +- app/models/clusters/providers/aws.rb | 12 - app/models/clusters/providers/gcp.rb | 6 - app/models/commit.rb | 14 +- app/models/commit_collection.rb | 2 +- app/models/commit_signatures/ssh_signature.rb | 7 +- app/models/commit_status.rb | 1 + .../analytics/cycle_analytics/parentable.rb | 22 + .../{stage.rb => stageable.rb} | 68 +- app/models/concerns/board_recent_visit.rb | 4 +- app/models/concerns/ci/has_runner_executor.rb | 24 + app/models/concerns/counter_attribute.rb | 40 +- app/models/concerns/has_user_type.rb | 22 +- app/models/concerns/noteable.rb | 12 +- .../project_features_compatibility.rb | 9 +- app/models/concerns/resolvable_discussion.rb | 2 +- .../concerns/safely_change_column_default.rb | 46 + .../concerns/update_project_statistics.rb | 5 +- .../concerns/work_item_resource_event.rb | 23 + app/models/deploy_key.rb | 8 +- app/models/deployment.rb | 11 +- app/models/description_version.rb | 2 + app/models/environment.rb | 21 + app/models/event.rb | 2 + app/models/group.rb | 16 +- app/models/integration.rb | 4 +- app/models/integrations/apple_app_store.rb | 111 + .../integrations/base_chat_notification.rb | 16 +- .../integrations/base_slash_commands.rb | 2 +- .../chat_message/issue_message.rb | 10 +- .../chat_message/pipeline_message.rb | 2 +- app/models/integrations/field.rb | 7 +- app/models/integrations/flowdock.rb | 20 - app/models/issue.rb | 7 +- app/models/label_note.rb | 15 +- app/models/member.rb | 6 +- app/models/members/member_role.rb | 8 + app/models/merge_request.rb | 18 + app/models/merge_request_diff.rb | 13 +- app/models/milestone.rb | 2 - app/models/ml/candidate.rb | 23 +- app/models/namespace.rb | 20 +- app/models/namespace_setting.rb | 6 + app/models/note.rb | 14 +- app/models/packages/nuget.rb | 1 + app/models/packages/package.rb | 4 + app/models/packages/package_file.rb | 1 + app/models/pages/lookup_path.rb | 2 +- app/models/pages_domain.rb | 6 +- app/models/personal_access_token.rb | 20 +- app/models/project.rb | 73 +- app/models/project_setting.rb | 2 +- app/models/project_statistics.rb | 29 +- app/models/projects/branch_rule.rb | 32 + .../projects/build_artifacts_size_refresh.rb | 44 +- app/models/protected_branch.rb | 14 +- .../protected_branch/merge_access_level.rb | 1 + .../protected_branch/push_access_level.rb | 1 + .../protected_tag/create_access_level.rb | 1 + app/models/release.rb | 3 +- app/models/repository.rb | 31 +- app/models/resource_event.rb | 6 + app/models/resource_label_event.rb | 5 +- app/models/resource_milestone_event.rb | 4 + app/models/resource_state_event.rb | 5 +- app/models/resource_timebox_event.rb | 5 +- app/models/synthetic_note.rb | 2 +- app/models/system_note_metadata.rb | 6 + app/models/timelog.rb | 11 + app/models/todo.rb | 16 +- app/models/user.rb | 61 +- app/models/user_custom_attribute.rb | 3 + app/models/user_detail.rb | 31 +- app/models/users/namespace_commit_email.rb | 18 +- app/models/work_item.rb | 2 + app/models/work_items/parent_link.rb | 10 + app/models/work_items/widgets/hierarchy.rb | 2 +- .../achievements/achievement_policy.rb | 7 + app/policies/ci/build_policy.rb | 6 +- app/policies/ci/job_artifact_policy.rb | 15 + app/policies/description_version_policy.rb | 5 + app/policies/email_policy.rb | 5 + app/policies/group_policy.rb | 2 + app/policies/issuable_policy.rb | 5 +- app/policies/issue_policy.rb | 11 +- app/policies/merge_request_policy.rb | 4 + app/policies/note_policy.rb | 10 +- app/policies/project_group_link_policy.rb | 17 + app/policies/project_policy.rb | 1 + app/policies/projects/branch_rule_policy.rb | 8 + app/policies/resource_event_policy.rb | 5 + app/policies/resource_label_event_policy.rb | 4 +- .../resource_milestone_event_policy.rb | 14 + app/policies/resource_state_event_policy.rb | 10 + app/policies/todo_policy.rb | 10 +- app/policies/user_policy.rb | 1 + .../users/namespace_commit_email_policy.rb | 7 + app/presenters/ci/build_runner_presenter.rb | 5 +- .../nuget/packages_metadata_presenter.rb | 10 +- .../packages/nuget/presenter_helpers.rb | 6 +- app/presenters/project_presenter.rb | 3 + .../ci/downloadable_artifact_entity.rb | 2 +- app/serializers/ci/pipeline_entity.rb | 2 +- app/serializers/diffs_entity.rb | 2 +- app/serializers/diffs_metadata_entity.rb | 2 +- .../group_link/group_group_link_entity.rb | 4 + .../group_link/group_link_entity.rb | 2 +- .../group_link/project_group_link_entity.rb | 4 + app/serializers/issue_entity.rb | 2 +- .../merge_requests/pipeline_entity.rb | 4 +- app/serializers/paginated_diff_entity.rb | 2 +- app/serializers/remote_mirror_entity.rb | 2 + app/services/achievements/base_service.rb | 20 + app/services/achievements/create_service.rb | 25 + .../boards/base_items_list_service.rb | 6 - app/services/bulk_imports/create_service.rb | 13 +- .../captcha/captcha_verification_service.rb | 4 +- .../chat_names/authorize_user_service.rb | 4 +- app/services/ci/create_pipeline_service.rb | 7 + .../ci/job_artifacts/create_service.rb | 10 +- .../ci/job_artifacts/delete_service.rb | 3 +- .../destroy_associations_service.rb | 17 +- .../ci/job_artifacts/destroy_batch_service.rb | 22 +- .../clusters/aws/authorize_role_service.rb | 74 - .../clusters/aws/fetch_credentials_service.rb | 80 - .../clusters/aws/finalize_creation_service.rb | 139 - .../clusters/aws/provision_service.rb | 85 - .../aws/verify_provision_status_service.rb | 50 - app/services/clusters/create_service.rb | 4 +- .../clusters/gcp/fetch_operation_service.rb | 31 - .../clusters/gcp/finalize_creation_service.rb | 127 - .../clusters/gcp/provision_service.rb | 56 - .../gcp/verify_provision_status_service.rb | 50 - .../integrations/project_test_data.rb | 24 +- .../design_management/save_designs_service.rb | 2 +- app/services/discussions/resolve_service.rb | 15 +- app/services/discussions/unresolve_service.rb | 17 + app/services/draft_notes/publish_service.rb | 13 +- .../environments/stop_stale_service.rb | 24 + app/services/files/base_service.rb | 15 +- app/services/git/branch_hooks_service.rb | 9 +- .../groups/import_export/export_service.rb | 14 +- .../groups/import_export/import_service.rb | 34 +- app/services/groups/transfer_service.rb | 5 + app/services/ide/schemas_config_service.rb | 4 +- .../import/github/gists_import_service.rb | 10 +- app/services/import/github_service.rb | 14 +- .../integrations/test/base_service.rb | 4 +- .../issuable/discussions_list_service.rb | 3 +- app/services/issuable_links/create_service.rb | 2 +- app/services/issues/base_service.rb | 12 +- app/services/issues/create_service.rb | 13 + app/services/lfs/file_transformer.rb | 16 +- .../members/approve_access_request_service.rb | 2 +- app/services/members/creator_service.rb | 2 +- app/services/members/destroy_service.rb | 46 +- app/services/members/update_service.rb | 59 +- app/services/merge_requests/base_service.rb | 12 +- app/services/merge_requests/rebase_service.rb | 21 + .../merge_requests/refresh_service.rb | 4 - app/services/merge_requests/update_service.rb | 2 + .../candidate_repository.rb | 10 +- app/services/notes/build_service.rb | 2 +- app/services/notes/create_service.rb | 22 +- app/services/notification_service.rb | 4 +- app/services/pages_domains/create_service.rb | 1 + app/services/pages_domains/delete_service.rb | 1 + .../pages_domains/retry_acme_order_service.rb | 1 + app/services/pages_domains/update_service.rb | 1 + .../personal_access_tokens/revoke_service.rb | 19 +- app/services/projects/autocomplete_service.rb | 2 +- app/services/projects/create_service.rb | 6 + app/services/projects/import_service.rb | 2 +- ...build_artifacts_size_statistics_service.rb | 19 +- .../repositories/housekeeping_service.rb | 20 +- app/services/search_service.rb | 19 + .../ci_configuration/base_create_service.rb | 23 +- .../container_scanning_create_service.rb | 4 + .../dependency_scanning_create_service.rb | 4 + .../ci_configuration/sast_create_service.rb | 12 +- .../sast_iac_create_service.rb | 4 + .../secret_detection_create_service.rb | 4 + app/services/service_ping/submit_service.rb | 8 +- app/services/service_response.rb | 29 +- app/services/test_hooks/base_service.rb | 7 + app/services/todo_service.rb | 9 +- app/services/users/block_service.rb | 8 +- app/services/users/signup_service.rb | 4 +- app/services/users/unblock_service.rb | 29 + .../work_items/parent_links/create_service.rb | 2 +- app/uploaders/object_storage.rb | 1 + .../json_schemas/cyclonedx_report.json | 1075 ++++- app/views/abuse_reports/new.html.haml | 44 +- .../application_settings/_kroki.html.haml | 2 +- .../_repository_check.html.haml | 30 +- .../_user_restrictions.html.haml | 1 + .../_visibility_and_access.html.haml | 2 +- .../application_settings/ci/_header.html.haml | 4 +- .../application_settings/ci_cd.html.haml | 2 +- .../application_settings/general.html.haml | 2 + .../admin/broadcast_messages/_form.html.haml | 67 - .../admin/broadcast_messages/_table.html.haml | 38 - .../admin/broadcast_messages/edit.html.haml | 28 +- .../admin/broadcast_messages/index.html.haml | 40 +- .../dashboard/_stats_users_table.html.haml | 49 + app/views/admin/dashboard/index.html.haml | 9 +- app/views/admin/dashboard/stats.html.haml | 66 +- app/views/admin/projects/show.html.haml | 8 +- app/views/admin/runners/edit.html.haml | 8 +- app/views/admin/spam_logs/_spam_log.html.haml | 33 +- app/views/admin/topics/index.html.haml | 1 + .../admin/users/_access_levels.html.haml | 1 + app/views/admin/users/_users.html.haml | 3 +- app/views/admin/users/show.html.haml | 4 + app/views/ci/group_variables/_index.html.haml | 2 +- app/views/ci/status/_badge.html.haml | 2 +- app/views/ci/variables/_content.html.haml | 2 +- app/views/ci/variables/_index.html.haml | 8 +- .../clusters/_advanced_settings.html.haml | 7 +- app/views/dashboard/todos/_todo.html.haml | 23 +- .../devise/sessions/two_factor.html.haml | 4 +- app/views/devise/shared/_signup_box.html.haml | 4 +- .../_signup_omniauth_provider_list.haml | 2 +- app/views/errors/omniauth_error.html.haml | 26 +- .../groups/_delete_project_button.html.haml | 3 +- .../groups/_group_admin_settings.html.haml | 2 +- app/views/groups/_home_panel.html.haml | 17 +- ...roup_from_another_instance_panel.html.haml | 8 +- app/views/groups/new.html.haml | 5 +- .../groups/settings/repository/show.html.haml | 2 + app/views/ide/_show.html.haml | 2 +- app/views/layouts/_loading_hints.html.haml | 3 + app/views/layouts/_page.html.haml | 7 +- app/views/layouts/_snowplow.html.haml | 2 +- app/views/layouts/application.html.haml | 9 +- app/views/layouts/dashboard.html.haml | 7 +- app/views/layouts/explore.html.haml | 6 +- .../_registration_enabled_callout.html.haml | 10 +- .../layouts/nav/sidebar/_admin.html.haml | 33 +- .../layouts/nav/sidebar/_your_work.html.haml | 1 + app/views/layouts/oauth_error.html.haml | 72 +- app/views/layouts/snippets.html.haml | 4 + .../access_token_expired_email.html.haml | 12 +- .../access_token_expired_email.text.erb | 10 +- .../access_token_revoked_email.html.haml | 2 +- .../access_token_revoked_email.text.erb | 2 +- ...github_gists_import_errors_email.html.haml | 19 + .../github_gists_import_errors_email.text.erb | 12 + .../service_desk_new_note_email.html.haml | 2 +- .../profiles/chat_names/_chat_name.html.haml | 10 +- .../notifications/_email_settings.html.haml | 3 +- .../notifications/_group_settings.html.haml | 2 +- app/views/profiles/preferences/show.html.haml | 24 +- app/views/projects/_files.html.haml | 4 +- app/views/projects/_fork_info.html.haml | 14 - app/views/projects/_home_panel.html.haml | 4 +- .../projects/_import_project_pane.html.haml | 8 + app/views/projects/artifacts/index.html.haml | 4 +- .../blob/_template_selectors.html.haml | 3 - .../_branch_names_fields.html.haml | 2 +- app/views/projects/buttons/_fork.html.haml | 2 +- app/views/projects/ci/builds/_build.html.haml | 2 +- ...tiple_signatures_signature_badge.html.haml | 7 +- .../_other_user_signature_badge.html.haml | 7 +- ..._different_email_signature_badge.html.haml | 7 +- .../commit/_signature_badge.html.haml | 24 +- .../_unverified_signature_badge.html.haml | 7 +- .../_verified_signature_badge.html.haml | 7 +- app/views/projects/commits/show.html.haml | 2 +- .../projects/feature_flags/new.html.haml | 2 +- app/views/projects/forks/new.html.haml | 1 + app/views/projects/imports/new.html.haml | 2 +- .../issues/_work_item_links.html.haml | 6 +- ...close_reopen_draft_report_toggle.html.haml | 7 +- .../merge_requests/_merge_request.html.haml | 1 + .../merge_requests/_mr_title.html.haml | 2 +- .../projects/merge_requests/_page.html.haml | 2 +- app/views/projects/milestones/show.html.haml | 1 + .../projects/ml/experiments/show.html.haml | 4 +- app/views/projects/pages/new.html.haml | 18 +- .../pipeline_schedules/index.html.haml | 2 +- app/views/projects/pipelines/_info.html.haml | 4 +- .../projects/settings/ci_cd/show.html.haml | 5 +- .../repository/_protected_branches.html.haml | 2 +- .../settings/repository/show.html.haml | 2 +- app/views/projects/triggers/_index.html.haml | 27 +- .../projects/triggers/_trigger.html.haml | 37 - .../_branches_list.html.haml | 6 +- .../_create_protected_branch.html.haml | 2 +- app/views/protected_branches/_index.html.haml | 6 +- .../_protected_branch.html.haml | 2 +- .../shared/_branches_list.html.haml | 6 +- .../shared/_create_protected_branch.html.haml | 15 +- .../shared/_index.html.haml | 3 +- .../shared/_protected_branch.html.haml | 26 +- app/views/pwa/manifest.json.erb | 2 +- app/views/search/_category.html.haml | 2 +- app/views/search/_results.html.haml | 8 +- app/views/search/_results_list.html.haml | 2 +- app/views/search/_results_status.html.haml | 8 +- .../_results_status_horiz_nav.html.haml | 20 +- .../search/_results_status_vert_nav.html.haml | 20 +- app/views/search/show.html.haml | 4 +- app/views/shared/_broadcast_message.html.haml | 2 +- app/views/shared/_milestone_expired.html.haml | 7 +- .../_milestones_sort_dropdown.html.haml | 2 +- app/views/shared/_ref_dropdown.html.haml | 7 - app/views/shared/admin/_admin_note.html.haml | 2 +- .../applications/_delete_form.html.haml | 6 +- .../_security_patch_upgrade_alert.html.haml | 1 - .../issue_type/_details_content.html.haml | 6 +- .../shared/milestones/_description.html.haml | 5 + app/views/shared/milestones/_header.html.haml | 3 +- .../nav/_your_work_scope_header.html.haml | 6 + app/views/shared/projects/_list.html.haml | 2 +- .../runners/_runner_type_alert.html.haml | 2 +- app/views/snippets/edit.html.haml | 2 +- app/views/snippets/new.html.haml | 3 - app/views/snippets/show.html.haml | 1 - app/views/users/calendar_activities.html.haml | 2 +- app/views/users/show.html.haml | 9 +- app/workers/all_queues.yml | 66 +- app/workers/chat_notification_worker.rb | 2 +- app/workers/ci/build_finished_worker.rb | 1 + .../ci/initial_pipeline_process_worker.rb | 12 + app/workers/cluster_provision_worker.rb | 16 +- app/workers/concerns/application_worker.rb | 1 + .../concerns/git_garbage_collect_methods.rb | 42 +- .../update_repository_storage_worker.rb | 1 + app/workers/concerns/worker_attributes.rb | 7 +- .../counters/cleanup_refresh_worker.rb | 31 + app/workers/create_note_diff_file_worker.rb | 2 +- .../single_database_worker.rb | 1 + app/workers/delete_diff_files_worker.rb | 2 +- .../finish_import_worker.rb | 14 +- .../github_gists_import/import_gist_worker.rb | 24 +- app/workers/issues/rebalancing_worker.rb | 2 +- .../merge_request_cleanup_refs_worker.rb | 2 +- ...merge_request_mergeability_check_worker.rb | 2 +- .../merge_requests/close_issue_worker.rb | 2 +- .../create_approval_event_worker.rb | 2 +- .../create_approval_note_worker.rb | 2 +- .../merge_requests/create_pipeline_worker.rb | 8 +- .../execute_approval_hooks_worker.rb | 2 +- .../handle_assignees_change_worker.rb | 2 +- .../resolve_todos_after_approval_worker.rb | 2 +- .../merge_requests/resolve_todos_worker.rb | 2 +- .../update_head_pipeline_worker.rb | 2 +- app/workers/migrate_external_diffs_worker.rb | 2 +- app/workers/new_merge_request_worker.rb | 2 +- .../pages/invalidate_domain_cache_worker.rb | 12 +- .../expired_notification_worker.rb | 18 +- app/workers/pipeline_schedule_worker.rb | 43 +- app/workers/projects/delete_branch_worker.rb | 6 +- ...alize_project_statistics_refresh_worker.rb | 33 + .../projects/git_garbage_collect_worker.rb | 6 - ..._build_artifacts_size_statistics_worker.rb | 12 +- .../remove_unreferenced_lfs_objects_worker.rb | 2 +- app/workers/repository_import_worker.rb | 7 +- app/workers/run_pipeline_schedule_worker.rb | 14 +- ...edule_merge_request_cleanup_refs_worker.rb | 2 +- .../schedule_migrate_external_diffs_worker.rb | 2 +- app/workers/stuck_merge_jobs_worker.rb | 2 +- app/workers/update_merge_requests_worker.rb | 2 +- .../wait_for_cluster_creation_worker.rb | 16 +- .../wikis/git_garbage_collect_worker.rb | 6 - bin/secpick | 65 +- config/README.md | 17 +- config/application.rb | 24 + config/database.yml.decomposed-postgresql | 18 + config/feature_categories.yml | 11 +- ...al_security_alert.yml => achievements.yml} | 8 +- ...bership_roles.yml => admin_emails_vue.yml} | 8 +- ...th.yml => apple_app_store_integration.yml} | 10 +- .../ci_raw_variables_in_yaml_config.yml | 8 - ...> ci_use_run_pipeline_schedule_worker.yml} | 8 +- ....yml => commit_search_trailing_spaces.yml} | 8 +- .../development/dispensable_render.yml | 8 - .../display_merge_conflicts_in_diff.yml | 8 - .../environment_search_api_min_chars.yml | 8 + ...bs.yml => environments_search_logging.yml} | 8 +- .../development/file_line_blame.yml | 2 +- ...ulk_import.yml => github_import_gists.yml} | 10 +- .../development/group_export_ndjson.yml | 8 - .../development/group_import_ndjson.yml | 8 - .../hide_merge_requests_from_banned_users.yml | 8 + .../development/incident_event_tags.yml | 8 + ...issue_type_uses_work_item_types_table.yml} | 8 +- .../jira_connect_oauth_self_managed.yml | 2 +- ...ons.yml => jobs_api_keyset_pagination.yml} | 8 +- ... => move_create_deployments_to_worker.yml} | 8 +- .../feature_flags/development/new_fonts.yml | 2 +- .../development/optimized_housekeeping.yml | 8 - .../development/paginated_mr_discussions.yml | 8 - .../development/phabricator_import.yml | 8 - .../development/pipeline_name.yml | 8 - ...ect_members_index_by_project_namespace.yml | 8 + .../development/project_runners_vue_ui.yml | 8 + ... => project_statistics_bulk_increment.yml} | 8 +- .../rate_limit_gitlab_shell_by_ip.yml | 8 - .../rate_limit_issuable_searches.yml | 8 + ...date_mirror.yml => readme_from_gitaly.yml} | 8 +- .../remove_job_token_on_completion.yml | 8 + ...sitory_archive_hotlinking_interception.yml | 8 - ...ml => reset_merge_error_on_transition.yml} | 8 +- .../development/schema_linting.yml | 8 - ...ropped_findings_as_resolved_scheduler.yml} | 10 +- ...esk_new_note_email_native_attachments.yml} | 10 +- .../development/skip_notes_diff_include.yml | 8 + .../development/ssh_commit_signatures.yml | 8 - ...pport_group_level_merge_checks_setting.yml | 8 + .../update_oauth_registration_flow.yml | 8 - .../use_api_for_payment_validation.yml | 8 - ..._secondary_stores_for_repository_cache.yml | 8 + ..._store_as_default_for_repository_cache.yml | 8 + .../validate_release_with_author.yml | 2 +- ...group_select.yml => your_work_sidebar.yml} | 8 +- .../show_pages_in_deployments_menu.yml | 8 + .../tier_badge.yml} | 12 +- ...ects_build_artifacts_size_refresh_high.yml | 8 + ...ts_build_artifacts_size_refresh_medium.yml | 8 + .../ops/suggested_reviewers_internal_api.yml | 8 + config/gitlab.yml.example | 10 + config/gitlab_loose_foreign_keys.yml | 4 + config/initializers/0_marginalia.rb | 7 +- config/initializers/1_settings.rb | 8 + config/initializers/doorkeeper.rb | 14 + .../initializers/doorkeeper_openid_connect.rb | 7 +- .../gitlab_suggested_reviewers_secret.rb | 5 + config/initializers/grape_validators.rb | 3 + config/initializers/rspec_profiling.rb | 29 +- .../004_zeitwerk.rb | 1 + config/locales/en.yml | 7 +- config/mail_room.yml | 2 +- .../counts_28d/20210216175542_ci_builds.yml | 2 +- .../20210216175544_ci_external_pipelines.yml | 2 +- .../20210216175546_ci_internal_pipelines.yml | 2 +- .../20210216175552_ci_pipeline_schedules.yml | 2 +- .../counts_28d/20210216175556_ci_triggers.yml | 2 +- .../counts_all/20210216175525_ci_builds.yml | 2 +- .../20210216175527_ci_external_pipelines.yml | 2 +- .../20210216175529_ci_internal_pipelines.yml | 2 +- .../20210216175535_ci_pipeline_schedules.yml | 2 +- .../counts_all/20210216175539_ci_triggers.yml | 2 +- .../20210216181055_projects_with_packages.yml | 2 +- ...ects_inheriting_apple_app_store_active.yml | 22 + ...09213642_groups_apple_app_store_active.yml | 22 + ...214020_projects_apple_app_store_active.yml | 22 + ...oups_inheriting_apple_app_store_active.yml | 22 + ...33201_instances_apple_app_store_active.yml | 22 + config/metrics/schema.json | 134 +- config/routes.rb | 6 +- config/routes/group.rb | 3 +- config/routes/import.rb | 2 - config/routes/uploads.rb | 4 +- config/security/banned_ssh_keys.yml | 16 + config/sidekiq_queues.yml | 6 +- config/webpack.config.js | 13 +- danger/ci_templates/Dangerfile | 15 +- danger/gitaly/Dangerfile | 4 +- danger/pipeline/Dangerfile | 6 +- danger/plugins/user_types.rb | 9 - danger/user_types/Dangerfile | 3 - .../14-0-nfs-fot-git-repository-storage.yml | 2 - ...pendency-scanning-default-java-version.yml | 2 - ...deprecate-toggle-notes-confidentiality.yml | 2 - .../14-10-old-search-migration-removal.yml | 2 - .../14-2-deprecation-release-cli.yml | 2 - .../14-2-deprecation-task-runner.yml | 2 - ...atabase-deprecate-legacy-database-conf.yml | 2 - ...14-3-deprecation_omniauth-kerberos_gem.yml | 2 - .../14-3-repository-push-audit-events.yml | 2 - data/deprecations/14-3-serverless.yml | 2 - ...based-integration-with-kubernetes-saas.yml | 2 - ...cate-based-integration-with-kubernetes.yml | 2 - ...ate-convert-instance-runner-to-project.yml | 2 - ...geCommitMessageWithDescription-graphql.yml | 2 - .../14-5-deprecate-opensuse-15-2.yml | 2 - .../14-5-deprecate-sles-12sp2.yml | 2 - .../14-5-deprecation-versions-packagetype.yml | 2 - ...precation-of-vsa-filtering-calculation.yml | 2 - .../14-5-disable_strict_host_key_checking.yml | 2 - .../14-5-geo-deprecate-promote-db.yml | 2 - ...-geo-deprecate-promote-to-primary-node.yml | 2 - ...ge-container-registry-api-group-update.yml | 2 - ...move-dependency-proxy-permissions-flag.yml | 2 - .../14-5-remove-package-pipelines-api.yml | 2 - ...-5-remove-pipelines-from-version-field.yml | 2 - ...-runner-api-status-does-contain-paused.yml | 2 - ...Enforce-validation-of-security-schemas.yml | 2 - ...-6-container-scanning-schemas-below-14.yml | 2 - ...14-6-coverage-fuzzing-schemas-below-14.yml | 2 - .../14-6-dast-schemas-below-14.yml | 2 - ...6-dependency-scanning-schemas-below-14.yml | 2 - data/deprecations/14-6-deprecate-types.yml | 2 - ...precation-license-compliance-api-terms.yml | 2 - ...cure-dependency-scanning-bundler-audit.yml | 2 - data/deprecations/14-6-job_char_limit.yml | 2 - ...zzing-ci-configuration-create-mutation.yml | 2 - .../14-6-sast-schemas-below-14.yml | 2 - ...14-6-secret-detection-schemas-below-14.yml | 2 - .../14-7-deprecate-artifacts-keyword.yml | 2 - ...te-godep-support-in-license-compliance.yml | 2 - .../14-7-deprecate-merged_by-api-field.yml | 2 - .../14-7-deprecate-static-site-editor.yml | 2 - data/deprecations/14-7-pseudonymizer.yml | 2 - ...-7-sidekiq-metrics-health-check-donfig.yml | 2 - data/deprecations/14-8-Elasticsearch-6-8.yml | 2 - data/deprecations/14-8-ci-build-variables.yml | 2 - ...equired-pipeline-configuration-premium.yml | 2 - ...14-8-compliance-status-check-api-field.yml | 2 - ...-PipelineSecurityReportFinding-GraphQL.yml | 2 - ...n-secure-dependency-scanning-retire-js.yml | 2 - .../14-8-enforce-pat-expiration.yml | 2 - .../14-8-enforce-ssh-expiration.yml | 2 - .../14-8-geo-deprecate-db-rake-tasks.yml | 2 - ...eo-deprecate-replication-detail-routes.yml | 2 - ...gitaly-deprecate-legacy-config-options.yml | 2 - ...-gitaly-remove-per-repository-election.yml | 2 - data/deprecations/14-8-graphql-ids.yml | 2 - data/deprecations/14-8-grpc-proxy.yml | 2 - .../14-8-iteration-started-field.yml | 2 - data/deprecations/14-8-protect-cns-chs.yml | 2 - .../14-8-protect-vulnerability-check.yml | 2 - ...ve_ff_push_rules_supersede_code_owners.yml | 2 - data/deprecations/14-8-request-profiling.yml | 2 - ...d-replaced-with-paused-breaking-change.yml | 2 - ...us-filter-does-accept-active-or-paused.yml | 2 - .../14-8-sast-analyzer-removals.yml | 2 - data/deprecations/14-8-sast-dotnet-21.yml | 2 - .../14-8-sast-secret-analyzer-image.yml | 2 - .../14-8-sast-spotbugs-java-8.yml | 2 - .../14-8-secret-detection-configurations.yml | 2 - .../14-8-secure-and-protect-analyzer-bump.yml | 2 - .../14-8-secure-ca-python-deprecation.yml | 2 - data/deprecations/14-9-background-upload.yml | 2 - ...eprecate-composer-download-permissions.yml | 2 - data/deprecations/14-9-deprecate-debian-9.yml | 2 - ...te-permissions-change-package-settings.yml | 2 - .../14-9-deprecate-testcoveragesetting.yml | 2 - ...word-authentication-container-registry.yml | 2 - ...arch-deprecate-user-email-lookup-limit.yml | 2 - data/deprecations/14-9-pages-daemon.yml | 2 - data/deprecations/14-9-system_monitoring.yml | 2 - ...ci-cd-settings-update-mutation-renamed.yml | 2 - .../15-0-deprecate-monitor-logging.yml | 2 - .../15-0-deprecate-monitor-metrics.yml | 2 - .../15-0-deprecate-monitor-tracing.yml | 2 - .../15-0-deprecate-postgresql-12.yml | 2 - ...stance-statistics-graphql-node-removal.yml | 2 - data/deprecations/15-0-oauth-noexpiry.yml | 2 - data/deprecations/15-0-oauth.yml | 2 - .../15-0-runner-status-legacy-mode.yml | 2 - .../15-1-deprecate-maintainer_note.yml | 2 - .../15-1-jira-github-enterprise-dvcs.yml | 2 - ...5-1-pipelinesecurityreportfinding-name.yml | 2 - ...curityreportfinding-projectfingerprint.yml | 2 - ...roject-pipeline-securityReportFindings.yml | 2 - ...cation-vulnerability-report-state-sort.yml | 2 - .../deprecations/15-2-job_age-deprecation.yml | 3 - data/deprecations/15-3-deprecate-redis-5.yml | 3 - ...ecation-vulnerability-report-tool-sort.yml | 2 - data/deprecations/15-3-omniauth-cas3.yml | 2 - data/deprecations/15-3-omniauth-crowd.yml | 2 - .../15-3-pipeline_activity_limit.yml | 2 - ...3-vulnerabilityFindingDismiss-mutation.yml | 3 - .../15-4-confidence-field-in-graphql.yml | 2 - ...-deprecation-draft-quick-action-toggle.yml | 2 - .../deprecations/15-4-cs-docker-variables.yml | 2 - .../15-4-deprecate-bundled-grafana.yml | 2 - .../15-4-non-expiring-access-tokens.yml | 2 - .../deprecations/15-4-starboard-directive.yml | 2 - .../15-5-confidential-field-on-notes.yml | 2 - ...le-file-type-var-expansion-ci-pipeline.yml | 2 - ...5-vulnerabilityFindingDismiss-mutation.yml | 2 - ...recate-config-fields-runner-helm-chart.yml | 3 - .../15-6-deprecate-merge_status-api-field.yml | 2 - .../15-6-deprecate-post-api-v4-runner.yml | 3 - .../15-6-deprecate-runner-reg-token-helm.yml | 3 - ...15-6-deprecate-runner-register-command.yml | 3 - ...ate-runner-register-token-k8s-operator.yml | 3 - .../15-7-dast-api-variable-deprecation.yml | 2 - ...ner-registration-token-reset-endpoints.yml | 3 - ...precate-dast-api-scan-in-dast-template.yml | 2 - .../15-7-deprecate-dast-zap-variables.yml | 2 - .../15-7-deprecate-gitlab-runner-exec-cmd.yml | 3 - ...ecate-kas-metrics-port-in-gitlab-chart.yml | 3 - .../15-7-deprecate-phabricator-importer.yml | 2 - .../15-7-deprecate-shimo-integration.yml | 3 - ...gle-merge-request-changes-api-endpoint.yml | 2 - .../15-7-deprecate-zentao-integration.yml | 3 - ...-enable-period-in-terraform-state-name.yml | 3 - .../15-8-azure-storage-driver-root-prefix.yml | 13 + .../15-8-conan-search-limited-to-project.yml | 11 + ...15-8-dast-report-variables-deprecation.yml | 2 - .../15-8-default-private-user-profile.yml | 9 + ...15-8-dependency-scanning-java-versions.yml | 9 + ...deprecate-auto-deploy-postgres-enabled.yml | 16 + ...s-support-for-openstack-rackspace-apis.yml | 13 + ...eprecate-deploy-PAT-with-external-auth.yml | 9 + ...led-with-override-runner-setting-value.yml | 18 + .../15-8-deprecate-gitlabcom-importer.yml | 18 + .../deprecations/15-8-deprecate-herokuish.yml | 12 + ...ate-import-bare-repositories-rake-task.yml | 28 + ...precate-merge-request-approvals-fields.yml | 14 + .../15-8-deprecate-opensuse-15-3.yml | 14 + .../15-8-deprecate-updated-at-error.yml | 45 + data/deprecations/15-8-live-preview.yml | 11 + .../15-8-projects-api-ops-access-level.yml | 45 + ...-pull-through-cache-container-registry.yml | 9 + ...ise-permissions-settings-package-stage.yml | 17 + data/deprecations/15-8-redis-config-env.yml | 13 + data/deprecations/15-8-redis-localhost.yml | 16 + ...d-environment-tier-param-from-dora-api.yml | 9 + ...jects-imports-to-maintainers-and-above.yml | 13 + .../15-8-revoked-agent-tokens-api-change.yml | 20 + .../15-8-terraform-latest-stable-change.yml | 18 + .../15-8-third-party-registries.yml | 13 + data/deprecations/15-8-visual-review-tool.yml | 23 + data/deprecations/15.8-kas-private-tls.yml | 16 + data/deprecations/16-0-post-ci-lint.yml | 3 - .../16-0-security_report_schemas_v14-x-x.yml | 3 - .../distribution_deprecations_14-4.yml | 2 - .../templates/_deprecation_template.md.erb | 4 +- data/deprecations/templates/example.yml | 24 +- data/removals/templates/example.yml | 27 +- data/whats_new/202212200001_15_07.yml | 6 +- data/whats_new/20230220001_15_08.yml | 72 + db/docs/achievements.yml | 2 +- ...analytics_cycle_analytics_group_stages.yml | 2 +- ...cs_cycle_analytics_group_value_streams.yml | 2 +- db/docs/analytics_dashboards_pointers.yml | 10 + ...merge_request_rules_approved_approvers.yml | 2 +- db/docs/approver_groups.yml | 2 +- db/docs/approvers.yml | 2 +- db/docs/chat_names.yml | 2 +- db/docs/chat_teams.yml | 2 +- db/docs/ci_job_artifacts.yml | 1 - db/docs/ci_minutes_additional_packs.yml | 2 +- db/docs/ci_namespace_mirrors.yml | 2 +- db/docs/ci_pipeline_chat_data.yml | 2 +- db/docs/ci_project_mirrors.yml | 2 +- db/docs/ci_runner_machines.yml | 10 + db/docs/clusters_applications_cilium.yml | 2 +- db/docs/dast_pre_scan_verifications.yml | 2 +- db/docs/dependency_list_exports.yml | 2 + db/docs/dingtalk_tracker_data.yml | 3 +- db/docs/draft_notes.yml | 2 +- db/docs/elastic_group_index_statuses.yml | 10 + db/docs/elastic_reindexing_slices.yml | 2 +- db/docs/elasticsearch_indexed_projects.yml | 2 +- ...eo_container_repository_updated_events.yml | 10 - db/docs/ghost_user_migrations.yml | 2 +- db/docs/historical_data.yml | 4 +- db/docs/integrations.yml | 3 + db/docs/lfs_file_locks.yml | 2 +- db/docs/lfs_object_states.yml | 2 +- db/docs/lfs_objects.yml | 2 +- db/docs/lfs_objects_projects.yml | 1 - .../loose_foreign_keys_deleted_records.yml | 2 +- db/docs/merge_request_assignees.yml | 2 +- db/docs/merge_request_cleanup_schedules.yml | 2 +- ...erge_request_context_commit_diff_files.yml | 2 +- db/docs/merge_request_context_commits.yml | 2 +- db/docs/merge_request_diff_commit_users.yml | 2 +- db/docs/merge_request_diff_commits.yml | 2 +- db/docs/merge_request_diff_files.yml | 2 +- db/docs/merge_request_diffs.yml | 2 +- db/docs/merge_request_metrics.yml | 2 +- db/docs/merge_request_predictions.yml | 2 +- db/docs/merge_request_reviewers.yml | 2 +- db/docs/merge_requests.yml | 2 +- db/docs/merge_requests_closing_issues.yml | 2 +- db/docs/ml_candidate_metadata.yml | 1 - db/docs/ml_candidate_metrics.yml | 1 - db/docs/ml_candidate_params.yml | 5 +- db/docs/ml_candidates.yml | 1 - db/docs/ml_experiment_metadata.yml | 1 - db/docs/ml_experiments.yml | 1 - db/docs/namespace_aggregation_schedules.yml | 2 +- db/docs/namespace_bans.yml | 6 +- db/docs/namespace_details.yml | 2 +- db/docs/namespace_limits.yml | 2 +- db/docs/namespace_root_storage_statistics.yml | 2 +- db/docs/namespace_statistics.yml | 2 +- db/docs/namespaces_sync_events.yml | 2 +- db/docs/note_diff_files.yml | 2 +- db/docs/notes.yml | 4 +- db/docs/operations_feature_flags.yml | 2 +- db/docs/packages_rpm_repository_files.yml | 2 +- db/docs/project_statistics.yml | 2 +- db/docs/project_wiki_repository_states.yml | 2 +- db/docs/projects_sync_events.yml | 2 +- db/docs/reviews.yml | 2 +- ...ty_orchestration_policy_configurations.yml | 2 +- ...ty_orchestration_policy_rule_schedules.yml | 2 +- db/docs/slack_api_scopes.yml | 2 +- db/docs/slack_integrations_scopes.yml | 2 +- db/docs/snippet_repositories.yml | 2 +- db/docs/snippet_statistics.yml | 2 +- db/docs/snippet_user_mentions.yml | 2 +- db/docs/snippets.yml | 2 +- db/docs/suggestions.yml | 2 +- db/docs/timelog_categories.yml | 2 +- db/docs/uploads.yml | 4 +- db/docs/user_achievements.yml | 10 + db/docs/user_highest_roles.yml | 4 +- db/docs/user_namespace_callouts.yml | 5 +- db/docs/users_statistics.yml | 2 +- db/docs/views/postgres_partitioned_tables.yml | 2 +- db/docs/vulnerability_remediations.yml | 1 + db/docs/vulnerability_state_transitions.yml | 4 +- db/docs/work_item_parent_links.yml | 1 - db/fixtures/development/03_project.rb | 1 + db/fixtures/development/17_cycle_analytics.rb | 12 + db/fixtures/development/33_triage_ops.rb | 44 +- db/fixtures/development/35_emails.rb | 55 + db/init_structure.sql | 2326 ++++++++-- ...d_request_headers_to_dast_site_profiles.rb | 17 - ...ment_id_index_to_project_pages_metadata.rb | 19 - ...index_for_security_orchestration_policy.rb | 18 - ..._index_to_security_orchestration_policy.rb | 18 - ...212623_rename_vuln_fingerprints_indexes.rb | 35 - ...dited_at_and_last_edited_by_id_to_notes.rb | 19 - ...03091651_add_index_to_environments_tier.rb | 19 - ...201_add_index_for_succeeded_deployments.rb | 18 - ...t_null_constraint_to_cluster_token_name.rb | 18 - ...current_fields_to_bulk_imports_trackers.rb | 21 - ..._imports_trackers_jid_and_pipeline_name.rb | 16 - ...rm_states_locked_by_user_id_foreign_key.rb | 29 - ...to_group_ci_variables_environment_scope.rb | 17 - ...1822_create_dast_site_profile_variables.rb | 40 - ...orm_module_max_file_size_to_plan_limits.rb | 9 - .../20210305180331_create_ci_unit_tests.rb | 31 - ...182740_add_projects_fk_to_ci_unit_tests.rb | 19 - ...0305182855_create_ci_unit_test_failures.rb | 24 - ...d_ci_builds_fk_to_ci_unit_test_failures.rb | 19 - .../20210306121300_partition_web_hook_logs.rb | 19 - ...d_info_column_into_security_scans_table.rb | 9 - ...e_settings_delayed_project_removal_null.rb | 14 - ...d_project_removal_to_namespace_settings.rb | 9 - ...project_removal_to_application_settings.rb | 9 - ...project_removal_to_application_settings.rb | 9 - ...und_migrations_batch_class_name_default.rb | 10 - ...6_add_admin_mode_to_application_setting.rb | 9 - ...add_last_used_at_to_cluster_agent_token.rb | 9 - ...add_idx_vulnerability_occurrences_dedup.rb | 24 - ...o_group_merge_request_approval_settings.rb | 14 - ...2_add_text_limits_to_dast_site_profiles.rb | 24 - ...cs_to_batched_background_migration_jobs.rb | 9 - ...alize_conversion_of_events_id_to_bigint.rb | 21 - ..._push_event_payloads_event_id_to_bigint.rb | 21 - ...d_index_on_active_ci_pipeline_schedules.rb | 18 - ...add_enforced_git_check_to_saml_provider.rb | 13 - ..._creation_allowed_to_namespace_settings.rb | 19 - ..._and_started_at_to_snippet_repositories.rb | 12 - ...ication_indexes_to_snippet_repositories.rb | 27 - ...n_type_to_gitlab_subscription_histories.rb | 9 - ..._extension_type_to_gitlab_subscriptions.rb | 21 - ...d_index_ci_stages_on_pipeline_id_and_id.rb | 18 - ...1009_create_packages_helm_file_metadata.rb | 26 - ...17035357_create_dast_profiles_pipelines.rb | 20 - ...317100520_create_elastic_index_settings.rb | 23 - ...4301_create_in_product_marketing_emails.rb | 33 - ...eign_key_to_in_product_marketing_emails.rb | 19 - ...4_add_throttle_package_registry_columns.rb | 14 - ...d_expiry_notification_delivered_to_keys.rb | 9 - ...10317210338_add_valid_runner_registrars.rb | 7 - ...7_delete_security_findings_without_uuid.rb | 25 - ...4_add_helm_max_file_size_to_plan_limits.rb | 9 - ...rofile_id_fk_to_dast_profiles_pipelines.rb | 19 - ...peline_id_fk_to_dast_profiles_pipelines.rb | 19 - ..._at_and_expiry_notification_undelivered.rb | 19 - ...64751_add_namespace_traversal_ids_index.rb | 18 - ...809_create_status_check_responses_table.rb | 19 - ...t_foreign_key_to_status_check_responses.rb | 17 - ...e_foreign_key_to_status_check_responses.rb | 17 - ...smissal_information_for_vulnerabilities.rb | 37 - ...ect_status_date_index_to_merge_requests.rb | 18 - ...ta_on_retry_next_execution_where_status.rb | 28 - ...24131727_migrate_elastic_index_settings.rb | 31 - ...dd_not_valid_foreign_key_to_group_hooks.rb | 19 - ...9_validate_foreign_key_on_service_hooks.rb | 17 - ...ification_state_to_ci_pipeline_artifact.rb | 18 - ...n_failure_limit_to_ci_pipeline_artifact.rb | 19 - ...cation_indexes_to_ci_pipeline_artifacts.rb | 27 - ...ents_with_environment_id_and_updated_at.rb | 19 - ..._create_vulnerability_finding_evidences.rb | 26 - ...nd_source_branch_index_to_merge_request.rb | 18 - ...10329191850_add_finding_signature_table.rb | 40 - ...2716_add_composite_index_to_award_emoji.rb | 18 - .../20210330015805_add_cloud_to_licenses.rb | 9 - ...20210331000934_add_config_to_ci_runners.rb | 7 - ...210331125111_add_default_target_project.rb | 17 - ...331145548_add_index_for_last_deployment.rb | 18 - ...emove_deprecated_index_from_award_emoji.rb | 19 - ...01134157_add_index_to_pages_deployments.rb | 18 - ..._data_on_next_execution_and_retry_count.rb | 30 - ...e_expiry_notification_delivered_to_keys.rb | 9 - ..._before_expiry_notification_undelivered.rb | 19 - ...e_namespaces_id_parent_id_partial_index.rb | 18 - ...total_tuple_count_to_batched_migrations.rb | 13 - ...407002511_add_type_to_dast_site_profile.rb | 7 - ...11027_add_whats_new_application_setting.rb | 7 - ...ted_at_to_terraform_state_version_table.rb | 10 - ..._notes_for_cherry_picked_merge_requests.rb | 18 - ...13_add_clusters_integrations_prometheus.rb | 21 - ...rity_orchestration_policy_rule_schedule.rb | 33 - ...tance_url_to_jira_connect_installations.rb | 16 - ...jira_connect_installations_instance_url.rb | 17 - ...10412142223_add_user_index_on_spam_logs.rb | 17 - ...red_at_to_security_orchestration_policy.rb | 9 - ...ok_id_index_to_partitioned_web_hook_log.rb | 21 - ...web_hook_id_to_partitioned_web_hook_log.rb | 21 - ...econds_to_batched_background_migrations.rb | 7 - ...ds_to_batched_background_migration_jobs.rb | 7 - ..._on_project_and_type_where_inherit_null.rb | 17 - ...414100914_add_bulk_import_exports_table.rb | 25 - ...n_key_to_bulk_import_exports_on_project.rb | 17 - ...ign_key_to_bulk_import_exports_on_group.rb | 17 - ...eline_validation_to_application_setting.rb | 19 - ...7_add_bulk_import_exports_table_indexes.rb | 29 - ...10_add_bulk_import_export_uploads_table.rb | 19 - ..._conversion_of_ci_build_needs_to_bigint.rb | 17 - ...00_add_url_limit_to_pipeline_validation.rb | 17 - ...move_index_epics_on_group_id_from_epics.rb | 17 - ...vulnerability_finding_evidence_requests.rb | 28 - ...ulnerability_finding_evidence_responses.rb | 27 - ...oup_architectures_distribution_id_index.rb | 19 - ...ect_architectures_distribution_id_index.rb | 19 - ...mote_import_url_to_import_export_upload.rb | 8 - ...t_to_import_url_in_import_export_upload.rb | 15 - ...834_update_issues_iteration_foreign_key.rb | 23 - ...20012444_change_web_hook_events_default.rb | 15 - ...ex_cluster_agent_tokens_on_last_used_at.rb | 20 - ...onversion_of_ci_job_artifacts_to_bigint.rb | 22 - ...ion_indexes_to_terraform_state_versions.rb | 26 - ...oyments_with_environment_id_and_date_at.rb | 23 - ...te_merge_requests_iteration_foreign_key.rb | 23 - ...e_dormant_users_to_application_settings.rb | 7 - ...10421022010_add_index_for_dormant_users.rb | 19 - ...add_codeowners_devops_adoption_snapshot.rb | 8 - ...traint_from_elastic_reindexing_subtasks.rb | 19 - ...urces_pipelines_source_job_id_to_bigint.rb | 18 - ..._index_to_container_expiration_policies.rb | 17 - .../20210422181809_add_project_to_timelogs.rb | 19 - ...195929_create_elastic_reindexing_slices.rb | 44 - ...022_create_dast_site_profiles_pipelines.rb | 18 - ...e_id_fk_to_dast_site_profiles_pipelines.rb | 19 - ...e_id_fk_to_dast_site_profiles_pipelines.rb | 19 - ..._add_runner_registration_to_plan_limits.rb | 8 - ..._insert_runner_registration_plan_limits.rb | 26 - ..._fk_source_project_id_in_merge_requests.rb | 24 - ...24115725_swap_partitioned_web_hook_logs.rb | 15 - ...424163400_add_project_id_fk_to_timelogs.rb | 22 - ...alize_conversion_of_ci_builds_to_bigint.rb | 17 - ...sion_of_ci_build_trace_chunks_to_bigint.rb | 16 - ..._index_to_batched_migration_jobs_status.rb | 17 - ...n_of_ci_builds_runner_session_to_bigint.rb | 16 - ...ex_to_batched_background_migration_jobs.rb | 17 - ...pamcheck_api_key_to_application_setting.rb | 13 - ...iption_roll_over_to_iterations_cadences.rb | 19 - ...imit_to_iterations_cadences_description.rb | 15 - ...20210428151144_update_invalid_web_hooks.rb | 24 - ...238_validate_foreign_key_on_group_hooks.rb | 15 - .../20210429024843_add_escalation_policies.rb | 25 - .../20210429032320_add_escalation_rules.rb | 19 - ...525_create_user_credit_card_validations.rb | 22 - ...81325_add_failure_tracking_to_web_hooks.rb | 11 - ..._settings_to_namespace_package_settings.rb | 11 - ...tings_generic_duplicate_exception_regex.rb | 15 - ...oken_to_clusters_integration_prometheus.rb | 10 - ...ername_password_to_application_settings.rb | 13 - ...on_of_ci_build_trace_sections_to_bigint.rb | 16 - ...0210430122951_add_snapshot_namespace_id.rb | 7 - ...12_add_display_namespace_id_to_segments.rb | 7 - ...10430124630_add_devops_adoption_indexes.rb | 32 - ...d_max_slices_to_elastic_reindexing_task.rb | 18 - ...0503105022_create_project_value_streams.rb | 27 - ...oject_value_stream_id_to_project_stages.rb | 30 - ...31747_add_web_hook_calls_to_plan_limits.rb | 7 - ..._on_web_hook_project_id_recent_failures.rb | 17 - ...504135823_add_floc_application_settings.rb | 7 - ...and_started_at_to_mr_diff_details_table.rb | 10 - ...reate_clusters_integration_elasticstack.rb | 21 - ..._indexes_for_pending_and_running_builds.rb | 20 - ...packages_debian_group_distribution_keys.rb | 37 - ...ckages_debian_project_distribution_keys.rb | 37 - ...dd_text_limit_to_elasticsearch_username.rb | 15 - ...xes_to_merge_request_diff_details_table.rb | 26 - ..._vulnerability_finding_evidence_headers.rb | 29 - ...949_add_remove_on_issue_close_to_labels.rb | 11 - ...083845_add_sha_to_status_check_response.rb | 13 - ..._add_body_to_findings_evidences_request.rb | 10 - ...imit_to_findings_evidences_request_body.rb | 17 - ...4929_add_epic_board_recent_visits_table.rb | 24 - ...0_add_index_to_epic_board_recent_visits.rb | 20 - ...add_foreign_key_to_lfs_objects_projects.rb | 19 - ...20210512120122_add_pending_builds_table.rb | 15 - ...add_body_to_findings_evidences_response.rb | 10 - ...mit_to_findings_evidences_response_body.rb | 17 - ...3418_add_draft_column_to_merge_requests.rb | 17 - ...30723_make_snapshot_segment_id_optional.rb | 11 - ...210517144856_require_snapshot_namespace.rb | 19 - ...ge_requests_author_approval_on_projects.rb | 17 - ...version_of_ci_builds_metadata_to_bigint.rb | 16 - ...ere_two_factor_auth_required_from_group.rb | 34 - ...group_protected_environments_add_column.rb | 15 - ...ialize_conversion_of_taggings_to_bigint.rb | 16 - ...backfill_taggings_for_bigint_conversion.rb | 18 - ...op_devops_adoption_namespace_uniqueness.rb | 23 - ...ize_conversion_of_deployments_to_bigint.rb | 16 - ...kfill_deployments_for_bigint_conversion.rb | 18 - ...o_job_artifact_deleted_events_to_bigint.rb | 16 - ...ct_deleted_events_for_bigint_conversion.rb | 18 - ..._id_into_vulnerability_statistics_table.rb | 7 - ...5911_create_ci_minutes_additional_packs.rb | 25 - ...ity_report_approval_rules_sidekiq_queue.rb | 15 - ...bility_statistics_on_latest_pipeline_id.rb | 17 - ..._for_latest_pipeline_id_to_ci_pipelines.rb | 17 - ...peline_schedule_triggers_to_plan_limits.rb | 7 - ..._pipeline_schedule_triggers_plan_limits.rb | 26 - ...index_for_cadence_iterations_automation.rb | 17 - ...iment_subjects_group_id_to_namespace_id.rb | 15 - ..._diff_max_lines_to_application_settings.rb | 11 - ..._diff_max_files_to_application_settings.rb | 11 - ...outside_hierarchy_to_namespace_settings.rb | 17 - ...create_ci_job_token_project_scope_links.rb | 24 - ...hange_iterations_title_uniqueness_index.rb | 20 - ...rename_instance_statistics_measurements.rb | 13 - ...0452_default_enforce_ssh_key_expiration.rb | 7 - ...71107_enable_enforce_ssh_key_expiration.rb | 15 - ...d_environments_add_index_and_constraint.rb | 35 - ...20210601123341_add_running_builds_table.rb | 17 - ...0601125410_add_runners_created_at_index.rb | 20 - ...10601131742_update_web_hook_calls_limit.rb | 17 - ...tial_index_for_hashed_storage_migration.rb | 15 - ...3459_replace_runners_contacted_at_index.rb | 26 - ...0602122213_add_upcoming_reconciliations.rb | 23 - ...602122233_add_runners_description_index.rb | 17 - ...056_add_merge_request_diff_commit_users.rb | 31 - ..._merge_request_diff_commit_user_columns.rb | 25 - ...chema.rb => 20210602155110_init_schema.rb} | 4 +- ...36_add_access_level_to_ci_job_artifacts.rb | 9 + ...11_add_columns_to_postgres_foreign_keys.rb | 54 + ...1204090437_add_category_to_abuse_report.rb | 7 + ...32_remove_sbom_occurrences_unique_index.rb | 22 + ...0221209174157_truncate_sbom_occurrences.rb | 28 + ...4640_add_reported_from_to_abuse_reports.rb | 21 + ...452_add_uuid_column_to_sbom_occurrences.rb | 7 + ...12192527_index_sbom_occurrences_on_uuid.rb | 15 + ...aces_on_path_for_top_level_non_projects.rb | 18 + ...20221214201256_create_user_achievements.rb | 33 + ...14204247_user_achievements_foreign_keys.rb | 19 + ...47_partition_pm_package_metadata_tables.rb | 13 + ...0221219103007_add_name_to_ml_candidates.rb | 6 + ...add_text_limit_to_name_on_ml_candidates.rb | 13 + ...private_profile_to_application_settings.rb | 7 + ...116_create_elastic_group_index_statuses.rb | 18 + ...0221221171239_rename_amount_used_column.rb | 22 + ...ytics_dashboards_configuration_pointers.rb | 19 + ...21223114543_add_pwa_icon_to_appearances.rb | 13 + ..._add_registration_columns_to_ci_runners.rb | 10 + ...26132038_index_ci_runners_on_creator_id.rb | 15 + ...0221226163203_create_ci_runner_machines.rb | 21 + ...221227080606_add_text_limit_to_pwa_icon.rb | 13 + ...istration_token_to_application_settings.rb | 9 + ...egistration_token_to_namespace_settings.rb | 9 + ...845_add_incident_events_to_integrations.rb | 7 + ...constraint_on_chat_names_on_integration.rb | 15 + ...pearances_short_title_to_pwa_short_name.rb | 13 + ...50600_add_machine_id_to_builds_metadata.rb | 9 + ...mn_on_ci_namespace_monthly_usages_table.rb | 24 + ...230106125945_add_user_to_ssh_signatures.rb | 11 + ...31659_add_fingerprint_to_ssh_signatures.rb | 13 + ...add_config_column_to_ci_runner_machines.rb | 9 + ...59_add_runner_machines_created_at_index.rb | 15 + ..._add_runner_machines_contacted_at_index.rb | 16 + ...ge_admin_control_columns_to_plan_limits.rb | 11 + ...131_add_uses_legacy_iid_to_test_reports.rb | 7 + ...igrate_projects_to_bulk_import_entities.rb | 7 + ...2_remove_tmp_index_vulns_on_report_type.rb | 22 + ..._unpartition_pm_package_metadata_tables.rb | 54 + ...add_user_index_and_fk_to_ssh_signatures.rb | 20 + ...dd_tmp_index_to_ci_build_runner_session.rb | 23 + ...04526_add_tmp_index_to_ci_pending_build.rb | 23 + ...04636_add_tmp_index_to_ci_running_build.rb | 23 + ...ill_namespace_statistics_with_wiki_size.rb | 29 - ...0_schedule_migrate_pages_to_zip_storage.rb | 17 - ...ts_to_gitlab_subscriptions_namespace_id.rb | 19 - ...ab_subscriptions_with_null_namespace_id.rb | 24 - ..._gitlab_subscriptions_start_at_post_eoa.rb | 54 - ...2_cleanup_cluster_tokens_with_null_name.rb | 25 - ...ove_duplicate_vulnerabilities_findings2.rb | 32 - ...1310_backfill_partitioned_web_hook_logs.rb | 17 - ...versal_ids_for_gitlab_org_group_staging.rb | 88 - ..._traversal_ids_for_gitlab_org_group_com.rb | 88 - ...ipelines_by_cancelable_status_and_users.rb | 30 - ...ackfill_events_id_for_bigint_conversion.rb | 31 - ..._payload_event_id_for_bigint_conversion.rb | 32 - ...et_iteration_cadence_automatic_to_false.rb | 17 - ...t_null_constraint_on_cluster_token_name.rb | 16 - ...nt_on_gitlab_subscriptions_namespace_id.rb | 17 - ...l_cleanup_for_partitioned_web_hook_logs.rb | 17 - ...porary_index_from_vulnerabilities_table.rb | 18 - .../20210329102724_add_new_trail_plans.rb | 41 - ...cords_without_group_from_webhooks_table.rb | 30 - ...30130420_drop_finding_fingerprint_table.rb | 40 - ...05335_drop_non_partitioned_audit_events.rb | 44 - ...r_registry_enabled_to_project_features2.rb | 29 - ...nd_level_index_on_notification_settings.rb | 24 - ...52_remove_notes_delete_cascade_timelogs.rb | 26 - ...otal_tuple_count_for_batched_migrations.rb | 27 - ...20210407150240_confirm_support_bot_user.rb | 23 - ...embers_on_user_id_source_id_source_type.rb | 17 - ...9185531_remove_members_index_on_user_id.rb | 17 - ...d_index_to_packages_maven_metadata_path.rb | 17 - ...3130011_add_partitioned_web_hook_log_fk.rb | 22 - ...schedule_artifact_expiry_backfill_again.rb | 14 - ...er_id_access_level_requested_at_is_null.rb | 17 - ...ll_ci_build_needs_for_bigint_conversion.rb | 32 - ...r_registry_enabled_to_project_features3.rb | 35 - ...20103955_remove_hipchat_service_records.rb | 21 - ...backfill_conversion_of_ci_job_artifacts.rb | 31 - ...acker_data_deployment_type_based_on_url.rb | 15 - ...nes_source_job_id_for_bigint_conversion.rb | 30 - ...ove_proxy_settings_to_jira_tracker_data.rb | 14 - ...7_schedule_drop_invalid_vulnerabilities.rb | 26 - ...ackfill_ci_builds_for_bigint_conversion.rb | 30 - ...te_uuid_on_vulnerabilities_occurrences2.rb | 12 - ...uild_trace_chunks_for_bigint_conversion.rb | 28 - ...ds_runner_session_for_bigint_conversion.rb | 28 - ...034_schedule_update_timelogs_project_id.rb | 32 - ..._new_issues_index_for_relative_position.rb | 17 - ...ld_trace_sections_for_bigint_conversion.rb | 19 - ...30130259_remove_obsolete_segments_field.rb | 18 - ...134202_copy_adoption_snapshot_namespace.rb | 16 - ...135954_copy_adoption_segments_namespace.rb | 14 - ...rtial_covering_index_for_pending_builds.rb | 24 - ...aces_id_parent_id_inverse_partial_index.rb | 18 - ...6065000_schedule_backfill_traversal_ids.rb | 38 - ...ry_index_for_project_topics_to_taggings.rb | 19 - ...ct_taggings_context_from_tags_to_topics.rb | 30 - ..._schedule_drop_invalid_vulnerabilities2.rb | 25 - ..._package_index_for_nuget_data_migration.rb | 19 - ...temporary_packages_to_processing_status.rb | 29 - ..._package_index_for_nuget_data_migration.rb | 19 - ...ner_registry_enabled_to_project_feature.rb | 36 - ...e_cleanup_orphaned_lfs_objects_projects.rb | 27 - ...ry_index_for_project_topics_to_taggings.rb | 19 - ...sters_integration_elastic_stack_enabled.rb | 34 - ..._policies_linked_to_no_container_images.rb | 29 - ...clusters_integration_prometheus_enabled.rb | 42 - ...i_builds_metadata_for_bigint_conversion.rb | 18 - ...scalation_policies_for_oncall_schedules.rb | 89 - ...backfill_pk_conversion_for_self_managed.rb | 46 - ...525075724_clean_up_pending_builds_table.rb | 28 - ...6160133_remove_segment_selections_table.rb | 26 - ...backfill_draft_status_on_merge_requests.rb | 17 - ...iment_subjects_group_id_to_namespace_id.rb | 15 - ...rename_instance_statistics_measurements.rb | 13 - .../20210601073400_fix_total_stage_in_vsa.rb | 27 - ...imary_email_to_emails_if_user_confirmed.rb | 30 - ...imary_email_to_emails_if_user_confirmed.rb | 59 - ...tainer_repository_deprecated_geo_fields.rb | 28 + ...ove_container_repository_updated_events.rb | 22 + ...move_temp_index_for_user_details_fields.rb | 26 + ...ex_on_overlong_vulnerability_html_title.rb | 18 + ...cate_overlong_vulnerability_html_titles.rb | 29 + ...cess_tokens_on_id_where_expires_in_null.rb | 16 + ...auth_access_tokens_with_null_expires_in.rb | 25 + ...095129_second_recount_epic_cache_counts.rb | 29 + ...ncrypted_partition_id_index_to_ci_build.rb | 23 + ...22_schedule_backfill_releases_author_id.rb | 59 + ...31710_add_index_to_ci_unit_test_failure.rb | 17 + ...935_add_index_to_ci_build_pending_state.rb | 17 + ...31958_add_index_to_ci_build_trace_chunk.rb | 17 + ...add_foreign_key_to_ci_unit_test_failure.rb | 30 + ...d_foreign_key_to_ci_build_pending_state.rb | 30 + ...add_foreign_key_to_ci_build_trace_chunk.rb | 30 + ...unit_test_failure_partition_id_build_id.rb | 16 + ...ild_pending_state_partition_id_build_id.rb | 16 + ...build_trace_chunk_partition_id_build_id.rb | 16 + ...members_on_member_namespace_id_compound.rb | 19 + ...rs_on_member_namespace_id_compound_sync.rb | 19 + ...d_query_index_for_ci_pipeline_schedules.rb | 18 + ...efault_partition_id_value_for_ci_tables.rb | 56 + ...roject_statistics_upload_size_migration.rb | 17 + ...21221150123_update_billable_users_index.rb | 27 + ...8_sync_new_amount_used_with_amount_used.rb | 17 + ..._for_vulnerabilities_feedback_migration.rb | 23 + ...e_chat_names_integration_id_foreign_key.rb | 27 + ..._integration_id_and_team_id_and_chat_id.rb | 15 + ...1227100751_add_user_index_to_chat_names.rb | 15 + ...hat_names_on_user_id_and_integration_id.rb | 15 + ...n_mode_scope_for_personal_access_tokens.rb | 21 + ..._cleanup_appearances_short_title_rename.rb | 13 + ...dex_on_ci_runners_on_runner_type_and_id.rb | 18 + ...104103748_remove_new_amount_used_column.rb | 20 + ...50601_prepare_builds_metadata_async_idx.rb | 36 + ...ads_on_default_branch_with_common_query.rb | 26 + ...drop_vuln_reads_on_default_branch_index.rb | 19 + ...ed_on_ci_namespace_monthly_usages_table.rb | 19 + ...d_column_on_ci_namespace_monthly_usages.rb | 22 + ..._change_keys_relation_to_ssh_signatures.rb | 41 + ...2751_add_partial_index_on_group_path_id.rb | 15 + ...ype_and_member_role_id_index_to_members.rb | 15 + ...e_id_and_source_type_index_from_members.rb | 15 + ...index_environments_on_project_id_and_id.rb | 15 + ...move_atlassian_refresh_token_constraint.rb | 20 + ..._drop_index_on_ci_build_token_encrypted.rb | 17 + ...630_add_index_for_group_activity_events.rb | 15 + ...2_add_index_for_project_activity_events.rb | 15 + ..._add_index_to_events_on_group_id_and_id.rb | 15 + ...626_add_index_for_events_followed_users.rb | 15 + ...230116111252_finalize_todo_sanitization.rb | 22 + ...to_ci_sources_pipelines_on_partition_id.rb | 29 + ...pted_and_partition_id_index_to_ci_build.rb | 17 + db/schema_migrations/20210301200959 | 1 - db/schema_migrations/20210302025305 | 1 - db/schema_migrations/20210302074524 | 1 - db/schema_migrations/20210302103851 | 1 - db/schema_migrations/20210302150310 | 1 - db/schema_migrations/20210302155904 | 1 - db/schema_migrations/20210302160544 | 1 - db/schema_migrations/20210302212623 | 1 - db/schema_migrations/20210303053341 | 1 - db/schema_migrations/20210303064112 | 1 - db/schema_migrations/20210303064142 | 1 - db/schema_migrations/20210303091651 | 1 - db/schema_migrations/20210303121224 | 1 - db/schema_migrations/20210303165201 | 1 - db/schema_migrations/20210303165301 | 1 - db/schema_migrations/20210303165302 | 1 - db/schema_migrations/20210303193544 | 1 - db/schema_migrations/20210303193605 | 1 - db/schema_migrations/20210304133508 | 1 - db/schema_migrations/20210305002016 | 1 - db/schema_migrations/20210305013509 | 1 - db/schema_migrations/20210305031822 | 1 - db/schema_migrations/20210305145622 | 1 - db/schema_migrations/20210305180331 | 1 - db/schema_migrations/20210305182740 | 1 - db/schema_migrations/20210305182855 | 1 - db/schema_migrations/20210305183904 | 1 - db/schema_migrations/20210306121300 | 1 - db/schema_migrations/20210306121310 | 1 - db/schema_migrations/20210308125742 | 1 - db/schema_migrations/20210308175224 | 1 - db/schema_migrations/20210308175225 | 1 - db/schema_migrations/20210308175226 | 1 - db/schema_migrations/20210308175227 | 1 - db/schema_migrations/20210308190413 | 1 - db/schema_migrations/20210309160106 | 1 - db/schema_migrations/20210309181019 | 1 - db/schema_migrations/20210310000627 | 1 - db/schema_migrations/20210310111009 | 1 - db/schema_migrations/20210311022012 | 1 - db/schema_migrations/20210311045138 | 1 - db/schema_migrations/20210311045139 | 1 - db/schema_migrations/20210311093723 | 1 - db/schema_migrations/20210311120152 | 1 - db/schema_migrations/20210311120153 | 1 - db/schema_migrations/20210311120154 | 1 - db/schema_migrations/20210311120155 | 1 - db/schema_migrations/20210311120156 | 1 - db/schema_migrations/20210312140029 | 1 - db/schema_migrations/20210312174321 | 1 - db/schema_migrations/20210312193532 | 1 - db/schema_migrations/20210313045617 | 1 - db/schema_migrations/20210313045845 | 1 - db/schema_migrations/20210316094047 | 1 - db/schema_migrations/20210316094323 | 1 - db/schema_migrations/20210316152500 | 1 - db/schema_migrations/20210316171009 | 1 - db/schema_migrations/20210317035357 | 1 - db/schema_migrations/20210317100520 | 1 - db/schema_migrations/20210317104032 | 1 - db/schema_migrations/20210317104301 | 1 - db/schema_migrations/20210317105904 | 1 - db/schema_migrations/20210317123054 | 1 - db/schema_migrations/20210317155207 | 1 - db/schema_migrations/20210317192943 | 1 - db/schema_migrations/20210317210338 | 1 - db/schema_migrations/20210318134427 | 1 - db/schema_migrations/20210319071214 | 1 - db/schema_migrations/20210322063407 | 1 - db/schema_migrations/20210322063450 | 1 - db/schema_migrations/20210322115438 | 1 - db/schema_migrations/20210322182751 | 1 - db/schema_migrations/20210323064751 | 1 - db/schema_migrations/20210323125809 | 1 - db/schema_migrations/20210323130831 | 1 - db/schema_migrations/20210323131543 | 1 - db/schema_migrations/20210323155010 | 1 - db/schema_migrations/20210323182846 | 1 - db/schema_migrations/20210324112439 | 1 - db/schema_migrations/20210324131727 | 1 - db/schema_migrations/20210325092215 | 1 - db/schema_migrations/20210325113129 | 1 - db/schema_migrations/20210325150837 | 1 - db/schema_migrations/20210325151758 | 1 - db/schema_migrations/20210325152011 | 1 - db/schema_migrations/20210326035553 | 1 - db/schema_migrations/20210326121537 | 1 - db/schema_migrations/20210326190903 | 1 - db/schema_migrations/20210328214434 | 1 - db/schema_migrations/20210329095548 | 1 - db/schema_migrations/20210329102724 | 1 - db/schema_migrations/20210329191850 | 1 - db/schema_migrations/20210329192716 | 1 - db/schema_migrations/20210330015805 | 1 - db/schema_migrations/20210330091751 | 1 - db/schema_migrations/20210330130420 | 1 - db/schema_migrations/20210331000934 | 1 - db/schema_migrations/20210331105335 | 1 - db/schema_migrations/20210331125111 | 1 - db/schema_migrations/20210331145548 | 1 - db/schema_migrations/20210331180118 | 1 - db/schema_migrations/20210401131948 | 1 - db/schema_migrations/20210401134157 | 1 - db/schema_migrations/20210401134455 | 1 - db/schema_migrations/20210401175134 | 1 - db/schema_migrations/20210401192808 | 1 - db/schema_migrations/20210402005225 | 1 - db/schema_migrations/20210403022952 | 1 - db/schema_migrations/20210406063442 | 1 - db/schema_migrations/20210406140057 | 1 - db/schema_migrations/20210406144743 | 1 - db/schema_migrations/20210407002511 | 1 - db/schema_migrations/20210407111027 | 1 - db/schema_migrations/20210407140539 | 1 - db/schema_migrations/20210407150240 | 1 - db/schema_migrations/20210409084242 | 1 - db/schema_migrations/20210409185501 | 1 - db/schema_migrations/20210409185531 | 1 - db/schema_migrations/20210411212813 | 1 - db/schema_migrations/20210412111213 | 1 - db/schema_migrations/20210412132736 | 1 - db/schema_migrations/20210412132824 | 1 - db/schema_migrations/20210412142223 | 1 - db/schema_migrations/20210412172030 | 1 - db/schema_migrations/20210413092922 | 1 - db/schema_migrations/20210413121101 | 1 - db/schema_migrations/20210413123832 | 1 - db/schema_migrations/20210413130011 | 1 - db/schema_migrations/20210413132500 | 1 - db/schema_migrations/20210413155324 | 1 - db/schema_migrations/20210414045322 | 1 - db/schema_migrations/20210414095944 | 1 - db/schema_migrations/20210414100914 | 1 - db/schema_migrations/20210414130017 | 1 - db/schema_migrations/20210414130526 | 1 - db/schema_migrations/20210414131600 | 1 - db/schema_migrations/20210414131807 | 1 - db/schema_migrations/20210414133310 | 1 - db/schema_migrations/20210415074645 | 1 - db/schema_migrations/20210415100159 | 1 - db/schema_migrations/20210415101228 | 1 - db/schema_migrations/20210415142700 | 1 - db/schema_migrations/20210415155043 | 1 - db/schema_migrations/20210415172516 | 1 - db/schema_migrations/20210416172516 | 1 - db/schema_migrations/20210419090412 | 1 - db/schema_migrations/20210419090542 | 1 - db/schema_migrations/20210419203017 | 1 - db/schema_migrations/20210419203018 | 1 - db/schema_migrations/20210419224834 | 1 - db/schema_migrations/20210420012444 | 1 - db/schema_migrations/20210420012909 | 1 - db/schema_migrations/20210420103955 | 1 - db/schema_migrations/20210420120734 | 1 - db/schema_migrations/20210420121149 | 1 - db/schema_migrations/20210420173030 | 1 - db/schema_migrations/20210420210642 | 1 - db/schema_migrations/20210420221106 | 1 - db/schema_migrations/20210421021510 | 1 - db/schema_migrations/20210421022010 | 1 - db/schema_migrations/20210421081724 | 1 - db/schema_migrations/20210421163509 | 1 - db/schema_migrations/20210421190157 | 1 - db/schema_migrations/20210422022825 | 1 - db/schema_migrations/20210422023046 | 1 - db/schema_migrations/20210422142647 | 1 - db/schema_migrations/20210422181809 | 1 - db/schema_migrations/20210422195929 | 1 - db/schema_migrations/20210423054022 | 1 - db/schema_migrations/20210423054537 | 1 - db/schema_migrations/20210423054846 | 1 - db/schema_migrations/20210423124223 | 1 - db/schema_migrations/20210423155059 | 1 - db/schema_migrations/20210423160427 | 1 - db/schema_migrations/20210423164702 | 1 - db/schema_migrations/20210423171304 | 1 - db/schema_migrations/20210424115725 | 1 - db/schema_migrations/20210424163400 | 1 - db/schema_migrations/20210426094524 | 1 - db/schema_migrations/20210426094549 | 1 - db/schema_migrations/20210426225417 | 1 - db/schema_migrations/20210427045604 | 1 - db/schema_migrations/20210427045711 | 1 - db/schema_migrations/20210427062807 | 1 - db/schema_migrations/20210427084924 | 1 - db/schema_migrations/20210427085020 | 1 - db/schema_migrations/20210427094931 | 1 - db/schema_migrations/20210427125400 | 1 - db/schema_migrations/20210427194958 | 1 - db/schema_migrations/20210427200840 | 1 - db/schema_migrations/20210427212034 | 1 - db/schema_migrations/20210428151144 | 1 - db/schema_migrations/20210428151238 | 1 - db/schema_migrations/20210429024843 | 1 - db/schema_migrations/20210429032320 | 1 - db/schema_migrations/20210429131525 | 1 - db/schema_migrations/20210429143649 | 1 - db/schema_migrations/20210429181325 | 1 - db/schema_migrations/20210429192653 | 1 - db/schema_migrations/20210429193106 | 1 - db/schema_migrations/20210430034712 | 1 - db/schema_migrations/20210430100947 | 1 - db/schema_migrations/20210430121522 | 1 - db/schema_migrations/20210430121542 | 1 - db/schema_migrations/20210430122951 | 1 - db/schema_migrations/20210430124212 | 1 - db/schema_migrations/20210430124630 | 1 - db/schema_migrations/20210430130259 | 1 - db/schema_migrations/20210430134202 | 1 - db/schema_migrations/20210430135954 | 1 - db/schema_migrations/20210430154631 | 1 - db/schema_migrations/20210503105022 | 1 - db/schema_migrations/20210503105845 | 1 - db/schema_migrations/20210503131747 | 1 - db/schema_migrations/20210504085144 | 1 - db/schema_migrations/20210504135823 | 1 - db/schema_migrations/20210504143128 | 1 - db/schema_migrations/20210504153354 | 1 - db/schema_migrations/20210504164429 | 1 - db/schema_migrations/20210505070612 | 1 - db/schema_migrations/20210505070812 | 1 - db/schema_migrations/20210505092746 | 1 - db/schema_migrations/20210505124816 | 1 - db/schema_migrations/20210505170152 | 1 - db/schema_migrations/20210506064413 | 1 - db/schema_migrations/20210506065000 | 1 - db/schema_migrations/20210506150833 | 1 - db/schema_migrations/20210507191949 | 1 - db/schema_migrations/20210510083845 | 1 - db/schema_migrations/20210510191551 | 1 - db/schema_migrations/20210510191552 | 1 - db/schema_migrations/20210511095657 | 1 - db/schema_migrations/20210511095658 | 1 - db/schema_migrations/20210511104929 | 1 - db/schema_migrations/20210511104930 | 1 - db/schema_migrations/20210511142748 | 1 - db/schema_migrations/20210511165250 | 1 - db/schema_migrations/20210512120122 | 1 - db/schema_migrations/20210512183309 | 1 - db/schema_migrations/20210512183310 | 1 - db/schema_migrations/20210513093418 | 1 - db/schema_migrations/20210513155447 | 1 - db/schema_migrations/20210513155546 | 1 - db/schema_migrations/20210513155635 | 1 - db/schema_migrations/20210513163904 | 1 - db/schema_migrations/20210514063252 | 1 - db/schema_migrations/20210517075444 | 1 - db/schema_migrations/20210517130723 | 1 - db/schema_migrations/20210517144856 | 1 - db/schema_migrations/20210517221612 | 1 - db/schema_migrations/20210518001450 | 1 - db/schema_migrations/20210518074332 | 1 - db/schema_migrations/20210519104931 | 1 - db/schema_migrations/20210519132109 | 1 - db/schema_migrations/20210519132129 | 1 - db/schema_migrations/20210519154058 | 1 - db/schema_migrations/20210519220019 | 1 - db/schema_migrations/20210520012430 | 1 - db/schema_migrations/20210520102039 | 1 - db/schema_migrations/20210520133032 | 1 - db/schema_migrations/20210520133440 | 1 - db/schema_migrations/20210521073920 | 1 - db/schema_migrations/20210525075724 | 1 - db/schema_migrations/20210525085158 | 1 - db/schema_migrations/20210525085325 | 1 - db/schema_migrations/20210525100539 | 1 - db/schema_migrations/20210525100603 | 1 - db/schema_migrations/20210525184900 | 1 - db/schema_migrations/20210526135911 | 1 - db/schema_migrations/20210526155257 | 1 - db/schema_migrations/20210526160133 | 1 - db/schema_migrations/20210526181820 | 1 - db/schema_migrations/20210526181821 | 1 - db/schema_migrations/20210526190259 | 1 - db/schema_migrations/20210526190553 | 1 - db/schema_migrations/20210526222715 | 1 - db/schema_migrations/20210527065005 | 1 - db/schema_migrations/20210527130524 | 1 - db/schema_migrations/20210527131039 | 1 - db/schema_migrations/20210527133919 | 1 - db/schema_migrations/20210527134019 | 1 - db/schema_migrations/20210527185542 | 1 - db/schema_migrations/20210527194558 | 1 - db/schema_migrations/20210529164247 | 1 - db/schema_migrations/20210531053916 | 1 - db/schema_migrations/20210531054108 | 1 - db/schema_migrations/20210531070452 | 1 - db/schema_migrations/20210531071107 | 1 - db/schema_migrations/20210601073400 | 1 - db/schema_migrations/20210601080039 | 1 - db/schema_migrations/20210601123341 | 1 - db/schema_migrations/20210601125410 | 1 - db/schema_migrations/20210601131742 | 1 - db/schema_migrations/20210601132134 | 1 - db/schema_migrations/20210601133459 | 1 - db/schema_migrations/20210602122213 | 1 - db/schema_migrations/20210602122233 | 1 - db/schema_migrations/20210602155056 | 1 - db/schema_migrations/20211004120135 | 1 - db/schema_migrations/20211206162601 | 1 - db/schema_migrations/20220826152430 | 1 + db/schema_migrations/20220826152432 | 1 + db/schema_migrations/20221010191136 | 1 + db/schema_migrations/20221102231131 | 1 + db/schema_migrations/20221110100600 | 1 + db/schema_migrations/20221110100602 | 1 + db/schema_migrations/20221122210711 | 1 + db/schema_migrations/20221204090437 | 1 + db/schema_migrations/20221209174132 | 1 + db/schema_migrations/20221209174157 | 1 + db/schema_migrations/20221209235939 | 1 + db/schema_migrations/20221209235940 | 1 + db/schema_migrations/20221212054640 | 1 + db/schema_migrations/20221212192452 | 1 + db/schema_migrations/20221212192527 | 1 + db/schema_migrations/20221213105028 | 1 + db/schema_migrations/20221214095129 | 1 + db/schema_migrations/20221214105307 | 1 + db/schema_migrations/20221214201256 | 1 + db/schema_migrations/20221214204247 | 1 + db/schema_migrations/20221215151822 | 1 + db/schema_migrations/20221215210347 | 1 + db/schema_migrations/20221216131710 | 1 + db/schema_migrations/20221216131935 | 1 + db/schema_migrations/20221216131958 | 1 + db/schema_migrations/20221216144854 | 1 + db/schema_migrations/20221216150304 | 1 + db/schema_migrations/20221216150321 | 1 + db/schema_migrations/20221216150919 | 1 + db/schema_migrations/20221216151459 | 1 + db/schema_migrations/20221216151649 | 1 + db/schema_migrations/20221216232658 | 1 + db/schema_migrations/20221216232659 | 1 + db/schema_migrations/20221219103007 | 1 + db/schema_migrations/20221219112528 | 1 + db/schema_migrations/20221219135535 | 1 + db/schema_migrations/20221220075936 | 1 + db/schema_migrations/20221220131020 | 1 + db/schema_migrations/20221221110733 | 1 + db/schema_migrations/20221221134116 | 1 + db/schema_migrations/20221221150123 | 1 + db/schema_migrations/20221221171239 | 1 + db/schema_migrations/20221222092958 | 1 + db/schema_migrations/20221222144954 | 1 + db/schema_migrations/20221223114543 | 1 + db/schema_migrations/20221223123019 | 1 + db/schema_migrations/20221226105323 | 1 + .../{20210415144538 => 20221226132038} | 2 +- db/schema_migrations/20221226153240 | 1 + db/schema_migrations/20221226154458 | 1 + db/schema_migrations/20221226163203 | 1 + db/schema_migrations/20221227080606 | 1 + db/schema_migrations/20221227100751 | 1 + db/schema_migrations/20221227100846 | 1 + db/schema_migrations/20221227100908 | 1 + db/schema_migrations/20221227101436 | 1 + db/schema_migrations/20221228063845 | 1 + db/schema_migrations/20221228083452 | 1 + db/schema_migrations/20221228103133 | 1 + db/schema_migrations/20221228161214 | 1 + db/schema_migrations/20221228163035 | 1 + db/schema_migrations/20221228210616 | 1 + db/schema_migrations/20230104103748 | 1 + db/schema_migrations/20230104150600 | 1 + db/schema_migrations/20230104150601 | 1 + db/schema_migrations/20230104220137 | 1 + db/schema_migrations/20230104224020 | 1 + db/schema_migrations/20230105170414 | 1 + db/schema_migrations/20230105172120 | 1 + db/schema_migrations/20230105180002 | 1 + db/schema_migrations/20230106124332 | 1 + db/schema_migrations/20230106125945 | 1 + db/schema_migrations/20230106131659 | 1 + db/schema_migrations/20230106142239 | 1 + db/schema_migrations/20230109095159 | 1 + db/schema_migrations/20230109121313 | 1 + db/schema_migrations/20230109215921 | 1 + db/schema_migrations/20230110031131 | 1 + db/schema_migrations/20230110172751 | 1 + db/schema_migrations/20230111092510 | 1 + db/schema_migrations/20230111124512 | 1 + db/schema_migrations/20230111125148 | 1 + db/schema_migrations/20230111125150 | 1 + db/schema_migrations/20230111132621 | 1 + db/schema_migrations/20230112014822 | 1 + db/schema_migrations/20230112085143 | 1 + db/schema_migrations/20230112104253 | 1 + db/schema_migrations/20230112104526 | 1 + db/schema_migrations/20230112104636 | 1 + db/schema_migrations/20230113003255 | 1 + db/schema_migrations/20230116083826 | 1 + db/schema_migrations/20230116090630 | 1 + db/schema_migrations/20230116090852 | 1 + db/schema_migrations/20230116090920 | 1 + db/schema_migrations/20230116091626 | 1 + db/schema_migrations/20230116111252 | 1 + db/schema_migrations/20230117113719 | 1 + db/schema_migrations/20230117145628 | 1 + db/structure.sql | 338 +- doc/.vale/gitlab/GitLabFlavoredMarkdown.yml | 14 + doc/.vale/gitlab/HeadingDepth.yml | 4 +- doc/.vale/gitlab/SentenceLength.yml | 4 +- doc/.vale/gitlab/Spelling.yml | 2 +- doc/.vale/gitlab/SubstitutionWarning.yml | 6 +- doc/.vale/gitlab/TabsLinks.yml | 13 + doc/.vale/gitlab/Uppercase.yml | 9 +- doc/.vale/gitlab/spelling-exceptions.txt | 10 +- doc/administration/audit_event_streaming.md | 2 +- doc/administration/audit_events.md | 2 +- doc/administration/auditor_users.md | 1 + .../auth/ldap/google_secure_ldap.md | 24 +- doc/administration/auth/ldap/index.md | 737 +++- .../auth/ldap/ldap-troubleshooting.md | 6 +- .../auth/ldap/ldap_synchronization.md | 2 +- doc/administration/clusters/kas.md | 35 +- doc/administration/docs_self_host.md | 2 +- .../disaster_recovery/bring_primary_back.md | 10 + .../geo/disaster_recovery/index.md | 21 +- doc/administration/geo/index.md | 23 +- .../geo/replication/configuration.md | 2 +- .../geo/replication/datatypes.md | 2 +- .../geo/replication/location_aware_git_url.md | 2 +- .../geo/replication/remove_geo_site.md | 5 +- .../geo/replication/single_sign_on.md | 122 + .../geo/replication/troubleshooting.md | 46 +- .../replication/version_specific_upgrades.md | 9 +- doc/administration/get_started.md | 4 +- doc/administration/gitaly/index.md | 6 +- doc/administration/gitaly/praefect.md | 7 +- doc/administration/gitaly/troubleshooting.md | 2 +- doc/administration/housekeeping.md | 75 +- doc/administration/incoming_email.md | 30 + doc/administration/instance_limits.md | 2 +- doc/administration/job_artifacts.md | 463 +- doc/administration/job_logs.md | 247 +- doc/administration/lfs/index.md | 429 +- doc/administration/load_balancer.md | 4 +- .../logs/tracing_correlation_id.md | 2 +- doc/administration/merge_request_diffs.md | 2 +- .../performance/grafana_configuration.md | 8 +- .../monitoring/prometheus/gitlab_metrics.md | 8 + doc/administration/object_storage.md | 6 +- .../operations/fast_ssh_key_lookup.md | 3 +- .../operations/moving_repositories.md | 45 +- doc/administration/operations/puma.md | 78 +- .../operations/rails_console.md | 6 + .../package_information/supported_os.md | 10 +- .../packages/container_registry.md | 11 +- doc/administration/pages/index.md | 8 +- doc/administration/pages/source.md | 2 +- .../postgresql/multiple_databases.md | 1 + doc/administration/raketasks/github_import.md | 7 +- .../redis/replication_and_failover.md | 8 + .../reference_architectures/10k_users.md | 4 +- doc/administration/snippets/index.md | 2 +- .../gitlab_rails_cheat_sheet.md | 2 +- doc/api/appearance.md | 17 +- doc/api/container_registry.md | 4 +- doc/api/environments.md | 27 +- doc/api/feature_flags.md | 2 + doc/api/geo_nodes.md | 35 +- doc/api/graphql/audit_report.md | 2 +- doc/api/graphql/branch_rules.md | 137 + doc/api/graphql/getting_started.md | 4 +- .../list_branch_rules_query_example_v15_8.png | Bin 0 -> 79524 bytes doc/api/graphql/index.md | 4 +- doc/api/graphql/reference/index.md | 442 +- doc/api/graphql/users_example.md | 3 +- doc/api/group_badges.md | 2 +- doc/api/group_level_variables.md | 4 +- doc/api/group_repository_storage_moves.md | 2 + doc/api/groups.md | 27 +- doc/api/import.md | 47 +- doc/api/index.md | 1 - doc/api/integrations.md | 38 + doc/api/linked_epics.md | 12 +- doc/api/merge_request_approvals.md | 217 +- doc/api/merge_requests.md | 19 +- doc/api/metadata.md | 3 +- doc/api/notes.md | 8 +- doc/api/oauth2.md | 10 +- doc/api/packages/debian.md | 94 +- doc/api/project_import_export.md | 3 +- doc/api/project_repository_storage_moves.md | 7 +- doc/api/project_snippets.md | 4 +- doc/api/projects.md | 33 +- doc/api/protected_branches.md | 2 +- doc/api/releases/index.md | 30 +- doc/api/remote_mirrors.md | 16 + doc/api/repositories.md | 2 +- doc/api/runners.md | 20 +- doc/api/scim.md | 2 +- doc/api/search.md | 2 + doc/api/secure_files.md | 7 +- doc/api/settings.md | 41 +- doc/api/snippet_repository_storage_moves.md | 6 +- doc/api/snippets.md | 4 +- doc/api/todos.md | 2 +- doc/api/topics.md | 2 +- doc/api/users.md | 82 +- .../blueprints/ci_data_decay/index.md | 4 +- .../ci_pipeline_components/index.md | 148 +- doc/architecture/blueprints/ci_scale/index.md | 2 +- .../cloud_native_build_logs/index.md | 2 +- .../cloud_native_gitlab_pages/index.md | 2 +- .../index.md | 4 +- .../feature_flags_development/index.md | 6 +- .../metrics/index.md | 8 +- .../metrics/supported-deployments.png | Bin 257144 -> 74153 bytes .../blueprints/graphql_api/index.md | 2 +- .../blueprints/image_resizing/index.md | 2 +- doc/architecture/blueprints/pods/index.md | 14 +- .../blueprints/pods/pods-feature-backups.md | 61 + .../blueprints/pods/pods-feature-secrets.md | 48 + ...tateless-router-with-buffering-requests.md | 4 +- ...l-stateless-router-with-routes-learning.md | 2 +- .../blueprints/rate_limiting/index.md | 51 +- .../img/remote_dev_15_7_1.png | Bin 98016 -> 47551 bytes .../blueprints/remote_development/index.md | 2 +- .../blueprints/runner_scaling/index.md | 4 +- .../blueprints/runner_tokens/index.md | 70 +- .../blueprints/secret_detection/index.md | 167 + .../blueprints/work_items/index.md | 3 +- .../cloud_deployment/ecs/deploy_to_aws_ecs.md | 2 +- doc/ci/cloud_deployment/index.md | 4 +- doc/ci/docker/using_docker_build.md | 6 +- doc/ci/docker/using_kaniko.md | 2 +- doc/ci/environments/deployment_approvals.md | 17 + doc/ci/environments/deployment_safety.md | 2 +- doc/ci/environments/index.md | 17 +- doc/ci/environments/protected_environments.md | 2 +- .../laravel_with_gitlab_and_envoy/index.md | 2 +- doc/ci/index.md | 2 +- doc/ci/introduction/index.md | 8 +- doc/ci/jobs/ci_job_token.md | 2 +- doc/ci/jobs/index.md | 12 +- doc/ci/jobs/job_control.md | 12 +- doc/ci/migration/circleci.md | 2 +- doc/ci/migration/jenkins.md | 4 +- doc/ci/pipelines/cicd_minutes.md | 15 +- doc/ci/pipelines/downstream_pipelines.md | 16 +- doc/ci/pipelines/index.md | 4 +- doc/ci/pipelines/job_artifacts.md | 2 +- doc/ci/pipelines/merge_request_pipelines.md | 10 +- doc/ci/pipelines/settings.md | 5 +- doc/ci/quick_start/index.md | 9 +- doc/ci/runners/configure_runners.md | 23 +- doc/ci/runners/saas/linux_saas_runner.md | 2 +- doc/ci/secrets/index.md | 4 +- doc/ci/secure_files/index.md | 16 +- doc/ci/services/index.md | 2 +- doc/ci/ssh_keys/index.md | 2 +- doc/ci/test_cases/index.md | 6 +- doc/ci/testing/code_quality.md | 744 ++-- .../code_quality_host_bound_sequential.png | Bin 12345 -> 0 bytes doc/ci/triggers/index.md | 2 +- doc/ci/troubleshooting.md | 4 +- .../img/ci_job_stage_output_example.png | Bin 55081 -> 0 bytes .../variables/img/custom_variables_output.png | Bin 32344 -> 0 bytes .../img/inherited_group_variables_v12_5.png | Bin 20448 -> 0 bytes doc/ci/variables/index.md | 612 ++- doc/ci/variables/predefined_variables.md | 24 +- .../variables/where_variables_can_be_used.md | 1 + doc/ci/yaml/artifacts_reports.md | 4 +- doc/ci/yaml/includes.md | 116 +- doc/ci/yaml/index.md | 97 +- doc/ci/yaml/script.md | 58 +- doc/ci/yaml/yaml_optimization.md | 51 +- doc/development/adding_service_component.md | 6 +- doc/development/api_graphql_styleguide.md | 2 +- doc/development/application_slis/index.md | 2 +- doc/development/approval_rules.md | 2 +- doc/development/architecture.md | 7 +- doc/development/audit_event_guide/index.md | 2 +- doc/development/auto_devops.md | 2 +- .../backend/create_source_code_be/index.md | 5 +- doc/development/cached_queries.md | 6 +- doc/development/chatops_on_gitlabcom.md | 4 +- .../cicd_reference_documentation_guide.md | 2 +- doc/development/cicd/index.md | 4 +- doc/development/cicd/schema.md | 6 +- doc/development/cicd/templates.md | 2 +- doc/development/code_intelligence/index.md | 2 +- doc/development/code_review.md | 10 +- doc/development/contributing/design.md | 13 +- .../contributing/issue_workflow.md | 2 +- .../contributing/merge_request_workflow.md | 4 +- doc/development/dangerbot.md | 4 +- .../database/adding_database_indexes.md | 36 +- .../avoiding_downtime_in_migrations.md | 62 +- .../database/batched_background_migrations.md | 2 + .../database/constraint_naming_convention.md | 2 +- .../database/database_dictionary.md | 117 +- doc/development/database/database_lab.md | 39 + doc/development/database/index.md | 72 +- .../database/pagination_guidelines.md | 2 +- doc/development/database/query_recorder.md | 8 +- doc/development/database/required_stops.md | 41 + .../database/setting_multiple_values.md | 2 +- .../database/table_partitioning.md | 10 +- doc/development/database_review.md | 2 +- .../img/deprecation_removal_process.png | Bin 27632 -> 23344 bytes .../deprecation_guidelines/index.md | 6 +- doc/development/diffs.md | 202 +- doc/development/distributed_tracing.md | 2 +- doc/development/documentation/index.md | 2 +- .../documentation/styleguide/index.md | 19 +- .../documentation/styleguide/word_list.md | 29 +- doc/development/documentation/testing.md | 22 +- .../documentation/topic_types/concept.md | 15 +- .../documentation/topic_types/index.md | 2 +- doc/development/documentation/workflow.md | 2 +- doc/development/ee_features.md | 5 +- doc/development/elasticsearch.md | 85 +- .../implementing_experiments.md | 2 +- doc/development/fe_guide/content_editor.md | 6 +- .../fe_guide/customizable_dashboards.md | 4 +- .../merge_request_widget_extensions.md | 4 +- doc/development/fe_guide/source_editor.md | 2 +- doc/development/fe_guide/style/scss.md | 35 + doc/development/fe_guide/view_component.md | 4 +- doc/development/fe_guide/vuex.md | 4 +- .../feature_categorization/index.md | 29 +- doc/development/feature_development.md | 2 +- doc/development/feature_flags/controls.md | 15 + doc/development/features_inside_dot_gitlab.md | 2 +- doc/development/fips_compliance.md | 2 +- doc/development/geo.md | 6 +- .../gitlab_flavored_markdown/index.md | 4 +- .../specification_guide/index.md | 25 +- doc/development/gitlab_shell/features.md | 89 + doc/development/gitlab_shell/gitlab_sshd.md | 36 + doc/development/gitlab_shell/index.md | 222 + doc/development/gitlab_shell/process.md | 71 + doc/development/go_guide/go_upgrade.md | 2 +- doc/development/i18n/proofreader.md | 1 + doc/development/image_scaling.md | 2 +- doc/development/img/feature-flag-metrics.png | Bin 0 -> 88110 bytes doc/development/integrations/index.md | 2 +- doc/development/integrations/jenkins.md | 2 +- doc/development/integrations/jira_connect.md | 2 +- doc/development/integrations/secure.md | 4 +- doc/development/internal_api/index.md | 225 +- doc/development/kubernetes.md | 2 +- doc/development/lfs.md | 2 +- doc/development/logging.md | 2 +- doc/development/maintenance_mode.md | 2 +- .../diffs/development.md | 188 + .../merge_request_concepts/diffs/index.md | 199 + .../img/merge_ref_head_options_v13_6.png | Bin .../merge_request_concepts/performance.md | 565 +++ .../merge_request_diffs.md} | 8 +- .../merge_request_performance_guidelines.md | 568 +-- doc/development/migration_style_guide.md | 16 +- doc/development/pages/index.md | 2 +- doc/development/performance.md | 4 +- doc/development/permissions.md | 2 +- doc/development/pipelines/index.md | 88 +- doc/development/pipelines/internals.md | 61 + doc/development/project_templates.md | 4 +- doc/development/prometheus_metrics.md | 2 +- doc/development/rake_tasks.md | 71 + doc/development/reusing_abstractions.md | 2 +- .../sec/analyzer_development_guide.md | 2 +- doc/development/sec/index.md | 2 +- doc/development/secure_coding_guidelines.md | 2 +- doc/development/service_ping/implement.md | 4 +- doc/development/service_ping/index.md | 2 +- .../service_ping/metrics_dictionary.md | 4 +- .../service_ping/metrics_instrumentation.md | 6 +- doc/development/sidekiq/index.md | 13 + doc/development/snowplow/implementation.md | 2 +- doc/development/snowplow/index.md | 5 +- doc/development/software_design.md | 2 +- .../exploratory_testing.md | 8 +- .../graphql_api.md | 4 +- .../spam_protection_and_captcha/index.md | 4 +- .../model_and_services.md | 4 +- .../spam_protection_and_captcha/rest_api.md | 4 +- .../spam_protection_and_captcha/web_ui.md | 4 +- .../testing_guide/best_practices.md | 8 +- .../testing_guide/contract/consumer_tests.md | 44 +- .../testing_guide/contract/index.md | 26 +- .../testing_guide/contract/provider_tests.md | 52 +- .../testing_guide/end_to_end/index.md | 19 +- .../testing_guide/end_to_end/resources.md | 180 +- .../testing_guide/frontend_testing.md | 4 +- .../testing_guide/img/testing_triangle.png | Bin 32902 -> 13854 bytes .../testing_guide/testing_migrations_guide.md | 2 + doc/development/utilities.md | 2 +- doc/development/value_stream_analytics.md | 2 +- ...lue_stream_analytics_aggregated_backend.md | 2 +- doc/development/wikis.md | 2 +- doc/development/workspace/index.md | 61 +- doc/gitlab-basics/start-using-git.md | 2 +- doc/install/installation.md | 26 +- doc/install/requirements.md | 16 +- doc/integration/gitlab.md | 4 +- doc/integration/glab/index.md | 24 + doc/integration/google.md | 2 +- doc/integration/jira/connect-app.md | 53 +- doc/integration/jira/development_panel.md | 4 +- .../jira/{dvcs.md => dvcs/index.md} | 148 +- doc/integration/jira/dvcs/troubleshooting.md | 149 + .../img/jira_dev_panel_manual_refresh.png | Bin 23542 -> 0 bytes doc/integration/oauth_provider.md | 79 +- doc/integration/openid_connect_provider.md | 27 +- doc/integration/recaptcha.md | 4 +- doc/integration/saml.md | 150 +- doc/integration/vault.md | 2 +- doc/operations/feature_flags.md | 7 +- doc/operations/incident_management/alerts.md | 9 - .../img/incident_list_v15_6.png | Bin 53028 -> 20804 bytes .../incident_management/linked_resources.md | 4 +- doc/operations/incident_management/slack.md | 4 +- doc/operations/metrics/alerts.md | 13 +- doc/operations/metrics/embed_grafana.md | 2 +- doc/operations/metrics/index.md | 2 +- doc/policy/alpha-beta-support.md | 55 +- doc/raketasks/backup_gitlab.md | 17 +- doc/raketasks/import.md | 20 +- doc/raketasks/restore_gitlab.md | 2 + doc/security/rate_limits.md | 12 +- doc/security/token_overview.md | 2 +- doc/subscriptions/bronze_starter.md | 6 +- doc/subscriptions/gitlab_com/index.md | 22 +- doc/subscriptions/index.md | 26 +- doc/subscriptions/self_managed/index.md | 92 +- doc/topics/authentication/index.md | 2 +- doc/topics/autodevops/cicd_variables.md | 31 +- doc/topics/autodevops/customize.md | 735 ++-- .../multiple_clusters_auto_devops.md | 2 +- doc/topics/autodevops/stages.md | 4 +- doc/topics/autodevops/troubleshooting.md | 2 +- .../upgrading_auto_deploy_dependencies.md | 2 +- doc/topics/autodevops/upgrading_postgresql.md | 4 +- doc/topics/awesome_co.md | 6 +- doc/topics/git/troubleshooting_git.md | 10 + doc/topics/gitlab_flow.md | 65 +- doc/topics/plan_and_track.md | 35 +- doc/topics/release_your_application.md | 82 +- doc/topics/set_up_organization.md | 2 +- doc/tutorials/agile_sprint.md | 2 +- .../move_personal_project_to_a_group.md | 2 +- doc/update/background_migrations.md | 34 +- doc/update/deprecations.md | 756 +++- doc/update/index.md | 32 +- doc/update/with_downtime.md | 16 +- doc/update/zero_downtime.md | 10 +- doc/user/admin_area/appearance.md | 2 + .../admin_area/custom_project_templates.md | 2 +- doc/user/admin_area/index.md | 75 +- doc/user/admin_area/license_file.md | 6 +- doc/user/admin_area/moderate_users.md | 4 +- .../reporting/git_abuse_rate_limit.md | 4 +- .../settings/account_and_limit_settings.md | 13 +- .../settings/continuous_integration.md | 4 +- doc/user/admin_area/settings/help_page.md | 2 +- .../settings/instance_template_repository.md | 4 +- .../settings/sign_in_restrictions.md | 5 +- doc/user/admin_area/settings/terms.md | 2 +- .../admin_area/settings/third_party_offers.md | 2 +- .../admin_area/settings/usage_statistics.md | 4 +- .../visibility_and_access_controls.md | 28 +- doc/user/analytics/dora_metrics.md | 2 +- .../img/devops_metrics_comparison_v15_8.png | Bin 0 -> 82446 bytes doc/user/analytics/index.md | 8 + doc/user/analytics/value_streams_dashboard.md | 61 + .../application_security/api_fuzzing/index.md | 6 +- .../container_scanning/index.md | 6 +- .../coverage_fuzzing/index.md | 9 +- .../dast/authentication.md | 4 +- .../dast/browser_based.md | 16 +- .../application_security/dast_api/index.md | 8 +- .../dependency_scanning/analyzers.md | 13 - .../dependency_scanning/index.md | 64 +- .../iac_scanning/index.md | 4 +- doc/user/application_security/index.md | 6 +- .../offline_deployments/index.md | 4 +- .../policies/scan-result-policies.md | 18 +- .../application_security/sast/analyzers.md | 2 +- .../sast/customize_rulesets.md | 2 +- doc/user/application_security/sast/index.md | 74 +- .../secret_detection/post_processing.md | 2 +- .../vulnerabilities/index.md | 2 + doc/user/clusters/agent/ci_cd_workflow.md | 2 +- doc/user/clusters/agent/troubleshooting.md | 10 + doc/user/clusters/agent/vulnerabilities.md | 6 +- .../clusters/management_project_template.md | 4 +- .../compliance/license_compliance/index.md | 8 +- doc/user/crm/index.md | 40 + doc/user/discussions/index.md | 21 +- doc/user/free_user_limit.md | 11 +- doc/user/group/access_and_permissions.md | 57 +- doc/user/group/clusters/index.md | 2 +- doc/user/group/compliance_frameworks.md | 8 +- doc/user/group/custom_project_templates.md | 6 +- doc/user/group/epics/linked_epics.md | 8 +- doc/user/group/epics/manage_epics.md | 26 +- .../group/import/img/bulk_imports_v14_1.png | Bin 24726 -> 0 bytes doc/user/group/import/index.md | 64 +- doc/user/group/index.md | 4 +- doc/user/group/manage.md | 4 +- .../group/reporting/git_abuse_rate_limit.md | 8 +- doc/user/group/saml_sso/group_sync.md | 35 +- doc/user/group/saml_sso/index.md | 8 +- doc/user/group/saml_sso/scim_setup.md | 4 +- doc/user/group/saml_sso/troubleshooting.md | 18 +- .../group/saml_sso/troubleshooting_scim.md | 2 +- doc/user/group/subgroups/index.md | 25 +- .../group/value_stream_analytics/index.md | 4 +- .../clusters/connect/new_eks_cluster.md | 47 + .../management_project_applications/runner.md | 2 +- .../iac/gitlab_terraform_helpers.md | 137 + .../infrastructure/iac/terraform_state.md | 4 +- .../iac/terraform_template_recipes.md | 48 + .../infrastructure/iac/troubleshooting.md | 2 +- doc/user/instance/clusters/index.md | 2 +- doc/user/markdown.md | 52 +- doc/user/namespace/index.md | 9 +- doc/user/okrs.md | 254 ++ .../authenticate_with_container_registry.md | 60 + .../build_and_push_images.md | 214 + .../delete_container_registry_images.md | 117 + doc/user/packages/container_registry/index.md | 512 +-- .../reduce_container_registry_storage.md | 4 +- .../troubleshoot_container_registry.md | 2 +- doc/user/packages/dependency_proxy/index.md | 2 +- doc/user/packages/maven_repository/index.md | 2 +- doc/user/packages/package_registry/index.md | 2 - .../reduce_package_registry_storage.md | 2 + .../supported_functionality.md | 146 + .../package_registry/supported_hash_types.md | 28 +- doc/user/permissions.md | 47 +- .../account/two_factor_authentication.md | 2 +- doc/user/profile/contributions_calendar.md | 2 +- doc/user/profile/index.md | 8 +- doc/user/profile/notifications.md | 65 +- doc/user/profile/personal_access_tokens.md | 3 +- .../project/clusters/deploy_to_cluster.md | 4 +- .../clusters/multiple_kubernetes_clusters.md | 2 +- doc/user/project/code_owners.md | 2 +- doc/user/project/deploy_keys/index.md | 2 +- doc/user/project/import/bitbucket.md | 11 +- doc/user/project/import/bitbucket_server.md | 7 +- doc/user/project/import/fogbugz.md | 5 + doc/user/project/import/gitea.md | 11 +- doc/user/project/import/github.md | 28 +- doc/user/project/import/gitlab_com.md | 7 +- doc/user/project/import/index.md | 25 +- doc/user/project/import/manifest.md | 9 +- doc/user/project/import/phabricator.md | 6 +- doc/user/project/import/repo_by_url.md | 5 + doc/user/project/import/svn.md | 2 +- doc/user/project/index.md | 287 +- .../project/integrations/apple_app_store.md | 59 + doc/user/project/integrations/harbor.md | 2 +- doc/user/project/integrations/prometheus.md | 2 +- doc/user/project/integrations/slack.md | 1 + .../project/integrations/webhook_events.md | 34 +- doc/user/project/issues/managing_issues.md | 16 +- doc/user/project/labels.md | 2 +- doc/user/project/members/index.md | 11 +- .../members/share_project_with_groups.md | 20 +- .../project/merge_requests/approvals/rules.md | 10 +- .../authorization_for_merge_requests.md | 2 +- doc/user/project/merge_requests/changes.md | 1 + .../merge_requests/creating_merge_requests.md | 49 +- .../project/merge_requests/dependencies.md | 5 + .../project/merge_requests/getting_started.md | 6 +- ...ilter_approved_by_merge_requests_v14_6.png | Bin 8326 -> 0 bytes .../filter_approver_merge_requests_v14_6.png | Bin 7841 -> 0 bytes doc/user/project/merge_requests/index.md | 56 +- .../project/merge_requests/methods/index.md | 6 +- .../project/merge_requests/status_checks.md | 13 +- doc/user/project/merge_requests/versions.md | 2 +- .../project/organize_work_with_projects.md | 33 + .../index.md | 13 +- .../lets_encrypt_integration.md | 9 +- .../getting_started/pages_ci_cd_template.md | 3 +- .../pages_forked_sample_project.md | 4 +- .../getting_started/pages_from_scratch.md | 5 +- .../pages_new_project_template.md | 3 +- .../project/pages/getting_started/pages_ui.md | 6 +- doc/user/project/pages/index.md | 7 + doc/user/project/protected_branches.md | 2 + doc/user/project/quick_actions.md | 2 +- doc/user/project/releases/index.md | 2 +- doc/user/project/remote_development/index.md | 23 +- doc/user/project/repository/branches/index.md | 26 +- doc/user/project/repository/git_history.md | 4 + .../img/web_editor_line_link_v13_10.png | Bin 42942 -> 0 bytes .../web_editor_new_branch_dropdown_v14_1.png | Bin 12116 -> 0 bytes ..._branch_from_issue_create_button_v14_1.png | Bin 18848 -> 0 bytes ...web_editor_new_branch_from_issue_v14_1.png | Bin 10160 -> 0 bytes .../img/web_editor_new_branch_page_v14_1.png | Bin 12442 -> 0 bytes .../web_editor_new_directory_dialog_v14_1.png | Bin 13757 -> 0 bytes ...eb_editor_new_directory_dropdown_v14_1.png | Bin 11169 -> 0 bytes .../web_editor_new_file_dropdown_v14_1.png | Bin 10851 -> 0 bytes .../img/web_editor_new_file_editor_v14_1.png | Bin 60751 -> 0 bytes .../img/web_editor_new_push_widget.png | Bin 3388 -> 0 bytes .../img/web_editor_new_tag_dropdown.png | Bin 9706 -> 0 bytes .../img/web_editor_new_tag_page.png | Bin 21835 -> 0 bytes .../web_editor_start_new_merge_request.png | Bin 4049 -> 0 bytes .../web_editor_template_dropdown_buttons.png | Bin 5629 -> 0 bytes ...tor_template_dropdown_first_file_v14_1.png | Bin 17652 -> 0 bytes ...or_template_dropdown_mit_license_v14_1.png | Bin 31321 -> 0 bytes .../web_editor_upload_file_dialog_v14_1.png | Bin 17522 -> 0 bytes .../web_editor_upload_file_dropdown_v14_1.png | Bin 11572 -> 0 bytes doc/user/project/repository/index.md | 4 +- doc/user/project/repository/mirror/index.md | 14 + .../reducing_the_repo_size_using_git.md | 6 +- .../repository/ssh_signed_commits/index.md | 8 +- doc/user/project/repository/web_editor.md | 287 +- doc/user/project/service_desk.md | 23 +- doc/user/project/settings/import_export.md | 27 +- doc/user/project/settings/index.md | 4 +- doc/user/project/web_ide/index.md | 25 +- doc/user/project/web_ide_beta/index.md | 57 +- doc/user/project/working_with_projects.md | 194 +- doc/user/public_access.md | 10 +- doc/user/read_only_namespaces.md | 1 - doc/user/reserved_names.md | 2 +- doc/user/search/img/search_navbar_v15_7.png | Bin 26983 -> 9493 bytes doc/user/search/img/search_scope_v15_7.png | Bin 287661 -> 71848 bytes doc/user/snippets.md | 2 +- doc/user/ssh.md | 3 +- doc/user/tasks.md | 10 +- doc/user/todos.md | 2 + doc/user/usage_quotas.md | 9 + doc/user/workspace/index.md | 14 +- .../output_example_snapshots/html.yml | 22 +- .../snapshot_spec.html | 2 +- lib/api/api.rb | 4 +- lib/api/appearance.rb | 3 +- lib/api/branches.rb | 1 + lib/api/bulk_imports.rb | 28 +- lib/api/ci/jobs.rb | 8 +- lib/api/ci/runner.rb | 1 + .../packages/debian_distribution_endpoints.rb | 8 +- .../packages/debian_package_endpoints.rb | 4 +- lib/api/concerns/packages/nuget_endpoints.rb | 6 +- lib/api/debian_group_packages.rb | 6 +- lib/api/debian_project_packages.rb | 8 +- lib/api/discussions.rb | 2 +- lib/api/entities/appearance.rb | 6 +- lib/api/entities/application_setting.rb | 5 + lib/api/entities/basic_project_details.rb | 10 +- lib/api/entities/bulk_imports/entity.rb | 5 + lib/api/entities/ml/mlflow/run_info.rb | 1 + lib/api/entities/project_integration_basic.rb | 1 + lib/api/entities/remote_mirror.rb | 2 + lib/api/environments.rb | 37 +- lib/api/files.rb | 13 - lib/api/group_debian_distributions.rb | 2 +- lib/api/group_export.rb | 120 +- lib/api/helpers.rb | 25 + lib/api/helpers/award_emoji.rb | 2 +- lib/api/helpers/discussions_helpers.rb | 4 +- lib/api/helpers/integrations_helpers.rb | 33 + lib/api/helpers/members_helpers.rb | 3 + lib/api/helpers/notes_helpers.rb | 2 +- lib/api/helpers/packages_helpers.rb | 11 +- lib/api/helpers/pagination_strategies.rb | 7 +- lib/api/helpers/projects_helpers.rb | 3 + lib/api/helpers/rate_limiter.rb | 17 +- lib/api/helpers/remote_mirrors_helpers.rb | 26 + lib/api/helpers/resource_events_helpers.rb | 2 +- lib/api/import_github.rb | 34 +- lib/api/internal/base.rb | 12 +- lib/api/invitations.rb | 2 +- lib/api/issues.rb | 6 + lib/api/members.rb | 2 +- lib/api/merge_request_diffs.rb | 2 +- lib/api/merge_requests.rb | 65 +- lib/api/ml/mlflow.rb | 3 +- lib/api/nuget_group_packages.rb | 4 + lib/api/nuget_project_packages.rb | 4 + lib/api/pages_domains.rb | 4 +- lib/api/project_debian_distributions.rb | 6 +- lib/api/project_export.rb | 183 +- lib/api/projects.rb | 1 + lib/api/release/links.rb | 4 +- lib/api/releases.rb | 11 +- lib/api/remote_mirrors.rb | 10 +- lib/api/resource_milestone_events.rb | 2 +- lib/api/rubygem_packages.rb | 32 +- lib/api/search.rb | 9 +- lib/api/settings.rb | 13 +- lib/api/subscriptions.rb | 2 +- lib/api/suggestions.rb | 2 +- lib/api/users.rb | 62 +- .../validations/validators/bulk_imports.rb | 49 + lib/atlassian/jira_connect/jwt/asymmetric.rb | 2 +- lib/banzai/filter/dollar_math_post_filter.rb | 76 + lib/banzai/filter/dollar_math_pre_filter.rb | 49 + .../filter/inline_observability_filter.rb | 16 + .../filter/markdown_post_escape_filter.rb | 76 +- .../filter/markdown_pre_escape_filter.rb | 42 +- lib/banzai/filter/math_filter.rb | 96 +- lib/banzai/filter/repository_link_filter.rb | 4 +- .../filter/service_desk_upload_link_filter.rb | 41 + .../pipeline/plain_markdown_pipeline.rb | 7 + .../pipeline/service_desk_email_pipeline.rb | 11 + lib/bulk_imports/clients/http.rb | 47 +- lib/bulk_imports/error.rb | 9 + lib/bulk_imports/features.rb | 4 - lib/bulk_imports/groups/stage.rb | 6 +- .../subgroup_to_entity_transformer.rb | 3 +- lib/container_registry/client.rb | 1 + lib/event_filter.rb | 4 +- .../aggregated/data_collector.rb | 2 +- .../cycle_analytics/data_collector.rb | 2 +- .../cycle_analytics/request_params.rb | 6 +- lib/gitlab/application_rate_limiter.rb | 32 + lib/gitlab/auth.rb | 2 + lib/gitlab/auth/o_auth/user.rb | 2 +- ...imary_email_to_emails_if_user_confirmed.rb | 58 - ...n_mode_scope_for_personal_access_tokens.rb | 28 + ...fill_cluster_agents_has_vulnerabilities.rb | 1 + .../backfill_environment_tiers.rb | 1 + .../backfill_epic_cache_counts.rb | 2 + .../backfill_group_features.rb | 1 + .../backfill_imported_issue_search_data.rb | 1 + .../backfill_internal_on_notes.rb | 1 + .../backfill_namespace_details.rb | 1 + ...ill_namespace_id_of_vulnerability_reads.rb | 1 + ...t_feature_package_registry_access_level.rb | 1 + .../backfill_project_import_level.rb | 1 + .../backfill_project_member_namespace_id.rb | 2 + .../backfill_project_namespace_details.rb | 1 + .../backfill_project_namespace_on_issues.rb | 1 + ...ct_statistics_container_repository_size.rb | 2 + ...stics_storage_size_without_uploads_size.rb | 2 + .../backfill_releases_author_id.rb | 23 + .../backfill_user_details_fields.rb | 1 + ...kfill_vulnerability_reads_cluster_agent.rb | 1 + .../backfill_work_item_type_id_for_issues.rb | 2 + .../batched_migration_job.rb | 2 +- .../cleanup_orphaned_routes.rb | 2 + ...y_column_using_background_migration_job.rb | 1 + ...elete_approval_rules_with_vulnerability.rb | 2 + .../delete_invalid_epic_issues.rb | 2 + ...te_orphaned_operational_vulnerabilities.rb | 2 + ...te_orphans_approval_merge_request_rules.rb | 1 + .../delete_orphans_approval_project_rules.rb | 1 + .../destroy_invalid_group_members.rb | 1 + .../destroy_invalid_members.rb | 1 + .../destroy_invalid_project_members.rb | 1 + ...urce_licence_for_recent_public_projects.rb | 1 + ...ce_license_for_inactive_public_projects.rb | 1 + ..._license_for_no_issues_no_repo_projects.rb | 1 + ...license_for_one_member_no_repo_projects.rb | 1 + ..._license_for_projects_less_than_five_mb.rb | 1 + ...e_license_for_projects_less_than_one_mb.rb | 1 + .../expire_o_auth_tokens.rb | 16 +- ...roject_rules_without_protected_branches.rb | 2 + ...fix_projects_without_prometheus_service.rb | 2 +- .../fix_security_scan_statuses.rb | 2 + .../migrate_shared_vulnerability_scanners.rb | 2 + ...ack_to_vulnerabilities_state_transition.rb | 2 + ...quest_rules_with_security_orchestration.rb | 2 + ...oject_rules_with_security_orchestration.rb | 2 + ..._visibility_permissions_from_operations.rb | 1 + .../populate_projects_star_count.rb | 1 + .../prune_stale_project_export_jobs.rb | 1 + .../re_expire_o_auth_tokens.rb | 10 + .../recount_epic_cache_counts.rb | 2 + ...move_backfilled_job_artifacts_expire_at.rb | 1 + .../remove_self_managed_wiki_notes.rb | 1 + ...name_task_system_note_to_checklist_item.rb | 1 + ...icate_ci_runners_token_encrypted_values.rb | 1 + ...reset_duplicate_ci_runners_token_values.rb | 1 + .../reset_status_on_container_repositories.rb | 1 + .../sanitize_confidential_todos.rb | 1 + .../second_recount_epic_cache_counts.rb | 20 + .../set_correct_vulnerability_state.rb | 1 + ...cense_available_for_non_public_projects.rb | 1 + ...cate_overlong_vulnerability_html_titles.rb | 22 + ...ipeline_artifacts_unknown_locked_status.rb | 2 + ...ect_removal_to_null_for_user_namespaces.rb | 1 + ...acker_data_deployment_type_based_on_url.rb | 2 + lib/gitlab/chat_name_token.rb | 4 +- lib/gitlab/ci/config/entry/cache.rb | 8 +- lib/gitlab/ci/config/entry/processable.rb | 6 +- .../ci/config/entry/product/parallel.rb | 2 +- lib/gitlab/ci/config/entry/reports.rb | 2 +- lib/gitlab/ci/config/entry/variable.rb | 22 +- .../ci/config/external/file/artifact.rb | 4 - lib/gitlab/ci/config/external/file/base.rb | 1 - lib/gitlab/ci/config/external/mapper.rb | 150 +- .../security/validators/schema_validator.rb | 27 +- lib/gitlab/ci/pipeline/chain/command.rb | 4 + .../ci/pipeline/chain/create_deployments.rb | 2 +- lib/gitlab/ci/pipeline/chain/populate.rb | 3 +- .../ci/pipeline/chain/populate_metadata.rb | 3 +- lib/gitlab/ci/pipeline/chain/sequence.rb | 1 + lib/gitlab/ci/pipeline/logger.rb | 2 +- lib/gitlab/ci/pipeline/seed/build.rb | 4 +- lib/gitlab/ci/pipeline/seed/build/cache.rb | 4 +- lib/gitlab/ci/status/build/manual.rb | 16 +- .../templates/Jobs/Code-Quality.gitlab-ci.yml | 2 +- .../DAST-Default-Branch-Deploy.gitlab-ci.yml | 2 +- .../ci/templates/Jobs/Deploy.gitlab-ci.yml | 2 +- .../Jobs/Deploy.latest.gitlab-ci.yml | 2 +- .../ci/templates/Jobs/SAST.gitlab-ci.yml | 2 +- .../templates/Jobs/SAST.latest.gitlab-ci.yml | 4 +- lib/gitlab/ci/variables/collection.rb | 94 +- lib/gitlab/ci/yaml_processor/result.rb | 7 +- lib/gitlab/config/entry/attributable.rb | 4 + lib/gitlab/config/entry/validators.rb | 1 + lib/gitlab/counters.rb | 7 + lib/gitlab/counters/buffered_counter.rb | 166 +- lib/gitlab/counters/legacy_counter.rb | 23 +- lib/gitlab/data_builder/build.rb | 1 + lib/gitlab/database.rb | 2 +- lib/gitlab/database/as_with_materialized.rb | 2 +- .../database/async_indexes/index_creator.rb | 8 +- .../async_indexes/index_destructor.rb | 6 +- .../batched_migration_wrapper.rb | 10 + lib/gitlab/database/gitlab_schema.rb | 97 +- .../indexing_exclusive_lease_guard.rb | 18 + .../database/load_balancing/resolver.rb | 25 +- .../load_balancing/service_discovery.rb | 11 +- lib/gitlab/database/lock_writes_manager.rb | 30 +- lib/gitlab/database/loose_foreign_keys.rb | 2 +- lib/gitlab/database/migration_helpers.rb | 43 +- .../automatic_lock_writes_on_tables.rb | 5 +- .../migrations/base_background_runner.rb | 9 +- .../database/migrations/instrumentation.rb | 4 +- lib/gitlab/database/migrations/observation.rb | 1 + .../test_batched_background_runner.rb | 14 +- .../foreign_key_helpers.rb | 1 + lib/gitlab/database/postgres_foreign_key.rb | 27 + lib/gitlab/database/postgres_partition.rb | 4 +- lib/gitlab/database/query_analyzer.rb | 6 +- lib/gitlab/database/query_analyzers/base.rb | 4 - .../gitlab_schemas_validate_connection.rb | 15 +- .../prevent_cross_database_modification.rb | 6 +- .../query_analyzers/query_recorder.rb | 16 +- lib/gitlab/database/reindexing/coordinator.rb | 28 +- .../database/reindexing/grafana_notifier.rb | 4 +- .../database/reindexing/index_selection.rb | 21 +- lib/gitlab/database/schema_helpers.rb | 13 - lib/gitlab/database/tables_truncate.rb | 19 +- .../merge_request_diff_base.rb | 4 +- lib/gitlab/error_tracking.rb | 14 + lib/gitlab/git_access.rb | 2 +- lib/gitlab/gitaly_client.rb | 40 +- lib/gitlab/gitaly_client/ref_service.rb | 6 - .../gitaly_client/repository_service.rb | 15 - .../importer/gist_importer.rb | 3 +- lib/gitlab/github_import/client.rb | 12 - lib/gitlab/github_import/clients/proxy.rb | 14 +- .../github_import/clients/search_repos.rb | 55 +- .../importer/protected_branch_importer.rb | 51 +- .../representation/protected_branch.rb | 19 +- lib/gitlab/gon_helper.rb | 2 +- lib/gitlab/graphql/deprecations_base.rb | 6 +- lib/gitlab/graphql/errors.rb | 2 + lib/gitlab/hook_data/merge_request_builder.rb | 2 +- lib/gitlab/hotlinking_detector.rb | 2 - lib/gitlab/http.rb | 3 +- lib/gitlab/i18n.rb | 18 +- .../base/relation_object_saver.rb | 2 + lib/gitlab/import_export/error.rb | 4 + .../group/legacy_tree_restorer.rb | 132 - .../import_export/group/legacy_tree_saver.rb | 57 - .../import_export/project/import_export.yml | 10 +- lib/gitlab/import_export/version_checker.rb | 2 +- lib/gitlab/memory/reporter.rb | 48 +- lib/gitlab/memory/watchdog.rb | 18 +- .../metrics/requests_rack_middleware.rb | 2 +- lib/gitlab/net_http_adapter.rb | 2 +- lib/gitlab/observability.rb | 4 + lib/gitlab/pages/cache_control.rb | 10 +- lib/gitlab/pagination/cursor_based_keyset.rb | 3 +- lib/gitlab/pagination/keyset/cursor_pager.rb | 2 +- lib/gitlab/pagination/keyset/pager.rb | 2 +- .../pagination/keyset/simple_order_builder.rb | 32 - lib/gitlab/phabricator_import.rb | 3 +- lib/gitlab/project_template.rb | 2 +- lib/gitlab/quick_actions/issue_actions.rb | 17 +- lib/gitlab/redis.rb | 1 + lib/gitlab/redis/multi_store.rb | 133 +- lib/gitlab/redis/repository_cache.rb | 33 + lib/gitlab/redis/wrapper.rb | 43 +- lib/gitlab/regex.rb | 20 + lib/gitlab/repository_cache.rb | 11 +- lib/gitlab/repository_hash_cache.rb | 11 +- lib/gitlab/repository_set_cache.rb | 15 + .../ci/runner/runner_fleet_pipeline_seeder.rb | 202 + .../seeders/ci/runner/runner_fleet_seeder.rb | 246 ++ lib/gitlab/sidekiq_config/cli_methods.rb | 4 +- lib/gitlab/sidekiq_daemon/memory_killer.rb | 9 +- lib/gitlab/sql/pattern.rb | 3 + lib/gitlab/ssh/commit.rb | 2 + lib/gitlab/ssh/signature.rb | 8 +- lib/gitlab/ssh_public_key.rb | 37 +- .../usage/metrics/aggregates/aggregate.rb | 20 +- .../metrics/instrumentations/base_metric.rb | 2 +- .../legacy_metric_metadata_decorator.rb | 19 + .../legacy_metric_timing_decorator.rb | 18 - lib/gitlab/usage_data.rb | 18 +- lib/gitlab/usage_data_queries.rb | 2 +- lib/gitlab/utils/strong_memoize.rb | 23 +- lib/gitlab/utils/usage_data.rb | 24 +- lib/gitlab/version_info.rb | 5 +- lib/google_api/cloud_platform/client.rb | 69 - lib/object_storage/direct_upload.rb | 1 + .../groups/menus/observability_menu.rb | 20 +- lib/sidebars/groups/menus/settings_menu.rb | 17 + .../projects/menus/deployments_menu.rb | 17 + lib/sidebars/projects/menus/settings_menu.rb | 6 +- lib/sidebars/your_work/menus/activity_menu.rb | 34 + lib/sidebars/your_work/menus/groups_menu.rb | 34 + lib/sidebars/your_work/menus/issues_menu.rb | 47 + .../your_work/menus/merge_requests_menu.rb | 47 + .../your_work/menus/milestones_menu.rb | 34 + lib/sidebars/your_work/menus/projects_menu.rb | 34 + lib/sidebars/your_work/menus/snippets_menu.rb | 34 + lib/sidebars/your_work/menus/todos_menu.rb | 47 + lib/sidebars/your_work/panel.rb | 35 + lib/system_check/ldap_check.rb | 2 +- lib/tasks/contracts/merge_requests.rake | 9 +- lib/tasks/contracts/pipeline_schedules.rake | 2 +- lib/tasks/contracts/pipelines.rake | 8 +- lib/tasks/gitlab/db.rake | 36 +- lib/tasks/gitlab/db/lock_writes.rake | 2 + .../security/update_banned_ssh_keys.rake | 72 + lib/tasks/gitlab/seed/runner_fleet.rake | 40 + lib/tasks/gitlab/tw/codeowners.rake | 2 +- locale/am_ET/gitlab.po | 1430 +++++-- locale/ar_SA/gitlab.po | 1450 +++++-- locale/as_IN/gitlab.po | 1430 +++++-- locale/az_AZ/gitlab.po | 1430 +++++-- locale/ba_RU/gitlab.po | 1425 +++++-- locale/bg/gitlab.po | 1430 +++++-- locale/bn_BD/gitlab.po | 1430 +++++-- locale/bn_IN/gitlab.po | 1430 +++++-- locale/br_FR/gitlab.po | 1445 +++++-- locale/bs_BA/gitlab.po | 1435 +++++-- locale/ca_ES/gitlab.po | 1434 +++++-- locale/cs_CZ/gitlab.po | 1440 +++++-- locale/cy_GB/gitlab.po | 1450 +++++-- locale/da_DK/gitlab.po | 1462 +++++-- locale/de/gitlab.po | 1504 +++++-- locale/el_GR/gitlab.po | 1430 +++++-- locale/en_GB/gitlab.po | 1434 +++++-- locale/eo/gitlab.po | 1430 +++++-- locale/es/gitlab.po | 1448 +++++-- locale/et_EE/gitlab.po | 1430 +++++-- locale/fa_IR/gitlab.po | 1430 +++++-- locale/fi_FI/gitlab.po | 1430 +++++-- locale/fil_PH/gitlab.po | 1430 +++++-- locale/fr/gitlab.po | 3788 ++++++++++------- locale/gitlab.pot | 1278 ++++-- locale/gl_ES/gitlab.po | 1430 +++++-- locale/he_IL/gitlab.po | 1440 +++++-- locale/hi_IN/gitlab.po | 1430 +++++-- locale/hr_HR/gitlab.po | 1441 +++++-- locale/hu_HU/gitlab.po | 1430 +++++-- locale/hy_AM/gitlab.po | 1430 +++++-- locale/id_ID/gitlab.po | 1425 +++++-- locale/ig_NG/gitlab.po | 1425 +++++-- locale/is_IS/gitlab.po | 1430 +++++-- locale/it/gitlab.po | 1434 +++++-- locale/ja/gitlab.po | 1431 +++++-- locale/ka_GE/gitlab.po | 1430 +++++-- locale/kab/gitlab.po | 1430 +++++-- locale/ko/gitlab.po | 1435 +++++-- locale/ku_TR/gitlab.po | 1430 +++++-- locale/ky_KG/gitlab.po | 1430 +++++-- locale/lt_LT/gitlab.po | 1440 +++++-- locale/mk_MK/gitlab.po | 1430 +++++-- locale/ml_IN/gitlab.po | 1430 +++++-- locale/mn_MN/gitlab.po | 1430 +++++-- locale/nb_NO/gitlab.po | 1452 +++++-- locale/nl_NL/gitlab.po | 1434 +++++-- locale/or_IN/gitlab.po | 1430 +++++-- locale/pa_IN/gitlab.po | 1430 +++++-- locale/pa_PK/gitlab.po | 1430 +++++-- locale/pl_PL/gitlab.po | 1440 +++++-- locale/pt_BR/gitlab.po | 1552 +++++-- locale/pt_PT/gitlab.po | 1434 +++++-- locale/ro_RO/gitlab.po | 1517 +++++-- locale/ru/gitlab.po | 1600 +++++-- locale/si_LK/gitlab.po | 1616 +++++-- locale/sk_SK/gitlab.po | 1440 +++++-- locale/sl_SI/gitlab.po | 1440 +++++-- locale/sq_AL/gitlab.po | 1430 +++++-- locale/sr_CS/gitlab.po | 1435 +++++-- locale/sr_SP/gitlab.po | 1435 +++++-- locale/sv_SE/gitlab.po | 1430 +++++-- locale/sw_KE/gitlab.po | 1430 +++++-- locale/ta_IN/gitlab.po | 1430 +++++-- locale/th_TH/gitlab.po | 1425 +++++-- locale/tr_TR/gitlab.po | 1436 +++++-- locale/uk/gitlab.po | 2560 +++++++---- locale/ur_PK/gitlab.po | 1430 +++++-- locale/uz_UZ/gitlab.po | 1430 +++++-- locale/vi_VN/gitlab.po | 1425 +++++-- locale/zh_CN/gitlab.po | 2211 ++++++---- locale/zh_HK/gitlab.po | 1427 +++++-- locale/zh_TW/gitlab.po | 1515 +++++-- metrics_server/metrics_server.rb | 41 +- metrics_server/settings_overrides.rb | 2 +- package.json | 90 +- qa/Dockerfile | 2 +- qa/Gemfile | 12 +- qa/Gemfile.lock | 41 +- qa/README.md | 51 +- .../page/group/settings/usage_quotas.rb | 6 + qa/qa/fixtures/mocks/import/github.yml | 2743 ++++++++++++ .../nuget/nuget_install_package.yaml.erb | 2 +- .../nuget/nuget_upload_package.yaml.erb | 2 +- qa/qa/flow/alert_settings.rb | 45 +- qa/qa/page/component/content_editor.rb | 5 +- qa/qa/page/component/dropdown.rb | 14 +- qa/qa/page/component/groups_filter.rb | 43 +- qa/qa/page/component/invite_members_modal.rb | 20 +- qa/qa/page/component/wiki_page_form.rb | 10 +- qa/qa/page/file/form.rb | 16 +- qa/qa/page/group/members.rb | 11 +- qa/qa/page/merge_request/show.rb | 7 +- qa/qa/page/project/fork/new.rb | 16 +- qa/qa/page/project/pipeline/new.rb | 2 +- qa/qa/page/project/settings/alerts.rb | 25 + qa/qa/page/project/settings/ci_variables.rb | 2 +- .../project/settings/protected_branches.rb | 9 +- qa/qa/page/project/show.rb | 11 +- qa/qa/page/project/web_ide/vscode.rb | 68 + qa/qa/resource/api_fabricator.rb | 2 +- qa/qa/resource/base.rb | 6 +- qa/qa/resource/group_base.rb | 6 +- qa/qa/resource/group_runner.rb | 29 + qa/qa/resource/issue.rb | 11 + qa/qa/resource/merge_request.rb | 43 +- qa/qa/resource/project.rb | 40 +- qa/qa/resource/project_runner.rb | 29 + qa/qa/resource/reusable.rb | 163 - qa/qa/resource/reusable_collection.rb | 60 - qa/qa/resource/reusable_group.rb | 43 - qa/qa/resource/reusable_project.rb | 51 - qa/qa/resource/runner.rb | 148 - qa/qa/resource/runner_base.rb | 129 + qa/qa/runtime/application_settings.rb | 18 +- qa/qa/runtime/browser.rb | 11 +- qa/qa/runtime/env.rb | 14 +- qa/qa/runtime/path.rb | 4 + qa/qa/service/docker_run/base.rb | 4 +- qa/qa/service/docker_run/gitlab_runner.rb | 2 + qa/qa/service/docker_run/smocker.rb | 39 +- qa/qa/service/kubernetes_cluster.rb | 8 +- .../import/import_github_repo_spec.rb | 38 +- .../integrations/webhook_events_spec.rb | 33 +- .../migration/gitlab_migration_issue_spec.rb | 26 + .../gitlab_migration_large_project_spec.rb | 7 +- .../gitlab_migration_project_spec.rb | 6 +- .../api/1_manage/project_access_token_spec.rb | 10 +- .../1_manage/user_inherited_access_spec.rb | 2 +- .../specs/features/api/1_manage/users_spec.rb | 2 +- .../merge_request/push_options_labels_spec.rb | 7 +- .../merge_request/push_options_mwps_spec.rb | 2 +- .../api/4_verify/file_variable_spec.rb | 53 +- .../api/4_verify/remove_runner_spec.rb | 33 - .../1_manage/group/transfer_group_spec.rb | 2 +- .../1_manage/group/transfer_project_spec.rb | 2 +- .../pipeline_status_emails_spec.rb | 2 +- .../project/add_project_member_spec.rb | 2 +- .../project/create_project_badge_spec.rb | 2 +- .../1_manage/project/create_project_spec.rb | 2 +- .../1_manage/project/dashboard_images_spec.rb | 2 +- .../project/invite_group_to_project_spec.rb | 2 +- .../project/project_owner_permissions_spec.rb | 2 +- .../project/view_project_activity_spec.rb | 2 +- .../user/follow_user_activity_spec.rb | 2 +- .../parent_group_access_termination_spec.rb | 3 +- .../user/user_inherited_access_spec.rb | 2 +- .../merge_when_pipeline_succeeds_spec.rb | 2 +- .../3_create/pages/new_static_page_spec.rb | 12 +- .../project_based_page_deletion_spec.rb | 26 +- .../repository/add_file_template_spec.rb | 3 +- .../web_ide/add_file_template_spec.rb | 11 +- .../add_new_directory_in_web_ide_spec.rb | 9 +- .../create_first_file_in_web_ide_spec.rb | 9 +- .../web_ide/link_to_line_in_web_ide_spec.rb | 9 +- .../web_ide/open_fork_in_web_ide_spec.rb | 6 +- .../open_web_ide_from_diff_tab_spec.rb | 9 +- .../web_ide/review_merge_request_spec.rb | 9 +- .../server_hooks_custom_error_message_spec.rb | 12 +- .../upload_new_file_in_web_ide_spec.rb | 9 +- .../3_create/web_ide/web_terminal_spec.rb | 8 +- .../add_new_directory_in_web_ide_spec.rb | 73 + .../ci_variable/custom_variable_spec.rb | 2 +- .../pipeline_with_protected_variable_spec.rb | 2 +- .../raw_variables_defined_in_yaml_spec.rb | 77 +- .../create_and_process_pipeline_spec.rb | 7 +- ...lude_multiple_files_from_a_project_spec.rb | 2 +- .../pipeline/locked_artifacts_spec.rb | 2 +- .../merge_mr_when_pipline_is_blocked_spec.rb | 2 +- .../pipeline/mr_event_rule_pipeline_spec.rb | 2 +- ...pipelines_independent_relationship_spec.rb | 2 +- ...variables_to_downstream_via_bridge_spec.rb | 4 +- .../pipeline_with_image_pull_policy_spec.rb | 2 +- .../run_pipeline_with_manual_jobs_spec.rb | 2 +- ...trigger_child_pipeline_with_manual_spec.rb | 2 +- .../4_verify/pipeline/trigger_matrix_spec.rb | 2 +- ...pdate_ci_file_with_pipeline_editor_spec.rb | 2 +- .../4_verify/runner/register_runner_spec.rb | 2 +- .../testing/endpoint_coverage_spec.rb | 2 +- .../testing/view_code_coverage_spec.rb | 2 +- .../container_registry_omnibus_spec.rb | 2 +- .../dependency_proxy/dependency_proxy_spec.rb | 2 +- .../terraform_module_registry_spec.rb | 3 +- .../composer_registry_spec.rb | 2 +- .../package_registry/conan_repository_spec.rb | 2 +- .../generic_repository_spec.rb | 2 +- .../maven/maven_project_level_spec.rb | 6 +- .../npm/npm_instance_level_spec.rb | 4 +- .../npm/npm_project_level_spec.rb | 2 +- .../nuget/nuget_group_level_spec.rb | 6 +- .../nuget/nuget_project_level_spec.rb | 2 +- .../package_registry/pypi_repository_spec.rb | 2 +- .../rubygems_registry_spec.rb | 2 +- .../deploy_key/clone_using_deploy_key_spec.rb | 2 +- .../create_project_with_auto_devops_spec.rb | 1 - .../alert_settings_create_new_alerts_spec.rb | 83 + ...eate_alert_using_authorization_key_spec.rb | 98 + ...endpoint_integration_creates_alert_spec.rb | 36 - .../features/sanity/feature_flags_spec.rb | 124 +- qa/qa/specs/features/sanity/framework_spec.rb | 2 +- .../features/sanity/interception_spec.rb | 42 +- qa/qa/specs/features/sanity/version_spec.rb | 44 +- .../advanced_search_shared_context.rb | 25 + .../import/github_import_shared_context.rb | 36 + .../import/gitlab_group_migration_common.rb | 13 +- .../merge_train_spec_with_user_prep.rb | 2 +- .../packages_registry_shared_context.rb | 4 +- .../variable_inheritance_shared_context.rb | 4 +- qa/qa/specs/helpers/context_selector.rb | 6 +- qa/qa/specs/spec_helper.rb | 25 - qa/qa/support/api.rb | 4 +- .../formatters/allure_metadata_formatter.rb | 24 +- qa/qa/support/loglinking.rb | 68 +- qa/qa/support/system_logs/kibana.rb | 60 + qa/qa/support/system_logs/sentry.rb | 27 + qa/qa/tools/delete_subgroups.rb | 2 +- qa/qa/vendor/jenkins/job.rb | 12 +- qa/qa/vendor/smocker/event_payload.rb | 2 +- qa/qa/vendor/smocker/smocker_api.rb | 31 +- qa/spec/resource/api_fabricator_spec.rb | 5 +- qa/spec/resource/reusable_collection_spec.rb | 128 - qa/spec/runtime/application_settings_spec.rb | 13 +- qa/spec/spec_helper.rb | 1 + .../allure_metadata_formatter_spec.rb | 70 +- qa/spec/support/loglinking_spec.rb | 141 +- qa/spec/support/system_logs/kibana_spec.rb | 75 + qa/spec/support/system_logs/sentry_spec.rb | 42 + rubocop/check_graceful_task.rb | 2 +- .../background_migration/feature_category.rb | 64 + rubocop/cop/gitlab/strong_memoize_attr.rb | 19 +- rubocop/cop/lint/last_keyword_argument.rb | 8 +- rubocop/rubocop-migrations.yml | 6 +- rubocop/rubocop-ruby30.yml | 4 + scripts/allowed_warnings.txt | 15 + scripts/build_qa_image | 4 +- .../decomposition/generate-loose-foreign-key | 2 +- scripts/frontend/extract_gettext_all.js | 2 +- scripts/gitlab_component_helpers.sh | 4 +- scripts/glfm/run-spec-tests.sh | 23 + ...rify_all_generated_files_are_up_to_date.rb | 2 +- scripts/lint-doc-quality.sh | 24 - scripts/review_apps/automated_cleanup.rb | 2 +- scripts/review_apps/base-config.yaml | 2 +- scripts/review_apps/review-apps.sh | 44 +- scripts/rspec_check_order_dependence | 2 + scripts/setup/as-if-jh.sh | 5 +- scripts/setup/find-jh-branch.rb | 2 +- scripts/static-analysis | 28 +- scripts/trigger-build.rb | 14 + scripts/utils.sh | 31 +- scripts/verify-tff-mapping | 14 + sidekiq_cluster/cli.rb | 2 +- .../metrics_server/metrics_server_spec.rb | 3 +- spec/commands/sidekiq_cluster/cli_spec.rb | 12 +- .../pajamas/button_component_preview.rb | 6 +- .../inject_enterprise_edition_module_spec.rb | 2 +- spec/config/mail_room_spec.rb | 8 +- .../helpers/contract_source_helper.rb | 15 +- .../show/get_diffs_batch_helper.rb | 2 +- .../show/get_diffs_metadata_helper.rb | 2 +- .../show/get_discussions_helper.rb | 2 +- .../put_edit_a_pipeline_schedule_helper.rb | 2 +- .../get_list_project_pipelines_helper.rb | 2 +- .../new/post_create_a_new_pipeline_helper.rb | 2 +- .../pipelines/show/delete_pipeline_helper.rb | 2 +- .../show/get_pipeline_header_data_helper.rb | 2 +- .../provider/contract_source_helper_spec.rb | 23 +- spec/contracts/publish-contracts.sh | 50 +- .../appearances_controller_spec.rb | 2 +- .../application_settings_controller_spec.rb | 46 +- .../admin/clusters_controller_spec.rb | 4 - .../concerns/check_rate_limit_spec.rb | 4 +- .../content_security_policy_patch_spec.rb | 116 + .../groups/clusters_controller_spec.rb | 4 - .../groups/imports_controller_spec.rb | 2 +- .../available_namespaces_controller_spec.rb | 109 - .../import/bulk_imports_controller_spec.rb | 85 +- .../import/github_controller_spec.rb | 41 +- .../import/phabricator_controller_spec.rb | 13 +- .../authorizations_controller_spec.rb | 16 +- .../projects/artifacts_controller_spec.rb | 32 +- .../projects/clusters_controller_spec.rb | 4 - .../projects/deploy_keys_controller_spec.rb | 5 +- .../designs/resized_image_controller_spec.rb | 28 +- .../projects/environments_controller_spec.rb | 88 + .../projects/group_links_controller_spec.rb | 77 +- .../creations_controller_spec.rb | 2 +- .../merge_requests/diffs_controller_spec.rb | 55 +- .../merge_requests_controller_spec.rb | 32 +- .../projects/pages_domains_controller_spec.rb | 6 +- .../projects/pipelines_controller_spec.rb | 7 + .../protected_branches_controller_spec.rb | 29 +- .../releases/evidences_controller_spec.rb | 2 +- .../registrations/welcome_controller_spec.rb | 6 +- .../registrations_controller_spec.rb | 15 + spec/controllers/uploads_controller_spec.rb | 76 +- spec/db/docs_spec.rb | 53 + spec/db/migration_spec.rb | 2 +- spec/db/schema_spec.rb | 10 +- spec/factories/abuse_reports.rb | 1 + .../analytics/cycle_analytics/aggregations.rb | 2 +- spec/factories/appearances.rb | 4 + spec/factories/bulk_import/entities.rb | 1 + spec/factories/ci/builds.rb | 14 +- spec/factories/ci/job_artifacts.rb | 8 + spec/factories/ci/runner_machines.rb | 8 + spec/factories/design_management/designs.rb | 5 +- spec/factories/groups.rb | 2 +- spec/factories/integrations.rb | 10 + spec/factories/ml/candidates.rb | 9 + spec/factories/personal_access_tokens.rb | 6 + .../build_artifacts_size_refreshes.rb | 4 + spec/factories/wiki_pages.rb | 2 +- spec/features/abuse_report_spec.rb | 154 +- .../admin/admin_broadcast_messages_spec.rb | 98 - spec/features/admin/admin_groups_spec.rb | 18 +- spec/features/admin/admin_projects_spec.rb | 7 +- .../admin_sees_background_migrations_spec.rb | 31 +- spec/features/admin/admin_users_spec.rb | 6 +- spec/features/admin/dashboard_spec.rb | 3 +- spec/features/admin/users/users_spec.rb | 6 +- .../callouts/registration_enabled_spec.rb | 2 +- spec/features/commit_spec.rb | 4 + spec/features/dashboard/activity_spec.rb | 2 + spec/features/dashboard/groups_list_spec.rb | 2 + .../dashboard/issuables_counter_spec.rb | 27 +- spec/features/dashboard/issues_spec.rb | 2 + .../features/dashboard/merge_requests_spec.rb | 4 +- spec/features/dashboard/milestones_spec.rb | 2 + spec/features/dashboard/navbar_spec.rb | 16 + spec/features/dashboard/projects_spec.rb | 2 + spec/features/dashboard/snippets_spec.rb | 2 + spec/features/dashboard/todos/todos_spec.rb | 57 +- .../dashboard/user_filters_projects_spec.rb | 2 +- .../user_sees_error_index_spec.rb | 2 +- spec/features/global_search_spec.rb | 4 - .../import_export/connect_instance_spec.rb | 6 +- .../import_export/migration_history_spec.rb | 4 +- .../groups/labels/sort_labels_spec.rb | 20 +- .../groups/members/manage_members_spec.rb | 5 +- .../groups/members/sort_members_spec.rb | 4 +- spec/features/groups/merge_requests_spec.rb | 2 +- .../groups/milestones_sorting_spec.rb | 14 +- spec/features/groups/navbar_spec.rb | 2 +- spec/features/groups/new_group_page_spec.rb | 2 + .../incidents/user_views_incident_spec.rb | 2 +- .../issues/group_label_sidebar_spec.rb | 2 +- spec/features/issues/issue_header_spec.rb | 12 +- .../issues/user_creates_issue_spec.rb | 5 + spec/features/issues/user_edits_issue_spec.rb | 7 +- ...r_sees_sidebar_updates_in_realtime_spec.rb | 2 +- spec/features/jira_connect/branches_spec.rb | 12 +- spec/features/markdown/observability_spec.rb | 74 + .../markdown/sandboxed_mermaid_spec.rb | 2 +- .../admin_views_hidden_merge_request_spec.rb | 27 + .../merge_request/batch_comments_spec.rb | 2 +- .../close_reopen_report_toggle_spec.rb | 22 +- .../maintainer_edits_fork_spec.rb | 2 +- .../merge_request_discussion_lock_spec.rb | 2 +- .../user_accepts_merge_request_spec.rb | 2 +- ...ommits_from_memebers_who_can_merge_spec.rb | 2 +- .../merge_request/user_approves_spec.rb | 2 +- .../user_assigns_themselves_reviewer_spec.rb | 2 +- .../user_assigns_themselves_spec.rb | 2 +- .../merge_request/user_awards_emoji_spec.rb | 2 +- .../user_clicks_merge_request_tabs_spec.rb | 2 +- ...closes_reopens_merge_request_state_spec.rb | 2 +- .../user_comments_on_commit_spec.rb | 2 +- .../user_comments_on_diff_spec.rb | 2 +- .../user_comments_on_merge_request_spec.rb | 2 +- .../user_creates_image_diff_notes_spec.rb | 2 +- .../user_creates_merge_request_spec.rb | 2 +- .../merge_request/user_creates_mr_spec.rb | 2 +- ...er_customizes_merge_commit_message_spec.rb | 2 +- .../user_edits_assignees_sidebar_spec.rb | 2 +- .../user_edits_merge_request_spec.rb | 2 +- .../merge_request/user_edits_mr_spec.rb | 2 +- .../user_edits_reviewers_sidebar_spec.rb | 2 +- .../merge_request/user_expands_diff_spec.rb | 2 +- ...er_interacts_with_batched_mr_diffs_spec.rb | 2 +- .../user_locks_discussion_spec.rb | 2 +- .../user_manages_subscription_spec.rb | 2 +- .../user_marks_merge_request_as_draft_spec.rb | 2 +- .../user_merges_immediately_spec.rb | 2 +- .../user_merges_merge_request_spec.rb | 2 +- ...r_merges_only_if_pipeline_succeeds_spec.rb | 2 +- ...user_merges_when_pipeline_succeeds_spec.rb | 2 +- .../user_opens_checkout_branch_modal_spec.rb | 2 +- .../user_opens_context_commits_modal_spec.rb | 2 +- .../user_posts_diff_notes_spec.rb | 2 +- .../merge_request/user_posts_notes_spec.rb | 2 +- .../user_rebases_merge_request_spec.rb | 2 +- .../user_resolves_conflicts_spec.rb | 2 +- ...diff_notes_and_discussions_resolve_spec.rb | 2 +- ...resolves_outdated_diff_discussions_spec.rb | 3 +- .../user_resolves_wip_mr_spec.rb | 2 +- .../user_reverts_merge_request_spec.rb | 2 +- .../merge_request/user_reviews_image_spec.rb | 2 +- .../user_scrolls_to_note_on_load_spec.rb | 2 +- .../user_sees_avatar_on_diff_notes_spec.rb | 2 +- .../user_sees_breadcrumb_links_spec.rb | 2 +- .../user_sees_check_out_branch_modal_spec.rb | 7 +- .../user_sees_cherry_pick_modal_spec.rb | 2 +- .../user_sees_closing_issues_message_spec.rb | 2 +- .../user_sees_deleted_target_branch_spec.rb | 2 +- .../merge_request/user_sees_diff_spec.rb | 2 +- .../user_sees_discussions_navigation_spec.rb | 27 +- .../user_sees_discussions_spec.rb | 2 +- ...epending_on_unresolved_discussions_spec.rb | 2 +- .../user_sees_merge_request_pipelines_spec.rb | 2 +- .../user_sees_merge_widget_spec.rb | 3 +- ...ees_mr_from_deleted_forked_project_spec.rb | 3 +- ...sees_mr_with_deleted_source_branch_spec.rb | 3 +- ...ser_sees_notes_from_forked_project_spec.rb | 2 +- .../user_sees_page_metadata_spec.rb | 2 +- .../merge_request/user_sees_pipelines_spec.rb | 2 +- .../user_sees_system_notes_spec.rb | 2 +- .../merge_request/user_sees_versions_spec.rb | 2 +- .../user_sees_wip_help_message_spec.rb | 2 +- .../user_selects_branches_for_new_mr_spec.rb | 2 +- .../user_squashes_merge_request_spec.rb | 2 +- .../user_suggests_changes_on_diff_spec.rb | 2 +- .../user_toggles_whitespace_changes_spec.rb | 2 +- ...rivate_project_info_through_new_mr_spec.rb | 2 +- .../user_uses_quick_actions_spec.rb | 2 +- .../user_views_auto_expanding_diff_spec.rb | 2 +- .../user_views_diffs_commit_spec.rb | 2 +- .../user_views_diffs_file_by_file_spec.rb | 2 +- .../merge_request/user_views_diffs_spec.rb | 2 +- ...ws_merge_request_from_deleted_fork_spec.rb | 2 +- .../user_views_open_merge_request_spec.rb | 2 +- .../admin_views_hidden_merge_requests_spec.rb | 27 + .../filters_generic_behavior_spec.rb | 2 +- spec/features/merge_requests/rss_spec.rb | 2 +- .../user_exports_as_csv_spec.rb | 2 +- .../user_filters_by_approvals_spec.rb | 2 +- .../user_filters_by_assignees_spec.rb | 2 +- .../user_filters_by_deployments_spec.rb | 2 +- .../user_filters_by_draft_spec.rb | 2 +- .../user_filters_by_labels_spec.rb | 2 +- .../user_filters_by_milestones_spec.rb | 2 +- .../user_filters_by_multiple_criteria_spec.rb | 2 +- .../user_filters_by_target_branch_spec.rb | 2 +- .../user_lists_merge_requests_spec.rb | 2 +- .../merge_requests/user_mass_updates_spec.rb | 2 +- .../user_sees_empty_state_spec.rb | 2 +- .../user_sorts_merge_requests_spec.rb | 2 +- .../user_views_all_merge_requests_spec.rb | 2 +- .../user_views_closed_merge_requests_spec.rb | 2 +- .../user_views_merged_merge_requests_spec.rb | 2 +- .../user_views_open_merge_requests_spec.rb | 2 +- spec/features/milestone_spec.rb | 8 +- spec/features/nav/new_nav_toggle_spec.rb | 14 +- spec/features/oauth_registration_spec.rb | 17 - spec/features/profiles/chat_names_spec.rb | 2 +- ...er_visits_profile_preferences_page_spec.rb | 10 +- spec/features/project_variables_spec.rb | 5 +- ...ser_follows_pipeline_suggest_nudge_spec.rb | 12 - .../features/projects/diffs/diff_show_spec.rb | 2 +- .../projects/environments/environment_spec.rb | 10 + .../files/template_type_dropdown_spec.rb | 143 - .../projects/files/undo_template_spec.rb | 19 - spec/features/projects/fork_spec.rb | 15 +- .../import_export/export_file_spec.rb | 4 +- .../user_uploads_designs_spec.rb | 2 +- spec/features/projects/jobs_spec.rb | 14 +- .../projects/labels/sort_labels_spec.rb | 20 +- .../projects/members/manage_members_spec.rb | 22 +- .../features/projects/members/sorting_spec.rb | 4 +- .../milestones/milestones_sorting_spec.rb | 15 +- spec/features/projects/navbar_spec.rb | 4 +- spec/features/projects/new_project_spec.rb | 4 +- .../pages/user_edits_settings_spec.rb | 2 + .../pipelines/legacy_pipelines_spec.rb | 0 .../projects/pipelines/pipeline_spec.rb | 46 +- .../projects/pipelines/pipelines_spec.rb | 21 +- .../settings/monitor_settings_spec.rb | 2 +- .../settings/pipelines_settings_spec.rb | 24 - .../user_manages_project_members_spec.rb | 7 +- .../user_searches_in_settings_spec.rb | 1 + spec/features/projects/terraform_spec.rb | 11 +- .../projects/tree/create_directory_spec.rb | 8 +- .../projects/tree/create_file_spec.rb | 7 +- spec/features/projects/tree/tree_show_spec.rb | 6 +- .../projects/tree/upload_file_spec.rb | 7 +- spec/features/projects_spec.rb | 8 +- spec/features/protected_branches_spec.rb | 2 +- spec/features/protected_tags_spec.rb | 2 +- spec/features/runners_spec.rb | 564 +-- .../search/user_searches_for_code_spec.rb | 59 +- spec/features/signed_commits_spec.rb | 12 +- spec/features/snippets/show_spec.rb | 21 + .../snippets/user_creates_snippet_spec.rb | 2 + spec/features/triggers_spec.rb | 14 +- spec/features/user_sees_revert_modal_spec.rb | 2 +- spec/features/user_sorts_things_spec.rb | 2 +- spec/finders/access_requests_finder_spec.rb | 16 +- spec/finders/branches_finder_spec.rb | 43 +- spec/finders/ci/pipelines_finder_spec.rb | 10 - spec/finders/ci/runners_finder_spec.rb | 12 +- spec/finders/members_finder_spec.rb | 402 +- spec/finders/merge_requests_finder_spec.rb | 27 +- .../schemas/public_api/v4/integration.json | 3 + spec/fixtures/api/schemas/remote_mirror.json | 61 +- .../config/mail_room_enabled_ms_graph.yml | 4 +- .../gitlab/import_export/complex/project.json | 76 +- .../markdown_golden_master_examples.yml | 909 ---- .../gitlab/security/expected_banned_keys.yml | 12 + .../tasks/gitlab/security/ssh-badkeys/LICENSE | 22 + .../gitlab/security/ssh-badkeys/README.md | 12 + .../authorized/array-networks-vapv-vxag.pub | 1 + .../authorized/barracuda_load_balancer_vm.pub | 1 + .../ceragon-fibeair-cve-2015-0936.pub | 1 + .../authorized/exagrid-cve-2016-1561.pub | 1 + .../authorized/f5-bigip-cve-2012-1493.pub | 1 + .../loadbalancer.org-enterprise-va.pub | 1 + .../monroe-dasdec-cve-2013-0137.pub | 1 + .../authorized/quantum-dxi-v1000.pub | 1 + .../authorized/vagrant-default.pub | 1 + spec/fixtures/valid.po | 6 +- .../frontend/__mocks__/@cubejs-client/core.js | 26 + .../abuse_category_selector_spec.js | 126 + .../components/message_form_spec.js | 6 +- .../admin/users/components/user_date_spec.js | 2 +- spec/frontend/admin/users/mock_data.js | 8 + .../alerts_settings_wrapper_spec.js | 4 +- .../cycle_analytics/store/actions_spec.js | 38 +- spec/frontend/api/groups_api_spec.js | 4 +- spec/frontend/api/harbor_registry_spec.js | 8 +- spec/frontend/api/packages_api_spec.js | 4 +- spec/frontend/api/tags_api_spec.js | 4 +- spec/frontend/api/user_api_spec.js | 35 +- spec/frontend/api_spec.js | 157 +- .../artifacts/components/artifact_row_spec.js | 21 +- .../artifacts_table_row_details_spec.js | 1 + .../components/feedback_banner_spec.js | 63 + .../components/job_artifacts_table_spec.js | 24 +- spec/frontend/autosave_spec.js | 128 +- .../components/submit_dropdown_spec.js | 2 + .../behaviors/markdown/render_gfm_spec.js | 9 + spec/frontend/boards/board_card_inner_spec.js | 20 +- spec/frontend/boards/board_list_helper.js | 7 +- spec/frontend/boards/board_list_spec.js | 2 +- .../boards/components/board_app_spec.js | 3 +- .../boards/components/board_card_spec.js | 8 +- .../boards/components/board_column_spec.js | 1 - .../components/board_content_sidebar_spec.js | 6 +- .../boards/components/board_content_spec.js | 3 +- .../components/board_filtered_search_spec.js | 3 +- .../boards/components/board_form_spec.js | 6 +- .../components/board_list_header_spec.js | 2 +- .../boards/components/board_new_issue_spec.js | 11 +- .../boards/components/board_top_bar_spec.js | 1 + .../boards/components/boards_selector_spec.js | 25 +- .../issue_board_filtered_search_spec.js | 2 +- spec/frontend/boards/stores/getters_spec.js | 36 - .../captcha_modal_axios_interceptor_spec.js | 10 +- .../ci_variable_list/ci_variable_list_spec.js | 2 +- .../native_form_variable_list_spec.js | 2 +- .../components/ci_admin_variables_spec.js | 4 +- .../ci_environments_dropdown_spec.js | 118 + .../components/ci_group_variables_spec.js | 6 +- .../components/ci_project_variables_spec.js | 6 +- .../components/ci_variable_modal_spec.js | 6 +- .../components/ci_variable_settings_spec.js | 10 +- .../components/ci_variable_shared_spec.js | 18 +- .../components/ci_variable_table_spec.js | 4 +- .../{ => ci}/ci_variable_list/mocks.js | 28 +- .../ci_variable_list/services/mock_data.js | 0 .../{ => ci}/ci_variable_list/stubs.js | 0 .../{ => ci}/ci_variable_list/utils_spec.js | 4 +- .../components/editor/text_editor_spec.js | 29 +- .../pipeline_editor/graphql/resolvers_spec.js | 4 +- .../components/pipeline_new_form_spec.js | 28 +- .../components/refs_dropdown_spec.js | 89 +- .../{ => ci}/pipeline_new/mock_data.js | 10 +- .../utils/filter_variables_spec.js | 2 +- .../ci/pipeline_new/utils/format_refs_spec.js | 82 + .../components/pipeline_schedules_spec.js | 73 +- .../cells/pipeline_schedule_actions_spec.js | 11 + .../pipeline_schedule_last_pipeline_spec.js | 12 +- .../ci/pipeline_schedules/mock_data.js | 18 + .../registration_dropdown_spec.js | 12 +- .../ci_environments_dropdown_spec.js | 139 - .../commit/pipelines/pipelines_table_spec.js | 14 +- spec/frontend/constants_spec.js | 30 + .../toolbar_text_style_dropdown_spec.js | 31 +- .../extensions/attachment_spec.js | 10 +- .../content_editor/extensions/link_spec.js | 2 +- .../markdown_processing_spec.js | 16 - .../markdown_processing_spec_helper.js | 92 - .../content_editor/markdown_snapshot_spec.js | 95 +- .../markdown_snapshot_spec_helper.js | 96 - .../services/upload_helpers_spec.js | 4 +- .../deploy_freeze/store/mutations_spec.js | 4 +- .../design_notes/design_reply_form_spec.js | 24 +- .../design_version_dropdown_spec.js.snap | 14 + spec/frontend/diff_spec.js | 72 + spec/frontend/diffs/components/app_spec.js | 1 + .../diffs/components/diff_file_spec.js | 6 +- .../components/diff_line_note_form_spec.js | 3 +- spec/frontend/dropzone_input_spec.js | 6 +- .../json_tests/positive_tests/gitlab-ci.json | 2 - .../yaml_tests/negative_tests/artifacts.yml | 40 +- .../ci/yaml_tests/negative_tests/rules.yml | 5 + .../yaml_tests/positive_tests/artifacts.yml | 20 +- .../ci/yaml_tests/positive_tests/rules.yml | 4 + .../deployment_job_spec.js | 49 + .../deployment_status_link_spec.js | 57 + .../deployment_triggerer_spec.js | 51 + .../environment_details/empty_state_spec.js | 39 + .../environment_details/page_spec.js | 69 + .../environment_details/pagination_spec.js | 157 + .../environment_details_page_spec.js | 50 - .../components/error_tracking_list_spec.js | 18 +- .../error_tracking/store/list/actions_spec.js | 6 +- .../components/project_dropdown_spec.js | 16 +- spec/frontend/error_tracking_settings/mock.js | 7 + .../components/environments_dropdown_spec.js | 10 +- .../new_environments_dropdown_spec.js | 4 +- .../feature_highlight_helper_spec.js | 7 +- spec/frontend/fixtures/environments.rb | 69 +- spec/frontend/fixtures/issues.rb | 2 +- spec/frontend/fixtures/projects.rb | 32 + spec/frontend/fixtures/runner_instructions.rb | 2 +- spec/frontend/flash_spec.js | 204 +- .../frequent_items/components/app_spec.js | 62 +- .../frequent_items_list_item_spec.js | 49 +- .../components/frequent_items_list_spec.js | 35 +- .../frequent_items/store/actions_spec.js | 87 + .../frequent_items/store/mutations_spec.js | 35 + spec/frontend/gfm_auto_complete/mock_data.js | 24 +- spec/frontend/gfm_auto_complete_spec.js | 27 +- .../security_patch_upgrade_alert_spec.js | 84 - .../gitlab_version_check/index_spec.js | 19 +- .../gitlab_version_check/mock_data.js | 6 - .../components/shared_runners_form_spec.js | 2 +- .../ide/components/repo_editor_spec.js | 27 +- .../gitlab_web_ide/get_base_config_spec.js | 18 +- .../ide/stores/modules/commit/actions_spec.js | 39 +- .../modules/terminal/actions/checks_spec.js | 8 +- .../terminal/actions/session_controls_spec.js | 4 +- .../stores/modules/terminal/messages_spec.js | 10 +- .../components/import_status_spec.js | 19 +- .../components/import_actions_cell_spec.js | 38 +- .../components/import_table_spec.js | 103 +- .../graphql/client_factory_spec.js | 12 +- .../incidents_settings_service_spec.js | 8 +- .../edit/components/integration_form_spec.js | 81 +- .../integration_forms/section_spec.js | 109 + .../edit/components/trigger_field_spec.js | 31 +- .../components/integration_overrides_spec.js | 10 +- .../components/invite_members_modal_spec.js | 28 +- .../user_limit_notification_spec.js | 20 +- .../components/issuable_by_email_spec.js | 6 +- .../issuable_header_warnings_spec.js | 5 +- spec/frontend/issuable/issuable_form_spec.js | 10 +- .../components/issues_dashboard_app_spec.js | 171 +- spec/frontend/issues/dashboard/utils_spec.js | 88 + spec/frontend/issues/list/mock_data.js | 19 + .../components/related_merge_requests_spec.js | 6 +- .../show/components/header_actions_spec.js | 33 +- .../create_timeline_events_form_spec.js | 9 +- .../show/components/incidents/mock_data.js | 1 + .../incidents/timeline_events_form_spec.js | 142 +- .../components/project_dropdown_spec.js | 53 +- .../jira_connect/subscriptions/api_spec.js | 14 +- .../components/compatibility_alert_spec.js | 56 - .../components/sign_in_oauth_button_spec.js | 21 +- .../jira_import_form_spec.js.snap | 20 +- .../job/manual_variables_form_spec.js | 21 + .../jobs/components/job/sidebar_spec.js | 4 +- .../jobs/components/table/jobs_table_spec.js | 6 +- .../language_switcher/components/app_spec.js | 10 + .../datetime/date_calculation_utility_spec.js | 18 + .../datetime/date_format_utility_spec.js | 22 +- .../lib/utils/poll_until_complete_spec.js | 14 +- .../locale/ensure_single_line_spec.js | 2 +- .../access_request_action_buttons_spec.js | 1 - .../invite_action_buttons_spec.js | 2 - .../action_buttons/leave_button_spec.js | 59 - .../remove_member_button_spec.js | 18 +- .../user_action_buttons_spec.js | 161 - .../leave_group_dropdown_item_spec.js | 54 + .../remove_member_dropdown_item_spec.js | 77 + .../user_action_dropdown_spec.js | 220 + .../components/modals/leave_modal_spec.js | 122 +- .../modals/remove_member_modal_spec.js | 44 +- .../member_activity_spec.js.snap | 61 + .../components/table/created_at_spec.js | 19 +- .../table/member_action_buttons_spec.js | 4 +- .../components/table/member_activity_spec.js | 40 + .../components/table/member_source_spec.js | 96 +- .../table/members_table_cell_spec.js | 16 + .../components/table/members_table_spec.js | 45 +- .../components/table/role_dropdown_spec.js | 66 +- .../guest_overage_confirm_action_spec.js | 7 + spec/frontend/members/mock_data.js | 18 +- spec/frontend/members/store/actions_spec.js | 8 +- spec/frontend/members/utils_spec.js | 26 + spec/frontend/merge_request_tabs_spec.js | 70 + .../__snapshots__/ml_candidate_spec.js.snap | 45 +- .../__snapshots__/ml_experiment_spec.js.snap | 511 ++- .../components/ml_candidate_spec.js | 4 + .../components/ml_experiment_spec.js | 111 +- .../monitoring/requests/index_spec.js | 20 +- .../frontend/monitoring/store/actions_spec.js | 10 +- .../monitoring/store/mutations_spec.js | 7 +- .../nav/components/new_nav_toggle_spec.js | 23 +- .../notes/components/comment_form_spec.js | 9 +- .../notes/components/note_body_spec.js | 12 +- spec/frontend/notes/stores/actions_spec.js | 6 +- .../custom_notifications_modal_spec.js | 14 +- .../notification_email_listbox_input_spec.js | 81 + .../components/notifications_dropdown_spec.js | 10 +- .../observability/observability_app_spec.js | 29 +- spec/frontend/observability/skeleton_spec.js | 145 +- .../details_page/tags_list_row_spec.js | 8 +- .../list_page/image_list_row_spec.js | 45 +- .../components/package_history_spec.js | 16 +- .../components/delete_modal_spec.js | 8 + .../pypi_installation_spec.js.snap | 2 +- .../details/package_history_spec.js | 16 +- .../details/package_versions_list_spec.js | 57 +- .../details/pypi_installation_spec.js | 2 +- .../components/list/packages_list_spec.js | 156 +- .../pages/__snapshots__/list_spec.js.snap | 125 - .../package_registry/pages/list_spec.js | 103 +- .../bulk_imports_history_app_spec.js | 42 +- .../forks/new/components/fork_form_spec.js | 19 +- .../new/components/project_namespace_spec.js | 42 +- .../__snapshots__/code_coverage_spec.js.snap | 14 +- .../projects/graphs/code_coverage_spec.js | 12 +- .../learn_gitlab_section_link_spec.js | 12 + .../components/interval_pattern_input_spec.js | 2 +- .../wikis/components/wiki_content_spec.js | 6 +- .../pipeline_new/utils/format_refs_spec.js | 21 - .../components/wrapper_spec.js | 7 + spec/frontend/pipelines/pipelines_spec.js | 8 +- .../pipelines/pipelines_table_spec.js | 8 +- .../report_abuse_dropdown_item_spec.js | 73 + .../components/ci_cd_analytics_charts_spec.js | 51 +- .../default_branch_selector_spec.js | 1 + .../components/branch_rule_spec.js | 11 +- .../repository/branch_rules/mock_data.js | 5 +- .../components/service_desk_root_spec.js | 8 +- spec/frontend/read_more_spec.js | 33 +- .../ref/components/ref_selector_spec.js | 11 +- .../repository/commits_service_spec.js | 15 +- .../components/blob_content_viewer_spec.js | 10 +- .../blob_viewers/notebook_viewer_spec.js | 40 + .../blob_viewers/openapi_viewer_spec.js | 30 + .../repository/components/fork_info_spec.js | 122 + .../components/new_directory_modal_spec.js | 8 +- .../components/tree_content_spec.js | 23 +- .../components/upload_blob_modal_spec.js | 4 +- spec/frontend/repository/mock_data.js | 18 + .../utils/ref_switcher_utils_spec.js | 7 + spec/frontend/search/store/utils_spec.js | 22 + .../self_monitor/store/actions_spec.js | 6 +- .../set_status_modal/set_status_form_spec.js | 93 +- .../set_status_modal_wrapper_spec.js | 51 +- .../user_profile_set_status_wrapper_spec.js | 81 +- spec/frontend/set_status_modal/utils_spec.js | 18 +- .../components/assignees/assignees_spec.js | 12 +- .../copy/sidebar_reference_widget_spec.js | 2 +- .../super_sidebar/components/counter_spec.js | 56 + .../components/super_sidebar_spec.js | 33 + .../super_sidebar/components/user_bar_spec.js | 46 + spec/frontend/super_sidebar/mock_data.js | 9 + .../components/project_storage_app_spec.js | 150 + .../components/project_storage_detail_spec.js | 129 + .../components/storage_type_icon_spec.js | 41 + .../storage/components/usage_graph_spec.js | 144 + .../usage_quotas/storage/mock_data.js | 101 + .../usage_quotas/storage/utils_spec.js | 88 + .../components/report_abuse_button_spec.js | 79 + .../mr_collapsible_extension_spec.js | 8 +- .../mr_widget_auto_merge_enabled_spec.js.snap | 163 - .../mr_widget_auto_merge_enabled_spec.js | 8 - .../components/widget/widget_spec.js | 20 +- .../extensions/security_reports/mock_data.js | 141 + .../mr_widget_security_reports_spec.js | 93 + .../extensions/test_report/index_spec.js | 28 +- .../extentions/accessibility/index_spec.js | 12 +- .../extentions/code_quality/index_spec.js | 77 +- .../extentions/code_quality/mock_data.js | 37 +- .../mr_widget_how_to_merge_modal_spec.js | 16 +- .../components/ci_badge_link_spec.js | 4 +- .../store/modules/filters/actions_spec.js | 36 +- .../group_select/group_select_spec.js | 150 +- .../components/header_ci_component_spec.js | 3 +- .../listbox_input/listbox_input_spec.js | 67 +- .../markdown/editor_mode_dropdown_spec.js | 58 + .../components/markdown/field_spec.js | 18 +- .../markdown/markdown_editor_spec.js | 79 +- .../components/markdown/toolbar_spec.js | 15 + .../runner_aws_deployments_modal_spec.js.snap | 177 - .../runner_aws_deployments_modal_spec.js | 72 +- .../runner_docker_instructions_spec.js.snap | 3 + ...unner_kubernetes_instructions_spec.js.snap | 3 + .../runner_aws_instructions_spec.js | 117 + .../runner_cli_instructions_spec.js | 169 + .../runner_docker_instructions_spec.js | 28 + .../runner_kubernetes_instructions_spec.js | 28 + .../runner_instructions/mock_data.js | 8 +- .../runner_instructions_modal_spec.js | 201 +- .../source_viewer/source_viewer_spec.js | 17 +- .../timezone_dropdown_spec.js | 10 +- .../components/web_ide_link_spec.js | 15 +- .../components/issuable_edit_form_spec.js | 24 +- .../work_item_note_body_spec.js.snap | 9 + .../components/notes/activity_filter_spec.js | 74 + .../notes/work_item_note_body_spec.js | 32 + .../components/notes/work_item_note_spec.js | 53 + .../components/work_item_comment_form_spec.js | 205 + .../work_item_comment_locked_spec.js | 41 + .../components/work_item_detail_modal_spec.js | 18 +- .../components/work_item_detail_spec.js | 92 +- .../work_item_link_child_metadata_spec.js | 27 +- .../work_item_link_child_spec.js | 21 +- .../work_item_links_form_spec.js | 93 +- .../work_item_links/work_item_tree_spec.js | 29 +- .../components/work_item_notes_spec.js | 95 +- spec/frontend/work_items/mock_data.js | 362 +- spec/frontend/work_items/router_spec.js | 1 + .../mutations/achievements/create_spec.rb | 54 + .../resolvers/ci/jobs_resolver_spec.rb | 13 + .../resolvers/timelog_resolver_spec.rb | 29 +- spec/graphql/types/access_level_enum_spec.rb | 2 +- .../achievements/achievement_type_spec.rb | 39 + .../types/alert_management/alert_type_spec.rb | 1 + .../runner_countable_connection_type_spec.rb | 11 + .../types/description_version_type_spec.rb | 10 + .../design_management/design_type_spec.rb | 2 +- spec/graphql/types/issue_type_spec.rb | 51 +- .../types/member_access_level_enum_spec.rb | 11 + spec/graphql/types/namespace_type_spec.rb | 2 +- spec/graphql/types/notes/note_type_spec.rb | 5 +- .../types/notes/noteable_interface_spec.rb | 1 + .../notes/system_note_metadata_type_spec.rb | 11 + spec/graphql/types/query_type_spec.rb | 59 +- .../types/repository/blob_type_spec.rb | 13 +- spec/graphql/types/snippet_type_spec.rb | 2 +- .../timelog_connection_type_spec.rb | 44 + .../time_tracking/timelog_sort_enum_spec.rb | 20 + spec/graphql/types/timelog_type_spec.rb | 2 +- spec/graphql/types/user_type_spec.rb | 21 +- spec/graphql/types/users/email_type_spec.rb | 18 + .../users/namespace_commit_email_type_spec.rb | 18 + spec/helpers/admin/components_helper_spec.rb | 30 + spec/helpers/appearances_helper_spec.rb | 14 + spec/helpers/application_helper_spec.rb | 70 +- spec/helpers/button_helper_spec.rb | 1 + spec/helpers/ci/runners_helper_spec.rb | 4 +- spec/helpers/emails_helper_spec.rb | 16 +- spec/helpers/feature_flags_helper_spec.rb | 2 +- spec/helpers/form_helper_spec.rb | 18 + .../groups/group_members_helper_spec.rb | 4 +- .../groups/observability_helper_spec.rb | 19 +- spec/helpers/import_helper_spec.rb | 16 + spec/helpers/issuables_helper_spec.rb | 52 +- spec/helpers/issues_helper_spec.rb | 47 +- spec/helpers/markup_helper_spec.rb | 18 +- spec/helpers/nav_helper_spec.rb | 58 + spec/helpers/preferences_helper_spec.rb | 24 +- .../projects/ml/experiments_helper_spec.rb | 43 +- .../projects/project_members_helper_spec.rb | 10 +- spec/helpers/projects_helper_spec.rb | 27 +- spec/helpers/search_helper_spec.rb | 20 +- spec/helpers/sidebars_helper_spec.rb | 24 + spec/helpers/timeboxes_helper_spec.rb | 63 +- spec/helpers/todos_helper_spec.rb | 45 +- spec/helpers/url_helper_spec.rb | 25 + spec/helpers/users/callouts_helper_spec.rb | 83 +- spec/helpers/version_check_helper_spec.rb | 31 +- .../entities/basic_project_details_spec.rb | 47 +- .../api/entities/bulk_imports/entity_spec.rb | 3 +- .../api/entities/ml/mlflow/run_info_spec.rb | 14 + spec/lib/api/helpers/members_helpers_spec.rb | 53 + spec/lib/api/helpers/packages_helpers_spec.rb | 29 +- .../api/helpers/pagination_strategies_spec.rb | 8 + spec/lib/api/helpers/rate_limiter_spec.rb | 4 +- spec/lib/api/helpers_spec.rb | 19 +- .../jira_connect/jwt/asymmetric_spec.rb | 15 +- .../inline_observability_filter_spec.rb | 54 +- spec/lib/banzai/filter/math_filter_spec.rb | 171 +- .../references/reference_filter_spec.rb | 6 +- .../filter/repository_link_filter_spec.rb | 8 +- .../service_desk_upload_link_filter_spec.rb | 86 + .../lib/banzai/pipeline/full_pipeline_spec.rb | 4 +- .../pipeline/plain_markdown_pipeline_spec.rb | 26 +- .../service_desk_email_pipeline_spec.rb | 16 + spec/lib/bulk_imports/clients/http_spec.rb | 170 +- spec/lib/bulk_imports/groups/stage_spec.rb | 24 +- .../subgroup_to_entity_transformer_spec.rb | 5 +- .../project_attributes_pipeline_spec.rb | 2 +- spec/lib/event_filter_spec.rb | 72 +- .../gitlab/application_rate_limiter_spec.rb | 46 + .../auth/atlassian/identity_linker_spec.rb | 2 +- spec/lib/gitlab/auth/o_auth/user_spec.rb | 8 +- ..._email_to_emails_if_user_confirmed_spec.rb | 49 - ...e_scope_for_personal_access_tokens_spec.rb | 53 + ...fill_jira_tracker_deployment_type2_spec.rb | 2 +- ...l_namespace_traversal_ids_children_spec.rb | 2 +- ...fill_namespace_traversal_ids_roots_spec.rb | 2 +- .../backfill_releases_author_id_spec.rb | 61 + .../backfill_snippet_repositories_spec.rb | 2 +- .../batched_migration_job_spec.rb | 2 +- ...anup_orphaned_lfs_objects_projects_spec.rb | 2 +- .../drop_invalid_vulnerabilities_spec.rb | 2 +- ...ggings_context_from_tags_to_topics_spec.rb | 2 +- .../migrate_u2f_webauthn_spec.rb | 2 +- ...egistry_enabled_to_project_feature_spec.rb | 2 +- .../sanitize_confidential_todos_spec.rb | 12 +- ...overlong_vulnerability_html_titles_spec.rb | 78 + .../update_timelogs_project_id_spec.rb | 2 +- ...wo_factor_auth_required_from_group_spec.rb | 2 +- .../cache/ci/project_pipeline_status_spec.rb | 2 +- spec/lib/gitlab/ci/config/entry/cache_spec.rb | 14 +- spec/lib/gitlab/ci/config/entry/job_spec.rb | 186 +- .../ci/config/entry/processable_spec.rb | 181 +- .../ci/config/entry/product/matrix_spec.rb | 4 +- .../ci/config/entry/product/parallel_spec.rb | 6 +- .../entry/reports/coverage_report_spec.rb | 12 +- .../gitlab/ci/config/entry/reports_spec.rb | 14 +- spec/lib/gitlab/ci/config/entry/root_spec.rb | 15 +- .../gitlab/ci/config/entry/variable_spec.rb | 8 - .../ci/config/external/file/local_spec.rb | 31 +- .../gitlab/ci/config/external/mapper_spec.rb | 11 +- spec/lib/gitlab/ci/config_spec.rb | 95 +- .../cyclonedx_schema_validator_spec.rb | 41 + .../validators/schema_validator_spec.rb | 58 +- .../pipeline/chain/create_deployments_spec.rb | 3 +- .../gitlab/ci/pipeline/chain/create_spec.rb | 4 +- .../pipeline/chain/populate_metadata_spec.rb | 114 +- .../gitlab/ci/pipeline/chain/populate_spec.rb | 5 +- .../ci/pipeline/seed/build/cache_spec.rb | 1 + .../gitlab/ci/status/bridge/factory_spec.rb | 8 +- .../lib/gitlab/ci/status/build/manual_spec.rb | 41 +- .../Jobs/code_quality_gitlab_ci_yaml_spec.rb | 11 +- .../Jobs/sast_iac_gitlab_ci_yaml_spec.rb | 8 +- .../sast_iac_latest_gitlab_ci_yaml_spec.rb | 8 +- .../Jobs/test_gitlab_ci_yaml_spec.rb | 11 +- .../auto_devops_gitlab_ci_yaml_spec.rb | 2 +- spec/lib/gitlab/ci/templates/npm_spec.rb | 5 +- .../terraform_latest_gitlab_ci_yaml_spec.rb | 9 +- .../templates/themekit_gitlab_ci_yaml_spec.rb | 5 +- .../gitlab/ci/variables/collection_spec.rb | 154 +- spec/lib/gitlab/ci/yaml_processor_spec.rb | 66 +- .../gitlab/config/entry/validators_spec.rb | 64 +- .../gitlab/counters/buffered_counter_spec.rb | 574 ++- .../gitlab/counters/legacy_counter_spec.rb | 37 +- spec/lib/gitlab/data_builder/build_spec.rb | 12 +- .../async_indexes/index_creator_spec.rb | 4 +- .../async_indexes/index_destructor_spec.rb | 2 +- .../batched_migration_wrapper_spec.rb | 1 + .../autovacuum_active_on_table_spec.rb | 5 +- .../database/consistency_checker_spec.rb | 2 +- .../lib/gitlab/database/gitlab_schema_spec.rb | 135 +- .../indexing_exclusive_lease_guard_spec.rb | 40 + .../database/load_balancing/resolver_spec.rb | 14 +- .../load_balancing/service_discovery_spec.rb | 52 +- .../database/lock_writes_manager_spec.rb | 31 +- .../database/loose_foreign_keys_spec.rb | 27 + .../automatic_lock_writes_on_tables_spec.rb | 104 +- .../restrict_gitlab_schema_spec.rb | 8 +- .../gitlab/database/migration_helpers_spec.rb | 176 +- .../migrations/instrumentation_spec.rb | 29 +- .../test_batched_background_runner_spec.rb | 22 +- spec/lib/gitlab/database/partitioning_spec.rb | 8 +- .../postgres_autovacuum_activity_spec.rb | 4 +- .../database/postgres_foreign_key_spec.rb | 187 +- .../gitlab/database/query_analyzer_spec.rb | 8 - .../gitlab_schemas_metrics_spec.rb | 8 + ...gitlab_schemas_validate_connection_spec.rb | 9 +- ...revent_cross_database_modification_spec.rb | 3 +- .../query_analyzers/query_recorder_spec.rb | 47 +- .../database/reindexing/coordinator_spec.rb | 168 +- .../reindexing/grafana_notifier_spec.rb | 14 +- .../reindexing/index_selection_spec.rb | 36 +- .../reindexing/reindex_action_spec.rb | 4 +- spec/lib/gitlab/database/reindexing_spec.rb | 6 +- .../gitlab/database/tables_truncate_spec.rb | 40 +- spec/lib/gitlab/database_spec.rb | 20 + .../merge_request_diff_base_spec.rb | 11 + .../merge_request_diff_batch_spec.rb | 2 +- .../paginated_merge_request_diff_spec.rb | 2 +- spec/lib/gitlab/error_tracking_spec.rb | 26 + .../gitlab/gitaly_client/ref_service_spec.rb | 11 - .../gitaly_client/repository_service_spec.rb | 33 - spec/lib/gitlab/gitaly_client_spec.rb | 120 +- .../importer/gist_importer_spec.rb | 4 +- .../importer/gists_importer_spec.rb | 2 +- .../representation/gist_spec.rb | 2 +- .../gitlab/github_gists_import/status_spec.rb | 2 +- .../github_import/bulk_importing_spec.rb | 2 +- spec/lib/gitlab/github_import/client_spec.rb | 42 +- .../importer/labels_importer_spec.rb | 3 +- .../importer/milestones_importer_spec.rb | 2 +- .../protected_branch_importer_spec.rb | 103 +- .../importer/releases_importer_spec.rb | 2 +- .../gitlab/github_import/page_counter_spec.rb | 2 +- .../representation/protected_branch_spec.rb | 25 +- spec/lib/gitlab/http_spec.rb | 6 +- spec/lib/gitlab/import_export/all_models.yml | 11 +- .../base/relation_object_saver_spec.rb | 4 +- .../fast_hash_serializer_spec.rb | 2 +- .../group/legacy_tree_restorer_spec.rb | 153 - .../group/legacy_tree_saver_spec.rb | 159 - .../import_export/project/tree_saver_spec.rb | 2 +- .../import_export/safe_model_attributes.yml | 3 + .../snippets_repo_restorer_spec.rb | 11 +- .../import_export/version_checker_spec.rb | 2 +- .../lib/gitlab/instrumentation_helper_spec.rb | 46 +- spec/lib/gitlab/memory/reporter_spec.rb | 101 +- spec/lib/gitlab/memory/watchdog_spec.rb | 3 +- .../merge_requests/message_generator_spec.rb | 2 +- spec/lib/gitlab/observability_spec.rb | 37 +- spec/lib/gitlab/pages/cache_control_spec.rb | 55 +- .../pagination/cursor_based_keyset_spec.rb | 24 + .../keyset/simple_order_builder_spec.rb | 28 - spec/lib/gitlab/rack_attack_spec.rb | 2 +- spec/lib/gitlab/redis/duplicate_jobs_spec.rb | 10 - spec/lib/gitlab/redis/multi_store_spec.rb | 701 ++- .../lib/gitlab/redis/repository_cache_spec.rb | 49 + spec/lib/gitlab/redis/sidekiq_status_spec.rb | 8 - spec/lib/gitlab/regex_spec.rb | 55 +- .../gitlab/relative_positioning/mover_spec.rb | 2 +- .../gitlab/repository_cache/preloader_spec.rb | 101 +- spec/lib/gitlab/repository_hash_cache_spec.rb | 33 +- .../runner_fleet_pipeline_seeder_spec.rb | 58 + .../ci/runner/runner_fleet_seeder_spec.rb | 71 + .../sidekiq_daemon/memory_killer_spec.rb | 42 +- spec/lib/gitlab/ssh/commit_spec.rb | 15 +- spec/lib/gitlab/ssh/signature_spec.rb | 8 +- spec/lib/gitlab/submodule_links_spec.rb | 2 +- spec/lib/gitlab/tracking_spec.rb | 4 +- .../metrics/aggregates/aggregate_spec.rb | 44 + ... legacy_metric_metadata_decorator_spec.rb} | 21 +- spec/lib/gitlab/usage_data_metrics_spec.rb | 2 +- spec/lib/gitlab/usage_data_queries_spec.rb | 4 +- spec/lib/gitlab/usage_data_spec.rb | 18 +- spec/lib/gitlab/utils/lazy_attributes_spec.rb | 6 +- spec/lib/gitlab/utils/strong_memoize_spec.rb | 117 +- spec/lib/gitlab/utils/usage_data_spec.rb | 24 +- spec/lib/gitlab/version_info_spec.rb | 8 + .../google_api/cloud_platform/client_spec.rb | 145 - spec/lib/object_storage/direct_upload_spec.rb | 1 + .../groups/menus/observability_menu_spec.rb | 10 +- .../groups/menus/settings_menu_spec.rb | 2 +- .../projects/menus/settings_menu_spec.rb | 4 + .../your_work/menus/issues_menu_spec.rb | 12 + .../menus/merge_requests_menu_spec.rb | 12 + .../your_work/menus/todos_menu_spec.rb | 12 + spec/lib/unnested_in_filters/rewriter_spec.rb | 26 +- spec/mailers/devise_mailer_spec.rb | 4 + spec/mailers/emails/imports_spec.rb | 29 + spec/mailers/emails/profile_spec.rb | 10 +- spec/mailers/emails/service_desk_spec.rb | 102 +- spec/metrics_server/metrics_server_spec.rb | 70 +- ...tuple_count_for_batched_migrations_spec.rb | 44 - ...edule_drop_invalid_vulnerabilities_spec.rb | 114 - ...2_copy_adoption_snapshot_namespace_spec.rb | 44 - ...4_copy_adoption_segments_namespace_spec.rb | 25 - ..._value_stream_id_to_project_stages_spec.rb | 42 - ...dule_drop_invalid_vulnerabilities2_spec.rb | 120 - ...anup_orphaned_lfs_objects_projects_spec.rb | 37 - ...10601073400_fix_total_stage_in_vsa_spec.rb | 30 - ...ironments_add_index_and_constraint_spec.rb | 29 - ...st_diff_users_background_migration_spec.rb | 3 +- ...150320_create_base_work_item_types_spec.rb | 3 +- ...203408_upsert_base_work_item_types_spec.rb | 2 +- ...te_merge_request_diff_commit_users_spec.rb | 2 +- ...equest_diff_commit_users_migration_spec.rb | 2 +- ...204445_add_task_to_work_item_types_spec.rb | 2 +- ...eanup_draft_data_from_faulty_regex_spec.rb | 2 +- ...ix_merge_request_diff_commit_users_spec.rb | 2 +- ...e_and_keyresult_to_work_item_types_spec.rb | 2 +- ...access_tokens_with_null_expires_in_spec.rb | 24 + ...hedule_backfill_releases_author_id_spec.rb | 53 + ...t_partition_id_value_for_ci_tables_spec.rb | 78 + ...t_statistics_upload_size_migration_spec.rb | 22 + ...c_new_amount_used_with_amount_used_spec.rb | 54 + ...vulnerabilities_feedback_migration_spec.rb | 33 + ..._ci_namespace_monthly_usages_table_spec.rb | 55 + ...6111252_finalize_todo_sanitization_spec.rb | 57 + spec/migrations/add_new_trail_plans_spec.rb | 95 - ...ers_integration_prometheus_enabled_spec.rb | 80 - ...tion_policies_for_oncall_schedules_spec.rb | 103 - ...rary_packages_to_processing_status_spec.rb | 34 - .../change_web_hook_events_default_spec.rb | 36 - .../clean_up_pending_builds_table_spec.rb | 48 - ..._email_to_emails_if_user_confirmed_spec.rb | 48 - ...egistry_enabled_to_project_feature_spec.rb | 45 - ...cleanup_mr_attention_request_todos_spec.rb | 2 +- .../confirm_support_bot_user_spec.rb | 86 - ...ete_security_findings_without_uuid_spec.rb | 36 - ...line_schedule_triggers_plan_limits_spec.rb | 73 - .../migrate_elastic_index_settings_spec.rb | 44 - ...istry_enabled_to_project_features3_spec.rb | 59 - ...al_information_for_vulnerabilities_spec.rb | 61 - ...e_scope_for_personal_access_tokens_spec.rb | 18 + .../remove_hipchat_service_records_spec.rb | 23 - ..._without_group_from_webhooks_table_spec.rb | 27 - ..._email_to_emails_if_user_confirmed_spec.rb | 31 - ..._on_merge_requests_corrected_regex_spec.rb | 3 +- ...cies_linked_to_no_container_images_spec.rb | 47 - ...chedule_update_timelogs_project_id_spec.rb | 33 - ...wo_factor_auth_required_from_group_spec.rb | 29 - .../second_recount_epic_cache_counts_spec.rb | 32 + ...rge_request_diff_commit_migrations_spec.rb | 2 +- .../update_invalid_web_hooks_spec.rb | 30 - spec/models/abuse_report_spec.rb | 40 +- spec/models/achievements/achievement_spec.rb | 3 + .../achievements/user_achievement_spec.rb | 13 + .../cycle_analytics/aggregation_spec.rb | 22 +- .../cycle_analytics/project_stage_spec.rb | 2 +- spec/models/appearance_spec.rb | 4 +- spec/models/application_setting_spec.rb | 40 +- spec/models/bulk_imports/entity_spec.rb | 20 + spec/models/chat_name_spec.rb | 12 +- spec/models/ci/bridge_spec.rb | 41 +- spec/models/ci/build_spec.rb | 80 +- spec/models/ci/job_artifact_spec.rb | 36 +- spec/models/ci/namespace_mirror_spec.rb | 2 +- spec/models/ci/pipeline_spec.rb | 17 +- spec/models/ci/runner_machine_spec.rb | 51 + spec/models/ci/runner_spec.rb | 26 +- spec/models/ci/runner_version_spec.rb | 8 +- spec/models/clusters/providers/aws_spec.rb | 33 - spec/models/clusters/providers/gcp_spec.rb | 25 - spec/models/commit_collection_spec.rb | 16 +- .../commit_signatures/ssh_signature_spec.rb | 36 +- spec/models/commit_spec.rb | 14 - .../models/concerns/counter_attribute_spec.rb | 44 + spec/models/concerns/has_user_type_spec.rb | 3 +- spec/models/concerns/noteable_spec.rb | 76 + .../safely_change_column_default_spec.rb | 75 + .../sensitive_serializable_hash_spec.rb | 2 +- spec/models/deployment_spec.rb | 23 +- spec/models/environment_spec.rb | 38 +- spec/models/event_collection_spec.rb | 19 + spec/models/event_spec.rb | 15 +- spec/models/factories_spec.rb | 10 +- spec/models/group_spec.rb | 196 +- spec/models/integration_spec.rb | 2 + .../integrations/apple_app_store_spec.rb | 105 + .../base_chat_notification_spec.rb | 8 +- .../chat_message/issue_message_spec.rb | 1 + .../chat_message/pipeline_message_spec.rb | 12 - .../integrations/every_integration_spec.rb | 4 +- spec/models/integrations/field_spec.rb | 2 + spec/models/issue_spec.rb | 2 +- spec/models/member_spec.rb | 45 +- spec/models/members/member_role_spec.rb | 23 +- .../approval_removal_settings_spec.rb | 2 +- spec/models/merge_request_diff_spec.rb | 23 +- spec/models/merge_request_spec.rb | 72 +- spec/models/ml/candidate_spec.rb | 53 +- spec/models/namespace_setting_spec.rb | 76 +- spec/models/namespace_spec.rb | 20 +- spec/models/note_spec.rb | 44 + spec/models/oauth_access_token_spec.rb | 18 + spec/models/packages/package_file_spec.rb | 7 + spec/models/packages/package_spec.rb | 5 +- spec/models/pages/lookup_path_spec.rb | 10 +- spec/models/pages_domain_spec.rb | 2 +- spec/models/personal_access_token_spec.rb | 31 +- spec/models/plan_limits_spec.rb | 7 + spec/models/project_import_state_spec.rb | 20 +- spec/models/project_spec.rb | 271 +- spec/models/project_statistics_spec.rb | 168 +- spec/models/projects/branch_rule_spec.rb | 32 + .../build_artifacts_size_refresh_spec.rb | 64 +- spec/models/release_spec.rb | 4 + spec/models/repository_spec.rb | 65 +- spec/models/resource_event_spec.rb | 19 + spec/models/resource_label_event_spec.rb | 18 +- spec/models/resource_milestone_event_spec.rb | 3 +- spec/models/resource_state_event_spec.rb | 3 +- spec/models/timelog_spec.rb | 28 +- spec/models/todo_spec.rb | 62 +- spec/models/user_detail_spec.rb | 83 +- spec/models/user_highest_role_spec.rb | 2 +- spec/models/user_spec.rb | 271 +- .../users/namespace_commit_email_spec.rb | 34 +- spec/models/work_item_spec.rb | 7 + spec/models/work_items/parent_link_spec.rb | 12 + .../work_items/widgets/hierarchy_spec.rb | 20 +- .../concerns/archived_abilities_spec.rb | 2 +- spec/policies/global_policy_spec.rb | 106 +- spec/policies/group_policy_spec.rb | 21 +- spec/policies/issue_policy_spec.rb | 124 +- spec/policies/merge_request_policy_spec.rb | 30 + spec/policies/note_policy_spec.rb | 36 +- .../project_group_link_policy_spec.rb | 56 + spec/policies/project_policy_spec.rb | 2 +- .../resource_label_event_policy_spec.rb | 2 +- .../resource_milestone_event_policy_spec.rb | 73 + .../resource_state_event_policy_spec.rb | 39 + spec/policies/todo_policy_spec.rb | 2 +- spec/policies/user_policy_spec.rb | 26 + spec/policies/work_item_policy_spec.rb | 2 +- .../ci/build_runner_presenter_spec.rb | 27 - spec/presenters/ci/stage_presenter_spec.rb | 2 +- .../nuget/packages_metadata_presenter_spec.rb | 13 +- spec/presenters/project_presenter_spec.rb | 40 + .../requests/abuse_reports_controller_spec.rb | 90 +- spec/requests/api/appearance_spec.rb | 10 +- spec/requests/api/boards_spec.rb | 2 +- spec/requests/api/bulk_imports_spec.rb | 200 +- spec/requests/api/ci/jobs_spec.rb | 70 + .../api/ci/runner/jobs_artifacts_spec.rb | 39 + spec/requests/api/commits_spec.rb | 12 - .../api/debian_project_packages_spec.rb | 29 +- spec/requests/api/environments_spec.rb | 74 + spec/requests/api/files_spec.rb | 120 +- spec/requests/api/graphql/ci/config_spec.rb | 64 +- spec/requests/api/graphql/ci/jobs_spec.rb | 8 +- .../api/graphql/group/merge_requests_spec.rb | 2 +- spec/requests/api/graphql/group_query_spec.rb | 2 +- spec/requests/api/graphql/issues_spec.rb | 65 +- .../merge_request/merge_request_spec.rb | 2 +- .../mutations/achievements/create_spec.rb | 78 + .../api/graphql/mutations/ci/job_play_spec.rb | 39 +- .../graphql/mutations/groups/update_spec.rb | 19 +- .../members/groups/bulk_update_spec.rb | 130 + .../mutations/merge_requests/create_spec.rb | 2 +- .../merge_requests/reviewer_rereview_spec.rb | 2 +- .../merge_requests/set_assignees_spec.rb | 2 +- .../merge_requests/set_draft_spec.rb | 2 +- .../merge_requests/set_locked_spec.rb | 2 +- .../merge_requests/set_milestone_spec.rb | 2 +- .../merge_requests/set_reviewers_spec.rb | 2 +- .../merge_requests/set_subscription_spec.rb | 2 +- .../mutations/work_items/update_spec.rb | 4 +- .../api/graphql/project/branch_rules_spec.rb | 45 +- .../api/graphql/project/issues_spec.rb | 4 - .../requests/api/graphql/project/jobs_spec.rb | 12 +- .../project/merge_request/diff_notes_spec.rb | 2 +- .../api/graphql/project/merge_request_spec.rb | 2 +- .../graphql/project/merge_requests_spec.rb | 2 +- .../api/graphql/project/pipeline_spec.rb | 17 +- .../api/graphql/project/runners_spec.rb | 12 - .../api/graphql/project/work_items_spec.rb | 2 +- spec/requests/api/graphql/user_spec.rb | 41 + spec/requests/api/graphql/work_item_spec.rb | 18 + spec/requests/api/group_boards_spec.rb | 2 +- spec/requests/api/group_export_spec.rb | 11 +- spec/requests/api/import_github_spec.rb | 143 +- spec/requests/api/internal/base_spec.rb | 24 +- .../api/issues/get_project_issues_spec.rb | 61 +- spec/requests/api/issues/issues_spec.rb | 5 + .../api/markdown_golden_master_spec.rb | 9 - spec/requests/api/merge_requests_spec.rb | 10 + spec/requests/api/ml/mlflow_spec.rb | 10 +- .../requests/api/nuget_group_packages_spec.rb | 40 +- spec/requests/api/pages_domains_spec.rb | 3 + .../api/project_debian_distributions_spec.rb | 25 +- spec/requests/api/project_export_spec.rb | 14 +- spec/requests/api/projects_spec.rb | 14 +- spec/requests/api/release/links_spec.rb | 27 + spec/requests/api/releases_spec.rb | 28 +- spec/requests/api/repositories_spec.rb | 12 +- spec/requests/api/rubygem_packages_spec.rb | 26 +- spec/requests/api/search_spec.rb | 20 + spec/requests/api/settings_spec.rb | 64 +- .../snippet_repository_storage_moves_spec.rb | 2 +- spec/requests/api/suggestions_spec.rb | 2 +- spec/requests/api/todos_spec.rb | 32 +- spec/requests/api/users_spec.rb | 299 +- spec/requests/dashboard_controller_spec.rb | 28 + .../groups/observability_controller_spec.rb | 21 +- .../groups/usage_quotas_controller_spec.rb | 2 +- spec/requests/openid_connect_spec.rb | 1 + .../projects/issues_controller_spec.rb | 47 +- .../projects/merge_requests/content_spec.rb | 2 +- .../context_commit_diffs_spec.rb | 3 +- .../projects/merge_requests/creations_spec.rb | 17 +- .../projects/merge_requests/diffs_spec.rb | 14 +- .../merge_requests_controller_spec.rb | 76 +- .../projects/ml/candidates_controller_spec.rb | 8 +- .../ml/experiments_controller_spec.rb | 53 +- spec/requests/projects_controller_spec.rb | 2 +- spec/requests/pwa_controller_spec.rb | 20 +- spec/requests/rack_attack_global_spec.rb | 10 +- spec/requests/users_controller_spec.rb | 12 + spec/routing/group_routing_spec.rb | 8 +- spec/rubocop/check_graceful_task_spec.rb | 2 +- .../feature_category_spec.rb | 71 + .../cop/gitlab/strong_memoize_attr_spec.rb | 36 +- .../cop/lint/last_keyword_argument_spec.rb | 10 +- spec/scripts/trigger-build_spec.rb | 24 +- .../ci/downloadable_artifact_entity_spec.rb | 5 +- spec/serializers/ci/pipeline_entity_spec.rb | 10 - spec/serializers/diffs_entity_spec.rb | 7 +- .../serializers/diffs_metadata_entity_spec.rb | 7 +- .../project_group_link_entity_spec.rb | 27 + .../merge_requests/pipeline_entity_spec.rb | 10 - .../serializers/paginated_diff_entity_spec.rb | 7 +- .../serializers/project_mirror_entity_spec.rb | 4 +- spec/serializers/stage_entity_spec.rb | 2 +- .../achievements/create_service_spec.rb | 46 + spec/services/audit_event_service_spec.rb | 2 +- .../create_pipeline_trackers_service_spec.rb | 2 +- .../bulk_imports/create_service_spec.rb | 311 +- .../get_importable_data_service_spec.rb | 14 +- .../chat_names/authorize_user_service_spec.rb | 5 +- ...create_downstream_pipeline_service_spec.rb | 77 +- .../ci/create_pipeline_service/cache_spec.rb | 13 +- .../create_pipeline_service/include_spec.rb | 22 +- .../ci/create_pipeline_service/logger_spec.rb | 69 + .../ci/create_pipeline_service/rules_spec.rb | 5 +- .../create_pipeline_service/variables_spec.rb | 37 - .../ci/create_pipeline_service_spec.rb | 33 +- .../ci/job_artifacts/create_service_spec.rb | 76 + .../destroy_all_expired_service_spec.rb | 9 +- .../destroy_associations_service_spec.rb | 37 +- .../destroy_batch_service_spec.rb | 64 +- .../atomic_processing_service_spec.rb | 21 +- .../aws/authorize_role_service_spec.rb | 102 - .../aws/fetch_credentials_service_spec.rb | 139 - .../aws/finalize_creation_service_spec.rb | 124 - .../clusters/aws/provision_service_spec.rb | 130 - .../verify_provision_status_service_spec.rb | 76 - spec/services/clusters/create_service_spec.rb | 1 - .../gcp/fetch_operation_service_spec.rb | 45 - .../gcp/finalize_creation_service_spec.rb | 161 - .../clusters/gcp/provision_service_spec.rb | 71 - .../verify_provision_status_service_spec.rb | 111 - .../consistency_check_service_spec.rb | 2 +- .../save_designs_service_spec.rb | 23 +- .../discussions/resolve_service_spec.rb | 14 +- .../discussions/unresolve_service_spec.rb | 29 +- .../draft_notes/publish_service_spec.rb | 8 + .../environments/stop_stale_service_spec.rb | 49 + .../feature_flags/create_service_spec.rb | 2 +- .../feature_flags/destroy_service_spec.rb | 2 +- .../feature_flags/update_service_spec.rb | 2 +- spec/services/files/base_service_spec.rb | 59 + .../import_export/export_service_spec.rb | 10 - .../import_export/import_service_spec.rb | 444 +- spec/services/groups/transfer_service_spec.rb | 37 +- .../update_shared_runners_service_spec.rb | 28 +- .../ide/schemas_config_service_spec.rb | 34 +- .../github/gists_import_service_spec.rb | 26 +- spec/services/import/github_service_spec.rb | 56 +- .../issue_links/create_service_spec.rb | 4 +- spec/services/issues/close_service_spec.rb | 2 +- .../issues/export_csv_service_spec.rb | 2 +- spec/services/issues/update_service_spec.rb | 2 + spec/services/lfs/file_transformer_spec.rb | 38 +- spec/services/members/destroy_service_spec.rb | 108 +- spec/services/members/update_service_spec.rb | 44 +- .../merge_requests/base_service_spec.rb | 68 +- .../merge_requests/rebase_service_spec.rb | 39 + .../merge_requests/refresh_service_spec.rb | 6 +- .../merge_requests/update_service_spec.rb | 26 +- .../candidate_repository_spec.rb | 22 +- spec/services/notes/create_service_spec.rb | 18 + spec/services/notification_service_spec.rb | 9 +- .../packages/conan/search_service_spec.rb | 2 +- .../pages_domains/create_service_spec.rb | 3 +- .../pages_domains/delete_service_spec.rb | 3 +- .../retry_acme_order_service_spec.rb | 2 + .../pages_domains/update_service_spec.rb | 3 +- .../revoke_service_spec.rb | 14 +- spec/services/projects/create_service_spec.rb | 5 +- spec/services/projects/import_service_spec.rb | 22 + ..._artifacts_size_statistics_service_spec.rb | 20 +- .../projects/transfer_service_spec.rb | 4 +- .../repositories/changelog_service_spec.rb | 2 +- spec/services/search_service_spec.rb | 28 + ...dependency_scanning_create_service_spec.rb | 20 + .../sast_create_service_spec.rb | 2 +- .../submit_service_ping_service_spec.rb | 13 +- spec/services/service_response_spec.rb | 36 + .../test_hooks/project_service_spec.rb | 18 +- .../test_hooks/system_service_spec.rb | 4 +- spec/services/todo_service_spec.rb | 131 +- spec/services/users/block_service_spec.rb | 11 +- spec/services/users/signup_service_spec.rb | 20 +- spec/services/users/unblock_service_spec.rb | 45 + .../work_items/create_service_spec.rb | 2 +- .../parent_links/create_service_spec.rb | 2 +- .../hierarchy_service/update_service_spec.rb | 4 +- spec/simplecov_env.rb | 1 + spec/spec_helper.rb | 4 +- spec/support/caching.rb | 6 +- spec/support/capybara.rb | 13 + spec/support/helpers/api_helpers.rb | 9 +- .../helpers/cycle_analytics_helpers.rb | 2 +- .../helpers/database/database_helpers.rb | 30 +- .../helpers/database/table_schema_helpers.rb | 4 +- .../helpers/features/members_helpers.rb | 16 + .../helpers/features/web_ide_spec_helpers.rb | 10 +- spec/support/helpers/listbox_helpers.rb | 24 + spec/support/helpers/listbox_input_helper.rb | 18 - spec/support/helpers/login_helpers.rb | 2 + spec/support/helpers/migrations_helpers.rb | 6 +- .../helpers/navbar_structure_helper.rb | 5 +- spec/support/helpers/query_recorder.rb | 4 +- spec/support/helpers/usage_data_helpers.rb | 5 +- spec/support/matchers/be_boolean.rb | 10 + spec/support/matchers/exceed_query_limit.rb | 29 + spec/support/redis/redis_helpers.rb | 7 - .../redis_new_instance_shared_examples.rb | 60 +- spec/support/redis/redis_shared_examples.rb | 78 +- spec/support/rspec_order_todo.yml | 252 +- .../clusters/create_service_shared.rb | 5 +- .../bulk_imports_requests_shared_context.rb | 2 +- .../integrations_shared_context.rb | 8 +- .../markdown_golden_master_shared_examples.rb | 132 - .../navbar_structure_context.rb | 43 + .../policies/group_policy_shared_context.rb | 3 +- .../cycle_analytics/parentable_examples.rb | 28 + ...ubish_import_controller_shared_examples.rb | 121 +- ...issuables_list_metadata_shared_examples.rb | 4 + .../rate_limited_endpoint_shared_examples.rb | 26 +- .../code_highlight_shared_examples.rb | 13 + .../content_editor_shared_examples.rb | 3 +- .../dashboard/sidebar_shared_examples.rb | 21 + .../reportable_note_shared_examples.rb | 2 +- .../finders/issues_finder_shared_examples.rb | 18 + ...quest_interactions_type_shared_examples.rb | 3 + .../your_work/menus/menu_item_examples.rb | 38 + .../counter_attribute_shared_examples.rb | 75 +- .../reset_secret_fields_shared_examples.rb | 2 +- .../cycle_analytics_stage_shared_examples.rb | 2 +- .../models/member_shared_examples.rb | 12 +- .../members_notifications_shared_example.rb | 2 +- .../relative_positioning_shared_examples.rb | 3 +- .../models/resource_event_shared_examples.rb | 12 + ...date_project_statistics_shared_examples.rb | 10 +- .../shared_examples/namespaces/members.rb | 13 + .../observability/csp_shared_examples.rb | 47 +- .../close_quick_action_shared_examples.rb | 4 +- ...o_incident_quick_action_shared_examples.rb | 28 + .../api/graphql/issue_list_shared_examples.rb | 33 +- .../api/issuable_search_shared_examples.rb | 32 + .../api/nuget_endpoints_shared_examples.rb | 38 +- .../api/nuget_packages_shared_examples.rb | 20 + .../create_links_shared_examples.rb | 2 +- ...troyable_issuable_links_shared_examples.rb | 7 +- .../housekeeping_shared_examples.rb | 50 +- .../create_service_shared_examples.rb | 62 + ...ground_migration_worker_shared_examples.rb | 24 +- ...garbage_collect_methods_shared_examples.rb | 108 - .../update_repository_move_shared_examples.rb | 4 + spec/support/tmpdir.rb | 18 + .../license_metadata_tags_spec.rb | 31 + spec/tasks/cache/clear/redis_spec.rb | 41 +- spec/tasks/gitlab/backup_rake_spec.rb | 2 +- .../rollback/bump_ci_sequences_rake_spec.rb | 2 +- spec/tasks/gitlab/db/lock_writes_rake_spec.rb | 39 +- .../db/truncate_legacy_tables_rake_spec.rb | 8 +- spec/tasks/gitlab/db_rake_spec.rb | 2 +- .../update_banned_ssh_keys_rake_spec.rb | 56 + .../gitlab/seed/runner_fleet_rake_spec.rb | 43 + spec/tooling/danger/specs_spec.rb | 33 +- spec/tooling/danger/user_types_spec.rb | 56 - .../lib/tooling/view_to_js_mappings_spec.rb | 356 ++ spec/tooling/quality/test_level_spec.rb | 36 +- spec/uploaders/object_storage_spec.rb | 12 + .../_repository_check.html.haml_spec.rb | 21 - .../general.html.haml_spec.rb | 6 +- .../index.html.haml_spec.rb | 52 - .../admin/dashboard/index.html.haml_spec.rb | 10 + .../errors/omniauth_error.html.haml_spec.rb | 6 +- spec/views/groups/edit.html.haml_spec.rb | 8 +- .../nav/sidebar/_admin.html.haml_spec.rb | 18 + .../nav/sidebar/_project.html.haml_spec.rb | 2 +- spec/views/layouts/snippets.html.haml_spec.rb | 48 + .../notifications/show.html.haml_spec.rb | 25 +- .../preferences/show.html.haml_spec.rb | 5 +- spec/views/projects/_files.html.haml_spec.rb | 73 - .../projects/commit/show.html.haml_spec.rb | 7 +- spec/views/projects/edit.html.haml_spec.rb | 6 +- .../welcome/show.html.haml_spec.rb | 4 - spec/views/search/_results.html.haml_spec.rb | 9 +- spec/views/search/show.html.haml_spec.rb | 2 +- ...rity_patch_upgrade_alert.html.haml_spec.rb | 4 - .../shared/projects/_list.html.haml_spec.rb | 2 +- spec/workers/ci/build_finished_worker_spec.rb | 6 + .../initial_pipeline_process_worker_spec.rb | 58 +- spec/workers/cluster_provision_worker_spec.rb | 47 - .../counters/cleanup_refresh_worker_spec.rb | 42 + spec/workers/every_sidekiq_worker_spec.rb | 1 + .../finish_import_worker_spec.rb | 35 +- .../import_gist_worker_spec.rb | 2 +- .../start_import_worker_spec.rb | 2 +- .../import_protected_branch_worker_spec.rb | 3 +- .../create_pipeline_worker_spec.rb | 6 +- .../invalidate_domain_cache_worker_spec.rb | 66 +- .../expired_notification_worker_spec.rb | 4 +- spec/workers/pipeline_schedule_worker_spec.rb | 29 +- .../projects/delete_branch_worker_spec.rb | 26 +- ..._project_statistics_refresh_worker_spec.rb | 41 + .../git_garbage_collect_worker_spec.rb | 5 +- ...d_artifacts_size_statistics_worker_spec.rb | 32 +- spec/workers/repository_import_worker_spec.rb | 134 +- .../run_pipeline_schedule_worker_spec.rb | 105 +- .../wait_for_cluster_creation_worker_spec.rb | 47 - .../wikis/git_garbage_collect_worker_spec.rb | 2 +- tests.yml | 10 + tooling/bin/view_to_js_mappings | 10 + tooling/danger/config_files.rb | 2 +- tooling/danger/specs.rb | 31 +- tooling/danger/user_types.rb | 31 - tooling/lib/tooling/view_to_js_mappings.rb | 77 + tooling/quality/test_level.rb | 21 +- vendor/aws/cloudformation/eks_cluster.yaml | 342 -- .../aws/iam/eks_cluster_read_only_policy.json | 17 - vendor/gems/bundler-checksum/README.md | 2 +- .../bundler-checksum/bin/bundler-checksum | 4 +- .../bundler-checksum/bundler-checksum.gemspec | 4 +- .../bundler-checksum/lib/bundler-checksum.rb | 2 +- .../lib/bundler/checksum/version.rb | 8 - .../checksum.rb => bundler_checksum.rb} | 56 +- .../checksum => bundler_checksum}/command.rb | 2 +- .../command/helper.rb | 2 +- .../command/init.rb | 6 +- .../command/verify.rb | 4 +- .../lib/bundler_checksum/version.rb | 6 + .../test/project_with_checksum_lock/Gemfile | 2 +- workhorse/Makefile | 7 +- workhorse/_support/detect-external-tests.sh | 11 + workhorse/go.mod | 10 +- workhorse/go.sum | 24 +- workhorse/internal/api/api.go | 4 + workhorse/internal/badgateway/roundtripper.go | 10 +- .../internal/badgateway/roundtripper_test.go | 35 + .../internal/lsif_transformer/parser/docs.go | 10 +- .../lsif_transformer/parser/docs_test.go | 32 +- .../internal/upload/body_uploader_test.go | 12 +- .../upload/destination/destination.go | 10 +- .../upload/destination/destination_test.go | 148 +- .../upload/destination/filestore/filestore.go | 4 + .../internal/upload/destination/multi_hash.go | 41 +- .../upload/destination/multi_hash_test.go | 52 + .../objectstore/gocloud_object_test.go | 11 +- .../destination/objectstore/multipart.go | 10 +- .../destination/objectstore/multipart_test.go | 5 +- .../destination/objectstore/object_test.go | 11 +- .../objectstore/s3_complete_multipart_api.go | 38 +- .../destination/objectstore/s3_object_test.go | 11 +- .../destination/objectstore/s3api/s3api.go | 37 + .../objectstore/test/objectstore_stub.go | 10 +- .../destination/objectstore/uploader.go | 34 +- .../upload/destination/upload_opts.go | 26 +- .../upload/destination/upload_opts_test.go | 25 +- .../upload/object_storage_preparer_test.go | 7 +- workhorse/internal/upload/uploads_test.go | 9 +- .../internal/zipartifacts/metadata_test.go | 12 +- workhorse/upload_test.go | 147 +- yarn.lock | 454 +- 4679 files changed, 148679 insertions(+), 68105 deletions(-) create mode 100644 .rubocop_todo/background_migration/feature_category.yml create mode 100644 .rubocop_todo/layout/array_alignment.yml create mode 100644 .rubocop_todo/layout/first_argument_indentation.yml create mode 100644 .rubocop_todo/layout/first_array_element_indentation.yml create mode 100644 .rubocop_todo/layout/line_continuation_leading_space.yml create mode 100644 .rubocop_todo/layout/line_continuation_spacing.yml create mode 100644 .rubocop_todo/layout/line_end_string_concatenation_indentation.yml create mode 100644 .rubocop_todo/layout/parameter_alignment.yml create mode 100644 .rubocop_todo/lint/ambiguous_regexp_literal.yml create mode 100644 .rubocop_todo/performance/concurrent_monotonic_time.yml create mode 100644 .rubocop_todo/performance/flat_map.yml create mode 100644 .rubocop_todo/performance/map_compact.yml create mode 100644 .rubocop_todo/performance/redundant_equality_comparison_block.yml create mode 100644 .rubocop_todo/performance/redundant_split_regexp_argument.yml create mode 100644 app/assets/javascripts/abuse_reports/components/abuse_category_selector.vue delete mode 100644 app/assets/javascripts/analytics/cycle_analytics/components/metric_tile.vue create mode 100644 app/assets/javascripts/artifacts/components/feedback_banner.vue delete mode 100644 app/assets/javascripts/behaviors/markdown/init_gfm.js delete mode 100644 app/assets/javascripts/blob/template_selectors/type_selector.js rename app/assets/javascripts/{ => ci}/ci_variable_list/ci_variable_list.js (100%) rename app/assets/javascripts/{ => ci}/ci_variable_list/components/ci_admin_variables.vue (100%) rename app/assets/javascripts/{ => ci}/ci_variable_list/components/ci_environments_dropdown.vue (54%) rename app/assets/javascripts/{ => ci}/ci_variable_list/components/ci_group_variables.vue (100%) rename app/assets/javascripts/{ => ci}/ci_variable_list/components/ci_project_variables.vue (100%) rename app/assets/javascripts/{ => ci}/ci_variable_list/components/ci_variable_autocomplete_tokens.js (100%) rename app/assets/javascripts/{ => ci}/ci_variable_list/components/ci_variable_modal.vue (99%) rename app/assets/javascripts/{ => ci}/ci_variable_list/components/ci_variable_settings.vue (100%) rename app/assets/javascripts/{ => ci}/ci_variable_list/components/ci_variable_shared.vue (100%) rename app/assets/javascripts/{ => ci}/ci_variable_list/components/ci_variable_table.vue (100%) rename app/assets/javascripts/{ => ci}/ci_variable_list/constants.js (100%) rename app/assets/javascripts/{ => ci}/ci_variable_list/graphql/fragments/ci_variable.fragment.graphql (100%) rename app/assets/javascripts/{ => ci}/ci_variable_list/graphql/mutations/admin_add_variable.mutation.graphql (80%) rename app/assets/javascripts/{ => ci}/ci_variable_list/graphql/mutations/admin_delete_variable.mutation.graphql (81%) rename app/assets/javascripts/{ => ci}/ci_variable_list/graphql/mutations/admin_update_variable.mutation.graphql (81%) rename app/assets/javascripts/{ => ci}/ci_variable_list/graphql/mutations/client/add_project_environment.mutation.graphql (100%) rename app/assets/javascripts/{ => ci}/ci_variable_list/graphql/mutations/group_add_variable.mutation.graphql (86%) rename app/assets/javascripts/{ => ci}/ci_variable_list/graphql/mutations/group_delete_variable.mutation.graphql (86%) rename app/assets/javascripts/{ => ci}/ci_variable_list/graphql/mutations/group_update_variable.mutation.graphql (86%) rename app/assets/javascripts/{ => ci}/ci_variable_list/graphql/mutations/project_add_variable.mutation.graphql (86%) rename app/assets/javascripts/{ => ci}/ci_variable_list/graphql/mutations/project_delete_variable.mutation.graphql (86%) rename app/assets/javascripts/{ => ci}/ci_variable_list/graphql/mutations/project_update_variable.mutation.graphql (86%) rename app/assets/javascripts/{ => ci}/ci_variable_list/graphql/queries/group_variables.query.graphql (85%) rename app/assets/javascripts/{ => ci}/ci_variable_list/graphql/queries/project_environments.query.graphql (100%) rename app/assets/javascripts/{ => ci}/ci_variable_list/graphql/queries/project_variables.query.graphql (84%) rename app/assets/javascripts/{ => ci}/ci_variable_list/graphql/queries/variables.query.graphql (81%) rename app/assets/javascripts/{ => ci}/ci_variable_list/graphql/settings.js (98%) rename app/assets/javascripts/{ => ci}/ci_variable_list/index.js (100%) rename app/assets/javascripts/{ => ci}/ci_variable_list/native_form_variable_list.js (100%) rename app/assets/javascripts/{ => ci}/ci_variable_list/utils.js (100%) rename app/assets/javascripts/{ => ci}/pipeline_new/components/pipeline_new_form.vue (100%) create mode 100644 app/assets/javascripts/ci/pipeline_new/components/refs_dropdown.vue rename app/assets/javascripts/{ => ci}/pipeline_new/constants.js (100%) rename app/assets/javascripts/{ => ci}/pipeline_new/graphql/mutations/create_pipeline.mutation.graphql (100%) rename app/assets/javascripts/{ => ci}/pipeline_new/graphql/queries/ci_config_variables.graphql (100%) rename app/assets/javascripts/{ => ci}/pipeline_new/graphql/resolvers.js (100%) rename app/assets/javascripts/{ => ci}/pipeline_new/index.js (100%) rename app/assets/javascripts/{ => ci}/pipeline_new/utils/filter_variables.js (100%) create mode 100644 app/assets/javascripts/ci/pipeline_new/utils/format_refs.js create mode 100644 app/assets/javascripts/ci/pipeline_schedules/components/pipeline_schedules_empty_state.vue create mode 100644 app/assets/javascripts/ci/pipeline_schedules/graphql/mutations/play_pipeline_schedule.mutation.graphql create mode 100644 app/assets/javascripts/ci/runner/project_runners/index.js create mode 100644 app/assets/javascripts/ci/runner/project_runners/project_runners_app.vue create mode 100644 app/assets/javascripts/environments/environment_details/components/deployment_job.vue create mode 100644 app/assets/javascripts/environments/environment_details/components/deployment_status_link.vue create mode 100644 app/assets/javascripts/environments/environment_details/components/deployment_triggerer.vue create mode 100644 app/assets/javascripts/environments/environment_details/deployments_table.vue create mode 100644 app/assets/javascripts/environments/environment_details/empty_state.vue create mode 100644 app/assets/javascripts/environments/environment_details/pagination.vue delete mode 100644 app/assets/javascripts/gitlab_version_check/components/security_patch_upgrade_alert.vue delete mode 100644 app/assets/javascripts/groups_select.js create mode 100644 app/assets/javascripts/integrations/edit/components/integration_forms/section.vue create mode 100644 app/assets/javascripts/issues/dashboard/utils.js delete mode 100644 app/assets/javascripts/jira_connect/subscriptions/components/compatibility_alert.vue rename app/assets/javascripts/locale/{ensure_single_line.js => ensure_single_line.cjs} (100%) delete mode 100644 app/assets/javascripts/members/components/action_buttons/leave_button.vue delete mode 100644 app/assets/javascripts/members/components/action_buttons/user_action_buttons.vue create mode 100644 app/assets/javascripts/members/components/action_dropdowns/constants.js create mode 100644 app/assets/javascripts/members/components/action_dropdowns/leave_group_dropdown_item.vue create mode 100644 app/assets/javascripts/members/components/action_dropdowns/remove_member_dropdown_item.vue create mode 100644 app/assets/javascripts/members/components/action_dropdowns/user_action_dropdown.vue create mode 100644 app/assets/javascripts/members/components/table/member_activity.vue create mode 100644 app/assets/javascripts/members/guest_overage_confirm_action.js create mode 100644 app/assets/javascripts/notifications/components/notification_email_listbox_input.vue delete mode 100644 app/assets/javascripts/pages/admin/broadcast_messages/broadcast_message.js create mode 100644 app/assets/javascripts/pages/groups/observability/datasources/index.js create mode 100644 app/assets/javascripts/pages/projects/usage_quotas/index.js delete mode 100644 app/assets/javascripts/pipeline_new/components/refs_dropdown.vue delete mode 100644 app/assets/javascripts/pipeline_new/utils/format_refs.js create mode 100644 app/assets/javascripts/projects/merge_requests/components/report_abuse_dropdown_item.vue create mode 100644 app/assets/javascripts/projects/merge_requests/index.js delete mode 100644 app/assets/javascripts/ref_select_dropdown.js create mode 100644 app/assets/javascripts/repository/components/blob_viewers/notebook_viewer.vue create mode 100644 app/assets/javascripts/repository/components/blob_viewers/openapi_viewer.vue create mode 100644 app/assets/javascripts/repository/components/fork_info.vue create mode 100644 app/assets/javascripts/repository/queries/fork_details.query.graphql create mode 100644 app/assets/javascripts/super_sidebar/components/bottom_bar.vue create mode 100644 app/assets/javascripts/super_sidebar/components/context_switcher.vue create mode 100644 app/assets/javascripts/super_sidebar/components/context_switcher_toggle.vue create mode 100644 app/assets/javascripts/super_sidebar/components/counter.vue create mode 100644 app/assets/javascripts/super_sidebar/components/nav_item.vue create mode 100644 app/assets/javascripts/super_sidebar/components/super_sidebar.vue create mode 100644 app/assets/javascripts/super_sidebar/components/user_bar.vue create mode 100644 app/assets/javascripts/super_sidebar/mock_data.js create mode 100644 app/assets/javascripts/super_sidebar/super_sidebar_bundle.js create mode 100644 app/assets/javascripts/usage_quotas/storage/components/project_storage_app.vue create mode 100644 app/assets/javascripts/usage_quotas/storage/components/project_storage_detail.vue create mode 100644 app/assets/javascripts/usage_quotas/storage/components/storage_type_icon.vue create mode 100644 app/assets/javascripts/usage_quotas/storage/components/usage_graph.vue create mode 100644 app/assets/javascripts/usage_quotas/storage/constants.js create mode 100644 app/assets/javascripts/usage_quotas/storage/init_project_storage.js create mode 100644 app/assets/javascripts/usage_quotas/storage/queries/project_storage.query.graphql create mode 100644 app/assets/javascripts/usage_quotas/storage/utils.js create mode 100644 app/assets/javascripts/users/profile/components/report_abuse_button.vue create mode 100644 app/assets/javascripts/users/profile/index.js create mode 100644 app/assets/javascripts/vue_merge_request_widget/extensions/security_reports/graphql/security_report_merge_request_download_paths.query.graphql create mode 100644 app/assets/javascripts/vue_merge_request_widget/extensions/security_reports/mr_widget_security_reports.vue create mode 100644 app/assets/javascripts/vue_shared/components/constants.js create mode 100644 app/assets/javascripts/vue_shared/components/group_select/init_group_selects.js create mode 100644 app/assets/javascripts/vue_shared/components/listbox_input/init_listbox_inputs.js create mode 100644 app/assets/javascripts/vue_shared/components/markdown/editor_mode_dropdown.vue delete mode 100644 app/assets/javascripts/vue_shared/components/runner_aws_deployments/constants.js rename app/assets/javascripts/vue_shared/components/runner_instructions/graphql/{queries => }/get_runner_platforms.query.graphql (100%) rename app/assets/javascripts/vue_shared/components/runner_instructions/graphql/{queries => }/get_runner_setup.query.graphql (100%) create mode 100644 app/assets/javascripts/vue_shared/components/runner_instructions/instructions/runner_aws_instructions.vue create mode 100644 app/assets/javascripts/vue_shared/components/runner_instructions/instructions/runner_cli_instructions.vue create mode 100644 app/assets/javascripts/vue_shared/components/runner_instructions/instructions/runner_docker_instructions.vue create mode 100644 app/assets/javascripts/vue_shared/components/runner_instructions/instructions/runner_kubernetes_instructions.vue create mode 100644 app/assets/javascripts/work_items/components/notes/activity_filter.vue create mode 100644 app/assets/javascripts/work_items/components/notes/work_item_note.vue create mode 100644 app/assets/javascripts/work_items/components/notes/work_item_note_body.vue create mode 100644 app/assets/javascripts/work_items/components/work_item_comment_form.vue create mode 100644 app/assets/javascripts/work_items/components/work_item_comment_locked.vue create mode 100644 app/assets/javascripts/work_items/components/work_item_note_signed_out.vue create mode 100644 app/assets/javascripts/work_items/graphql/create_work_item_note.mutation.graphql rename app/assets/javascripts/work_items/graphql/{discussion.fragment.graphql => work_item_note.fragment.graphql} (60%) create mode 100644 app/assets/stylesheets/framework/super_sidebar.scss create mode 100644 app/controllers/concerns/content_security_policy_patch.rb delete mode 100644 app/controllers/import/available_namespaces_controller.rb create mode 100644 app/graphql/mutations/achievements/create.rb create mode 100644 app/graphql/mutations/members/groups/bulk_update.rb create mode 100644 app/graphql/types/achievements/achievement_type.rb create mode 100644 app/graphql/types/ci/runner_countable_connection_type.rb create mode 100644 app/graphql/types/description_version_type.rb create mode 100644 app/graphql/types/member_access_level_enum.rb create mode 100644 app/graphql/types/notes/system_note_metadata_type.rb create mode 100644 app/graphql/types/time_tracking/timelog_connection_type.rb create mode 100644 app/graphql/types/time_tracking/timelog_sort_enum.rb create mode 100644 app/graphql/types/users/email_type.rb create mode 100644 app/graphql/types/users/namespace_commit_email_type.rb create mode 100644 app/helpers/admin/components_helper.rb create mode 100644 app/helpers/protected_branches_helper.rb create mode 100644 app/helpers/url_helper.rb create mode 100644 app/mailers/emails/imports.rb create mode 100644 app/models/achievements/user_achievement.rb create mode 100644 app/models/ci/runner_machine.rb create mode 100644 app/models/concerns/analytics/cycle_analytics/parentable.rb rename app/models/concerns/analytics/cycle_analytics/{stage.rb => stageable.rb} (63%) create mode 100644 app/models/concerns/ci/has_runner_executor.rb create mode 100644 app/models/concerns/safely_change_column_default.rb create mode 100644 app/models/concerns/work_item_resource_event.rb create mode 100644 app/models/integrations/apple_app_store.rb delete mode 100644 app/models/integrations/flowdock.rb create mode 100644 app/models/projects/branch_rule.rb create mode 100644 app/policies/achievements/achievement_policy.rb create mode 100644 app/policies/description_version_policy.rb create mode 100644 app/policies/email_policy.rb create mode 100644 app/policies/project_group_link_policy.rb create mode 100644 app/policies/projects/branch_rule_policy.rb create mode 100644 app/policies/resource_event_policy.rb create mode 100644 app/policies/resource_milestone_event_policy.rb create mode 100644 app/policies/resource_state_event_policy.rb create mode 100644 app/policies/users/namespace_commit_email_policy.rb create mode 100644 app/services/achievements/base_service.rb create mode 100644 app/services/achievements/create_service.rb delete mode 100644 app/services/clusters/aws/authorize_role_service.rb delete mode 100644 app/services/clusters/aws/fetch_credentials_service.rb delete mode 100644 app/services/clusters/aws/finalize_creation_service.rb delete mode 100644 app/services/clusters/aws/provision_service.rb delete mode 100644 app/services/clusters/aws/verify_provision_status_service.rb delete mode 100644 app/services/clusters/gcp/fetch_operation_service.rb delete mode 100644 app/services/clusters/gcp/finalize_creation_service.rb delete mode 100644 app/services/clusters/gcp/provision_service.rb delete mode 100644 app/services/clusters/gcp/verify_provision_status_service.rb create mode 100644 app/services/environments/stop_stale_service.rb create mode 100644 app/services/users/unblock_service.rb delete mode 100644 app/views/admin/broadcast_messages/_form.html.haml delete mode 100644 app/views/admin/broadcast_messages/_table.html.haml create mode 100644 app/views/admin/dashboard/_stats_users_table.html.haml create mode 100644 app/views/layouts/nav/sidebar/_your_work.html.haml create mode 100644 app/views/notify/github_gists_import_errors_email.html.haml create mode 100644 app/views/notify/github_gists_import_errors_email.text.erb delete mode 100644 app/views/projects/_fork_info.html.haml delete mode 100644 app/views/projects/triggers/_trigger.html.haml delete mode 100644 app/views/shared/_ref_dropdown.html.haml create mode 100644 app/views/shared/nav/_your_work_scope_header.html.haml create mode 100644 app/workers/counters/cleanup_refresh_worker.rb create mode 100644 app/workers/projects/finalize_project_statistics_refresh_worker.rb rename config/feature_flags/development/{critical_security_alert.yml => achievements.yml} (70%) rename config/feature_flags/development/{bulk_update_membership_roles.yml => admin_emails_vue.yml} (72%) rename config/feature_flags/development/{markdown_dollar_math.yml => apple_app_store_integration.yml} (63%) delete mode 100644 config/feature_flags/development/ci_raw_variables_in_yaml_config.yml rename config/feature_flags/development/{ci_pipeline_triggers_settings_vue_ui.yml => ci_use_run_pipeline_schedule_worker.yml} (71%) rename config/feature_flags/development/{rate_limit_gitlab_shell.yml => commit_search_trailing_spaces.yml} (71%) delete mode 100644 config/feature_flags/development/dispensable_render.yml delete mode 100644 config/feature_flags/development/display_merge_conflicts_in_diff.yml create mode 100644 config/feature_flags/development/environment_search_api_min_chars.yml rename config/feature_flags/development/{prevent_outdated_deployment_jobs.yml => environments_search_logging.yml} (70%) rename config/feature_flags/development/{bulk_import.yml => github_import_gists.yml} (65%) delete mode 100644 config/feature_flags/development/group_export_ndjson.yml delete mode 100644 config/feature_flags/development/group_import_ndjson.yml create mode 100644 config/feature_flags/development/hide_merge_requests_from_banned_users.yml create mode 100644 config/feature_flags/development/incident_event_tags.yml rename config/feature_flags/development/{limit_assigned_issues_count.yml => issue_type_uses_work_item_types_table.yml} (70%) rename config/feature_flags/development/{cache_project_integrations.yml => jobs_api_keyset_pagination.yml} (73%) rename config/feature_flags/development/{ci_build_partition_id_token_prefix.yml => move_create_deployments_to_worker.yml} (71%) delete mode 100644 config/feature_flags/development/optimized_housekeeping.yml delete mode 100644 config/feature_flags/development/paginated_mr_discussions.yml delete mode 100644 config/feature_flags/development/phabricator_import.yml delete mode 100644 config/feature_flags/development/pipeline_name.yml create mode 100644 config/feature_flags/development/project_members_index_by_project_namespace.yml create mode 100644 config/feature_flags/development/project_runners_vue_ui.yml rename config/feature_flags/development/{ci_refactoring_external_mapper.yml => project_statistics_bulk_increment.yml} (66%) delete mode 100644 config/feature_flags/development/rate_limit_gitlab_shell_by_ip.yml create mode 100644 config/feature_flags/development/rate_limit_issuable_searches.yml rename config/feature_flags/development/{delay_for_repository_update_mirror.yml => readme_from_gitaly.yml} (70%) create mode 100644 config/feature_flags/development/remove_job_token_on_completion.yml delete mode 100644 config/feature_flags/development/repository_archive_hotlinking_interception.yml rename config/feature_flags/development/{track_and_raise_delete_source_errors.yml => reset_merge_error_on_transition.yml} (70%) delete mode 100644 config/feature_flags/development/schema_linting.yml rename config/feature_flags/development/{update_vuln_identifiers_flag.yml => sec_mark_dropped_findings_as_resolved_scheduler.yml} (60%) rename config/feature_flags/development/{ci_bridge_remove_sourced_pipelines.yml => service_desk_new_note_email_native_attachments.yml} (59%) create mode 100644 config/feature_flags/development/skip_notes_diff_include.yml delete mode 100644 config/feature_flags/development/ssh_commit_signatures.yml create mode 100644 config/feature_flags/development/support_group_level_merge_checks_setting.yml delete mode 100644 config/feature_flags/development/update_oauth_registration_flow.yml delete mode 100644 config/feature_flags/development/use_api_for_payment_validation.yml create mode 100644 config/feature_flags/development/use_primary_and_secondary_stores_for_repository_cache.yml create mode 100644 config/feature_flags/development/use_primary_store_as_default_for_repository_cache.yml rename config/feature_flags/development/{vue_group_select.yml => your_work_sidebar.yml} (75%) create mode 100644 config/feature_flags/experiment/show_pages_in_deployments_menu.yml rename config/feature_flags/{development/vue_broadcast_messages.yml => experiment/tier_badge.yml} (57%) create mode 100644 config/feature_flags/ops/projects_build_artifacts_size_refresh_high.yml create mode 100644 config/feature_flags/ops/projects_build_artifacts_size_refresh_medium.yml create mode 100644 config/feature_flags/ops/suggested_reviewers_internal_api.yml create mode 100644 config/initializers/gitlab_suggested_reviewers_secret.rb create mode 100644 config/metrics/counts_all/20221209212603_projects_inheriting_apple_app_store_active.yml create mode 100644 config/metrics/counts_all/20221209213642_groups_apple_app_store_active.yml create mode 100644 config/metrics/counts_all/20221209214020_projects_apple_app_store_active.yml create mode 100644 config/metrics/counts_all/20221209233053_groups_inheriting_apple_app_store_active.yml create mode 100644 config/metrics/counts_all/20221209233201_instances_apple_app_store_active.yml create mode 100644 config/security/banned_ssh_keys.yml delete mode 100644 danger/plugins/user_types.rb delete mode 100644 danger/user_types/Dangerfile create mode 100644 data/deprecations/15-8-azure-storage-driver-root-prefix.yml create mode 100644 data/deprecations/15-8-conan-search-limited-to-project.yml create mode 100644 data/deprecations/15-8-default-private-user-profile.yml create mode 100644 data/deprecations/15-8-dependency-scanning-java-versions.yml create mode 100644 data/deprecations/15-8-deprecate-auto-deploy-postgres-enabled.yml create mode 100644 data/deprecations/15-8-deprecate-backups-support-for-openstack-rackspace-apis.yml create mode 100644 data/deprecations/15-8-deprecate-deploy-PAT-with-external-auth.yml create mode 100644 data/deprecations/15-8-deprecate-disabled-with-override-runner-setting-value.yml create mode 100644 data/deprecations/15-8-deprecate-gitlabcom-importer.yml create mode 100644 data/deprecations/15-8-deprecate-herokuish.yml create mode 100644 data/deprecations/15-8-deprecate-import-bare-repositories-rake-task.yml create mode 100644 data/deprecations/15-8-deprecate-merge-request-approvals-fields.yml create mode 100644 data/deprecations/15-8-deprecate-opensuse-15-3.yml create mode 100644 data/deprecations/15-8-deprecate-updated-at-error.yml create mode 100644 data/deprecations/15-8-live-preview.yml create mode 100644 data/deprecations/15-8-projects-api-ops-access-level.yml create mode 100644 data/deprecations/15-8-pull-through-cache-container-registry.yml create mode 100644 data/deprecations/15-8-raise-permissions-settings-package-stage.yml create mode 100644 data/deprecations/15-8-redis-config-env.yml create mode 100644 data/deprecations/15-8-redis-localhost.yml create mode 100644 data/deprecations/15-8-remove-deprecated-environment-tier-param-from-dora-api.yml create mode 100644 data/deprecations/15-8-restrict-gitlab-projects-imports-to-maintainers-and-above.yml create mode 100644 data/deprecations/15-8-revoked-agent-tokens-api-change.yml create mode 100644 data/deprecations/15-8-terraform-latest-stable-change.yml create mode 100644 data/deprecations/15-8-third-party-registries.yml create mode 100644 data/deprecations/15-8-visual-review-tool.yml create mode 100644 data/deprecations/15.8-kas-private-tls.yml create mode 100644 data/whats_new/20230220001_15_08.yml create mode 100644 db/docs/analytics_dashboards_pointers.yml create mode 100644 db/docs/ci_runner_machines.yml create mode 100644 db/docs/elastic_group_index_statuses.yml delete mode 100644 db/docs/geo_container_repository_updated_events.yml create mode 100644 db/docs/user_achievements.yml create mode 100644 db/fixtures/development/35_emails.rb delete mode 100644 db/migrate/20210302025305_add_excluded_urls_and_request_headers_to_dast_site_profiles.rb delete mode 100644 db/migrate/20210302103851_add_deployed_deployment_id_index_to_project_pages_metadata.rb delete mode 100644 db/migrate/20210302155904_remove_index_for_security_orchestration_policy.rb delete mode 100644 db/migrate/20210302160544_add_index_to_security_orchestration_policy.rb delete mode 100644 db/migrate/20210302212623_rename_vuln_fingerprints_indexes.rb delete mode 100644 db/migrate/20210303053341_add_last_edited_at_and_last_edited_by_id_to_notes.rb delete mode 100644 db/migrate/20210303091651_add_index_to_environments_tier.rb delete mode 100644 db/migrate/20210303165201_add_index_for_succeeded_deployments.rb delete mode 100644 db/migrate/20210303165301_add_not_null_constraint_to_cluster_token_name.rb delete mode 100644 db/migrate/20210303193544_add_concurrent_fields_to_bulk_imports_trackers.rb delete mode 100644 db/migrate/20210303193605_add_text_limits_to_bulk_imports_trackers_jid_and_pipeline_name.rb delete mode 100644 db/migrate/20210305002016_update_terraform_states_locked_by_user_id_foreign_key.rb delete mode 100644 db/migrate/20210305013509_add_text_limit_to_group_ci_variables_environment_scope.rb delete mode 100644 db/migrate/20210305031822_create_dast_site_profile_variables.rb delete mode 100644 db/migrate/20210305145622_add_terraform_module_max_file_size_to_plan_limits.rb delete mode 100644 db/migrate/20210305180331_create_ci_unit_tests.rb delete mode 100644 db/migrate/20210305182740_add_projects_fk_to_ci_unit_tests.rb delete mode 100644 db/migrate/20210305182855_create_ci_unit_test_failures.rb delete mode 100644 db/migrate/20210305183904_add_ci_builds_fk_to_ci_unit_test_failures.rb delete mode 100644 db/migrate/20210306121300_partition_web_hook_logs.rb delete mode 100644 db/migrate/20210308125742_add_info_column_into_security_scans_table.rb delete mode 100644 db/migrate/20210308175224_change_namespace_settings_delayed_project_removal_null.rb delete mode 100644 db/migrate/20210308175225_add_lock_delayed_project_removal_to_namespace_settings.rb delete mode 100644 db/migrate/20210308175226_add_delayed_project_removal_to_application_settings.rb delete mode 100644 db/migrate/20210308175227_add_lock_delayed_project_removal_to_application_settings.rb delete mode 100644 db/migrate/20210308190413_change_batched_background_migrations_batch_class_name_default.rb delete mode 100644 db/migrate/20210309160106_add_admin_mode_to_application_setting.rb delete mode 100644 db/migrate/20210309181019_add_last_used_at_to_cluster_agent_token.rb delete mode 100644 db/migrate/20210310000627_add_idx_vulnerability_occurrences_dedup.rb delete mode 100644 db/migrate/20210310111009_add_settings_to_group_merge_request_approval_settings.rb delete mode 100644 db/migrate/20210311022012_add_text_limits_to_dast_site_profiles.rb delete mode 100644 db/migrate/20210311120152_add_metrics_to_batched_background_migration_jobs.rb delete mode 100644 db/migrate/20210311120153_initialize_conversion_of_events_id_to_bigint.rb delete mode 100644 db/migrate/20210311120154_initialize_conversion_of_push_event_payloads_event_id_to_bigint.rb delete mode 100644 db/migrate/20210312140029_add_owner_and_id_index_on_active_ci_pipeline_schedules.rb delete mode 100644 db/migrate/20210312174321_add_enforced_git_check_to_saml_provider.rb delete mode 100644 db/migrate/20210312193532_add_resource_access_token_creation_allowed_to_namespace_settings.rb delete mode 100644 db/migrate/20210313045617_add_verification_state_and_started_at_to_snippet_repositories.rb delete mode 100644 db/migrate/20210313045845_add_verification_indexes_to_snippet_repositories.rb delete mode 100644 db/migrate/20210316094047_add_trial_extension_type_to_gitlab_subscription_histories.rb delete mode 100644 db/migrate/20210316094323_add_trial_extension_type_to_gitlab_subscriptions.rb delete mode 100644 db/migrate/20210316152500_add_index_ci_stages_on_pipeline_id_and_id.rb delete mode 100644 db/migrate/20210316171009_create_packages_helm_file_metadata.rb delete mode 100644 db/migrate/20210317035357_create_dast_profiles_pipelines.rb delete mode 100644 db/migrate/20210317100520_create_elastic_index_settings.rb delete mode 100644 db/migrate/20210317104301_create_in_product_marketing_emails.rb delete mode 100644 db/migrate/20210317105904_add_user_foreign_key_to_in_product_marketing_emails.rb delete mode 100644 db/migrate/20210317123054_add_throttle_package_registry_columns.rb delete mode 100644 db/migrate/20210317192943_add_expiry_notification_delivered_to_keys.rb delete mode 100644 db/migrate/20210317210338_add_valid_runner_registrars.rb delete mode 100644 db/migrate/20210318134427_delete_security_findings_without_uuid.rb delete mode 100644 db/migrate/20210319071214_add_helm_max_file_size_to_plan_limits.rb delete mode 100644 db/migrate/20210322063407_add_dast_profile_id_fk_to_dast_profiles_pipelines.rb delete mode 100644 db/migrate/20210322063450_add_ci_pipeline_id_fk_to_dast_profiles_pipelines.rb delete mode 100644 db/migrate/20210322182751_add_index_to_keys_on_expires_at_and_expiry_notification_undelivered.rb delete mode 100644 db/migrate/20210323064751_add_namespace_traversal_ids_index.rb delete mode 100644 db/migrate/20210323125809_create_status_check_responses_table.rb delete mode 100644 db/migrate/20210323130831_add_merge_request_foreign_key_to_status_check_responses.rb delete mode 100644 db/migrate/20210323131543_add_external_approval_rule_foreign_key_to_status_check_responses.rb delete mode 100644 db/migrate/20210323155010_populate_dismissal_information_for_vulnerabilities.rb delete mode 100644 db/migrate/20210323182846_add_project_status_date_index_to_merge_requests.rb delete mode 100644 db/migrate/20210324112439_add_index_mirror_data_on_retry_next_execution_where_status.rb delete mode 100644 db/migrate/20210324131727_migrate_elastic_index_settings.rb delete mode 100644 db/migrate/20210325092215_add_not_valid_foreign_key_to_group_hooks.rb delete mode 100644 db/migrate/20210325113129_validate_foreign_key_on_service_hooks.rb delete mode 100644 db/migrate/20210325150837_add_verification_state_to_ci_pipeline_artifact.rb delete mode 100644 db/migrate/20210325151758_add_verification_failure_limit_to_ci_pipeline_artifact.rb delete mode 100644 db/migrate/20210325152011_add_verification_indexes_to_ci_pipeline_artifacts.rb delete mode 100644 db/migrate/20210326035553_add_index_for_project_deployments_with_environment_id_and_updated_at.rb delete mode 100644 db/migrate/20210326190903_create_vulnerability_finding_evidences.rb delete mode 100644 db/migrate/20210329095548_add_target_project_and_source_branch_index_to_merge_request.rb delete mode 100644 db/migrate/20210329191850_add_finding_signature_table.rb delete mode 100644 db/migrate/20210329192716_add_composite_index_to_award_emoji.rb delete mode 100644 db/migrate/20210330015805_add_cloud_to_licenses.rb delete mode 100644 db/migrate/20210331000934_add_config_to_ci_runners.rb delete mode 100644 db/migrate/20210331125111_add_default_target_project.rb delete mode 100644 db/migrate/20210331145548_add_index_for_last_deployment.rb delete mode 100644 db/migrate/20210331180118_remove_deprecated_index_from_award_emoji.rb delete mode 100644 db/migrate/20210401134157_add_index_to_pages_deployments.rb delete mode 100644 db/migrate/20210401134455_remove_index_mirror_data_on_next_execution_and_retry_count.rb delete mode 100644 db/migrate/20210401175134_add_before_expiry_notification_delivered_to_keys.rb delete mode 100644 db/migrate/20210401192808_add_index_to_keys_on_expires_at_and_before_expiry_notification_undelivered.rb delete mode 100644 db/migrate/20210406063442_create_namespaces_id_parent_id_partial_index.rb delete mode 100644 db/migrate/20210406140057_add_total_tuple_count_to_batched_migrations.rb delete mode 100644 db/migrate/20210407002511_add_type_to_dast_site_profile.rb delete mode 100644 db/migrate/20210407111027_add_whats_new_application_setting.rb delete mode 100644 db/migrate/20210407140539_add_verification_state_and_started_at_to_terraform_state_version_table.rb delete mode 100644 db/migrate/20210409084242_create_index_on_notes_for_cherry_picked_merge_requests.rb delete mode 100644 db/migrate/20210411212813_add_clusters_integrations_prometheus.rb delete mode 100644 db/migrate/20210412111213_create_security_orchestration_policy_rule_schedule.rb delete mode 100644 db/migrate/20210412132736_add_instance_url_to_jira_connect_installations.rb delete mode 100644 db/migrate/20210412132824_add_text_limit_to_jira_connect_installations_instance_url.rb delete mode 100644 db/migrate/20210412142223_add_user_index_on_spam_logs.rb delete mode 100644 db/migrate/20210412172030_add_configured_at_to_security_orchestration_policy.rb delete mode 100644 db/migrate/20210413121101_add_created_at_web_hook_id_index_to_partitioned_web_hook_log.rb delete mode 100644 db/migrate/20210413123832_add_index_on_web_hook_id_to_partitioned_web_hook_log.rb delete mode 100644 db/migrate/20210413155324_add_pause_seconds_to_batched_background_migrations.rb delete mode 100644 db/migrate/20210414045322_add_pause_seconds_to_batched_background_migration_jobs.rb delete mode 100644 db/migrate/20210414095944_add_index_services_on_project_and_type_where_inherit_null.rb delete mode 100644 db/migrate/20210414100914_add_bulk_import_exports_table.rb delete mode 100644 db/migrate/20210414130017_add_foreign_key_to_bulk_import_exports_on_project.rb delete mode 100644 db/migrate/20210414130526_add_foreign_key_to_bulk_import_exports_on_group.rb delete mode 100644 db/migrate/20210414131600_add_external_pipeline_validation_to_application_setting.rb delete mode 100644 db/migrate/20210414131807_add_bulk_import_exports_table_indexes.rb delete mode 100644 db/migrate/20210414133310_add_bulk_import_export_uploads_table.rb delete mode 100644 db/migrate/20210415100159_initialize_conversion_of_ci_build_needs_to_bigint.rb delete mode 100644 db/migrate/20210415142700_add_url_limit_to_pipeline_validation.rb delete mode 100644 db/migrate/20210415144538_remove_index_epics_on_group_id_from_epics.rb delete mode 100644 db/migrate/20210415172516_create_vulnerability_finding_evidence_requests.rb delete mode 100644 db/migrate/20210416172516_create_vulnerability_finding_evidence_responses.rb delete mode 100644 db/migrate/20210419090412_remove_debian_group_architectures_distribution_id_index.rb delete mode 100644 db/migrate/20210419090542_remove_debian_project_architectures_distribution_id_index.rb delete mode 100644 db/migrate/20210419203017_add_remote_import_url_to_import_export_upload.rb delete mode 100644 db/migrate/20210419203018_add_remote_text_limit_to_import_url_in_import_export_upload.rb delete mode 100644 db/migrate/20210419224834_update_issues_iteration_foreign_key.rb delete mode 100644 db/migrate/20210420012444_change_web_hook_events_default.rb delete mode 100644 db/migrate/20210420012909_index_cluster_agent_tokens_on_last_used_at.rb delete mode 100644 db/migrate/20210420120734_initialize_conversion_of_ci_job_artifacts_to_bigint.rb delete mode 100644 db/migrate/20210420173030_add_verification_indexes_to_terraform_state_versions.rb delete mode 100644 db/migrate/20210420210642_recreate_index_for_project_deployments_with_environment_id_and_date_at.rb delete mode 100644 db/migrate/20210420221106_update_merge_requests_iteration_foreign_key.rb delete mode 100644 db/migrate/20210421021510_add_deactivate_dormant_users_to_application_settings.rb delete mode 100644 db/migrate/20210421022010_add_index_for_dormant_users.rb delete mode 100644 db/migrate/20210421081724_add_codeowners_devops_adoption_snapshot.rb delete mode 100644 db/migrate/20210421190157_remove_elastic_task_null_constraint_from_elastic_reindexing_subtasks.rb delete mode 100644 db/migrate/20210422022825_initialize_conversion_of_ci_sources_pipelines_source_job_id_to_bigint.rb delete mode 100644 db/migrate/20210422142647_add_project_id_next_run_at_index_to_container_expiration_policies.rb delete mode 100644 db/migrate/20210422181809_add_project_to_timelogs.rb delete mode 100644 db/migrate/20210422195929_create_elastic_reindexing_slices.rb delete mode 100644 db/migrate/20210423054022_create_dast_site_profiles_pipelines.rb delete mode 100644 db/migrate/20210423054537_add_dast_site_profile_id_fk_to_dast_site_profiles_pipelines.rb delete mode 100644 db/migrate/20210423054846_add_ci_pipeline_id_fk_to_dast_site_profiles_pipelines.rb delete mode 100644 db/migrate/20210423155059_add_runner_registration_to_plan_limits.rb delete mode 100644 db/migrate/20210423164702_insert_runner_registration_plan_limits.rb delete mode 100644 db/migrate/20210423171304_re_order_fk_source_project_id_in_merge_requests.rb delete mode 100644 db/migrate/20210424115725_swap_partitioned_web_hook_logs.rb delete mode 100644 db/migrate/20210424163400_add_project_id_fk_to_timelogs.rb delete mode 100644 db/migrate/20210426094524_initialize_conversion_of_ci_builds_to_bigint.rb delete mode 100644 db/migrate/20210427045604_initialize_conversion_of_ci_build_trace_chunks_to_bigint.rb delete mode 100644 db/migrate/20210427062807_add_index_to_batched_migration_jobs_status.rb delete mode 100644 db/migrate/20210427084924_initialize_conversion_of_ci_builds_runner_session_to_bigint.rb delete mode 100644 db/migrate/20210427094931_add_execution_order_index_to_batched_background_migration_jobs.rb delete mode 100644 db/migrate/20210427125400_add_spamcheck_api_key_to_application_setting.rb delete mode 100644 db/migrate/20210427194958_add_description_roll_over_to_iterations_cadences.rb delete mode 100644 db/migrate/20210427200840_add_text_limit_to_iterations_cadences_description.rb delete mode 100644 db/migrate/20210428151144_update_invalid_web_hooks.rb delete mode 100644 db/migrate/20210428151238_validate_foreign_key_on_group_hooks.rb delete mode 100644 db/migrate/20210429024843_add_escalation_policies.rb delete mode 100644 db/migrate/20210429032320_add_escalation_rules.rb delete mode 100644 db/migrate/20210429131525_create_user_credit_card_validations.rb delete mode 100644 db/migrate/20210429181325_add_failure_tracking_to_web_hooks.rb delete mode 100644 db/migrate/20210429192653_add_generic_package_duplicate_settings_to_namespace_package_settings.rb delete mode 100644 db/migrate/20210429193106_add_text_limit_to_namespace_package_settings_generic_duplicate_exception_regex.rb delete mode 100644 db/migrate/20210430034712_add_alert_manager_token_to_clusters_integration_prometheus.rb delete mode 100644 db/migrate/20210430100947_add_elasticsearch_username_password_to_application_settings.rb delete mode 100644 db/migrate/20210430121522_initialize_conversion_of_ci_build_trace_sections_to_bigint.rb delete mode 100644 db/migrate/20210430122951_add_snapshot_namespace_id.rb delete mode 100644 db/migrate/20210430124212_add_display_namespace_id_to_segments.rb delete mode 100644 db/migrate/20210430124630_add_devops_adoption_indexes.rb delete mode 100644 db/migrate/20210430154631_add_slice_multiplier_and_max_slices_to_elastic_reindexing_task.rb delete mode 100644 db/migrate/20210503105022_create_project_value_streams.rb delete mode 100644 db/migrate/20210503105845_add_project_value_stream_id_to_project_stages.rb delete mode 100644 db/migrate/20210503131747_add_web_hook_calls_to_plan_limits.rb delete mode 100644 db/migrate/20210504085144_add_index_on_web_hook_project_id_recent_failures.rb delete mode 100644 db/migrate/20210504135823_add_floc_application_settings.rb delete mode 100644 db/migrate/20210504143128_add_verification_state_and_started_at_to_mr_diff_details_table.rb delete mode 100644 db/migrate/20210504153354_create_clusters_integration_elasticstack.rb delete mode 100644 db/migrate/20210504164429_create_partial_indexes_for_pending_and_running_builds.rb delete mode 100644 db/migrate/20210505070612_create_packages_debian_group_distribution_keys.rb delete mode 100644 db/migrate/20210505070812_create_packages_debian_project_distribution_keys.rb delete mode 100644 db/migrate/20210505124816_add_text_limit_to_elasticsearch_username.rb delete mode 100644 db/migrate/20210505170152_add_verification_indexes_to_merge_request_diff_details_table.rb delete mode 100644 db/migrate/20210506150833_create_vulnerability_finding_evidence_headers.rb delete mode 100644 db/migrate/20210507191949_add_remove_on_issue_close_to_labels.rb delete mode 100644 db/migrate/20210510083845_add_sha_to_status_check_response.rb delete mode 100644 db/migrate/20210510191551_add_body_to_findings_evidences_request.rb delete mode 100644 db/migrate/20210510191552_add_limit_to_findings_evidences_request_body.rb delete mode 100644 db/migrate/20210511104929_add_epic_board_recent_visits_table.rb delete mode 100644 db/migrate/20210511104930_add_index_to_epic_board_recent_visits.rb delete mode 100644 db/migrate/20210511165250_add_foreign_key_to_lfs_objects_projects.rb delete mode 100644 db/migrate/20210512120122_add_pending_builds_table.rb delete mode 100644 db/migrate/20210512183309_add_body_to_findings_evidences_response.rb delete mode 100644 db/migrate/20210512183310_add_limit_to_findings_evidences_response_body.rb delete mode 100644 db/migrate/20210513093418_add_draft_column_to_merge_requests.rb delete mode 100644 db/migrate/20210517130723_make_snapshot_segment_id_optional.rb delete mode 100644 db/migrate/20210517144856_require_snapshot_namespace.rb delete mode 100644 db/migrate/20210517221612_add_default_value_to_merge_requests_author_approval_on_projects.rb delete mode 100644 db/migrate/20210519132109_initialize_conversion_of_ci_builds_metadata_to_bigint.rb delete mode 100644 db/migrate/20210519154058_schedule_update_users_where_two_factor_auth_required_from_group.rb delete mode 100644 db/migrate/20210520102039_group_protected_environments_add_column.rb delete mode 100644 db/migrate/20210520133032_initialize_conversion_of_taggings_to_bigint.rb delete mode 100644 db/migrate/20210520133440_backfill_taggings_for_bigint_conversion.rb delete mode 100644 db/migrate/20210521073920_drop_devops_adoption_namespace_uniqueness.rb delete mode 100644 db/migrate/20210525085158_initialize_conversion_of_deployments_to_bigint.rb delete mode 100644 db/migrate/20210525085325_backfill_deployments_for_bigint_conversion.rb delete mode 100644 db/migrate/20210525100539_initialize_conversion_of_geo_job_artifact_deleted_events_to_bigint.rb delete mode 100644 db/migrate/20210525100603_backfill_geo_job_artifact_deleted_events_for_bigint_conversion.rb delete mode 100644 db/migrate/20210525184900_add_latest_pipeline_id_into_vulnerability_statistics_table.rb delete mode 100644 db/migrate/20210526135911_create_ci_minutes_additional_packs.rb delete mode 100644 db/migrate/20210526155257_rename_sync_security_report_approval_rules_sidekiq_queue.rb delete mode 100644 db/migrate/20210526181820_add_index_to_vulnerability_statistics_on_latest_pipeline_id.rb delete mode 100644 db/migrate/20210526181821_add_foreign_key_for_latest_pipeline_id_to_ci_pipelines.rb delete mode 100644 db/migrate/20210526190259_add_ci_daily_pipeline_schedule_triggers_to_plan_limits.rb delete mode 100644 db/migrate/20210526190553_insert_ci_daily_pipeline_schedule_triggers_plan_limits.rb delete mode 100644 db/migrate/20210527065005_add_index_for_cadence_iterations_automation.rb delete mode 100644 db/migrate/20210527130524_rename_experiment_subjects_group_id_to_namespace_id.rb delete mode 100644 db/migrate/20210527133919_add_diff_max_lines_to_application_settings.rb delete mode 100644 db/migrate/20210527134019_add_diff_max_files_to_application_settings.rb delete mode 100644 db/migrate/20210527185542_add_prevent_sharing_groups_outside_hierarchy_to_namespace_settings.rb delete mode 100644 db/migrate/20210527194558_create_ci_job_token_project_scope_links.rb delete mode 100644 db/migrate/20210529164247_change_iterations_title_uniqueness_index.rb delete mode 100644 db/migrate/20210531053916_rename_instance_statistics_measurements.rb delete mode 100644 db/migrate/20210531070452_default_enforce_ssh_key_expiration.rb delete mode 100644 db/migrate/20210531071107_enable_enforce_ssh_key_expiration.rb delete mode 100644 db/migrate/20210601080039_group_protected_environments_add_index_and_constraint.rb delete mode 100644 db/migrate/20210601123341_add_running_builds_table.rb delete mode 100644 db/migrate/20210601125410_add_runners_created_at_index.rb delete mode 100644 db/migrate/20210601131742_update_web_hook_calls_limit.rb delete mode 100644 db/migrate/20210601132134_remove_partial_index_for_hashed_storage_migration.rb delete mode 100644 db/migrate/20210601133459_replace_runners_contacted_at_index.rb delete mode 100644 db/migrate/20210602122213_add_upcoming_reconciliations.rb delete mode 100644 db/migrate/20210602122233_add_runners_description_index.rb delete mode 100644 db/migrate/20210602155056_add_merge_request_diff_commit_users.rb delete mode 100644 db/migrate/20210602155110_add_merge_request_diff_commit_user_columns.rb rename db/migrate/{20210301200959_init_schema.rb => 20210602155110_init_schema.rb} (70%) create mode 100644 db/migrate/20221010191136_add_access_level_to_ci_job_artifacts.rb create mode 100644 db/migrate/20221122210711_add_columns_to_postgres_foreign_keys.rb create mode 100644 db/migrate/20221204090437_add_category_to_abuse_report.rb create mode 100644 db/migrate/20221209174132_remove_sbom_occurrences_unique_index.rb create mode 100644 db/migrate/20221209174157_truncate_sbom_occurrences.rb create mode 100644 db/migrate/20221212054640_add_reported_from_to_abuse_reports.rb create mode 100644 db/migrate/20221212192452_add_uuid_column_to_sbom_occurrences.rb create mode 100644 db/migrate/20221212192527_index_sbom_occurrences_on_uuid.rb create mode 100644 db/migrate/20221213105028_add_sync_part_step_2_of_index_namespaces_on_path_for_top_level_non_projects.rb create mode 100644 db/migrate/20221214201256_create_user_achievements.rb create mode 100644 db/migrate/20221214204247_user_achievements_foreign_keys.rb create mode 100644 db/migrate/20221215210347_partition_pm_package_metadata_tables.rb create mode 100644 db/migrate/20221219103007_add_name_to_ml_candidates.rb create mode 100644 db/migrate/20221219112528_add_text_limit_to_name_on_ml_candidates.rb create mode 100644 db/migrate/20221219135535_add_user_defaults_to_private_profile_to_application_settings.rb create mode 100644 db/migrate/20221221134116_create_elastic_group_index_statuses.rb create mode 100644 db/migrate/20221221171239_rename_amount_used_column.rb create mode 100644 db/migrate/20221222144954_create_analytics_dashboards_configuration_pointers.rb create mode 100644 db/migrate/20221223114543_add_pwa_icon_to_appearances.rb create mode 100644 db/migrate/20221226105323_add_registration_columns_to_ci_runners.rb create mode 100644 db/migrate/20221226132038_index_ci_runners_on_creator_id.rb create mode 100644 db/migrate/20221226163203_create_ci_runner_machines.rb create mode 100644 db/migrate/20221227080606_add_text_limit_to_pwa_icon.rb create mode 100644 db/migrate/20221227100846_add_allow_registration_token_to_application_settings.rb create mode 100644 db/migrate/20221227100908_add_allow_registration_token_to_namespace_settings.rb create mode 100644 db/migrate/20221228063845_add_incident_events_to_integrations.rb create mode 100644 db/migrate/20221228083452_remove_check_constraint_on_chat_names_on_integration.rb create mode 100644 db/migrate/20221228161214_rename_appearances_short_title_to_pwa_short_name.rb create mode 100644 db/migrate/20230104150600_add_machine_id_to_builds_metadata.rb create mode 100644 db/migrate/20230105170414_rename_amount_used_column_on_ci_namespace_monthly_usages_table.rb create mode 100644 db/migrate/20230106125945_add_user_to_ssh_signatures.rb create mode 100644 db/migrate/20230106131659_add_fingerprint_to_ssh_signatures.rb create mode 100644 db/migrate/20230106142239_add_config_column_to_ci_runner_machines.rb create mode 100644 db/migrate/20230109095159_add_runner_machines_created_at_index.rb create mode 100644 db/migrate/20230109121313_add_runner_machines_contacted_at_index.rb create mode 100644 db/migrate/20230109215921_add_storage_admin_control_columns_to_plan_limits.rb create mode 100644 db/migrate/20230110031131_add_uses_legacy_iid_to_test_reports.rb create mode 100644 db/migrate/20230111092510_add_migrate_projects_to_bulk_import_entities.rb create mode 100644 db/migrate/20230111124512_remove_tmp_index_vulns_on_report_type.rb create mode 100644 db/migrate/20230111132621_unpartition_pm_package_metadata_tables.rb create mode 100644 db/migrate/20230112014822_add_user_index_and_fk_to_ssh_signatures.rb create mode 100644 db/migrate/20230112104253_add_tmp_index_to_ci_build_runner_session.rb create mode 100644 db/migrate/20230112104526_add_tmp_index_to_ci_pending_build.rb create mode 100644 db/migrate/20230112104636_add_tmp_index_to_ci_running_build.rb delete mode 100644 db/post_migrate/20210302074524_backfill_namespace_statistics_with_wiki_size.rb delete mode 100644 db/post_migrate/20210302150310_schedule_migrate_pages_to_zip_storage.rb delete mode 100644 db/post_migrate/20210303064112_add_not_null_constraints_to_gitlab_subscriptions_namespace_id.rb delete mode 100644 db/post_migrate/20210303064142_cleanup_gitlab_subscriptions_with_null_namespace_id.rb delete mode 100644 db/post_migrate/20210303121224_update_gitlab_subscriptions_start_at_post_eoa.rb delete mode 100644 db/post_migrate/20210303165302_cleanup_cluster_tokens_with_null_name.rb delete mode 100644 db/post_migrate/20210304133508_schedule_remove_duplicate_vulnerabilities_findings2.rb delete mode 100644 db/post_migrate/20210306121310_backfill_partitioned_web_hook_logs.rb delete mode 100644 db/post_migrate/20210311045138_set_traversal_ids_for_gitlab_org_group_staging.rb delete mode 100644 db/post_migrate/20210311045139_set_traversal_ids_for_gitlab_org_group_com.rb delete mode 100644 db/post_migrate/20210311093723_add_partial_index_on_ci_pipelines_by_cancelable_status_and_users.rb delete mode 100644 db/post_migrate/20210311120155_backfill_events_id_for_bigint_conversion.rb delete mode 100644 db/post_migrate/20210311120156_backfill_push_event_payload_event_id_for_bigint_conversion.rb delete mode 100644 db/post_migrate/20210317104032_set_iteration_cadence_automatic_to_false.rb delete mode 100644 db/post_migrate/20210317155207_validate_not_null_constraint_on_cluster_token_name.rb delete mode 100644 db/post_migrate/20210322115438_validate_not_null_constraint_on_gitlab_subscriptions_namespace_id.rb delete mode 100644 db/post_migrate/20210326121537_backfill_cleanup_for_partitioned_web_hook_logs.rb delete mode 100644 db/post_migrate/20210328214434_remove_temporary_index_from_vulnerabilities_table.rb delete mode 100644 db/post_migrate/20210329102724_add_new_trail_plans.rb delete mode 100644 db/post_migrate/20210330091751_remove_records_without_group_from_webhooks_table.rb delete mode 100644 db/post_migrate/20210330130420_drop_finding_fingerprint_table.rb delete mode 100644 db/post_migrate/20210331105335_drop_non_partitioned_audit_events.rb delete mode 100644 db/post_migrate/20210401131948_move_container_registry_enabled_to_project_features2.rb delete mode 100644 db/post_migrate/20210402005225_add_source_and_level_index_on_notification_settings.rb delete mode 100644 db/post_migrate/20210403022952_remove_notes_delete_cascade_timelogs.rb delete mode 100644 db/post_migrate/20210406144743_backfill_total_tuple_count_for_batched_migrations.rb delete mode 100644 db/post_migrate/20210407150240_confirm_support_bot_user.rb delete mode 100644 db/post_migrate/20210409185501_index_members_on_user_id_source_id_source_type.rb delete mode 100644 db/post_migrate/20210409185531_remove_members_index_on_user_id.rb delete mode 100644 db/post_migrate/20210413092922_add_index_to_packages_maven_metadata_path.rb delete mode 100644 db/post_migrate/20210413130011_add_partitioned_web_hook_log_fk.rb delete mode 100644 db/post_migrate/20210413132500_reschedule_artifact_expiry_backfill_again.rb delete mode 100644 db/post_migrate/20210415074645_index_members_on_user_id_access_level_requested_at_is_null.rb delete mode 100644 db/post_migrate/20210415101228_backfill_ci_build_needs_for_bigint_conversion.rb delete mode 100644 db/post_migrate/20210415155043_move_container_registry_enabled_to_project_features3.rb delete mode 100644 db/post_migrate/20210420103955_remove_hipchat_service_records.rb delete mode 100644 db/post_migrate/20210420121149_backfill_conversion_of_ci_job_artifacts.rb delete mode 100644 db/post_migrate/20210421163509_schedule_update_jira_tracker_data_deployment_type_based_on_url.rb delete mode 100644 db/post_migrate/20210422023046_backfill_ci_sources_pipelines_source_job_id_for_bigint_conversion.rb delete mode 100644 db/post_migrate/20210423124223_remove_proxy_settings_to_jira_tracker_data.rb delete mode 100644 db/post_migrate/20210423160427_schedule_drop_invalid_vulnerabilities.rb delete mode 100644 db/post_migrate/20210426094549_backfill_ci_builds_for_bigint_conversion.rb delete mode 100644 db/post_migrate/20210426225417_schedule_recalculate_uuid_on_vulnerabilities_occurrences2.rb delete mode 100644 db/post_migrate/20210427045711_backfill_ci_build_trace_chunks_for_bigint_conversion.rb delete mode 100644 db/post_migrate/20210427085020_backfill_ci_builds_runner_session_for_bigint_conversion.rb delete mode 100644 db/post_migrate/20210427212034_schedule_update_timelogs_project_id.rb delete mode 100644 db/post_migrate/20210429143649_add_new_issues_index_for_relative_position.rb delete mode 100644 db/post_migrate/20210430121542_backfill_ci_build_trace_sections_for_bigint_conversion.rb delete mode 100644 db/post_migrate/20210430130259_remove_obsolete_segments_field.rb delete mode 100644 db/post_migrate/20210430134202_copy_adoption_snapshot_namespace.rb delete mode 100644 db/post_migrate/20210430135954_copy_adoption_segments_namespace.rb delete mode 100644 db/post_migrate/20210505092746_create_partial_covering_index_for_pending_builds.rb delete mode 100644 db/post_migrate/20210506064413_create_namespaces_id_parent_id_inverse_partial_index.rb delete mode 100644 db/post_migrate/20210506065000_schedule_backfill_traversal_ids.rb delete mode 100644 db/post_migrate/20210511095657_add_temporary_index_for_project_topics_to_taggings.rb delete mode 100644 db/post_migrate/20210511095658_schedule_migrate_project_taggings_context_from_tags_to_topics.rb delete mode 100644 db/post_migrate/20210511142748_schedule_drop_invalid_vulnerabilities2.rb delete mode 100644 db/post_migrate/20210513155447_add_temporary_package_index_for_nuget_data_migration.rb delete mode 100644 db/post_migrate/20210513155546_backfill_nuget_temporary_packages_to_processing_status.rb delete mode 100644 db/post_migrate/20210513155635_remove_temporary_package_index_for_nuget_data_migration.rb delete mode 100644 db/post_migrate/20210513163904_cleanup_move_container_registry_enabled_to_project_feature.rb delete mode 100644 db/post_migrate/20210514063252_schedule_cleanup_orphaned_lfs_objects_projects.rb delete mode 100644 db/post_migrate/20210517075444_remove_temporary_index_for_project_topics_to_taggings.rb delete mode 100644 db/post_migrate/20210518001450_backfill_clusters_integration_elastic_stack_enabled.rb delete mode 100644 db/post_migrate/20210518074332_schedule_disable_expiration_policies_linked_to_no_container_images.rb delete mode 100644 db/post_migrate/20210519104931_backfill_clusters_integration_prometheus_enabled.rb delete mode 100644 db/post_migrate/20210519132129_backfill_ci_builds_metadata_for_bigint_conversion.rb delete mode 100644 db/post_migrate/20210519220019_backfill_escalation_policies_for_oncall_schedules.rb delete mode 100644 db/post_migrate/20210520012430_backfill_pk_conversion_for_self_managed.rb delete mode 100644 db/post_migrate/20210525075724_clean_up_pending_builds_table.rb delete mode 100644 db/post_migrate/20210526160133_remove_segment_selections_table.rb delete mode 100644 db/post_migrate/20210526222715_backfill_draft_status_on_merge_requests.rb delete mode 100644 db/post_migrate/20210527131039_clean_up_rename_experiment_subjects_group_id_to_namespace_id.rb delete mode 100644 db/post_migrate/20210531054108_finalize_rename_instance_statistics_measurements.rb delete mode 100644 db/post_migrate/20210601073400_fix_total_stage_in_vsa.rb delete mode 100644 db/post_migrate/20211004120135_schedule_add_primary_email_to_emails_if_user_confirmed.rb delete mode 100644 db/post_migrate/20211206162601_cleanup_after_add_primary_email_to_emails_if_user_confirmed.rb create mode 100644 db/post_migrate/20220826152430_remove_container_repository_deprecated_geo_fields.rb create mode 100644 db/post_migrate/20220826152432_remove_container_repository_updated_events.rb create mode 100644 db/post_migrate/20221102231131_remove_temp_index_for_user_details_fields.rb create mode 100644 db/post_migrate/20221110100600_add_temp_index_on_overlong_vulnerability_html_title.rb create mode 100644 db/post_migrate/20221110100602_queue_truncate_overlong_vulnerability_html_titles.rb create mode 100644 db/post_migrate/20221209235939_add_tmp_index_oauth_access_tokens_on_id_where_expires_in_null.rb create mode 100644 db/post_migrate/20221209235940_cleanup_o_auth_access_tokens_with_null_expires_in.rb create mode 100644 db/post_migrate/20221214095129_second_recount_epic_cache_counts.rb create mode 100644 db/post_migrate/20221214105307_add_token_encrypted_partition_id_index_to_ci_build.rb create mode 100644 db/post_migrate/20221215151822_schedule_backfill_releases_author_id.rb create mode 100644 db/post_migrate/20221216131710_add_index_to_ci_unit_test_failure.rb create mode 100644 db/post_migrate/20221216131935_add_index_to_ci_build_pending_state.rb create mode 100644 db/post_migrate/20221216131958_add_index_to_ci_build_trace_chunk.rb create mode 100644 db/post_migrate/20221216144854_add_foreign_key_to_ci_unit_test_failure.rb create mode 100644 db/post_migrate/20221216150304_add_foreign_key_to_ci_build_pending_state.rb create mode 100644 db/post_migrate/20221216150321_add_foreign_key_to_ci_build_trace_chunk.rb create mode 100644 db/post_migrate/20221216150919_validate_foreign_key_on_ci_unit_test_failure_partition_id_build_id.rb create mode 100644 db/post_migrate/20221216151459_validate_foreign_key_on_ci_build_pending_state_partition_id_build_id.rb create mode 100644 db/post_migrate/20221216151649_validate_foreign_key_on_ci_build_trace_chunk_partition_id_build_id.rb create mode 100644 db/post_migrate/20221216232658_index_members_on_member_namespace_id_compound.rb create mode 100644 db/post_migrate/20221216232659_index_members_on_member_namespace_id_compound_sync.rb create mode 100644 db/post_migrate/20221220075936_add_query_index_for_ci_pipeline_schedules.rb create mode 100644 db/post_migrate/20221220131020_bump_default_partition_id_value_for_ci_tables.rb create mode 100644 db/post_migrate/20221221110733_remove_temp_index_for_project_statistics_upload_size_migration.rb create mode 100644 db/post_migrate/20221221150123_update_billable_users_index.rb create mode 100644 db/post_migrate/20221222092958_sync_new_amount_used_with_amount_used.rb create mode 100644 db/post_migrate/20221223123019_delete_queued_jobs_for_vulnerabilities_feedback_migration.rb create mode 100644 db/post_migrate/20221226153240_remove_chat_names_integration_id_foreign_key.rb create mode 100644 db/post_migrate/20221226154458_drop_index_on_chat_names_on_integration_id_and_team_id_and_chat_id.rb create mode 100644 db/post_migrate/20221227100751_add_user_index_to_chat_names.rb create mode 100644 db/post_migrate/20221227101436_drop_index_on_chat_names_on_user_id_and_integration_id.rb create mode 100644 db/post_migrate/20221228103133_queue_backfill_admin_mode_scope_for_personal_access_tokens.rb create mode 100644 db/post_migrate/20221228163035_cleanup_appearances_short_title_rename.rb create mode 100644 db/post_migrate/20221228210616_add_index_on_ci_runners_on_runner_type_and_id.rb create mode 100644 db/post_migrate/20230104103748_remove_new_amount_used_column.rb create mode 100644 db/post_migrate/20230104150601_prepare_builds_metadata_async_idx.rb create mode 100644 db/post_migrate/20230104220137_reindex_vuln_reads_on_default_branch_with_common_query.rb create mode 100644 db/post_migrate/20230104224020_drop_vuln_reads_on_default_branch_index.rb create mode 100644 db/post_migrate/20230105172120_sync_new_amount_used_with_amount_used_on_ci_namespace_monthly_usages_table.rb create mode 100644 db/post_migrate/20230105180002_remove_new_amount_used_column_on_ci_namespace_monthly_usages.rb create mode 100644 db/post_migrate/20230106124332_change_keys_relation_to_ssh_signatures.rb create mode 100644 db/post_migrate/20230110172751_add_partial_index_on_group_path_id.rb create mode 100644 db/post_migrate/20230111125148_add_user_id_and_source_id_and_source_type_and_member_role_id_index_to_members.rb create mode 100644 db/post_migrate/20230111125150_drop_user_id_and_source_id_and_source_type_index_from_members.rb create mode 100644 db/post_migrate/20230112085143_add_index_environments_on_project_id_and_id.rb create mode 100644 db/post_migrate/20230113003255_remove_atlassian_refresh_token_constraint.rb create mode 100644 db/post_migrate/20230116083826_drop_index_on_ci_build_token_encrypted.rb create mode 100644 db/post_migrate/20230116090630_add_index_for_group_activity_events.rb create mode 100644 db/post_migrate/20230116090852_add_index_for_project_activity_events.rb create mode 100644 db/post_migrate/20230116090920_add_index_to_events_on_group_id_and_id.rb create mode 100644 db/post_migrate/20230116091626_add_index_for_events_followed_users.rb create mode 100644 db/post_migrate/20230116111252_finalize_todo_sanitization.rb create mode 100644 db/post_migrate/20230117113719_add_tmp_index_to_ci_sources_pipelines_on_partition_id.rb create mode 100644 db/post_migrate/20230117145628_add_token_encrypted_and_partition_id_index_to_ci_build.rb delete mode 100644 db/schema_migrations/20210301200959 delete mode 100644 db/schema_migrations/20210302025305 delete mode 100644 db/schema_migrations/20210302074524 delete mode 100644 db/schema_migrations/20210302103851 delete mode 100644 db/schema_migrations/20210302150310 delete mode 100644 db/schema_migrations/20210302155904 delete mode 100644 db/schema_migrations/20210302160544 delete mode 100644 db/schema_migrations/20210302212623 delete mode 100644 db/schema_migrations/20210303053341 delete mode 100644 db/schema_migrations/20210303064112 delete mode 100644 db/schema_migrations/20210303064142 delete mode 100644 db/schema_migrations/20210303091651 delete mode 100644 db/schema_migrations/20210303121224 delete mode 100644 db/schema_migrations/20210303165201 delete mode 100644 db/schema_migrations/20210303165301 delete mode 100644 db/schema_migrations/20210303165302 delete mode 100644 db/schema_migrations/20210303193544 delete mode 100644 db/schema_migrations/20210303193605 delete mode 100644 db/schema_migrations/20210304133508 delete mode 100644 db/schema_migrations/20210305002016 delete mode 100644 db/schema_migrations/20210305013509 delete mode 100644 db/schema_migrations/20210305031822 delete mode 100644 db/schema_migrations/20210305145622 delete mode 100644 db/schema_migrations/20210305180331 delete mode 100644 db/schema_migrations/20210305182740 delete mode 100644 db/schema_migrations/20210305182855 delete mode 100644 db/schema_migrations/20210305183904 delete mode 100644 db/schema_migrations/20210306121300 delete mode 100644 db/schema_migrations/20210306121310 delete mode 100644 db/schema_migrations/20210308125742 delete mode 100644 db/schema_migrations/20210308175224 delete mode 100644 db/schema_migrations/20210308175225 delete mode 100644 db/schema_migrations/20210308175226 delete mode 100644 db/schema_migrations/20210308175227 delete mode 100644 db/schema_migrations/20210308190413 delete mode 100644 db/schema_migrations/20210309160106 delete mode 100644 db/schema_migrations/20210309181019 delete mode 100644 db/schema_migrations/20210310000627 delete mode 100644 db/schema_migrations/20210310111009 delete mode 100644 db/schema_migrations/20210311022012 delete mode 100644 db/schema_migrations/20210311045138 delete mode 100644 db/schema_migrations/20210311045139 delete mode 100644 db/schema_migrations/20210311093723 delete mode 100644 db/schema_migrations/20210311120152 delete mode 100644 db/schema_migrations/20210311120153 delete mode 100644 db/schema_migrations/20210311120154 delete mode 100644 db/schema_migrations/20210311120155 delete mode 100644 db/schema_migrations/20210311120156 delete mode 100644 db/schema_migrations/20210312140029 delete mode 100644 db/schema_migrations/20210312174321 delete mode 100644 db/schema_migrations/20210312193532 delete mode 100644 db/schema_migrations/20210313045617 delete mode 100644 db/schema_migrations/20210313045845 delete mode 100644 db/schema_migrations/20210316094047 delete mode 100644 db/schema_migrations/20210316094323 delete mode 100644 db/schema_migrations/20210316152500 delete mode 100644 db/schema_migrations/20210316171009 delete mode 100644 db/schema_migrations/20210317035357 delete mode 100644 db/schema_migrations/20210317100520 delete mode 100644 db/schema_migrations/20210317104032 delete mode 100644 db/schema_migrations/20210317104301 delete mode 100644 db/schema_migrations/20210317105904 delete mode 100644 db/schema_migrations/20210317123054 delete mode 100644 db/schema_migrations/20210317155207 delete mode 100644 db/schema_migrations/20210317192943 delete mode 100644 db/schema_migrations/20210317210338 delete mode 100644 db/schema_migrations/20210318134427 delete mode 100644 db/schema_migrations/20210319071214 delete mode 100644 db/schema_migrations/20210322063407 delete mode 100644 db/schema_migrations/20210322063450 delete mode 100644 db/schema_migrations/20210322115438 delete mode 100644 db/schema_migrations/20210322182751 delete mode 100644 db/schema_migrations/20210323064751 delete mode 100644 db/schema_migrations/20210323125809 delete mode 100644 db/schema_migrations/20210323130831 delete mode 100644 db/schema_migrations/20210323131543 delete mode 100644 db/schema_migrations/20210323155010 delete mode 100644 db/schema_migrations/20210323182846 delete mode 100644 db/schema_migrations/20210324112439 delete mode 100644 db/schema_migrations/20210324131727 delete mode 100644 db/schema_migrations/20210325092215 delete mode 100644 db/schema_migrations/20210325113129 delete mode 100644 db/schema_migrations/20210325150837 delete mode 100644 db/schema_migrations/20210325151758 delete mode 100644 db/schema_migrations/20210325152011 delete mode 100644 db/schema_migrations/20210326035553 delete mode 100644 db/schema_migrations/20210326121537 delete mode 100644 db/schema_migrations/20210326190903 delete mode 100644 db/schema_migrations/20210328214434 delete mode 100644 db/schema_migrations/20210329095548 delete mode 100644 db/schema_migrations/20210329102724 delete mode 100644 db/schema_migrations/20210329191850 delete mode 100644 db/schema_migrations/20210329192716 delete mode 100644 db/schema_migrations/20210330015805 delete mode 100644 db/schema_migrations/20210330091751 delete mode 100644 db/schema_migrations/20210330130420 delete mode 100644 db/schema_migrations/20210331000934 delete mode 100644 db/schema_migrations/20210331105335 delete mode 100644 db/schema_migrations/20210331125111 delete mode 100644 db/schema_migrations/20210331145548 delete mode 100644 db/schema_migrations/20210331180118 delete mode 100644 db/schema_migrations/20210401131948 delete mode 100644 db/schema_migrations/20210401134157 delete mode 100644 db/schema_migrations/20210401134455 delete mode 100644 db/schema_migrations/20210401175134 delete mode 100644 db/schema_migrations/20210401192808 delete mode 100644 db/schema_migrations/20210402005225 delete mode 100644 db/schema_migrations/20210403022952 delete mode 100644 db/schema_migrations/20210406063442 delete mode 100644 db/schema_migrations/20210406140057 delete mode 100644 db/schema_migrations/20210406144743 delete mode 100644 db/schema_migrations/20210407002511 delete mode 100644 db/schema_migrations/20210407111027 delete mode 100644 db/schema_migrations/20210407140539 delete mode 100644 db/schema_migrations/20210407150240 delete mode 100644 db/schema_migrations/20210409084242 delete mode 100644 db/schema_migrations/20210409185501 delete mode 100644 db/schema_migrations/20210409185531 delete mode 100644 db/schema_migrations/20210411212813 delete mode 100644 db/schema_migrations/20210412111213 delete mode 100644 db/schema_migrations/20210412132736 delete mode 100644 db/schema_migrations/20210412132824 delete mode 100644 db/schema_migrations/20210412142223 delete mode 100644 db/schema_migrations/20210412172030 delete mode 100644 db/schema_migrations/20210413092922 delete mode 100644 db/schema_migrations/20210413121101 delete mode 100644 db/schema_migrations/20210413123832 delete mode 100644 db/schema_migrations/20210413130011 delete mode 100644 db/schema_migrations/20210413132500 delete mode 100644 db/schema_migrations/20210413155324 delete mode 100644 db/schema_migrations/20210414045322 delete mode 100644 db/schema_migrations/20210414095944 delete mode 100644 db/schema_migrations/20210414100914 delete mode 100644 db/schema_migrations/20210414130017 delete mode 100644 db/schema_migrations/20210414130526 delete mode 100644 db/schema_migrations/20210414131600 delete mode 100644 db/schema_migrations/20210414131807 delete mode 100644 db/schema_migrations/20210414133310 delete mode 100644 db/schema_migrations/20210415074645 delete mode 100644 db/schema_migrations/20210415100159 delete mode 100644 db/schema_migrations/20210415101228 delete mode 100644 db/schema_migrations/20210415142700 delete mode 100644 db/schema_migrations/20210415155043 delete mode 100644 db/schema_migrations/20210415172516 delete mode 100644 db/schema_migrations/20210416172516 delete mode 100644 db/schema_migrations/20210419090412 delete mode 100644 db/schema_migrations/20210419090542 delete mode 100644 db/schema_migrations/20210419203017 delete mode 100644 db/schema_migrations/20210419203018 delete mode 100644 db/schema_migrations/20210419224834 delete mode 100644 db/schema_migrations/20210420012444 delete mode 100644 db/schema_migrations/20210420012909 delete mode 100644 db/schema_migrations/20210420103955 delete mode 100644 db/schema_migrations/20210420120734 delete mode 100644 db/schema_migrations/20210420121149 delete mode 100644 db/schema_migrations/20210420173030 delete mode 100644 db/schema_migrations/20210420210642 delete mode 100644 db/schema_migrations/20210420221106 delete mode 100644 db/schema_migrations/20210421021510 delete mode 100644 db/schema_migrations/20210421022010 delete mode 100644 db/schema_migrations/20210421081724 delete mode 100644 db/schema_migrations/20210421163509 delete mode 100644 db/schema_migrations/20210421190157 delete mode 100644 db/schema_migrations/20210422022825 delete mode 100644 db/schema_migrations/20210422023046 delete mode 100644 db/schema_migrations/20210422142647 delete mode 100644 db/schema_migrations/20210422181809 delete mode 100644 db/schema_migrations/20210422195929 delete mode 100644 db/schema_migrations/20210423054022 delete mode 100644 db/schema_migrations/20210423054537 delete mode 100644 db/schema_migrations/20210423054846 delete mode 100644 db/schema_migrations/20210423124223 delete mode 100644 db/schema_migrations/20210423155059 delete mode 100644 db/schema_migrations/20210423160427 delete mode 100644 db/schema_migrations/20210423164702 delete mode 100644 db/schema_migrations/20210423171304 delete mode 100644 db/schema_migrations/20210424115725 delete mode 100644 db/schema_migrations/20210424163400 delete mode 100644 db/schema_migrations/20210426094524 delete mode 100644 db/schema_migrations/20210426094549 delete mode 100644 db/schema_migrations/20210426225417 delete mode 100644 db/schema_migrations/20210427045604 delete mode 100644 db/schema_migrations/20210427045711 delete mode 100644 db/schema_migrations/20210427062807 delete mode 100644 db/schema_migrations/20210427084924 delete mode 100644 db/schema_migrations/20210427085020 delete mode 100644 db/schema_migrations/20210427094931 delete mode 100644 db/schema_migrations/20210427125400 delete mode 100644 db/schema_migrations/20210427194958 delete mode 100644 db/schema_migrations/20210427200840 delete mode 100644 db/schema_migrations/20210427212034 delete mode 100644 db/schema_migrations/20210428151144 delete mode 100644 db/schema_migrations/20210428151238 delete mode 100644 db/schema_migrations/20210429024843 delete mode 100644 db/schema_migrations/20210429032320 delete mode 100644 db/schema_migrations/20210429131525 delete mode 100644 db/schema_migrations/20210429143649 delete mode 100644 db/schema_migrations/20210429181325 delete mode 100644 db/schema_migrations/20210429192653 delete mode 100644 db/schema_migrations/20210429193106 delete mode 100644 db/schema_migrations/20210430034712 delete mode 100644 db/schema_migrations/20210430100947 delete mode 100644 db/schema_migrations/20210430121522 delete mode 100644 db/schema_migrations/20210430121542 delete mode 100644 db/schema_migrations/20210430122951 delete mode 100644 db/schema_migrations/20210430124212 delete mode 100644 db/schema_migrations/20210430124630 delete mode 100644 db/schema_migrations/20210430130259 delete mode 100644 db/schema_migrations/20210430134202 delete mode 100644 db/schema_migrations/20210430135954 delete mode 100644 db/schema_migrations/20210430154631 delete mode 100644 db/schema_migrations/20210503105022 delete mode 100644 db/schema_migrations/20210503105845 delete mode 100644 db/schema_migrations/20210503131747 delete mode 100644 db/schema_migrations/20210504085144 delete mode 100644 db/schema_migrations/20210504135823 delete mode 100644 db/schema_migrations/20210504143128 delete mode 100644 db/schema_migrations/20210504153354 delete mode 100644 db/schema_migrations/20210504164429 delete mode 100644 db/schema_migrations/20210505070612 delete mode 100644 db/schema_migrations/20210505070812 delete mode 100644 db/schema_migrations/20210505092746 delete mode 100644 db/schema_migrations/20210505124816 delete mode 100644 db/schema_migrations/20210505170152 delete mode 100644 db/schema_migrations/20210506064413 delete mode 100644 db/schema_migrations/20210506065000 delete mode 100644 db/schema_migrations/20210506150833 delete mode 100644 db/schema_migrations/20210507191949 delete mode 100644 db/schema_migrations/20210510083845 delete mode 100644 db/schema_migrations/20210510191551 delete mode 100644 db/schema_migrations/20210510191552 delete mode 100644 db/schema_migrations/20210511095657 delete mode 100644 db/schema_migrations/20210511095658 delete mode 100644 db/schema_migrations/20210511104929 delete mode 100644 db/schema_migrations/20210511104930 delete mode 100644 db/schema_migrations/20210511142748 delete mode 100644 db/schema_migrations/20210511165250 delete mode 100644 db/schema_migrations/20210512120122 delete mode 100644 db/schema_migrations/20210512183309 delete mode 100644 db/schema_migrations/20210512183310 delete mode 100644 db/schema_migrations/20210513093418 delete mode 100644 db/schema_migrations/20210513155447 delete mode 100644 db/schema_migrations/20210513155546 delete mode 100644 db/schema_migrations/20210513155635 delete mode 100644 db/schema_migrations/20210513163904 delete mode 100644 db/schema_migrations/20210514063252 delete mode 100644 db/schema_migrations/20210517075444 delete mode 100644 db/schema_migrations/20210517130723 delete mode 100644 db/schema_migrations/20210517144856 delete mode 100644 db/schema_migrations/20210517221612 delete mode 100644 db/schema_migrations/20210518001450 delete mode 100644 db/schema_migrations/20210518074332 delete mode 100644 db/schema_migrations/20210519104931 delete mode 100644 db/schema_migrations/20210519132109 delete mode 100644 db/schema_migrations/20210519132129 delete mode 100644 db/schema_migrations/20210519154058 delete mode 100644 db/schema_migrations/20210519220019 delete mode 100644 db/schema_migrations/20210520012430 delete mode 100644 db/schema_migrations/20210520102039 delete mode 100644 db/schema_migrations/20210520133032 delete mode 100644 db/schema_migrations/20210520133440 delete mode 100644 db/schema_migrations/20210521073920 delete mode 100644 db/schema_migrations/20210525075724 delete mode 100644 db/schema_migrations/20210525085158 delete mode 100644 db/schema_migrations/20210525085325 delete mode 100644 db/schema_migrations/20210525100539 delete mode 100644 db/schema_migrations/20210525100603 delete mode 100644 db/schema_migrations/20210525184900 delete mode 100644 db/schema_migrations/20210526135911 delete mode 100644 db/schema_migrations/20210526155257 delete mode 100644 db/schema_migrations/20210526160133 delete mode 100644 db/schema_migrations/20210526181820 delete mode 100644 db/schema_migrations/20210526181821 delete mode 100644 db/schema_migrations/20210526190259 delete mode 100644 db/schema_migrations/20210526190553 delete mode 100644 db/schema_migrations/20210526222715 delete mode 100644 db/schema_migrations/20210527065005 delete mode 100644 db/schema_migrations/20210527130524 delete mode 100644 db/schema_migrations/20210527131039 delete mode 100644 db/schema_migrations/20210527133919 delete mode 100644 db/schema_migrations/20210527134019 delete mode 100644 db/schema_migrations/20210527185542 delete mode 100644 db/schema_migrations/20210527194558 delete mode 100644 db/schema_migrations/20210529164247 delete mode 100644 db/schema_migrations/20210531053916 delete mode 100644 db/schema_migrations/20210531054108 delete mode 100644 db/schema_migrations/20210531070452 delete mode 100644 db/schema_migrations/20210531071107 delete mode 100644 db/schema_migrations/20210601073400 delete mode 100644 db/schema_migrations/20210601080039 delete mode 100644 db/schema_migrations/20210601123341 delete mode 100644 db/schema_migrations/20210601125410 delete mode 100644 db/schema_migrations/20210601131742 delete mode 100644 db/schema_migrations/20210601132134 delete mode 100644 db/schema_migrations/20210601133459 delete mode 100644 db/schema_migrations/20210602122213 delete mode 100644 db/schema_migrations/20210602122233 delete mode 100644 db/schema_migrations/20210602155056 delete mode 100644 db/schema_migrations/20211004120135 delete mode 100644 db/schema_migrations/20211206162601 create mode 100644 db/schema_migrations/20220826152430 create mode 100644 db/schema_migrations/20220826152432 create mode 100644 db/schema_migrations/20221010191136 create mode 100644 db/schema_migrations/20221102231131 create mode 100644 db/schema_migrations/20221110100600 create mode 100644 db/schema_migrations/20221110100602 create mode 100644 db/schema_migrations/20221122210711 create mode 100644 db/schema_migrations/20221204090437 create mode 100644 db/schema_migrations/20221209174132 create mode 100644 db/schema_migrations/20221209174157 create mode 100644 db/schema_migrations/20221209235939 create mode 100644 db/schema_migrations/20221209235940 create mode 100644 db/schema_migrations/20221212054640 create mode 100644 db/schema_migrations/20221212192452 create mode 100644 db/schema_migrations/20221212192527 create mode 100644 db/schema_migrations/20221213105028 create mode 100644 db/schema_migrations/20221214095129 create mode 100644 db/schema_migrations/20221214105307 create mode 100644 db/schema_migrations/20221214201256 create mode 100644 db/schema_migrations/20221214204247 create mode 100644 db/schema_migrations/20221215151822 create mode 100644 db/schema_migrations/20221215210347 create mode 100644 db/schema_migrations/20221216131710 create mode 100644 db/schema_migrations/20221216131935 create mode 100644 db/schema_migrations/20221216131958 create mode 100644 db/schema_migrations/20221216144854 create mode 100644 db/schema_migrations/20221216150304 create mode 100644 db/schema_migrations/20221216150321 create mode 100644 db/schema_migrations/20221216150919 create mode 100644 db/schema_migrations/20221216151459 create mode 100644 db/schema_migrations/20221216151649 create mode 100644 db/schema_migrations/20221216232658 create mode 100644 db/schema_migrations/20221216232659 create mode 100644 db/schema_migrations/20221219103007 create mode 100644 db/schema_migrations/20221219112528 create mode 100644 db/schema_migrations/20221219135535 create mode 100644 db/schema_migrations/20221220075936 create mode 100644 db/schema_migrations/20221220131020 create mode 100644 db/schema_migrations/20221221110733 create mode 100644 db/schema_migrations/20221221134116 create mode 100644 db/schema_migrations/20221221150123 create mode 100644 db/schema_migrations/20221221171239 create mode 100644 db/schema_migrations/20221222092958 create mode 100644 db/schema_migrations/20221222144954 create mode 100644 db/schema_migrations/20221223114543 create mode 100644 db/schema_migrations/20221223123019 create mode 100644 db/schema_migrations/20221226105323 rename db/schema_migrations/{20210415144538 => 20221226132038} (100%) create mode 100644 db/schema_migrations/20221226153240 create mode 100644 db/schema_migrations/20221226154458 create mode 100644 db/schema_migrations/20221226163203 create mode 100644 db/schema_migrations/20221227080606 create mode 100644 db/schema_migrations/20221227100751 create mode 100644 db/schema_migrations/20221227100846 create mode 100644 db/schema_migrations/20221227100908 create mode 100644 db/schema_migrations/20221227101436 create mode 100644 db/schema_migrations/20221228063845 create mode 100644 db/schema_migrations/20221228083452 create mode 100644 db/schema_migrations/20221228103133 create mode 100644 db/schema_migrations/20221228161214 create mode 100644 db/schema_migrations/20221228163035 create mode 100644 db/schema_migrations/20221228210616 create mode 100644 db/schema_migrations/20230104103748 create mode 100644 db/schema_migrations/20230104150600 create mode 100644 db/schema_migrations/20230104150601 create mode 100644 db/schema_migrations/20230104220137 create mode 100644 db/schema_migrations/20230104224020 create mode 100644 db/schema_migrations/20230105170414 create mode 100644 db/schema_migrations/20230105172120 create mode 100644 db/schema_migrations/20230105180002 create mode 100644 db/schema_migrations/20230106124332 create mode 100644 db/schema_migrations/20230106125945 create mode 100644 db/schema_migrations/20230106131659 create mode 100644 db/schema_migrations/20230106142239 create mode 100644 db/schema_migrations/20230109095159 create mode 100644 db/schema_migrations/20230109121313 create mode 100644 db/schema_migrations/20230109215921 create mode 100644 db/schema_migrations/20230110031131 create mode 100644 db/schema_migrations/20230110172751 create mode 100644 db/schema_migrations/20230111092510 create mode 100644 db/schema_migrations/20230111124512 create mode 100644 db/schema_migrations/20230111125148 create mode 100644 db/schema_migrations/20230111125150 create mode 100644 db/schema_migrations/20230111132621 create mode 100644 db/schema_migrations/20230112014822 create mode 100644 db/schema_migrations/20230112085143 create mode 100644 db/schema_migrations/20230112104253 create mode 100644 db/schema_migrations/20230112104526 create mode 100644 db/schema_migrations/20230112104636 create mode 100644 db/schema_migrations/20230113003255 create mode 100644 db/schema_migrations/20230116083826 create mode 100644 db/schema_migrations/20230116090630 create mode 100644 db/schema_migrations/20230116090852 create mode 100644 db/schema_migrations/20230116090920 create mode 100644 db/schema_migrations/20230116091626 create mode 100644 db/schema_migrations/20230116111252 create mode 100644 db/schema_migrations/20230117113719 create mode 100644 db/schema_migrations/20230117145628 create mode 100644 doc/.vale/gitlab/GitLabFlavoredMarkdown.yml create mode 100644 doc/.vale/gitlab/TabsLinks.yml create mode 100644 doc/administration/geo/replication/single_sign_on.md create mode 100644 doc/api/graphql/branch_rules.md create mode 100644 doc/api/graphql/img/list_branch_rules_query_example_v15_8.png create mode 100644 doc/architecture/blueprints/pods/pods-feature-backups.md create mode 100644 doc/architecture/blueprints/pods/pods-feature-secrets.md create mode 100644 doc/architecture/blueprints/secret_detection/index.md delete mode 100644 doc/ci/testing/img/code_quality_host_bound_sequential.png delete mode 100644 doc/ci/variables/img/ci_job_stage_output_example.png delete mode 100644 doc/ci/variables/img/custom_variables_output.png delete mode 100644 doc/ci/variables/img/inherited_group_variables_v12_5.png create mode 100644 doc/development/database/required_stops.md create mode 100644 doc/development/gitlab_shell/features.md create mode 100644 doc/development/gitlab_shell/gitlab_sshd.md create mode 100644 doc/development/gitlab_shell/index.md create mode 100644 doc/development/gitlab_shell/process.md create mode 100644 doc/development/img/feature-flag-metrics.png create mode 100644 doc/development/merge_request_concepts/diffs/development.md create mode 100644 doc/development/merge_request_concepts/diffs/index.md rename doc/development/{ => merge_request_concepts}/img/merge_ref_head_options_v13_6.png (100%) create mode 100644 doc/development/merge_request_concepts/performance.md rename doc/{api/v3_to_v4.md => development/merge_request_diffs.md} (52%) rename doc/integration/jira/{dvcs.md => dvcs/index.md} (51%) create mode 100644 doc/integration/jira/dvcs/troubleshooting.md delete mode 100644 doc/integration/jira/img/jira_dev_panel_manual_refresh.png create mode 100644 doc/user/analytics/img/devops_metrics_comparison_v15_8.png create mode 100644 doc/user/analytics/value_streams_dashboard.md delete mode 100644 doc/user/group/import/img/bulk_imports_v14_1.png create mode 100644 doc/user/infrastructure/iac/gitlab_terraform_helpers.md create mode 100644 doc/user/okrs.md create mode 100644 doc/user/packages/container_registry/authenticate_with_container_registry.md create mode 100644 doc/user/packages/container_registry/build_and_push_images.md create mode 100644 doc/user/packages/container_registry/delete_container_registry_images.md create mode 100644 doc/user/packages/package_registry/supported_functionality.md create mode 100644 doc/user/project/integrations/apple_app_store.md delete mode 100644 doc/user/project/merge_requests/img/filter_approved_by_merge_requests_v14_6.png delete mode 100644 doc/user/project/merge_requests/img/filter_approver_merge_requests_v14_6.png create mode 100644 doc/user/project/organize_work_with_projects.md delete mode 100644 doc/user/project/repository/img/web_editor_line_link_v13_10.png delete mode 100644 doc/user/project/repository/img/web_editor_new_branch_dropdown_v14_1.png delete mode 100644 doc/user/project/repository/img/web_editor_new_branch_from_issue_create_button_v14_1.png delete mode 100644 doc/user/project/repository/img/web_editor_new_branch_from_issue_v14_1.png delete mode 100644 doc/user/project/repository/img/web_editor_new_branch_page_v14_1.png delete mode 100644 doc/user/project/repository/img/web_editor_new_directory_dialog_v14_1.png delete mode 100644 doc/user/project/repository/img/web_editor_new_directory_dropdown_v14_1.png delete mode 100644 doc/user/project/repository/img/web_editor_new_file_dropdown_v14_1.png delete mode 100644 doc/user/project/repository/img/web_editor_new_file_editor_v14_1.png delete mode 100644 doc/user/project/repository/img/web_editor_new_push_widget.png delete mode 100644 doc/user/project/repository/img/web_editor_new_tag_dropdown.png delete mode 100644 doc/user/project/repository/img/web_editor_new_tag_page.png delete mode 100644 doc/user/project/repository/img/web_editor_start_new_merge_request.png delete mode 100644 doc/user/project/repository/img/web_editor_template_dropdown_buttons.png delete mode 100644 doc/user/project/repository/img/web_editor_template_dropdown_first_file_v14_1.png delete mode 100644 doc/user/project/repository/img/web_editor_template_dropdown_mit_license_v14_1.png delete mode 100644 doc/user/project/repository/img/web_editor_upload_file_dialog_v14_1.png delete mode 100644 doc/user/project/repository/img/web_editor_upload_file_dropdown_v14_1.png create mode 100644 lib/api/helpers/remote_mirrors_helpers.rb create mode 100644 lib/api/validations/validators/bulk_imports.rb create mode 100644 lib/banzai/filter/dollar_math_post_filter.rb create mode 100644 lib/banzai/filter/dollar_math_pre_filter.rb create mode 100644 lib/banzai/filter/service_desk_upload_link_filter.rb create mode 100644 lib/banzai/pipeline/service_desk_email_pipeline.rb delete mode 100644 lib/gitlab/background_migration/add_primary_email_to_emails_if_user_confirmed.rb create mode 100644 lib/gitlab/background_migration/backfill_admin_mode_scope_for_personal_access_tokens.rb create mode 100644 lib/gitlab/background_migration/backfill_releases_author_id.rb create mode 100644 lib/gitlab/background_migration/re_expire_o_auth_tokens.rb create mode 100644 lib/gitlab/background_migration/second_recount_epic_cache_counts.rb create mode 100644 lib/gitlab/background_migration/truncate_overlong_vulnerability_html_titles.rb create mode 100644 lib/gitlab/counters.rb create mode 100644 lib/gitlab/database/indexing_exclusive_lease_guard.rb delete mode 100644 lib/gitlab/import_export/group/legacy_tree_restorer.rb delete mode 100644 lib/gitlab/import_export/group/legacy_tree_saver.rb create mode 100644 lib/gitlab/redis/repository_cache.rb create mode 100644 lib/gitlab/seeders/ci/runner/runner_fleet_pipeline_seeder.rb create mode 100644 lib/gitlab/seeders/ci/runner/runner_fleet_seeder.rb create mode 100644 lib/gitlab/usage/service_ping/legacy_metric_metadata_decorator.rb delete mode 100644 lib/gitlab/usage/service_ping/legacy_metric_timing_decorator.rb create mode 100644 lib/sidebars/your_work/menus/activity_menu.rb create mode 100644 lib/sidebars/your_work/menus/groups_menu.rb create mode 100644 lib/sidebars/your_work/menus/issues_menu.rb create mode 100644 lib/sidebars/your_work/menus/merge_requests_menu.rb create mode 100644 lib/sidebars/your_work/menus/milestones_menu.rb create mode 100644 lib/sidebars/your_work/menus/projects_menu.rb create mode 100644 lib/sidebars/your_work/menus/snippets_menu.rb create mode 100644 lib/sidebars/your_work/menus/todos_menu.rb create mode 100644 lib/sidebars/your_work/panel.rb create mode 100644 lib/tasks/gitlab/security/update_banned_ssh_keys.rake create mode 100644 lib/tasks/gitlab/seed/runner_fleet.rake create mode 100644 qa/qa/fixtures/mocks/import/github.yml create mode 100644 qa/qa/page/project/web_ide/vscode.rb create mode 100644 qa/qa/resource/group_runner.rb create mode 100644 qa/qa/resource/project_runner.rb delete mode 100644 qa/qa/resource/reusable.rb delete mode 100644 qa/qa/resource/reusable_collection.rb delete mode 100644 qa/qa/resource/reusable_group.rb delete mode 100644 qa/qa/resource/reusable_project.rb delete mode 100644 qa/qa/resource/runner.rb create mode 100644 qa/qa/resource/runner_base.rb delete mode 100644 qa/qa/specs/features/api/4_verify/remove_runner_spec.rb create mode 100644 qa/qa/specs/features/browser_ui/3_create/web_ide_new/add_new_directory_in_web_ide_spec.rb create mode 100644 qa/qa/specs/features/browser_ui/8_monitor/alert_management/alert_settings_create_new_alerts_spec.rb create mode 100644 qa/qa/specs/features/browser_ui/8_monitor/alert_management/create_alert_using_authorization_key_spec.rb delete mode 100644 qa/qa/specs/features/browser_ui/8_monitor/incident_management/http_endpoint_integration_creates_alert_spec.rb create mode 100644 qa/qa/specs/features/shared_contexts/advanced_search_shared_context.rb create mode 100644 qa/qa/support/system_logs/kibana.rb create mode 100644 qa/qa/support/system_logs/sentry.rb delete mode 100644 qa/spec/resource/reusable_collection_spec.rb create mode 100644 qa/spec/support/system_logs/kibana_spec.rb create mode 100644 qa/spec/support/system_logs/sentry_spec.rb create mode 100644 rubocop/cop/background_migration/feature_category.rb create mode 100644 scripts/allowed_warnings.txt create mode 100755 scripts/glfm/run-spec-tests.sh delete mode 100755 scripts/lint-doc-quality.sh create mode 100644 spec/controllers/concerns/content_security_policy_patch_spec.rb delete mode 100644 spec/controllers/import/available_namespaces_controller_spec.rb create mode 100644 spec/factories/ci/runner_machines.rb delete mode 100644 spec/features/admin/admin_broadcast_messages_spec.rb create mode 100644 spec/features/dashboard/navbar_spec.rb create mode 100644 spec/features/merge_request/admin_views_hidden_merge_request_spec.rb create mode 100644 spec/features/merge_requests/admin_views_hidden_merge_requests_spec.rb delete mode 100644 spec/features/projects/files/template_type_dropdown_spec.rb create mode 100644 spec/features/projects/pipelines/legacy_pipelines_spec.rb delete mode 100644 spec/fixtures/markdown/markdown_golden_master_examples.yml create mode 100644 spec/fixtures/tasks/gitlab/security/expected_banned_keys.yml create mode 100644 spec/fixtures/tasks/gitlab/security/ssh-badkeys/LICENSE create mode 100644 spec/fixtures/tasks/gitlab/security/ssh-badkeys/README.md create mode 100644 spec/fixtures/tasks/gitlab/security/ssh-badkeys/authorized/array-networks-vapv-vxag.pub create mode 100644 spec/fixtures/tasks/gitlab/security/ssh-badkeys/authorized/barracuda_load_balancer_vm.pub create mode 100644 spec/fixtures/tasks/gitlab/security/ssh-badkeys/authorized/ceragon-fibeair-cve-2015-0936.pub create mode 100644 spec/fixtures/tasks/gitlab/security/ssh-badkeys/authorized/exagrid-cve-2016-1561.pub create mode 100644 spec/fixtures/tasks/gitlab/security/ssh-badkeys/authorized/f5-bigip-cve-2012-1493.pub create mode 100644 spec/fixtures/tasks/gitlab/security/ssh-badkeys/authorized/loadbalancer.org-enterprise-va.pub create mode 100644 spec/fixtures/tasks/gitlab/security/ssh-badkeys/authorized/monroe-dasdec-cve-2013-0137.pub create mode 100644 spec/fixtures/tasks/gitlab/security/ssh-badkeys/authorized/quantum-dxi-v1000.pub create mode 100644 spec/fixtures/tasks/gitlab/security/ssh-badkeys/authorized/vagrant-default.pub create mode 100644 spec/frontend/__mocks__/@cubejs-client/core.js create mode 100644 spec/frontend/abuse_reports/components/abuse_category_selector_spec.js create mode 100644 spec/frontend/artifacts/components/feedback_banner_spec.js create mode 100644 spec/frontend/behaviors/markdown/render_gfm_spec.js rename spec/frontend/{ => ci}/ci_variable_list/ci_variable_list/ci_variable_list_spec.js (98%) rename spec/frontend/{ => ci}/ci_variable_list/ci_variable_list/native_form_variable_list_spec.js (92%) rename spec/frontend/{ => ci}/ci_variable_list/components/ci_admin_variables_spec.js (82%) create mode 100644 spec/frontend/ci/ci_variable_list/components/ci_environments_dropdown_spec.js rename spec/frontend/{ => ci}/ci_variable_list/components/ci_group_variables_spec.js (88%) rename spec/frontend/{ => ci}/ci_variable_list/components/ci_project_variables_spec.js (81%) rename spec/frontend/{ => ci}/ci_variable_list/components/ci_variable_modal_spec.js (98%) rename spec/frontend/{ => ci}/ci_variable_list/components/ci_variable_settings_spec.js (91%) rename spec/frontend/{ => ci}/ci_variable_list/components/ci_variable_shared_spec.js (94%) rename spec/frontend/{ => ci}/ci_variable_list/components/ci_variable_table_spec.js (97%) rename spec/frontend/{ => ci}/ci_variable_list/mocks.js (73%) rename spec/frontend/{ => ci}/ci_variable_list/services/mock_data.js (100%) rename spec/frontend/{ => ci}/ci_variable_list/stubs.js (100%) rename spec/frontend/{ => ci}/ci_variable_list/utils_spec.js (95%) rename spec/frontend/{ => ci}/pipeline_new/components/pipeline_new_form_spec.js (94%) rename spec/frontend/{ => ci}/pipeline_new/components/refs_dropdown_spec.js (59%) rename spec/frontend/{ => ci}/pipeline_new/mock_data.js (97%) rename spec/frontend/{ => ci}/pipeline_new/utils/filter_variables_spec.js (87%) create mode 100644 spec/frontend/ci/pipeline_new/utils/format_refs_spec.js delete mode 100644 spec/frontend/ci_variable_list/components/ci_environments_dropdown_spec.js create mode 100644 spec/frontend/constants_spec.js delete mode 100644 spec/frontend/content_editor/markdown_processing_spec.js delete mode 100644 spec/frontend/content_editor/markdown_processing_spec_helper.js delete mode 100644 spec/frontend/content_editor/markdown_snapshot_spec_helper.js create mode 100644 spec/frontend/diff_spec.js create mode 100644 spec/frontend/environments/environment_details/deployment_job_spec.js create mode 100644 spec/frontend/environments/environment_details/deployment_status_link_spec.js create mode 100644 spec/frontend/environments/environment_details/deployment_triggerer_spec.js create mode 100644 spec/frontend/environments/environment_details/empty_state_spec.js create mode 100644 spec/frontend/environments/environment_details/page_spec.js create mode 100644 spec/frontend/environments/environment_details/pagination_spec.js delete mode 100644 spec/frontend/environments/environment_details_page_spec.js delete mode 100644 spec/frontend/gitlab_version_check/components/security_patch_upgrade_alert_spec.js create mode 100644 spec/frontend/integrations/edit/components/integration_forms/section_spec.js create mode 100644 spec/frontend/issues/dashboard/utils_spec.js delete mode 100644 spec/frontend/jira_connect/subscriptions/components/compatibility_alert_spec.js delete mode 100644 spec/frontend/members/components/action_buttons/leave_button_spec.js delete mode 100644 spec/frontend/members/components/action_buttons/user_action_buttons_spec.js create mode 100644 spec/frontend/members/components/action_dropdowns/leave_group_dropdown_item_spec.js create mode 100644 spec/frontend/members/components/action_dropdowns/remove_member_dropdown_item_spec.js create mode 100644 spec/frontend/members/components/action_dropdowns/user_action_dropdown_spec.js create mode 100644 spec/frontend/members/components/table/__snapshots__/member_activity_spec.js.snap create mode 100644 spec/frontend/members/components/table/member_activity_spec.js create mode 100644 spec/frontend/members/guest_overage_confirm_action_spec.js create mode 100644 spec/frontend/notifications/components/notification_email_listbox_input_spec.js delete mode 100644 spec/frontend/packages_and_registries/package_registry/pages/__snapshots__/list_spec.js.snap delete mode 100644 spec/frontend/pipeline_new/utils/format_refs_spec.js create mode 100644 spec/frontend/projects/merge_requests/components/report_abuse_dropdown_item_spec.js create mode 100644 spec/frontend/repository/components/blob_viewers/notebook_viewer_spec.js create mode 100644 spec/frontend/repository/components/blob_viewers/openapi_viewer_spec.js create mode 100644 spec/frontend/repository/components/fork_info_spec.js create mode 100644 spec/frontend/super_sidebar/components/counter_spec.js create mode 100644 spec/frontend/super_sidebar/components/super_sidebar_spec.js create mode 100644 spec/frontend/super_sidebar/components/user_bar_spec.js create mode 100644 spec/frontend/super_sidebar/mock_data.js create mode 100644 spec/frontend/usage_quotas/storage/components/project_storage_app_spec.js create mode 100644 spec/frontend/usage_quotas/storage/components/project_storage_detail_spec.js create mode 100644 spec/frontend/usage_quotas/storage/components/storage_type_icon_spec.js create mode 100644 spec/frontend/usage_quotas/storage/components/usage_graph_spec.js create mode 100644 spec/frontend/usage_quotas/storage/mock_data.js create mode 100644 spec/frontend/usage_quotas/storage/utils_spec.js create mode 100644 spec/frontend/users/profile/components/report_abuse_button_spec.js delete mode 100644 spec/frontend/vue_merge_request_widget/components/states/__snapshots__/mr_widget_auto_merge_enabled_spec.js.snap create mode 100644 spec/frontend/vue_merge_request_widget/extensions/security_reports/mock_data.js create mode 100644 spec/frontend/vue_merge_request_widget/extensions/security_reports/mr_widget_security_reports_spec.js create mode 100644 spec/frontend/vue_shared/components/markdown/editor_mode_dropdown_spec.js delete mode 100644 spec/frontend/vue_shared/components/runner_aws_deployments/__snapshots__/runner_aws_deployments_modal_spec.js.snap create mode 100644 spec/frontend/vue_shared/components/runner_instructions/instructions/__snapshots__/runner_docker_instructions_spec.js.snap create mode 100644 spec/frontend/vue_shared/components/runner_instructions/instructions/__snapshots__/runner_kubernetes_instructions_spec.js.snap create mode 100644 spec/frontend/vue_shared/components/runner_instructions/instructions/runner_aws_instructions_spec.js create mode 100644 spec/frontend/vue_shared/components/runner_instructions/instructions/runner_cli_instructions_spec.js create mode 100644 spec/frontend/vue_shared/components/runner_instructions/instructions/runner_docker_instructions_spec.js create mode 100644 spec/frontend/vue_shared/components/runner_instructions/instructions/runner_kubernetes_instructions_spec.js create mode 100644 spec/frontend/work_items/components/notes/__snapshots__/work_item_note_body_spec.js.snap create mode 100644 spec/frontend/work_items/components/notes/activity_filter_spec.js create mode 100644 spec/frontend/work_items/components/notes/work_item_note_body_spec.js create mode 100644 spec/frontend/work_items/components/notes/work_item_note_spec.js create mode 100644 spec/frontend/work_items/components/work_item_comment_form_spec.js create mode 100644 spec/frontend/work_items/components/work_item_comment_locked_spec.js create mode 100644 spec/graphql/mutations/achievements/create_spec.rb create mode 100644 spec/graphql/types/achievements/achievement_type_spec.rb create mode 100644 spec/graphql/types/ci/runner_countable_connection_type_spec.rb create mode 100644 spec/graphql/types/description_version_type_spec.rb create mode 100644 spec/graphql/types/member_access_level_enum_spec.rb create mode 100644 spec/graphql/types/notes/system_note_metadata_type_spec.rb create mode 100644 spec/graphql/types/time_tracking/timelog_connection_type_spec.rb create mode 100644 spec/graphql/types/time_tracking/timelog_sort_enum_spec.rb create mode 100644 spec/graphql/types/users/email_type_spec.rb create mode 100644 spec/graphql/types/users/namespace_commit_email_type_spec.rb create mode 100644 spec/helpers/admin/components_helper_spec.rb create mode 100644 spec/helpers/url_helper_spec.rb create mode 100644 spec/lib/api/helpers/members_helpers_spec.rb create mode 100644 spec/lib/banzai/filter/service_desk_upload_link_filter_spec.rb create mode 100644 spec/lib/banzai/pipeline/service_desk_email_pipeline_spec.rb delete mode 100644 spec/lib/gitlab/background_migration/add_primary_email_to_emails_if_user_confirmed_spec.rb create mode 100644 spec/lib/gitlab/background_migration/backfill_admin_mode_scope_for_personal_access_tokens_spec.rb create mode 100644 spec/lib/gitlab/background_migration/backfill_releases_author_id_spec.rb create mode 100644 spec/lib/gitlab/background_migration/truncate_overlong_vulnerability_html_titles_spec.rb create mode 100644 spec/lib/gitlab/database/indexing_exclusive_lease_guard_spec.rb delete mode 100644 spec/lib/gitlab/import_export/group/legacy_tree_restorer_spec.rb delete mode 100644 spec/lib/gitlab/import_export/group/legacy_tree_saver_spec.rb create mode 100644 spec/lib/gitlab/redis/repository_cache_spec.rb create mode 100644 spec/lib/gitlab/seeders/ci/runner/runner_fleet_pipeline_seeder_spec.rb create mode 100644 spec/lib/gitlab/seeders/ci/runner/runner_fleet_seeder_spec.rb rename spec/lib/gitlab/usage/service_ping/{legacy_metric_timing_decorator_spec.rb => legacy_metric_metadata_decorator_spec.rb} (62%) create mode 100644 spec/lib/sidebars/your_work/menus/issues_menu_spec.rb create mode 100644 spec/lib/sidebars/your_work/menus/merge_requests_menu_spec.rb create mode 100644 spec/lib/sidebars/your_work/menus/todos_menu_spec.rb create mode 100644 spec/mailers/emails/imports_spec.rb delete mode 100644 spec/migrations/20210406144743_backfill_total_tuple_count_for_batched_migrations_spec.rb delete mode 100644 spec/migrations/20210423160427_schedule_drop_invalid_vulnerabilities_spec.rb delete mode 100644 spec/migrations/20210430134202_copy_adoption_snapshot_namespace_spec.rb delete mode 100644 spec/migrations/20210430135954_copy_adoption_segments_namespace_spec.rb delete mode 100644 spec/migrations/20210503105845_add_project_value_stream_id_to_project_stages_spec.rb delete mode 100644 spec/migrations/20210511142748_schedule_drop_invalid_vulnerabilities2_spec.rb delete mode 100644 spec/migrations/20210514063252_schedule_cleanup_orphaned_lfs_objects_projects_spec.rb delete mode 100644 spec/migrations/20210601073400_fix_total_stage_in_vsa_spec.rb delete mode 100644 spec/migrations/20210601080039_group_protected_environments_add_index_and_constraint_spec.rb create mode 100644 spec/migrations/20221209235940_cleanup_o_auth_access_tokens_with_null_expires_in_spec.rb create mode 100644 spec/migrations/20221215151822_schedule_backfill_releases_author_id_spec.rb create mode 100644 spec/migrations/20221220131020_bump_default_partition_id_value_for_ci_tables_spec.rb create mode 100644 spec/migrations/20221221110733_remove_temp_index_for_project_statistics_upload_size_migration_spec.rb create mode 100644 spec/migrations/20221222092958_sync_new_amount_used_with_amount_used_spec.rb create mode 100644 spec/migrations/20221223123019_delete_queued_jobs_for_vulnerabilities_feedback_migration_spec.rb create mode 100644 spec/migrations/20230105172120_sync_new_amount_used_with_amount_used_on_ci_namespace_monthly_usages_table_spec.rb create mode 100644 spec/migrations/20230116111252_finalize_todo_sanitization_spec.rb delete mode 100644 spec/migrations/add_new_trail_plans_spec.rb delete mode 100644 spec/migrations/backfill_clusters_integration_prometheus_enabled_spec.rb delete mode 100644 spec/migrations/backfill_escalation_policies_for_oncall_schedules_spec.rb delete mode 100644 spec/migrations/backfill_nuget_temporary_packages_to_processing_status_spec.rb delete mode 100644 spec/migrations/change_web_hook_events_default_spec.rb delete mode 100644 spec/migrations/clean_up_pending_builds_table_spec.rb delete mode 100644 spec/migrations/cleanup_after_add_primary_email_to_emails_if_user_confirmed_spec.rb delete mode 100644 spec/migrations/cleanup_move_container_registry_enabled_to_project_feature_spec.rb delete mode 100644 spec/migrations/confirm_support_bot_user_spec.rb delete mode 100644 spec/migrations/delete_security_findings_without_uuid_spec.rb delete mode 100644 spec/migrations/insert_ci_daily_pipeline_schedule_triggers_plan_limits_spec.rb delete mode 100644 spec/migrations/migrate_elastic_index_settings_spec.rb delete mode 100644 spec/migrations/move_container_registry_enabled_to_project_features3_spec.rb delete mode 100644 spec/migrations/populate_dismissal_information_for_vulnerabilities_spec.rb create mode 100644 spec/migrations/queue_backfill_admin_mode_scope_for_personal_access_tokens_spec.rb delete mode 100644 spec/migrations/remove_hipchat_service_records_spec.rb delete mode 100644 spec/migrations/remove_records_without_group_from_webhooks_table_spec.rb delete mode 100644 spec/migrations/schedule_add_primary_email_to_emails_if_user_confirmed_spec.rb delete mode 100644 spec/migrations/schedule_disable_expiration_policies_linked_to_no_container_images_spec.rb delete mode 100644 spec/migrations/schedule_update_timelogs_project_id_spec.rb delete mode 100644 spec/migrations/schedule_update_users_where_two_factor_auth_required_from_group_spec.rb create mode 100644 spec/migrations/second_recount_epic_cache_counts_spec.rb delete mode 100644 spec/migrations/update_invalid_web_hooks_spec.rb create mode 100644 spec/models/achievements/user_achievement_spec.rb create mode 100644 spec/models/ci/runner_machine_spec.rb create mode 100644 spec/models/concerns/safely_change_column_default_spec.rb create mode 100644 spec/models/integrations/apple_app_store_spec.rb create mode 100644 spec/models/projects/branch_rule_spec.rb create mode 100644 spec/models/resource_event_spec.rb create mode 100644 spec/policies/project_group_link_policy_spec.rb create mode 100644 spec/policies/resource_milestone_event_policy_spec.rb create mode 100644 spec/policies/resource_state_event_policy_spec.rb create mode 100644 spec/requests/api/graphql/mutations/achievements/create_spec.rb create mode 100644 spec/requests/api/graphql/mutations/members/groups/bulk_update_spec.rb delete mode 100644 spec/requests/api/markdown_golden_master_spec.rb create mode 100644 spec/rubocop/cop/background_migration/feature_category_spec.rb create mode 100644 spec/services/achievements/create_service_spec.rb delete mode 100644 spec/services/clusters/aws/authorize_role_service_spec.rb delete mode 100644 spec/services/clusters/aws/fetch_credentials_service_spec.rb delete mode 100644 spec/services/clusters/aws/finalize_creation_service_spec.rb delete mode 100644 spec/services/clusters/aws/provision_service_spec.rb delete mode 100644 spec/services/clusters/aws/verify_provision_status_service_spec.rb delete mode 100644 spec/services/clusters/gcp/fetch_operation_service_spec.rb delete mode 100644 spec/services/clusters/gcp/finalize_creation_service_spec.rb delete mode 100644 spec/services/clusters/gcp/provision_service_spec.rb delete mode 100644 spec/services/clusters/gcp/verify_provision_status_service_spec.rb create mode 100644 spec/services/environments/stop_stale_service_spec.rb create mode 100644 spec/services/files/base_service_spec.rb create mode 100644 spec/services/security/ci_configuration/dependency_scanning_create_service_spec.rb create mode 100644 spec/services/users/unblock_service_spec.rb create mode 100644 spec/support/helpers/listbox_helpers.rb delete mode 100644 spec/support/helpers/listbox_input_helper.rb create mode 100644 spec/support/matchers/be_boolean.rb delete mode 100644 spec/support/shared_contexts/markdown_golden_master_shared_examples.rb create mode 100644 spec/support/shared_examples/analytics/cycle_analytics/parentable_examples.rb create mode 100644 spec/support/shared_examples/features/code_highlight_shared_examples.rb create mode 100644 spec/support/shared_examples/features/dashboard/sidebar_shared_examples.rb create mode 100644 spec/support/shared_examples/lib/sidebars/your_work/menus/menu_item_examples.rb create mode 100644 spec/support/shared_examples/namespaces/members.rb create mode 100644 spec/support/tmpdir.rb create mode 100644 spec/support_specs/license_metadata_tags_spec.rb create mode 100644 spec/tasks/gitlab/security/update_banned_ssh_keys_rake_spec.rb create mode 100644 spec/tasks/gitlab/seed/runner_fleet_rake_spec.rb delete mode 100644 spec/tooling/danger/user_types_spec.rb create mode 100644 spec/tooling/lib/tooling/view_to_js_mappings_spec.rb delete mode 100644 spec/views/admin/broadcast_messages/index.html.haml_spec.rb create mode 100644 spec/views/layouts/snippets.html.haml_spec.rb delete mode 100644 spec/views/projects/_files.html.haml_spec.rb delete mode 100644 spec/workers/cluster_provision_worker_spec.rb create mode 100644 spec/workers/counters/cleanup_refresh_worker_spec.rb create mode 100644 spec/workers/projects/finalize_project_statistics_refresh_worker_spec.rb delete mode 100644 spec/workers/wait_for_cluster_creation_worker_spec.rb create mode 100755 tooling/bin/view_to_js_mappings delete mode 100644 tooling/danger/user_types.rb create mode 100644 tooling/lib/tooling/view_to_js_mappings.rb delete mode 100644 vendor/aws/cloudformation/eks_cluster.yaml delete mode 100644 vendor/aws/iam/eks_cluster_read_only_policy.json delete mode 100644 vendor/gems/bundler-checksum/lib/bundler/checksum/version.rb rename vendor/gems/bundler-checksum/lib/{bundler/checksum.rb => bundler_checksum.rb} (72%) rename vendor/gems/bundler-checksum/lib/{bundler/checksum => bundler_checksum}/command.rb (96%) rename vendor/gems/bundler-checksum/lib/{bundler/checksum => bundler_checksum}/command/helper.rb (95%) rename vendor/gems/bundler-checksum/lib/{bundler/checksum => bundler_checksum}/command/init.rb (95%) rename vendor/gems/bundler-checksum/lib/{bundler/checksum => bundler_checksum}/command/verify.rb (94%) create mode 100644 vendor/gems/bundler-checksum/lib/bundler_checksum/version.rb create mode 100755 workhorse/_support/detect-external-tests.sh create mode 100644 workhorse/internal/upload/destination/multi_hash_test.go create mode 100644 workhorse/internal/upload/destination/objectstore/s3api/s3api.go diff --git a/.gitignore b/.gitignore index ad7595dc7f..1dd9f4ef8a 100644 --- a/.gitignore +++ b/.gitignore @@ -42,6 +42,7 @@ eslint-report.html /config/initializers/relative_url.rb /config/resque.yml /config/redis.*.yml +/config/redis.yml /config/unicorn.rb /config/puma.rb /config/secrets.yml @@ -73,6 +74,7 @@ eslint-report.html /.gitlab_workhorse_secret /.gitlab_pages_secret /.gitlab_kas_secret +/.gitlab_suggested_reviewers_secret /webpack-report/ /crystalball/ /test_results/ diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index bfbdb7518c..5bb29a7aa3 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -29,6 +29,8 @@ workflow: rules: # If `$FORCE_GITLAB_CI` is set, create a pipeline. - if: '$FORCE_GITLAB_CI' + variables: + RUBY_VERSION: "3.0" # As part of the process of creating RCs automatically, we update stable # branches with the changes of the most recent production deployment. The # merge requests used for this merge a branch release-tools/X into a stable @@ -36,36 +38,43 @@ workflow: # they serve no purpose and will run anyway when the changes are merged. - if: '$CI_MERGE_REQUEST_SOURCE_BRANCH_NAME =~ /^release-tools\/\d+\.\d+\.\d+-rc\d+$/ && $CI_MERGE_REQUEST_TARGET_BRANCH_NAME =~ /^[\d-]+-stable(-ee)?$/ && $CI_PROJECT_PATH == "gitlab-org/gitlab"' when: never - # For merge requests running exclusively in Ruby 3.0 - - if: '$CI_MERGE_REQUEST_LABELS =~ /pipeline:run-in-ruby3/' + # For merge requests running exclusively in Ruby 2.7 + - if: '$CI_MERGE_REQUEST_LABELS =~ /pipeline:run-in-ruby2/' variables: - RUBY_VERSION: "3.0" - PIPELINE_NAME: 'Ruby 3 $CI_MERGE_REQUEST_EVENT_TYPE MR pipeline' + RUBY_VERSION: "2.7" + PIPELINE_NAME: 'Ruby 2 $CI_MERGE_REQUEST_EVENT_TYPE MR pipeline' # For (detached) merge request pipelines. - if: '$CI_MERGE_REQUEST_IID' variables: - PIPELINE_NAME: '$CI_MERGE_REQUEST_EVENT_TYPE MR pipeline' + RUBY_VERSION: "3.0" + OMNIBUS_GITLAB_RUBY3_BUILD: "true" + OMNIBUS_GITLAB_CACHE_EDITION: "GITLAB_RUBY3" + PIPELINE_NAME: 'Ruby 3 $CI_MERGE_REQUEST_EVENT_TYPE MR pipeline' # For the scheduled pipelines, we set specific variables. - if: '$CI_COMMIT_BRANCH == $CI_DEFAULT_BRANCH && $CI_PIPELINE_SOURCE == "schedule"' variables: + RUBY_VERSION: "3.0" + OMNIBUS_GITLAB_RUBY3_BUILD: "true" + OMNIBUS_GITLAB_CACHE_EDITION: "GITLAB_RUBY3" CRYSTALBALL: "true" CREATE_INCIDENT_FOR_PIPELINE_FAILURE: "true" NOTIFY_PIPELINE_FAILURE_CHANNEL: "master-broken" BROKEN_BRANCH_INCIDENTS_PROJECT: "gitlab-org/quality/engineering-productivity/master-broken-incidents" BROKEN_BRANCH_INCIDENTS_PROJECT_TOKEN: "${BROKEN_MASTER_INCIDENTS_PROJECT_TOKEN}" PIPELINE_NAME: 'Scheduled $CI_COMMIT_BRANCH pipeline' - # Run pipelines for ruby3 branch - - if: '$CI_COMMIT_BRANCH == "ruby3" && $CI_PIPELINE_SOURCE == "schedule"' + # Run pipelines for ruby2 branch + - if: '$CI_COMMIT_BRANCH == "ruby2" && $CI_PIPELINE_SOURCE == "schedule"' variables: - RUBY_VERSION: "3.0" + RUBY_VERSION: "2.7" NOTIFY_PIPELINE_FAILURE_CHANNEL: "f_ruby3" - OMNIBUS_GITLAB_RUBY3_BUILD: "true" - OMNIBUS_GITLAB_CACHE_EDITION: "GITLAB_RUBY3" - PIPELINE_NAME: 'Scheduled ruby 3 pipeline' + PIPELINE_NAME: 'Scheduled ruby 2 pipeline' # This work around https://gitlab.com/gitlab-org/gitlab/-/issues/332411 whichs prevents usage of dependency proxy # when pipeline is triggered by a project access token. - if: '$CI_COMMIT_BRANCH == $CI_DEFAULT_BRANCH && $GITLAB_USER_LOGIN =~ /project_\d+_bot\d*/' variables: + RUBY_VERSION: "3.0" + OMNIBUS_GITLAB_RUBY3_BUILD: "true" + OMNIBUS_GITLAB_CACHE_EDITION: "GITLAB_RUBY3" GITLAB_DEPENDENCY_PROXY_ADDRESS: "" CREATE_INCIDENT_FOR_PIPELINE_FAILURE: "true" NOTIFY_PIPELINE_FAILURE_CHANNEL: "master-broken" @@ -74,24 +83,34 @@ workflow: # For `$CI_DEFAULT_BRANCH` branch, create a pipeline (this includes on schedules, pushes, merges, etc.). - if: '$CI_COMMIT_BRANCH == $CI_DEFAULT_BRANCH' variables: + RUBY_VERSION: "3.0" + OMNIBUS_GITLAB_RUBY3_BUILD: "true" + OMNIBUS_GITLAB_CACHE_EDITION: "GITLAB_RUBY3" CREATE_INCIDENT_FOR_PIPELINE_FAILURE: "true" NOTIFY_PIPELINE_FAILURE_CHANNEL: "master-broken" BROKEN_BRANCH_INCIDENTS_PROJECT: "gitlab-org/quality/engineering-productivity/master-broken-incidents" BROKEN_BRANCH_INCIDENTS_PROJECT_TOKEN: "${BROKEN_MASTER_INCIDENTS_PROJECT_TOKEN}" # For tags, create a pipeline. - if: '$CI_COMMIT_TAG' + variables: + RUBY_VERSION: "2.7" # If `$GITLAB_INTERNAL` isn't set, don't create a pipeline. - if: '$GITLAB_INTERNAL == null' when: never # For stable, auto-deploy, and security branches, create a pipeline. - if: '$CI_COMMIT_BRANCH =~ /^[\d-]+-stable(-ee)?$/' variables: + RUBY_VERSION: "2.7" NOTIFY_PIPELINE_FAILURE_CHANNEL: "releases" CREATE_INCIDENT_FOR_PIPELINE_FAILURE: "true" BROKEN_BRANCH_INCIDENTS_PROJECT: "gitlab-org/release/tasks" BROKEN_BRANCH_INCIDENTS_PROJECT_TOKEN: "${BROKEN_STABLE_INCIDENTS_PROJECT_TOKEN}" - if: '$CI_COMMIT_BRANCH =~ /^\d+-\d+-auto-deploy-\d+$/' + variables: + RUBY_VERSION: "2.7" - if: '$CI_COMMIT_BRANCH =~ /^security\//' + variables: + RUBY_VERSION: "2.7" variables: PG_VERSION: "12" @@ -117,22 +136,23 @@ variables: RUBY_VERSION: "2.7" GO_VERSION: "1.18" - TMP_TEST_FOLDER: "${CI_PROJECT_DIR}/tmp/tests" - GITLAB_WORKHORSE_FOLDER: "gitlab-workhorse" - TMP_TEST_GITLAB_WORKHORSE_PATH: "${TMP_TEST_FOLDER}/${GITLAB_WORKHORSE_FOLDER}" - KNAPSACK_RSPEC_SUITE_REPORT_PATH: knapsack/report-master.json FLAKY_RSPEC_SUITE_REPORT_PATH: rspec/flaky/report-suite.json - RSPEC_TESTS_MAPPING_PATH: crystalball/mapping.json - RSPEC_PACKED_TESTS_MAPPING_PATH: crystalball/packed-mapping.json - RSPEC_PROFILING_FOLDER_PATH: rspec/profiling FRONTEND_FIXTURES_MAPPING_PATH: crystalball/frontend_fixtures_mapping.json - RSPEC_CHANGED_FILES_PATH: rspec/changed_files.txt - RSPEC_MATCHING_TESTS_PATH: rspec/matching_tests.txt - RSPEC_MATCHING_TESTS_FOSS_PATH: rspec/matching_tests-foss.txt - RSPEC_LAST_RUN_RESULTS_FILE: rspec/rspec_last_run_results.txt - RSPEC_FOSS_IMPACT_PIPELINE_YML: rspec-foss-impact-pipeline.yml + GITLAB_WORKHORSE_FOLDER: "gitlab-workhorse" JUNIT_RESULT_FILE: rspec/junit_rspec.xml JUNIT_RETRY_FILE: rspec/junit_rspec-retry.xml + KNAPSACK_RSPEC_SUITE_REPORT_PATH: knapsack/report-master.json + RSPEC_CHANGED_FILES_PATH: rspec/changed_files.txt + RSPEC_FOSS_IMPACT_PIPELINE_YML: rspec-foss-impact-pipeline.yml + RSPEC_LAST_RUN_RESULTS_FILE: rspec/rspec_last_run_results.txt + RSPEC_MATCHING_JS_FILES_PATH: rspec/js_matching_files.txt + RSPEC_MATCHING_TESTS_FOSS_PATH: rspec/matching_tests-foss.txt + RSPEC_MATCHING_TESTS_PATH: rspec/matching_tests.txt + RSPEC_PACKED_TESTS_MAPPING_PATH: crystalball/packed-mapping.json + RSPEC_PROFILING_FOLDER_PATH: rspec/profiling + RSPEC_TESTS_MAPPING_PATH: crystalball/mapping.json + TMP_TEST_FOLDER: "${CI_PROJECT_DIR}/tmp/tests" + TMP_TEST_GITLAB_WORKHORSE_PATH: "${TMP_TEST_FOLDER}/${GITLAB_WORKHORSE_FOLDER}" ES_JAVA_OPTS: "-Xms256m -Xmx256m" ELASTIC_URL: "http://elastic:changeme@elasticsearch:9200" diff --git a/.gitlab/CODEOWNERS b/.gitlab/CODEOWNERS index b3efa7c61e..c6d0ac6b69 100644 --- a/.gitlab/CODEOWNERS +++ b/.gitlab/CODEOWNERS @@ -28,6 +28,9 @@ GITALY_SERVER_VERSION @project_278964_bot6 @gitlab-org/maintainers/rails-backend /doc/.vale/ @marcel.amirault @eread @aqualls @gitlab-org/tw-leadership /lib/tasks/gitlab/tw/codeowners.rake @aqualls @gitlab-org/tw-leadership +^[Source code editing] +.solargraph.yml.example @igor.drozdov + ^[Backend] *.rb @gitlab-org/maintainers/rails-backend *.rake @gitlab-org/maintainers/rails-backend @@ -438,7 +441,7 @@ lib/gitlab/checks/** @proglottis @toon @zj-gitlab /doc/administration/environment_variables.md @axil /doc/administration/external_pipeline_validation.md @marcel.amirault /doc/administration/feature_flags.md @axil -/doc/administration/file_hooks.md @aqualls +/doc/administration/file_hooks.md @ashrafkhamis /doc/administration/geo/ @axil /doc/administration/geo/disaster_recovery/ @axil /doc/administration/geo/disaster_recovery/runbooks/ @axil @@ -472,7 +475,9 @@ lib/gitlab/checks/** @proglottis @toon @zj-gitlab /doc/administration/monitoring/gitlab_self_monitoring_project/ @msedlakjakubowski /doc/administration/monitoring/ip_allowlist.md @jglassman1 /doc/administration/monitoring/performance/ @msedlakjakubowski +/doc/administration/monitoring/performance/performance_bar.md @jglassman1 /doc/administration/monitoring/prometheus/ @msedlakjakubowski +/doc/administration/monitoring/prometheus/gitlab_exporter.md @jglassman1 /doc/administration/monitoring/prometheus/index.md @axil /doc/administration/monitoring/prometheus/web_exporter.md @jglassman1 /doc/administration/nfs.md @axil @@ -485,6 +490,7 @@ lib/gitlab/checks/** @proglottis @toon @zj-gitlab /doc/administration/pages/ @ashrafkhamis /doc/administration/polling.md @axil /doc/administration/postgresql/ @aqualls +/doc/administration/postgresql/multiple_databases.md @jglassman1 /doc/administration/raketasks/ @axil /doc/administration/raketasks/ldap.md @jglassman1 /doc/administration/raketasks/praefect.md @eread @@ -502,7 +508,7 @@ lib/gitlab/checks/** @proglottis @toon @zj-gitlab /doc/administration/sidekiq/ @axil /doc/administration/sidekiq/sidekiq_memory_killer.md @jglassman1 /doc/administration/smime_signing_email.md @axil -/doc/administration/snippets/ @ashrafkhamis +/doc/administration/snippets/ @aqualls /doc/administration/static_objects_external_storage.md @ashrafkhamis /doc/administration/system_hooks.md @ashrafkhamis /doc/administration/terraform_state.md @phillipwells @@ -543,7 +549,6 @@ lib/gitlab/checks/** @proglottis @toon @zj-gitlab /doc/api/error_tracking.md @msedlakjakubowski /doc/api/events.md @eread /doc/api/experiments.md @phillipwells -/doc/api/feature_flag_specs.md @rdickenson /doc/api/feature_flag_user_lists.md @rdickenson /doc/api/feature_flags.md @rdickenson /doc/api/features.md @rdickenson @@ -624,11 +629,11 @@ lib/gitlab/checks/** @proglottis @toon @zj-gitlab /doc/api/project_level_variables.md @marcel.amirault /doc/api/project_relations_export.md @eread /doc/api/project_repository_storage_moves.md @eread -/doc/api/project_snippets.md @ashrafkhamis +/doc/api/project_snippets.md @aqualls /doc/api/project_statistics.md @aqualls /doc/api/project_templates.md @aqualls /doc/api/project_vulnerabilities.md @aqualls -/doc/api/projects.md @msedlakjakubowski +/doc/api/projects.md @lciutacu /doc/api/protected_branches.md @aqualls /doc/api/protected_environments.md @rdickenson /doc/api/protected_tags.md @aqualls @@ -650,8 +655,8 @@ lib/gitlab/checks/** @proglottis @toon @zj-gitlab /doc/api/secure_files.md @marcel.amirault /doc/api/settings.md @jglassman1 /doc/api/sidekiq_metrics.md @axil -/doc/api/snippet_repository_storage_moves.md @ashrafkhamis -/doc/api/snippets.md @ashrafkhamis +/doc/api/snippet_repository_storage_moves.md @aqualls +/doc/api/snippets.md @aqualls /doc/api/statistics.md @jglassman1 /doc/api/status_checks.md @eread /doc/api/suggestions.md @aqualls @@ -673,7 +678,6 @@ lib/gitlab/checks/** @proglottis @toon @zj-gitlab /doc/api/wikis.md @ashrafkhamis /doc/architecture/blueprints/database/scalability/patterns/ @aqualls /doc/architecture/blueprints/database_scaling/ @aqualls -/doc/architecture/blueprints/runner_tokens/ @fneill /doc/ci/ @marcel.amirault /doc/ci/caching/ @marcel.amirault /doc/ci/chatops/ @phillipwells @@ -762,10 +766,11 @@ lib/gitlab/checks/** @proglottis @toon @zj-gitlab /doc/development/gitaly.md @eread /doc/development/gitlab_flavored_markdown/ @ashrafkhamis /doc/development/gitlab_flavored_markdown/specification_guide/ @ashrafkhamis +/doc/development/gitlab_shell/ @aqualls /doc/development/graphql_guide/ @ashrafkhamis /doc/development/graphql_guide/batchloader.md @aqualls /doc/development/i18n/ @eread -/doc/development/image_scaling.md @jglassman1 +/doc/development/image_scaling.md @lciutacu /doc/development/import_export.md @eread /doc/development/index.md @sselhorn /doc/development/integrations/codesandbox.md @sselhorn @@ -783,6 +788,7 @@ lib/gitlab/checks/** @proglottis @toon @zj-gitlab /doc/development/logging.md @msedlakjakubowski /doc/development/maintenance_mode.md @axil /doc/development/merge_request_concepts/ @aqualls +/doc/development/merge_request_diffs.md @aqualls /doc/development/omnibus.md @axil /doc/development/packages/ @claytoncornell /doc/development/pages/ @ashrafkhamis @@ -792,6 +798,7 @@ lib/gitlab/checks/** @proglottis @toon @zj-gitlab /doc/development/project_templates.md @lciutacu /doc/development/prometheus_metrics.md @msedlakjakubowski /doc/development/real_time.md @msedlakjakubowski +/doc/development/rubocop_development_guide.md @sselhorn /doc/development/sec/ @rdickenson /doc/development/sec/security_report_ingestion_overview.md @claytoncornell /doc/development/secure_coding_guidelines.md @sselhorn @@ -825,6 +832,7 @@ lib/gitlab/checks/** @proglottis @toon @zj-gitlab /doc/integration/datadog.md @ashrafkhamis /doc/integration/external-issue-tracker.md @ashrafkhamis /doc/integration/gitpod.md @ashrafkhamis +/doc/integration/glab/ @aqualls /doc/integration/gmail_action_buttons_for_gitlab.md @ashrafkhamis /doc/integration/index.md @ashrafkhamis /doc/integration/jenkins.md @ashrafkhamis @@ -864,22 +872,21 @@ lib/gitlab/checks/** @proglottis @toon @zj-gitlab /doc/topics/plan_and_track.md @msedlakjakubowski /doc/tutorials/ @kpaizee /doc/update/ @axil -/doc/update/mysql_to_postgresql.md @aqualls +/doc/update/background_migrations.md @aqualls /doc/update/package/ @axil -/doc/update/upgrading_postgresql_using_slony.md @aqualls /doc/user/admin_area/analytics/ @lciutacu /doc/user/admin_area/broadcast_messages.md @phillipwells /doc/user/admin_area/credentials_inventory.md @jglassman1 /doc/user/admin_area/custom_project_templates.md @eread /doc/user/admin_area/diff_limits.md @aqualls +/doc/user/admin_area/external_users.md @jglassman1 /doc/user/admin_area/geo_sites.md @axil /doc/user/admin_area/labels.md @msedlakjakubowski /doc/user/admin_area/license.md @fneill /doc/user/admin_area/license_file.md @fneill /doc/user/admin_area/merge_requests_approvals.md @aqualls /doc/user/admin_area/moderate_users.md @jglassman1 -/doc/user/admin_area/monitoring/background_migrations.md @aqualls -/doc/user/admin_area/monitoring/health_check.md @msedlakjakubowski +/doc/user/admin_area/monitoring/ @msedlakjakubowski /doc/user/admin_area/reporting/git_abuse_rate_limit.md @phillipwells /doc/user/admin_area/reporting/spamcheck.md @axil /doc/user/admin_area/review_abuse_reports.md @jglassman1 @@ -902,6 +909,7 @@ lib/gitlab/checks/** @proglottis @toon @zj-gitlab /doc/user/admin_area/settings/rate_limit_on_notes_creation.md @msedlakjakubowski /doc/user/admin_area/settings/rate_limit_on_pipelines_creation.md @marcel.amirault /doc/user/admin_area/settings/rate_limit_on_users_api.md @jglassman1 +/doc/user/admin_area/settings/terraform_limits.md @phillipwells /doc/user/admin_area/settings/third_party_offers.md @lciutacu /doc/user/admin_area/settings/usage_statistics.md @claytoncornell /doc/user/admin_area/settings/visibility_and_access_controls.md @aqualls @@ -958,8 +966,7 @@ lib/gitlab/checks/** @proglottis @toon @zj-gitlab /doc/user/group/repositories_analytics/ @marcel.amirault /doc/user/group/roadmap/ @msedlakjakubowski /doc/user/group/saml_sso/ @jglassman1 -/doc/user/group/settings/group_access_tokens.md @jglassman1 -/doc/user/group/settings/import_export.md @eread +/doc/user/group/settings/ @jglassman1 /doc/user/group/subgroups/ @lciutacu /doc/user/group/value_stream_analytics/ @lciutacu /doc/user/infrastructure/ @phillipwells @@ -970,8 +977,10 @@ lib/gitlab/checks/** @proglottis @toon @zj-gitlab /doc/user/infrastructure/clusters/manage/management_project_applications/ @phillipwells /doc/user/infrastructure/clusters/manage/management_project_applications/runner.md @fneill /doc/user/infrastructure/iac/ @phillipwells -/doc/user/markdown.md @aqualls +/doc/user/markdown.md @msedlakjakubowski /doc/user/namespace/ @lciutacu +/doc/user/okrs.md @msedlakjakubowski +/doc/user/operations_dashboard/ @rdickenson /doc/user/packages/ @claytoncornell /doc/user/packages/composer_repository/ @claytoncornell /doc/user/packages/conan_repository/ @claytoncornell @@ -980,6 +989,7 @@ lib/gitlab/checks/** @proglottis @toon @zj-gitlab /doc/user/packages/dependency_proxy/ @claytoncornell /doc/user/packages/generic_packages/ @claytoncornell /doc/user/packages/go_proxy/ @claytoncornell +/doc/user/packages/gradle_repository/ @claytoncornell /doc/user/packages/harbor_container_registry/ @claytoncornell /doc/user/packages/helm_repository/ @claytoncornell /doc/user/packages/infrastructure_registry/ @claytoncornell @@ -991,7 +1001,9 @@ lib/gitlab/checks/** @proglottis @toon @zj-gitlab /doc/user/packages/rubygems_registry/ @claytoncornell /doc/user/packages/terraform_module_registry/ @claytoncornell /doc/user/packages/workflows/ @claytoncornell +/doc/user/packages/yarn_repository/ @claytoncornell /doc/user/permissions.md @jglassman1 +/doc/user/product_analytics/ @lciutacu /doc/user/profile/ @jglassman1 /doc/user/profile/account/ @jglassman1 /doc/user/profile/contributions_calendar.md @lciutacu @@ -1036,6 +1048,7 @@ lib/gitlab/checks/** @proglottis @toon @zj-gitlab /doc/user/project/repository/managing_large_repositories.md @axil /doc/user/project/repository/mirror/ @aqualls /doc/user/project/repository/reducing_the_repo_size_using_git.md @eread +/doc/user/project/repository/ssh_signed_commits/ @aqualls /doc/user/project/repository/web_editor.md @ashrafkhamis /doc/user/project/repository/x509_signed_commits/ @aqualls /doc/user/project/requirements/ @msedlakjakubowski @@ -1046,13 +1059,16 @@ lib/gitlab/checks/** @proglottis @toon @zj-gitlab /doc/user/project/settings/project_access_tokens.md @jglassman1 /doc/user/project/time_tracking.md @msedlakjakubowski /doc/user/project/web_ide/ @ashrafkhamis +/doc/user/project/web_ide_beta/ @ashrafkhamis /doc/user/project/wiki/ @ashrafkhamis /doc/user/project/working_with_projects.md @lciutacu /doc/user/public_access.md @lciutacu +/doc/user/read_only_namespaces.md @phillipwells +/doc/user/report_abuse.md @phillipwells /doc/user/reserved_names.md @lciutacu /doc/user/search/ @ashrafkhamis /doc/user/shortcuts.md @ashrafkhamis -/doc/user/snippets.md @ashrafkhamis +/doc/user/snippets.md @aqualls /doc/user/ssh.md @jglassman1 /doc/user/tasks.md @msedlakjakubowski /doc/user/todos.md @msedlakjakubowski @@ -1422,12 +1438,11 @@ lib/gitlab/checks/** @proglottis @toon @zj-gitlab /**/javascripts/jobs/ @gitlab-org/ci-cd/verify/frontend /**/javascripts/pipelines/ @gitlab-org/ci-cd/verify/frontend /app/assets/javascripts/ci/ @gitlab-org/ci-cd/verify/frontend -/app/assets/javascripts/pipeline_new/ @gitlab-org/ci-cd/verify/frontend -/app/assets/javascripts/ci_variable_list/ @gitlab-org/ci-cd/verify/frontend /app/assets/javascripts/ci/pipeline_schedules/ @gitlab-org/ci-cd/verify/frontend /ee/app/assets/javascripts/ci/ @gitlab-org/ci-cd/verify/frontend /app/assets/javascripts/token_access/ @gitlab-org/ci-cd/verify/frontend /app/assets/javascripts/admin/application_settings/runner_token_expiration/ @gitlab-org/ci-cd/verify/frontend +/ee/app/assets/javascripts/usage_quotas/pipelines/ @gitlab-org/ci-cd/verify/frontend @fulfillment-group/utilization-group/fe [Manage::Workspace] lib/api/entities/basic_project_details.rb @gitlab-org/manage/manage-workspace/backend-approvers @@ -1502,3 +1517,8 @@ ee/lib/ee/api/entities/project.rb @gitlab-org/manage/manage-workspace/backend-ap /ee/lib/ee/gitlab/audit/ @gitlab-org/govern/compliance /lib/gitlab/audit/auditor.rb @gitlab-org/govern/compliance /lib/gitlab/audit_json_logger.rb @gitlab-org/govern/compliance + +[Fulfillment::Utilization] +/ee/app/assets/javascripts/usage_quotas/components/ @fulfillment-group/utilization-group/fe +/ee/app/assets/javascripts/usage_quotas/seats/ @fulfillment-group/utilization-group/fe +/ee/app/assets/javascripts/usage_quotas/storage/ @fulfillment-group/utilization-group/fe diff --git a/.gitlab/ci/build-images.gitlab-ci.yml b/.gitlab/ci/build-images.gitlab-ci.yml index 09ffc87f08..05748cff26 100644 --- a/.gitlab/ci/build-images.gitlab-ci.yml +++ b/.gitlab/ci/build-images.gitlab-ci.yml @@ -23,6 +23,11 @@ build-qa-image: script: - run_timed_command "scripts/build_qa_image" +build-qa-image as-if-foss: + extends: + - build-qa-image + - .as-if-foss + build-assets-image: extends: - .base-image-build diff --git a/.gitlab/ci/docs.gitlab-ci.yml b/.gitlab/ci/docs.gitlab-ci.yml index 18954e7b8e..02fc58f858 100644 --- a/.gitlab/ci/docs.gitlab-ci.yml +++ b/.gitlab/ci/docs.gitlab-ci.yml @@ -70,21 +70,22 @@ docs-lint markdown: script: - scripts/lint-doc.sh -docs-code-quality: +docs code_quality: extends: - - .docs:rules:docs-code-quality + - .reports:rules:code_quality - .docs-markdown-lint-image stage: lint needs: [] + dependencies: [] allow_failure: true script: - - scripts/lint-doc-quality.sh + - vale --output=doc/.vale/vale-json.tmpl --minAlertLevel warning doc > gl-code-quality-report-docs.json || exit_code=$? artifacts: reports: codequality: gl-code-quality-report-docs.json paths: - gl-code-quality-report-docs.json - expire_in: 1 week + expire_in: 2 weeks when: always ui-docs-links lint: diff --git a/.gitlab/ci/frontend.gitlab-ci.yml b/.gitlab/ci/frontend.gitlab-ci.yml index cde023c149..0c9cdc2813 100644 --- a/.gitlab/ci/frontend.gitlab-ci.yml +++ b/.gitlab/ci/frontend.gitlab-ci.yml @@ -204,15 +204,15 @@ jest: junit: junit_jest.xml parallel: 5 -jest minimal: +jest predictive: extends: - jest - - .frontend:rules:jest:minimal + - .frontend:rules:jest:predictive needs: - !reference [jest, needs] - "detect-tests" script: - - if [[ -s "$RSPEC_CHANGED_FILES_PATH" ]]; then run_timed_command "yarn jest:ci:minimal"; fi + - if [[ -s "$RSPEC_CHANGED_FILES_PATH" ]] || [[ -s "$RSPEC_MATCHING_JS_FILES_PATH" ]]; then run_timed_command "yarn jest:ci:predictive"; fi jest as-if-foss: extends: @@ -222,16 +222,16 @@ jest as-if-foss: needs: ["rspec-all frontend_fixture as-if-foss"] parallel: 2 -jest minimal as-if-foss: +jest predictive as-if-foss: extends: - .jest-base - - .frontend:rules:jest:minimal:as-if-foss + - .frontend:rules:jest:predictive:as-if-foss - .as-if-foss needs: - "rspec-all frontend_fixture as-if-foss" - "detect-tests" script: - - if [[ -s "$RSPEC_CHANGED_FILES_PATH" ]]; then run_timed_command "yarn jest:ci:minimal"; fi + - if [[ -s "$RSPEC_CHANGED_FILES_PATH" ]] || [[ -s "$RSPEC_MATCHING_JS_FILES_PATH" ]]; then run_timed_command "yarn jest:ci:predictive"; fi jest-integration: extends: @@ -252,7 +252,7 @@ coverage-frontend: needs: - job: "jest" optional: true - - job: "jest minimal" + - job: "jest predictive" optional: true stage: post-test script: diff --git a/.gitlab/ci/global.gitlab-ci.yml b/.gitlab/ci/global.gitlab-ci.yml index 5e35ae6aff..90f00c887f 100644 --- a/.gitlab/ci/global.gitlab-ci.yml +++ b/.gitlab/ci/global.gitlab-ci.yml @@ -288,7 +288,7 @@ - name: postgres:12 command: ["postgres", "-c", "fsync=off", "-c", "synchronous_commit=off", "-c", "full_page_writes=off"] - name: redis:6.0-alpine - - name: elasticsearch:8.5.2 + - name: elasticsearch:8.5.3 variables: POSTGRES_HOST_AUTH_METHOD: trust PG_VERSION: "12" @@ -350,7 +350,7 @@ variables: QEMU_IMAGE: tonistiigi/binfmt:qemu-v7.0.0 before_script: - - source scripts/utils.sh + - !reference [.default-utils-before_script, before_script] - echo "$CI_REGISTRY_PASSWORD" | docker login "$CI_REGISTRY" -u "$CI_REGISTRY_USER" --password-stdin - | if [[ "${ARCH}" =~ arm64 ]]; then diff --git a/.gitlab/ci/package-and-test/main.gitlab-ci.yml b/.gitlab/ci/package-and-test/main.gitlab-ci.yml index c53c3b1d32..48059d9518 100644 --- a/.gitlab/ci/package-and-test/main.gitlab-ci.yml +++ b/.gitlab/ci/package-and-test/main.gitlab-ci.yml @@ -7,7 +7,7 @@ include: - local: .gitlab/ci/package-and-test/rules.gitlab-ci.yml - local: .gitlab/ci/package-and-test/variables.gitlab-ci.yml - project: gitlab-org/quality/pipeline-common - ref: 1.7.0 + ref: 1.14.1 file: - /ci/base.gitlab-ci.yml - /ci/allure-report.yml @@ -396,13 +396,13 @@ ee:update-major: - if: $QA_SUITES =~ /Test::Instance::Smoke/ - !reference [.rules:test:manual, rules] -ee:gitab-pages: +ee:gitlab-pages: extends: .qa variables: QA_SCENARIO: Test::Integration::GitlabPages rules: - !reference [.rules:test:qa, rules] - - if: $QA_SUITES =~ /Test::Integration::GitlabPages/ + - if: $QA_SUITES =~ /Test::Instance::GitlabPages/ - !reference [.rules:test:manual, rules] ee:gitaly-cluster: @@ -440,7 +440,7 @@ ee:jira: JIRA_ADMIN_PASSWORD: $QA_JIRA_ADMIN_PASSWORD rules: - !reference [.rules:test:qa, rules] - - if: $QA_SUITES =~ /Test::Integration::Jira/ + - if: $QA_SUITES =~ /Test::Instance::Jira/ - !reference [.rules:test:manual, rules] ee:integrations: @@ -557,7 +557,7 @@ ee:cloud-activation: QA_RSPEC_TAGS: --tag cloud_activation rules: - !reference [.rules:test:qa, rules] - - if: $QA_SUITES =~ /Test::Integration::CloudActivation/ + - if: $QA_SUITES =~ /Test::Instance::CloudActivation/ - !reference [.rules:test:manual, rules] ee:large-setup: @@ -603,6 +603,7 @@ ee:importers: extends: .qa variables: QA_SCENARIO: Test::Integration::Import + QA_MOCK_GITHUB: "true" GITLAB_QA_OPTS: --set-feature-flags bulk_import_projects=enabled rules: - !reference [.rules:test:qa, rules] diff --git a/.gitlab/ci/rails.gitlab-ci.yml b/.gitlab/ci/rails.gitlab-ci.yml index 0e0aeb2954..df3b3704a5 100644 --- a/.gitlab/ci/rails.gitlab-ci.yml +++ b/.gitlab/ci/rails.gitlab-ci.yml @@ -71,13 +71,27 @@ rspec migration pg12: extends: - .rspec-base-pg12 - .rspec-base-migration + - .rails:rules:ee-and-foss-migration - .rspec-migration-parallel -rspec migration pg12 minimal: +rspec migration pg12 predictive: extends: - rspec migration pg12 - - .minimal-rspec-tests - - .rails:rules:ee-and-foss-migration:minimal + - .predictive-rspec-tests + - .rails:rules:ee-and-foss-migration:predictive + +rspec background_migration pg12: + extends: + - .rspec-base-pg12 + - .rspec-base-migration + - .rails:rules:ee-and-foss-background-migration + - .rspec-background-migration-parallel + +rspec background_migration pg12 predictive: + extends: + - rspec background_migration pg12 + - .predictive-rspec-tests + - .rails:rules:ee-and-foss-background-migration:predictive rspec migration pg12 single-db: extends: @@ -85,23 +99,35 @@ rspec migration pg12 single-db: - .single-db-rspec - .rails:rules:single-db +rspec background_migration pg12 single-db: + extends: + - rspec background_migration pg12 + - .single-db-rspec + - .rails:rules:single-db + rspec migration pg12 praefect: extends: - rspec migration pg12 - .praefect-with-db - .rails:rules:praefect-with-db +rspec background_migration pg12 praefect: + extends: + - rspec background_migration pg12 + - .praefect-with-db + - .rails:rules:praefect-with-db + rspec unit pg12: extends: - .rspec-base-pg12 - .rails:rules:ee-and-foss-unit - .rspec-unit-parallel -rspec unit pg12 minimal: +rspec unit pg12 predictive: extends: - rspec unit pg12 - - .minimal-rspec-tests - - .rails:rules:ee-and-foss-unit:minimal + - .predictive-rspec-tests + - .rails:rules:ee-and-foss-unit:predictive rspec unit pg12 single-db: extends: @@ -121,11 +147,11 @@ rspec integration pg12: - .rails:rules:ee-and-foss-integration - .rspec-integration-parallel -rspec integration pg12 minimal: +rspec integration pg12 predictive: extends: - rspec integration pg12 - - .minimal-rspec-tests - - .rails:rules:ee-and-foss-integration:minimal + - .predictive-rspec-tests + - .rails:rules:ee-and-foss-integration:predictive rspec integration pg12 single-db: extends: @@ -147,11 +173,11 @@ rspec system pg12: variables: DEBUG_GITLAB_TRANSACTION_STACK: "true" -rspec system pg12 minimal: +rspec system pg12 predictive: extends: - rspec system pg12 - - .minimal-rspec-tests - - .rails:rules:ee-and-foss-system:minimal + - .predictive-rspec-tests + - .rails:rules:ee-and-foss-system:predictive rspec system pg12 single-db: extends: @@ -187,7 +213,7 @@ rspec fast_spec_helper: db:rollback: extends: .db-job-base script: - - scripts/db_tasks db:migrate VERSION=20210301200959 + - scripts/db_tasks db:migrate VERSION=20210602155110 - scripts/db_tasks db:migrate SKIP_SCHEMA_VERSION_CHECK=true db:rollback single-db: @@ -287,7 +313,9 @@ gitlab:setup: - log/*.log db:backup_and_restore: - extends: .db-job-base + extends: + - .db-job-base + - .rails:rules:db-backup variables: SETUP_DB: "false" GITLAB_ASSUME_YES: "1" @@ -298,16 +326,12 @@ db:backup_and_restore: - bundle exec rake gitlab:backup:create - date - bundle exec rake gitlab:backup:restore - rules: - - changes: - - "lib/backup/**/*" - - "lib/tasks/gitlab/backup.rake" db:backup_and_restore single-db: extends: - db:backup_and_restore - .single-db - - .rails:rules:single-db + - .rails:rules:db-backup rspec:deprecations: extends: @@ -321,10 +345,12 @@ rspec:deprecations: # so we use `dependencies` here. dependencies: - rspec migration pg12 + - rspec background_migration pg12 - rspec unit pg12 - rspec integration pg12 - rspec system pg12 - rspec-ee migration pg12 + - rspec-ee background_migration pg12 - rspec-ee unit pg12 - rspec-ee integration pg12 - rspec-ee system pg12 @@ -351,31 +377,37 @@ rspec:coverage: - setup-test-env # FOSS/EE jobs - rspec migration pg12 + - rspec background_migration pg12 - rspec unit pg12 - rspec integration pg12 - rspec system pg12 - # FOSS/EE minimal jobs - - rspec migration pg12 minimal - - rspec unit pg12 minimal - - rspec integration pg12 minimal - - rspec system pg12 minimal + # FOSS/EE predictive jobs + - rspec migration pg12 predictive + - rspec background_migration pg12 predictive + - rspec unit pg12 predictive + - rspec integration pg12 predictive + - rspec system pg12 predictive # FOSS/EE single-db jobs - rspec migration pg12 single-db + - rspec background_migration pg12 single-db - rspec unit pg12 single-db - rspec integration pg12 single-db - rspec system pg12 single-db # EE jobs - rspec-ee migration pg12 + - rspec-ee background_migration pg12 - rspec-ee unit pg12 - rspec-ee integration pg12 - rspec-ee system pg12 - # EE minimal jobs - - rspec-ee migration pg12 minimal - - rspec-ee unit pg12 minimal - - rspec-ee integration pg12 minimal - - rspec-ee system pg12 minimal + # EE predictive jobs + - rspec-ee migration pg12 predictive + - rspec-ee background_migration pg12 predictive + - rspec-ee unit pg12 predictive + - rspec-ee integration pg12 predictive + - rspec-ee system pg12 predictive # EE single-db jobs - rspec-ee migration pg12 single-db + - rspec-ee background_migration pg12 single-db - rspec-ee unit pg12 single-db - rspec-ee integration pg12 single-db - rspec-ee system pg12 single-db @@ -383,16 +415,19 @@ rspec:coverage: - memory-on-boot # As-if-FOSS jobs - rspec migration pg12-as-if-foss - - rspec migration pg12-as-if-foss minimal + - rspec migration pg12-as-if-foss predictive - rspec migration pg12-as-if-foss single-db + - rspec background_migration pg12-as-if-foss + - rspec background_migration pg12-as-if-foss predictive + - rspec background_migration pg12-as-if-foss single-db - rspec unit pg12-as-if-foss - - rspec unit pg12-as-if-foss minimal + - rspec unit pg12-as-if-foss predictive - rspec unit pg12-as-if-foss single-db - rspec integration pg12-as-if-foss - - rspec integration pg12-as-if-foss minimal + - rspec integration pg12-as-if-foss predictive - rspec integration pg12-as-if-foss single-db - rspec system pg12-as-if-foss - - rspec system pg12-as-if-foss minimal + - rspec system pg12-as-if-foss predictive - rspec system pg12-as-if-foss single-db script: - run_timed_command "bundle exec scripts/merge-simplecov" @@ -478,11 +513,24 @@ rspec migration pg12-as-if-foss: - .rails:rules:as-if-foss-migration - .rspec-migration-parallel -rspec migration pg12-as-if-foss minimal: +rspec migration pg12-as-if-foss predictive: extends: - rspec migration pg12-as-if-foss - - .minimal-rspec-tests - - .rails:rules:as-if-foss-migration:minimal + - .predictive-rspec-tests + - .rails:rules:as-if-foss-migration:predictive + +rspec background_migration pg12-as-if-foss: + extends: + - .rspec-base-pg12-as-if-foss + - .rspec-base-migration + - .rails:rules:as-if-foss-background-migration + - .rspec-background-migration-parallel + +rspec background_migration pg12-as-if-foss predictive: + extends: + - rspec background_migration pg12-as-if-foss + - .predictive-rspec-tests + - .rails:rules:as-if-foss-background-migration:predictive rspec migration pg12-as-if-foss single-db: extends: @@ -490,17 +538,23 @@ rspec migration pg12-as-if-foss single-db: - .single-db-rspec - .rails:rules:single-db +rspec background_migration pg12-as-if-foss single-db: + extends: + - rspec background_migration pg12-as-if-foss + - .single-db-rspec + - .rails:rules:single-db + rspec unit pg12-as-if-foss: extends: - .rspec-base-pg12-as-if-foss - .rails:rules:as-if-foss-unit - .rspec-unit-parallel -rspec unit pg12-as-if-foss minimal: +rspec unit pg12-as-if-foss predictive: extends: - rspec unit pg12-as-if-foss - - .minimal-rspec-tests - - .rails:rules:as-if-foss-unit:minimal + - .predictive-rspec-tests + - .rails:rules:as-if-foss-unit:predictive rspec unit pg12-as-if-foss single-db: extends: @@ -514,11 +568,11 @@ rspec integration pg12-as-if-foss: - .rails:rules:as-if-foss-integration - .rspec-integration-parallel -rspec integration pg12-as-if-foss minimal: +rspec integration pg12-as-if-foss predictive: extends: - rspec integration pg12-as-if-foss - - .minimal-rspec-tests - - .rails:rules:as-if-foss-integration:minimal + - .predictive-rspec-tests + - .rails:rules:as-if-foss-integration:predictive rspec integration pg12-as-if-foss single-db: extends: @@ -532,11 +586,11 @@ rspec system pg12-as-if-foss: - .rails:rules:as-if-foss-system - .rspec-system-parallel -rspec system pg12-as-if-foss minimal: +rspec system pg12-as-if-foss predictive: extends: - rspec system pg12-as-if-foss - - .minimal-rspec-tests - - .rails:rules:as-if-foss-system:minimal + - .predictive-rspec-tests + - .rails:rules:as-if-foss-system:predictive rspec system pg12-as-if-foss single-db: extends: @@ -551,11 +605,24 @@ rspec-ee migration pg12: - .rails:rules:ee-only-migration - .rspec-ee-migration-parallel -rspec-ee migration pg12 minimal: +rspec-ee migration pg12 predictive: extends: - rspec-ee migration pg12 - - .minimal-rspec-tests - - .rails:rules:ee-only-migration:minimal + - .predictive-rspec-tests + - .rails:rules:ee-only-migration:predictive + +rspec-ee background_migration pg12: + extends: + - .rspec-ee-base-pg12 + - .rspec-base-migration + - .rails:rules:ee-only-background-migration + - .rspec-ee-background-migration-parallel + +rspec-ee background_migration pg12 predictive: + extends: + - rspec-ee background_migration pg12 + - .predictive-rspec-tests + - .rails:rules:ee-only-background-migration:predictive rspec-ee migration pg12 single-db: extends: @@ -563,6 +630,24 @@ rspec-ee migration pg12 single-db: - .single-db-rspec - .rails:rules:single-db +rspec-ee background_migration pg12 single-db: + extends: + - rspec-ee background_migration pg12 + - .single-db-rspec + - .rails:rules:single-db + +rspec-ee migration pg12 praefect: + extends: + - rspec migration pg12 + - .praefect-with-db + - .rails:rules:praefect-with-db + +rspec-ee background_migration pg12 praefect: + extends: + - rspec background_migration pg12 + - .praefect-with-db + - .rails:rules:praefect-with-db + rspec-ee unit pg12: extends: - .rspec-ee-base-pg12 @@ -574,11 +659,11 @@ rspec-ee unit pg12 es8: - .rspec-ee-base-pg12-es8 - .rspec-ee-unit-parallel -rspec-ee unit pg12 minimal: +rspec-ee unit pg12 predictive: extends: - rspec-ee unit pg12 - - .minimal-rspec-tests - - .rails:rules:ee-only-unit:minimal + - .predictive-rspec-tests + - .rails:rules:ee-only-unit:predictive rspec-ee unit pg12 single-db: extends: @@ -597,11 +682,11 @@ rspec-ee integration pg12 es8: - .rspec-ee-base-pg12-es8 - .rspec-ee-integration-parallel -rspec-ee integration pg12 minimal: +rspec-ee integration pg12 predictive: extends: - rspec-ee integration pg12 - - .minimal-rspec-tests - - .rails:rules:ee-only-integration:minimal + - .predictive-rspec-tests + - .rails:rules:ee-only-integration:predictive rspec-ee integration pg12 single-db: extends: @@ -620,11 +705,11 @@ rspec-ee system pg12 es8: - .rspec-ee-base-pg12-es8 - .rspec-ee-system-parallel -rspec-ee system pg12 minimal: +rspec-ee system pg12 predictive: extends: - rspec-ee system pg12 - - .minimal-rspec-tests - - .rails:rules:ee-only-system:minimal + - .predictive-rspec-tests + - .rails:rules:ee-only-system:predictive rspec-ee system pg12 single-db: extends: @@ -650,25 +735,32 @@ rspec migration pg11: extends: - .rspec-base-pg11 - .rspec-base-migration - - .rails:rules:default-branch-schedule-nightly--code-backstage + - .rails:rules:rspec-on-pg11 - .rspec-migration-parallel +rspec background_migration pg11: + extends: + - .rspec-base-pg11 + - .rspec-base-migration + - .rails:rules:rspec-on-pg11 + - .rspec-background-migration-parallel + rspec unit pg11: extends: - .rspec-base-pg11 - - .rails:rules:default-branch-schedule-nightly--code-backstage + - .rails:rules:rspec-on-pg11 - .rspec-unit-parallel rspec integration pg11: extends: - .rspec-base-pg11 - - .rails:rules:default-branch-schedule-nightly--code-backstage + - .rails:rules:rspec-on-pg11 - .rspec-integration-parallel rspec system pg11: extends: - .rspec-base-pg11 - - .rails:rules:default-branch-schedule-nightly--code-backstage + - .rails:rules:rspec-on-pg11 - .rspec-system-parallel # PG13 @@ -679,6 +771,13 @@ rspec migration pg13: - .rails:rules:default-branch-schedule-nightly--code-backstage - .rspec-migration-parallel +rspec background_migration pg13: + extends: + - .rspec-base-pg13 + - .rspec-base-migration + - .rails:rules:default-branch-schedule-nightly--code-backstage + - .rspec-background-migration-parallel + rspec unit pg13: extends: - .rspec-base-pg13 @@ -710,6 +809,13 @@ rspec-ee migration pg11: - .rails:rules:default-branch-schedule-nightly--code-backstage-ee-only - .rspec-ee-migration-parallel +rspec-ee background_migration pg11: + extends: + - .rspec-ee-base-pg11 + - .rspec-base-migration + - .rails:rules:default-branch-schedule-nightly--code-backstage-ee-only + - .rspec-ee-background-migration-parallel + rspec-ee unit pg11: extends: - .rspec-ee-base-pg11 @@ -729,12 +835,6 @@ rspec-ee system pg11: - .rspec-ee-system-parallel # PG12 -rspec-ee unit pg12 es7: - extends: - - .rspec-ee-base-pg12-es7 - - .rspec-ee-unit-parallel - - .rails:rules:default-branch-schedule-nightly--code-backstage-ee-only - rspec-ee unit pg12 opensearch1: extends: - .rspec-ee-base-pg12-opensearch1 @@ -747,12 +847,6 @@ rspec-ee unit pg12 opensearch2: - .rspec-ee-unit-parallel - .rails:rules:default-branch-schedule-nightly--code-backstage-ee-only -rspec-ee integration pg12 es7: - extends: - - .rspec-ee-base-pg12-es7 - - .rspec-ee-integration-parallel - - .rails:rules:default-branch-schedule-nightly--code-backstage-ee-only - rspec-ee integration pg12 opensearch1: extends: - .rspec-ee-base-pg12-opensearch1 @@ -765,12 +859,6 @@ rspec-ee integration pg12 opensearch2: - .rspec-ee-integration-parallel - .rails:rules:default-branch-schedule-nightly--code-backstage-ee-only -rspec-ee system pg12 es7: - extends: - - .rspec-ee-base-pg12-es7 - - .rspec-ee-system-parallel - - .rails:rules:default-branch-schedule-nightly--code-backstage-ee-only - rspec-ee system pg12 opensearch1: extends: - .rspec-ee-base-pg12-opensearch1 @@ -791,6 +879,13 @@ rspec-ee migration pg13: - .rails:rules:default-branch-schedule-nightly--code-backstage-ee-only - .rspec-ee-migration-parallel +rspec-ee background_migration pg13: + extends: + - .rspec-ee-base-pg13 + - .rspec-base-migration + - .rails:rules:default-branch-schedule-nightly--code-backstage-ee-only + - .rspec-ee-background-migration-parallel + rspec-ee unit pg13: extends: - .rspec-ee-base-pg13 diff --git a/.gitlab/ci/rails/shared.gitlab-ci.yml b/.gitlab/ci/rails/shared.gitlab-ci.yml index e282781b7b..4ca82f55b6 100644 --- a/.gitlab/ci/rails/shared.gitlab-ci.yml +++ b/.gitlab/ci/rails/shared.gitlab-ci.yml @@ -28,7 +28,7 @@ include: - run_timed_command "scripts/gitaly-test-spawn" # Do not use 'bundle exec' here - echo -e "\e[0Ksection_end:`date +%s`:gitaly-test-spawn\r\e[0K" -.minimal-rspec-tests: +.predictive-rspec-tests: variables: RSPEC_TESTS_MAPPING_ENABLED: "true" @@ -58,10 +58,13 @@ include: needs: ["setup-test-env", "retrieve-tests-metadata", "compile-test-assets", "detect-tests"] script: - !reference [.base-script, script] - - rspec_paralellized_job "--tag ~quarantine --tag ~level:migration" + # We need to exclude background migration because unit tests run with + # spec/lib, yet background migration tests are also sitting there, + # and they should run on their own jobs so we don't need to run them + # in unit tests again. + - rspec_paralellized_job "--tag ~quarantine --tag ~level:background_migration" allow_failure: - # the exit code listed here must match the one defined for the variable SUCCESSFULLY_RETRIED_TEST_EXIT_CODE - exit_codes: 137 + exit_codes: !reference [.rspec-base, variables, SUCCESSFULLY_RETRIED_TEST_EXIT_CODE] .base-artifacts: artifacts: @@ -80,14 +83,9 @@ include: junit: ${JUNIT_RESULT_FILE} .rspec-base-migration: - extends: - - .base-artifacts - - .rails:rules:ee-and-foss-migration - variables: - RSPEC_TESTS_FILTER_FILE: "${RSPEC_MATCHING_TESTS_PATH}" script: - !reference [.base-script, script] - - rspec_paralellized_job "--tag ~quarantine --tag level:migration" + - rspec_paralellized_job "--tag ~quarantine" .rspec-base-pg11: extends: @@ -121,12 +119,6 @@ include: - .rspec-base - .use-pg12-es7-ee -.rspec-ee-base-pg12-es7: - extends: - - .rspec-base - - .use-pg12-es7-ee - - .rails:rules:run-search-tests - .rspec-ee-base-pg12-es8: extends: - .rspec-base @@ -163,10 +155,16 @@ include: ############################ # rspec job parallel configs .rspec-migration-parallel: - parallel: 12 + parallel: 8 + +.rspec-background-migration-parallel: + parallel: 4 .rspec-ee-migration-parallel: - parallel: 4 + parallel: 2 + +.rspec-ee-background-migration-parallel: + parallel: 2 .rspec-unit-parallel: parallel: 28 diff --git a/.gitlab/ci/review-apps/main.gitlab-ci.yml b/.gitlab/ci/review-apps/main.gitlab-ci.yml index b72afedc3b..13e8ea330d 100644 --- a/.gitlab/ci/review-apps/main.gitlab-ci.yml +++ b/.gitlab/ci/review-apps/main.gitlab-ci.yml @@ -32,7 +32,7 @@ review-build-cng-env: extends: - .default-retry - .review:rules:review-build-cng - image: ${REGISTRY_HOST}/${REGISTRY_GROUP}/gitlab-build-images/debian-${DEBIAN_VERSION}-ruby-${RUBY_VERSION}:bundler-2.3 + image: ${GITLAB_DEPENDENCY_PROXY}ruby:${RUBY_VERSION}-alpine3.16 stage: prepare needs: # We need this job because we need its `cached-assets-hash.txt` artifact, so that we can pass the assets image tag to the downstream CNG pipeline. @@ -109,6 +109,7 @@ review-deploy: - .review-workflow-base - .review:rules:review-deploy stage: deploy + image: ${GITLAB_DEPENDENCY_PROXY}dtzar/helm-kubectl:3.10.3 needs: ["review-build-cng"] cache: key: "review-deploy-dependencies-charts-${GITLAB_HELM_CHART_REF}-v1" @@ -130,6 +131,7 @@ review-deploy: - run_timed_command "deploy" || (display_deployment_debug && exit 1) - run_timed_command "verify_deploy" || (display_deployment_debug && exit 1) - run_timed_command "disable_sign_ups" || (display_deployment_debug && exit 1) + - run_timed_command "verify_commit_sha" || (display_deployment_debug && exit 1) after_script: # Run seed-dast-test-data.sh only when DAST_RUN is set to true. This is to pupulate review app with data for DAST scan. # Set DAST_RUN to true when jobs are manually scheduled. diff --git a/.gitlab/ci/review-apps/qa.gitlab-ci.yml b/.gitlab/ci/review-apps/qa.gitlab-ci.yml index d28819208b..01a738127f 100644 --- a/.gitlab/ci/review-apps/qa.gitlab-ci.yml +++ b/.gitlab/ci/review-apps/qa.gitlab-ci.yml @@ -1,6 +1,6 @@ include: - project: gitlab-org/quality/pipeline-common - ref: 1.7.0 + ref: 1.14.1 file: - /ci/base.gitlab-ci.yml - /ci/allure-report.yml diff --git a/.gitlab/ci/rules.gitlab-ci.yml b/.gitlab/ci/rules.gitlab-ci.yml index 8b7aee8de9..9596594ad2 100644 --- a/.gitlab/ci/rules.gitlab-ci.yml +++ b/.gitlab/ci/rules.gitlab-ci.yml @@ -21,7 +21,7 @@ if: '$FORCE_GITLAB_CI' .if-default-refs: &if-default-refs - if: '$CI_COMMIT_REF_NAME == $CI_DEFAULT_BRANCH || $CI_COMMIT_REF_NAME =~ /^[\d-]+-stable(-ee)?$/ || $CI_COMMIT_REF_NAME =~ /^\d+-\d+-auto-deploy-\d+$/ || $CI_COMMIT_REF_NAME =~ /^security\// || $CI_COMMIT_REF_NAME == "ruby3" || $CI_MERGE_REQUEST_IID || $CI_COMMIT_TAG || $FORCE_GITLAB_CI' + if: '$CI_COMMIT_REF_NAME == $CI_DEFAULT_BRANCH || $CI_COMMIT_REF_NAME =~ /^[\d-]+-stable(-ee)?$/ || $CI_COMMIT_REF_NAME =~ /^\d+-\d+-auto-deploy-\d+$/ || $CI_COMMIT_REF_NAME =~ /^security\// || $CI_COMMIT_REF_NAME == "ruby2" || $CI_MERGE_REQUEST_IID || $CI_COMMIT_TAG || $FORCE_GITLAB_CI' .if-default-branch-refs: &if-default-branch-refs if: '$CI_COMMIT_REF_NAME == $CI_DEFAULT_BRANCH && $CI_MERGE_REQUEST_IID == null' @@ -55,8 +55,8 @@ .if-merge-request-targeting-stable-branch: &if-merge-request-targeting-stable-branch if: '$CI_MERGE_REQUEST_IID && $CI_MERGE_REQUEST_TARGET_BRANCH_NAME =~ /^[\d-]+-stable(-ee)?$/' -.if-merge-request-labels-run-in-ruby3: &if-merge-request-labels-run-in-ruby3 - if: '$CI_MERGE_REQUEST_LABELS =~ /pipeline:run-in-ruby3/' +.if-merge-request-labels-run-in-ruby2: &if-merge-request-labels-run-in-ruby2 + if: '$CI_MERGE_REQUEST_LABELS =~ /pipeline:run-in-ruby2/' .if-merge-request-labels-as-if-foss: &if-merge-request-labels-as-if-foss if: '$CI_MERGE_REQUEST_LABELS =~ /pipeline:run-as-if-foss/' @@ -79,6 +79,9 @@ .if-merge-request-labels-run-review-app: &if-merge-request-labels-run-review-app if: '$CI_MERGE_REQUEST_LABELS =~ /pipeline:run-review-app/' +.if-merge-request-labels-run-on-pg11: &if-merge-request-labels-run-on-pg11 + if: '$CI_MERGE_REQUEST_LABELS =~ /pipeline:run-on-pg11/' + .if-merge-request-labels-skip-undercoverage: &if-merge-request-labels-skip-undercoverage if: '$CI_MERGE_REQUEST_LABELS =~ /pipeline:skip-undercoverage/' @@ -89,7 +92,7 @@ if: '$CI_MERGE_REQUEST_LABELS =~ /group::global search/' .if-merge-request-labels-pipeline-expedite: &if-merge-request-labels-pipeline-expedite - if: '$CI_MERGE_REQUEST_LABELS =~ /master:(foss-)?broken/ && $CI_MERGE_REQUEST_LABELS =~ /pipeline:expedite/' + if: '($CI_MERGE_REQUEST_LABELS =~ /master:(foss-)?broken/ || $CI_MERGE_REQUEST_TITLE =~ /^[Rr]evert/) && $CI_MERGE_REQUEST_LABELS =~ /pipeline:expedite/' .if-merge-request-labels-frontend-and-feature-flag: &if-merge-request-labels-frontend-and-feature-flag if: '$CI_MERGE_REQUEST_LABELS =~ /frontend/ && $CI_MERGE_REQUEST_LABELS =~ /feature flag/' @@ -109,8 +112,8 @@ .if-default-branch-schedule-nightly: &if-default-branch-schedule-nightly if: '$CI_COMMIT_BRANCH == $CI_DEFAULT_BRANCH && $CI_PIPELINE_SOURCE == "schedule" && $SCHEDULE_TYPE == "nightly"' -.if-ruby3-branch-schedule-nightly: &if-ruby3-branch-schedule-nightly - if: '$CI_COMMIT_BRANCH == "ruby3" && $CI_PIPELINE_SOURCE == "schedule" && $SCHEDULE_TYPE == "nightly"' +.if-ruby2-branch-schedule-nightly: &if-ruby2-branch-schedule-nightly + if: '$CI_COMMIT_BRANCH == "ruby2" && $CI_PIPELINE_SOURCE == "schedule" && $SCHEDULE_TYPE == "nightly"' .if-security-schedule: &if-security-schedule if: '$CI_PROJECT_NAMESPACE == "gitlab-org/security" && $CI_PIPELINE_SOURCE == "schedule"' @@ -142,8 +145,8 @@ .if-dot-com-gitlab-org-and-security-tag: &if-dot-com-gitlab-org-and-security-tag if: '$CI_SERVER_HOST == "gitlab.com" && $CI_PROJECT_NAMESPACE =~ /^gitlab-org($|\/security$)/ && $CI_COMMIT_TAG' -.if-ruby3-branch: &if-ruby3-branch - if: '$CI_COMMIT_BRANCH == "ruby3"' +.if-ruby2-branch: &if-ruby2-branch + if: '$CI_COMMIT_BRANCH == "ruby2"' # For Security merge requests, the gitlab-release-tools-bot triggers a new # pipeline for the "Pipelines for merged results" feature. If the pipeline @@ -217,9 +220,6 @@ - "scripts/lint-doc.sh" - ".gitlab/ci/docs.gitlab-ci.yml" -.docs-code-quality-patterns: &docs-code-quality-patterns - - "doc/**/*.md" - .docs-deprecations-and-removals-patterns: &docs-deprecations-and-removals-patterns - "doc/update/deprecations.md" - "doc/update/removals.md" @@ -350,6 +350,11 @@ - ".gitlab-ci.yml" - ".gitlab/ci/**/*" +# DB backup patterns +.db-backup-patterns: &db-backup-patterns + - "lib/backup/**/*" + - "lib/tasks/gitlab/backup.rake" + .db-library-patterns: &db-library-patterns - "{,ee/,jh/}{,spec/}lib/{,ee/,jh/}gitlab/database/**/*" - "{,ee/,jh/}{,spec/}lib/{,ee/,jh/}gitlab/database{,_spec}.rb" @@ -586,7 +591,7 @@ - <<: *if-merge-request-targeting-stable-branch when: never -.rails:rules:minimal-default-rules: +.rails:rules:predictive-default-rules: rules: - <<: *if-merge-request-approved when: never @@ -614,7 +619,7 @@ - <<: *if-merge-request-not-approved when: never -.rails:rules:as-if-foss-migration-unit-integration:minimal-default-rules: +.rails:rules:as-if-foss-migration-unit-integration:predictive-default-rules: rules: - <<: *if-merge-request changes: *core-backend-patterns @@ -623,11 +628,11 @@ changes: *ci-patterns when: never -.rails:rules:unit-integration:minimal-default-rules: +.rails:rules:unit-integration:predictive-default-rules: rules: - <<: *if-merge-request-labels-run-all-rspec when: never - - !reference [".rails:rules:as-if-foss-migration-unit-integration:minimal-default-rules", rules] + - !reference [".rails:rules:as-if-foss-migration-unit-integration:predictive-default-rules", rules] .rails:rules:system-default-rules: rules: @@ -643,7 +648,7 @@ - <<: *if-merge-request-not-approved when: never -.rails:rules:system:minimal-default-rules: +.rails:rules:system:predictive-default-rules: rules: - <<: *if-merge-request-labels-run-all-rspec when: never @@ -705,7 +710,7 @@ variables: ARCH: amd64,arm64 - <<: *if-force-ci - - <<: *if-ruby3-branch + - <<: *if-ruby2-branch .build-images:rules:build-assets-image: rules: @@ -714,7 +719,7 @@ - <<: *if-merge-request-targeting-stable-branch - <<: *if-merge-request-labels-run-review-app - <<: *if-auto-deploy-branches - - <<: *if-ruby3-branch + - <<: *if-ruby2-branch - <<: *if-default-refs changes: *ci-build-images-patterns - <<: *if-default-refs @@ -812,11 +817,6 @@ when: manual allow_failure: true -.docs:rules:docs-code-quality: - rules: - - <<: *if-merge-request - changes: *docs-code-quality-patterns - .docs:rules:docs-lint: rules: - <<: *if-default-refs @@ -871,7 +871,7 @@ # Frontend rules # ################## -.frontend:rules:minimal-default-rules: +.frontend:rules:predictive-default-rules: rules: - <<: *if-merge-request-approved when: never @@ -887,7 +887,7 @@ - <<: *if-merge-request-targeting-stable-branch - <<: *if-merge-request-labels-run-review-app - <<: *if-auto-deploy-branches - - <<: *if-ruby3-branch + - <<: *if-ruby2-branch - <<: *if-default-refs changes: *ci-build-images-patterns - <<: *if-default-refs @@ -963,11 +963,11 @@ - <<: *if-default-refs changes: *code-backstage-patterns -.frontend:rules:jest:minimal: +.frontend:rules:jest:predictive: rules: - <<: *if-fork-merge-request changes: *code-backstage-patterns - - !reference [".frontend:rules:minimal-default-rules", rules] + - !reference [".frontend:rules:predictive-default-rules", rules] - <<: *if-merge-request-labels-run-all-jest when: never - <<: *if-merge-request-labels-frontend-and-feature-flag @@ -995,10 +995,10 @@ - <<: *if-merge-request changes: *frontend-patterns-for-as-if-foss -.frontend:rules:jest:minimal:as-if-foss: +.frontend:rules:jest:predictive:as-if-foss: rules: - !reference [".strict-ee-only-rules", rules] - - !reference [".frontend:rules:minimal-default-rules", rules] + - !reference [".frontend:rules:predictive-default-rules", rules] - <<: *if-merge-request-labels-as-if-foss when: never - <<: *if-merge-request-labels-run-all-jest @@ -1107,7 +1107,7 @@ allow_failure: true - <<: *if-force-ci allow_failure: true - - <<: *if-ruby3-branch + - <<: *if-ruby2-branch .qa:rules:package-and-test: rules: @@ -1119,7 +1119,7 @@ when: never - <<: *if-merge-request-targeting-stable-branch allow_failure: true - - <<: *if-ruby3-branch + - <<: *if-ruby2-branch allow_failure: true - <<: *if-dot-com-gitlab-org-and-security-merge-request-manual-ff-package-and-e2e changes: *feature-flag-development-config-patterns @@ -1172,6 +1172,16 @@ changes: *db-patterns - <<: *if-default-branch-schedule-nightly +.rails:rules:db-backup: + rules: + - <<: *if-merge-request-labels-run-all-rspec + - <<: *if-default-refs + changes: *db-backup-patterns + - <<: *if-merge-request-not-approved + when: never + - <<: *if-default-refs + changes: *db-patterns + .rails:rules:praefect-with-db: rules: - if: '$CI_MERGE_REQUEST_LABELS =~ /pipeline:run-praefect-with-db/' @@ -1188,27 +1198,35 @@ # See https://gitlab.com/gitlab-org/gitlab/-/merge_requests/68840. - <<: *if-merge-request changes: *db-patterns - - <<: *if-automated-merge-request - changes: *db-patterns - - <<: *if-security-merge-request - changes: *db-patterns - <<: *if-merge-request-not-approved when: never - <<: *if-default-refs changes: *db-patterns -.rails:rules:ee-and-foss-migration:minimal: +.rails:rules:ee-and-foss-migration:predictive: rules: - <<: *if-fork-merge-request changes: *db-patterns - - !reference [".rails:rules:minimal-default-rules", rules] - - !reference [".rails:rules:unit-integration:minimal-default-rules", rules] + - !reference [".rails:rules:predictive-default-rules", rules] + - !reference [".rails:rules:unit-integration:predictive-default-rules", rules] # When DB schema changes, many migrations spec may be affected. However, the test mapping from Crystalball does not map db change to a specific migration spec well. # See https://gitlab.com/gitlab-org/gitlab/-/merge_requests/68840. - <<: *if-merge-request changes: *db-patterns when: never +.rails:rules:ee-and-foss-background-migration: + rules: + - !reference [".rails:rules:ee-and-foss-migration", rules] + - <<: *if-default-refs + changes: *backend-patterns + +.rails:rules:ee-and-foss-background-migration:predictive: + rules: + - !reference [".rails:rules:ee-and-foss-migration:predictive", rules] + - <<: *if-merge-request + changes: *backend-patterns + .rails:rules:ee-and-foss-mr-with-migration: rules: - <<: *if-merge-request @@ -1231,12 +1249,12 @@ - <<: *if-default-refs changes: *backend-patterns -.rails:rules:ee-and-foss-unit:minimal: +.rails:rules:ee-and-foss-unit:predictive: rules: - <<: *if-fork-merge-request changes: *backend-patterns - - !reference [".rails:rules:minimal-default-rules", rules] - - !reference [".rails:rules:unit-integration:minimal-default-rules", rules] + - !reference [".rails:rules:predictive-default-rules", rules] + - !reference [".rails:rules:unit-integration:predictive-default-rules", rules] - <<: *if-merge-request changes: *backend-patterns @@ -1248,12 +1266,12 @@ - <<: *if-default-refs changes: *backend-patterns -.rails:rules:ee-and-foss-integration:minimal: +.rails:rules:ee-and-foss-integration:predictive: rules: - <<: *if-fork-merge-request changes: *backend-patterns - - !reference [".rails:rules:minimal-default-rules", rules] - - !reference [".rails:rules:unit-integration:minimal-default-rules", rules] + - !reference [".rails:rules:predictive-default-rules", rules] + - !reference [".rails:rules:unit-integration:predictive-default-rules", rules] - <<: *if-merge-request changes: *backend-patterns @@ -1265,12 +1283,12 @@ - <<: *if-default-refs changes: *code-backstage-patterns -.rails:rules:ee-and-foss-system:minimal: +.rails:rules:ee-and-foss-system:predictive: rules: - <<: *if-fork-merge-request changes: *code-backstage-patterns - - !reference [".rails:rules:minimal-default-rules", rules] - - !reference [".rails:rules:system:minimal-default-rules", rules] + - !reference [".rails:rules:predictive-default-rules", rules] + - !reference [".rails:rules:system:predictive-default-rules", rules] .rails:rules:ee-and-foss-fast_spec_helper: rules: @@ -1306,18 +1324,30 @@ - <<: *if-default-refs changes: *db-patterns -.rails:rules:ee-only-migration:minimal: +.rails:rules:ee-only-migration:predictive: rules: - <<: *if-not-ee when: never - - !reference [".rails:rules:minimal-default-rules", rules] - - !reference [".rails:rules:unit-integration:minimal-default-rules", rules] + - !reference [".rails:rules:predictive-default-rules", rules] + - !reference [".rails:rules:unit-integration:predictive-default-rules", rules] # When DB schema changes, many migrations spec may be affected. However, the test mapping from Crystalball does not map db change to a specific migration spec well. # See https://gitlab.com/gitlab-org/gitlab/-/merge_requests/68840. - <<: *if-merge-request changes: *db-patterns when: never +.rails:rules:ee-only-background-migration: + rules: + - !reference [".rails:rules:ee-only-migration", rules] + - <<: *if-default-refs + changes: *backend-patterns + +.rails:rules:ee-only-background-migration:predictive: + rules: + - !reference [".rails:rules:ee-only-migration:predictive", rules] + - <<: *if-merge-request + changes: *backend-patterns + .rails:rules:ee-only-unit: rules: - <<: *if-not-ee @@ -1328,14 +1358,14 @@ - <<: *if-default-refs changes: *backend-patterns -.rails:rules:ee-only-unit:minimal: +.rails:rules:ee-only-unit:predictive: rules: - <<: *if-not-ee when: never - <<: *if-fork-merge-request changes: *backend-patterns - - !reference [".rails:rules:minimal-default-rules", rules] - - !reference [".rails:rules:unit-integration:minimal-default-rules", rules] + - !reference [".rails:rules:predictive-default-rules", rules] + - !reference [".rails:rules:unit-integration:predictive-default-rules", rules] - <<: *if-merge-request changes: *backend-patterns @@ -1349,14 +1379,14 @@ - <<: *if-default-refs changes: *backend-patterns -.rails:rules:ee-only-integration:minimal: +.rails:rules:ee-only-integration:predictive: rules: - <<: *if-not-ee when: never - <<: *if-fork-merge-request changes: *backend-patterns - - !reference [".rails:rules:minimal-default-rules", rules] - - !reference [".rails:rules:unit-integration:minimal-default-rules", rules] + - !reference [".rails:rules:predictive-default-rules", rules] + - !reference [".rails:rules:unit-integration:predictive-default-rules", rules] - <<: *if-merge-request changes: *backend-patterns @@ -1370,14 +1400,14 @@ - <<: *if-default-refs changes: *code-backstage-patterns -.rails:rules:ee-only-system:minimal: +.rails:rules:ee-only-system:predictive: rules: - <<: *if-not-ee when: never - <<: *if-fork-merge-request changes: *code-backstage-patterns - - !reference [".rails:rules:minimal-default-rules", rules] - - !reference [".rails:rules:system:minimal-default-rules", rules] + - !reference [".rails:rules:predictive-default-rules", rules] + - !reference [".rails:rules:system:predictive-default-rules", rules] .rails:rules:as-if-foss-migration: rules: @@ -1397,18 +1427,30 @@ - <<: *if-merge-request-not-approved when: never -.rails:rules:as-if-foss-migration:minimal: +.rails:rules:as-if-foss-migration:predictive: rules: - <<: *if-not-ee when: never - - !reference [".rails:rules:minimal-default-rules", rules] - - !reference [".rails:rules:as-if-foss-migration-unit-integration:minimal-default-rules", rules] + - !reference [".rails:rules:predictive-default-rules", rules] + - !reference [".rails:rules:as-if-foss-migration-unit-integration:predictive-default-rules", rules] # When DB schema changes, many migrations spec may be affected. However, the test mapping from Crystalball does not map db change to a specific migration spec well. # See https://gitlab.com/gitlab-org/gitlab/-/merge_requests/68840. - <<: *if-merge-request-labels-as-if-foss changes: *db-patterns when: never +.rails:rules:as-if-foss-background-migration: + rules: + - !reference [".rails:rules:as-if-foss-migration", rules] + - <<: *if-merge-request-labels-as-if-foss + changes: *backend-patterns + +.rails:rules:as-if-foss-background-migration:predictive: + rules: + - !reference [".rails:rules:as-if-foss-migration:predictive", rules] + - <<: *if-merge-request-labels-as-if-foss + changes: *backend-patterns + .rails:rules:as-if-foss-unit: rules: - <<: *if-not-ee @@ -1419,14 +1461,14 @@ - <<: *if-merge-request-labels-as-if-foss changes: *backend-patterns -.rails:rules:as-if-foss-unit:minimal: +.rails:rules:as-if-foss-unit:predictive: rules: - <<: *if-not-ee when: never - <<: *if-fork-merge-request when: never - - !reference [".rails:rules:minimal-default-rules", rules] - - !reference [".rails:rules:as-if-foss-migration-unit-integration:minimal-default-rules", rules] + - !reference [".rails:rules:predictive-default-rules", rules] + - !reference [".rails:rules:as-if-foss-migration-unit-integration:predictive-default-rules", rules] - <<: *if-merge-request-labels-as-if-foss changes: *backend-patterns @@ -1440,14 +1482,14 @@ - <<: *if-merge-request-labels-as-if-foss changes: *backend-patterns -.rails:rules:as-if-foss-integration:minimal: +.rails:rules:as-if-foss-integration:predictive: rules: - <<: *if-not-ee when: never - <<: *if-fork-merge-request when: never - - !reference [".rails:rules:minimal-default-rules", rules] - - !reference [".rails:rules:as-if-foss-migration-unit-integration:minimal-default-rules", rules] + - !reference [".rails:rules:predictive-default-rules", rules] + - !reference [".rails:rules:as-if-foss-migration-unit-integration:predictive-default-rules", rules] - <<: *if-merge-request-labels-as-if-foss changes: *backend-patterns @@ -1461,13 +1503,13 @@ - <<: *if-merge-request-labels-as-if-foss changes: *code-backstage-patterns -.rails:rules:as-if-foss-system:minimal: +.rails:rules:as-if-foss-system:predictive: rules: - <<: *if-not-ee when: never - <<: *if-fork-merge-request when: never - - !reference [".rails:rules:minimal-default-rules", rules] + - !reference [".rails:rules:predictive-default-rules", rules] - <<: *if-merge-request changes: *core-backend-patterns when: never @@ -1485,6 +1527,7 @@ - <<: *if-default-refs changes: *db-library-patterns - <<: *if-merge-request-labels-run-all-rspec + - <<: *if-merge-request-labels-run-on-pg11 .rails:rules:ee-mr-and-default-branch-only: rules: @@ -1548,7 +1591,7 @@ - <<: *if-not-ee when: never - <<: *if-default-branch-schedule-nightly - - <<: *if-ruby3-branch-schedule-nightly + - <<: *if-ruby2-branch-schedule-nightly - <<: *if-merge-request-labels-run-all-rspec .rails:rules:rspec-coverage: @@ -1574,6 +1617,11 @@ - <<: *if-merge-request changes: *backend-patterns +.rails:rules:rspec-on-pg11: + rules: + - <<: *if-merge-request-labels-run-on-pg11 + - !reference [".rails:rules:default-branch-schedule-nightly--code-backstage-default-rules", rules] + .rails:rules:default-branch-schedule-nightly--code-backstage-default-rules: rules: - <<: *if-default-branch-schedule-nightly @@ -1768,6 +1816,8 @@ - <<: *if-default-branch-refs - <<: *if-default-refs changes: *code-backstage-qa-patterns + - <<: *if-default-refs + changes: *docs-patterns .reports:rules:brakeman-sast: rules: @@ -2062,9 +2112,9 @@ - <<: *if-default-refs changes: *code-backstage-patterns -.setup:rules:verify-ruby-2.7: +.setup:rules:verify-ruby-3.0: rules: - - <<: *if-merge-request-labels-run-in-ruby3 + - <<: *if-merge-request-labels-run-in-ruby2 .setup:rules:verify-tests-yml: rules: @@ -2145,6 +2195,8 @@ - !reference [".strict-ee-only-rules", rules] - !reference [".as-if-jh-default-exclusion-rules", rules] - <<: *if-merge-request-labels-as-if-jh + - <<: *if-dot-com-gitlab-org-merge-request + changes: *feature-flag-development-config-patterns # This rule should share the same logic with .as-if-jh:rules:prepare-as-if-jh # Because the jobs using this need jobs using the preparation rules @@ -2154,3 +2206,6 @@ - !reference [".as-if-jh-default-exclusion-rules", rules] - <<: *if-merge-request-labels-as-if-jh allow_failure: true # See https://gitlab.com/gitlab-org/gitlab/-/issues/351136 + - <<: *if-dot-com-gitlab-org-merge-request + changes: *feature-flag-development-config-patterns + allow_failure: true # See https://gitlab.com/gitlab-org/gitlab/-/issues/351136 diff --git a/.gitlab/ci/setup.gitlab-ci.yml b/.gitlab/ci/setup.gitlab-ci.yml index e417b054cd..852c4739d9 100644 --- a/.gitlab/ci/setup.gitlab-ci.yml +++ b/.gitlab/ci/setup.gitlab-ci.yml @@ -22,21 +22,21 @@ cache gems: - vendor/cache expire_in: 31d -.minimal-job: +.predictive-job: extends: - .default-retry needs: [] -.absolutely-minimal-job: +.absolutely-predictive-job: extends: - - .minimal-job + - .predictive-job image: ${GITLAB_DEPENDENCY_PROXY_ADDRESS}alpine:edge variables: GIT_STRATEGY: none dont-interrupt-me: extends: - - .absolutely-minimal-job + - .absolutely-predictive-job - .setup:rules:dont-interrupt-me stage: sync interruptible: false @@ -45,7 +45,7 @@ dont-interrupt-me: gitlab_git_test: extends: - - .minimal-job + - .predictive-job - .setup:rules:gitlab_git_test stage: test script: @@ -53,7 +53,7 @@ gitlab_git_test: no-ee-check: extends: - - .minimal-job + - .predictive-job - .setup:rules:no-ee-check stage: test script: @@ -61,19 +61,19 @@ no-ee-check: no-jh-check: extends: - - .minimal-job + - .predictive-job - .setup:rules:no-jh-check stage: test script: - scripts/no-dir-check jh -verify-ruby-2.7: +verify-ruby-3.0: extends: - - .absolutely-minimal-job - - .setup:rules:verify-ruby-2.7 + - .absolutely-predictive-job + - .setup:rules:verify-ruby-3.0 stage: prepare script: - - echo 'Please remove label ~"pipeline:run-in-ruby3" so we do test against Ruby 2.7 (default version) before merging the merge request' + - echo 'Please remove label ~"pipeline:run-in-ruby2" so we do test against Ruby 3.0 (default version) before merging the merge request' - exit 1 verify-tests-yml: @@ -89,7 +89,7 @@ verify-tests-yml: verify-approvals: extends: - - .minimal-job + - .predictive-job - .setup:rules:jh-contribution script: - source scripts/utils.sh @@ -116,11 +116,13 @@ generate-frontend-fixtures-mapping: detect-tests: extends: .rails:rules:detect-tests - image: ${GITLAB_DEPENDENCY_PROXY_ADDRESS}ruby:${RUBY_VERSION} + image: ${GITLAB_DEPENDENCY_PROXY_ADDRESS}ruby:${RUBY_VERSION}-slim needs: [] stage: prepare variables: RSPEC_TESTS_MAPPING_ENABLED: "true" + before_script: + - apt-get update && apt-get install -y curl # Not present in ruby-slim, so we add it manually script: - source ./scripts/utils.sh - source ./scripts/rspec_helpers.sh @@ -135,17 +137,20 @@ detect-tests: tooling/bin/find_tests ${RSPEC_CHANGED_FILES_PATH} ${RSPEC_MATCHING_TESTS_PATH}; tooling/bin/find_changes ${RSPEC_CHANGED_FILES_PATH} ${RSPEC_MATCHING_TESTS_PATH} ${FRONTEND_FIXTURES_MAPPING_PATH}; filter_rspec_matched_foss_tests ${RSPEC_MATCHING_TESTS_PATH} ${RSPEC_MATCHING_TESTS_FOSS_PATH}; + tooling/bin/view_to_js_mappings ${RSPEC_CHANGED_FILES_PATH} ${RSPEC_MATCHING_JS_FILES_PATH}; echoinfo "Changed files: $(cat $RSPEC_CHANGED_FILES_PATH)"; echoinfo "Related RSpec tests: $(cat $RSPEC_MATCHING_TESTS_PATH)"; echoinfo "Related FOSS RSpec tests: $(cat $RSPEC_MATCHING_TESTS_FOSS_PATH)"; + echoinfo "Related JS files: $(cat $RSPEC_MATCHING_JS_FILES_PATH)"; fi artifacts: expire_in: 7d paths: - - ${RSPEC_CHANGED_FILES_PATH} - - ${RSPEC_MATCHING_TESTS_PATH} - - ${RSPEC_MATCHING_TESTS_FOSS_PATH} - ${FRONTEND_FIXTURES_MAPPING_PATH} + - ${RSPEC_CHANGED_FILES_PATH} + - ${RSPEC_MATCHING_JS_FILES_PATH} + - ${RSPEC_MATCHING_TESTS_FOSS_PATH} + - ${RSPEC_MATCHING_TESTS_PATH} detect-previous-failed-tests: extends: @@ -167,7 +172,7 @@ detect-previous-failed-tests: e2e-test-pipeline-generate: extends: - .qa-job-base - - .minimal-job + - .predictive-job - .qa:rules:determine-e2e-tests stage: prepare variables: diff --git a/.gitlab/ci/static-analysis.gitlab-ci.yml b/.gitlab/ci/static-analysis.gitlab-ci.yml index 6df2c5f403..13013d9a9d 100644 --- a/.gitlab/ci/static-analysis.gitlab-ci.yml +++ b/.gitlab/ci/static-analysis.gitlab-ci.yml @@ -32,7 +32,7 @@ static-analysis: parallel: 2 script: - yarn_install_script - - scripts/static-analysis + - fail_on_warnings scripts/static-analysis static-analysis as-if-foss: extends: diff --git a/.gitlab/ci/test-metadata.gitlab-ci.yml b/.gitlab/ci/test-metadata.gitlab-ci.yml index e147305e25..3f6760394c 100644 --- a/.gitlab/ci/test-metadata.gitlab-ci.yml +++ b/.gitlab/ci/test-metadata.gitlab-ci.yml @@ -14,8 +14,11 @@ retrieve-tests-metadata: extends: - .tests-metadata-state - .test-metadata:rules:retrieve-tests-metadata + # We use a smaller image for this job only (update-tests-metadata compiles some gems) + image: ${GITLAB_DEPENDENCY_PROXY_ADDRESS}ruby:${RUBY_VERSION}-slim stage: prepare script: + - apt-get update && apt-get install -y curl # Not present in ruby-slim, so we add it manually - install_gitlab_gem - source ./scripts/rspec_helpers.sh - retrieve_tests_metadata diff --git a/.gitlab/ci/workhorse.gitlab-ci.yml b/.gitlab/ci/workhorse.gitlab-ci.yml index 3aa9eaee6f..389906dbbf 100644 --- a/.gitlab/ci/workhorse.gitlab-ci.yml +++ b/.gitlab/ci/workhorse.gitlab-ci.yml @@ -37,8 +37,9 @@ workhorse:test go: workhorse:test fips: extends: .workhorse:test + image: registry.gitlab.com/gitlab-org/gitlab-omnibus-builder/ubuntu_20.04_fips:4.0.0 variables: - WORKHORSE_TEST_FIPS_ENABLED: 1 + FIPS_MODE: 1 workhorse:test race: extends: .workhorse:test diff --git a/.gitlab/issue_templates/Broken Master - Flaky.md b/.gitlab/issue_templates/Broken Master - Flaky.md index bea12615e4..b87d9b5ee1 100644 --- a/.gitlab/issue_templates/Broken Master - Flaky.md +++ b/.gitlab/issue_templates/Broken Master - Flaky.md @@ -16,7 +16,7 @@ Please read the below documentations for a workflow of triaging and resolving br -Please refer to [Flaky tests documentation](https://docs.gitlab.com/ee/development/testing_guide/flaky_tests.html) to +Please refer to [Flaky tests documentation](https://docs.gitlab.com/ee/development/testing_guide/flaky_tests.html) to learn more about how to reproduce them. ### Proposed Resolution @@ -25,4 +25,6 @@ learn more about how to reproduce them. Please refer to the [Resolution guidance](https://about.gitlab.com/handbook/engineering/workflow/#resolution-of-broken-master) to learn more about resolution of broken master. -/label ~"failure::flaky-test" ~"Engineering Productivity" ~"priority::2" ~"severity::3" ~"type::bug" ~"bug::transient" +Once the flaky failure has been fixed on the default branch, open merge requests to cherry-pick the fix to the active stable branches. + +/label ~"type::maintenance" ~"failure::flaky-test" ~"priority::3" ~"severity::3" diff --git a/.gitlab/issue_templates/Broken Master - Non-flaky.md b/.gitlab/issue_templates/Broken Master - Non-flaky.md index 43e73fc5c5..d2dc616ead 100644 --- a/.gitlab/issue_templates/Broken Master - Non-flaky.md +++ b/.gitlab/issue_templates/Broken Master - Non-flaky.md @@ -21,4 +21,4 @@ Please read the below documentations for a workflow of triaging and resolving br Please refer to the [Resolution guidance](https://about.gitlab.com/handbook/engineering/workflow/#resolution-of-broken-master) to learn more about resolution of broken master. -/label ~"master:broken" ~"Engineering Productivity" ~"priority::1" ~"severity::1" ~"type::bug" ~"bug::transient" +/label ~"master:broken" ~"Engineering Productivity" ~"priority::1" ~"severity::1" ~"type::maintenance" ~"maintenance::pipelines" diff --git a/.gitlab/issue_templates/Doc_cleanup.md b/.gitlab/issue_templates/Doc_cleanup.md index 3ea692ed1a..1eb3829e28 100644 --- a/.gitlab/issue_templates/Doc_cleanup.md +++ b/.gitlab/issue_templates/Doc_cleanup.md @@ -1,5 +1,3 @@ -/labels ~"documentation" ~"docs-only" ~"documentation" ~"docs::improvement" ~"type::maintenance" ~"maintenance::refactor" ~"Seeking community contributions" ~"quick win" ~"Technical Writing" - -## Replicate Cool Widgets +## Replicate Cool Widgets - Repository This issue is for implementing Geo replication and verification of Cool Widgets. @@ -39,8 +39,6 @@ You can look into the following example for implementing replication/verificatio ### Modify database schemas to prepare to add Geo support for Cool Widgets -You might do this section in its own merge request, but it is not required. - #### Add the registry table to track replication and verification state Geo secondary sites have a [Geo tracking database](https://gitlab.com/gitlab-org/gitlab/-/blob/master/doc/development/geo.md#tracking-database) independent of the main database. It is used to track the replication and verification state of all replicables. Every Model has a corresponding "registry" table in the Geo tracking database. @@ -114,7 +112,7 @@ Geo secondary sites have a [Geo tracking database](https://gitlab.com/gitlab-org bin/rake db:migrate:geo ``` -- [ ] Be sure to commit the relevant changes in `ee/db/geo/structure.sql` +- [ ] Be sure to commit the relevant changes in `ee/db/geo/structure.sql` and the file under `ee/db/geo/schema_migrations` ### Add verification state to the Model @@ -146,7 +144,7 @@ The Geo primary site needs to checksum every replicable so secondaries can verif t.datetime_with_timezone :verified_at t.references :cool_widget, primary_key: true, default: nil, index: false, foreign_key: { on_delete: :cascade } t.integer :verification_state, default: 0, limit: 2, null: false - t.integer :verification_retry_count, limit: 2 + t.integer :verification_retry_count, default: 0, limit: 2, null: false t.binary :verification_checksum, using: 'verification_checksum::bytea' t.text :verification_failure, limit: 255 @@ -185,7 +183,21 @@ The Geo primary site needs to checksum every replicable so secondaries can verif bin/rake db:migrate ``` -- [ ] Be sure to commit the relevant changes in `db/structure.sql` +- [ ] Be sure to commit the relevant changes in `db/structure.sql` and the file under `db/schema_migrations` + +- [ ] Add an entry for the state table in `db/docs/cool_widget_states.yml` + + ```yaml + --- + table_name: cool_widget_states + classes: + - Geo::CoolWidgetState + feature_categories: + - geo_replication + description: Separate table for cool widget verification states + introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/XXXXX + milestone: 'XX.Y' + ``` That's all of the required database changes. @@ -371,7 +383,6 @@ That's all of the required database changes. ```shell bin/feature-flag --ee geo_cool_widget_replication --type development --group 'group::geo' - bin/feature-flag --ee geo_cool_widget_verification --type development --group 'group::geo' ``` - [ ] Add this replicator class to the method `replicator_classes` in @@ -382,7 +393,6 @@ That's all of the required database changes. ::Geo::PackageFileReplicator, ::Geo::CoolWidgetReplicator ] - end ``` - [ ] Create `ee/spec/replicators/geo/cool_widget_replicator_spec.rb` and perform the necessary setup to define the `model_record` variable for the shared examples: @@ -478,25 +488,29 @@ That's all of the required database changes. end ``` -- [ ] Add the following to `spec/factories/cool_widgets.rb`: +- [ ] Add the following to `ee/spec/factories/cool_widgets.rb`: ```ruby - trait :verification_succeeded do - with_file - verification_checksum { 'abc' } - verification_state { CoolWidget.verification_state_value(:verification_succeeded) } - end + FactoryBot.modify do + trait :verification_succeeded do + with_file + verification_checksum { 'abc' } + verification_state { CoolWidget.verification_state_value(:verification_succeeded) } + end - trait :verification_failed do - with_file - verification_failure { 'Could not calculate the checksum' } - verification_state { CoolWidget.verification_state_value(:verification_failed) } + trait :verification_failed do + with_file + verification_failure { 'Could not calculate the checksum' } + verification_state { CoolWidget.verification_state_value(:verification_failed) } + end end ``` + If there is not an existing factory for the object in `spec/factories/cool_widgets.rb`, wrap the traits in `FactoryBot.create` instead of `FactoryBot.modify`. + - [ ] Make sure the factory also allows setting a `project` attribute. If the model does not have a direct relation to a project, you can use a `transient` attribute. Check out `spec/factories/merge_request_diffs.rb` for an example. -- [ ] Following [the example of Merge Request Diffs](https://gitlab.com/gitlab-org/gitlab/-/merge_requests/63309) add a `Geo::CoolWidgetState` model in `ee/app/models/ee/geo/cool_widget_state.rb`: +- [ ] Following [the example of Merge Request Diffs](https://gitlab.com/gitlab-org/gitlab/-/merge_requests/63309) add a `Geo::CoolWidgetState` model in `ee/app/models/geo/cool_widget_state.rb`: ``` ruby # frozen_string_literal: true @@ -536,6 +550,8 @@ That's all of the required database changes. end ``` +- [ ] Add `[:cool_widget, :remote_store]` and `[:geo_cool_widget_state, any]` to `skipped` in `spec/models/factories_spec.rb` + #### Step 2. Implement metrics gathering Metrics are gathered by `Geo::MetricsUpdateWorker`, persisted in `GeoNodeStatus` for display in the UI, and sent to Prometheus: @@ -556,16 +572,18 @@ Metrics are gathered by `Geo::MetricsUpdateWorker`, persisted in `GeoNodeStatus` - [ ] Add the same fields to `GET /geo_nodes/status` example response in `ee/spec/fixtures/api/schemas/public_api/v4/geo_node_status.json`. - [ ] Add the following fields to the `Sidekiq metrics` table in `doc/administration/monitoring/prometheus/gitlab_metrics.md`: - - `geo_cool_widgets` - - `geo_cool_widgets_checksum_total` - - `geo_cool_widgets_checksummed` - - `geo_cool_widgets_checksum_failed` - - `geo_cool_widgets_synced` - - `geo_cool_widgets_failed` - - `geo_cool_widgets_registry` - - `geo_cool_widgets_verification_total` - - `geo_cool_widgets_verified` - - `geo_cool_widgets_verification_failed` + ```markdown + | `geo_cool_widgets` | Gauge | XX.Y | Number of Cool Widgets on primary | `url` | + | `geo_cool_widgets_checksum_total` | Gauge | XX.Y | Number of Cool Widgets checksummed successfully on primary | `url` | + | `geo_cool_widgets_checksummed` | Gauge | XX.Y | Number of Cool Widgets failed to calculate the checksum on primary | `url` | + | `geo_cool_widgets_checksum_failed` | Gauge | XX.Y | Number of Cool Widgets tried to checksum on primary | `url` | + | `geo_cool_widgets_synced` | Gauge | XX.Y | Number of syncable Cool Widgets synced on secondary | `url` | + | `geo_cool_widgets_failed` | Gauge | XX.Y | Number of syncable Cool Widgets failed to sync on secondary | `url` | + | `geo_cool_widgets_registry` | Gauge | XX.Y | Number of Cool Widgets in the registry | `url` | + | `geo_cool_widgets_verification_total` | Gauge | XX.Y | Number of Cool Widgets verified on secondary | `url` | + | `geo_cool_widgets_verified` | Gauge | XX.Y | Number of Cool Widgets' verifications failed on secondary | `url` | + | `geo_cool_widgets_verification_failed` | Gauge | XX.Y | Number of Cool Widgets' verifications tried on secondary | `url` | + ``` Cool Widget replication and verification metrics should now be available in the API, the `Admin > Geo > Nodes` view, and Prometheus. @@ -731,6 +749,14 @@ As illustrated by the above two examples, batch destroy logic cannot be handled end end ``` + +### Code Review + +When requesting review from database reviewers: + +- [ ] Include a comment mentioning that the change is based on a documented template. +- [ ] `replicables_for_current_secondary` and `available_replicables` may differ per Model. If their queries are new, then add [query plans](https://docs.gitlab.com/ee/development/database_review.html#query-plans) to the MR description. An easy place to gather SQL queries is your GDK's `log/test.log` when running tests of these methods. + ### Release Geo support of Cool Widgets - [ ] In the rollout issue you created when creating the feature flag, modify the Roll Out Steps: diff --git a/.gitlab/issue_templates/Geo Replicate a new blob type.md b/.gitlab/issue_templates/Geo Replicate a new blob type.md index 121dbdf035..9dfc83309c 100644 --- a/.gitlab/issue_templates/Geo Replicate a new blob type.md +++ b/.gitlab/issue_templates/Geo Replicate a new blob type.md @@ -18,7 +18,7 @@ If your Model's pluralized form is non-standard, i.e. it doesn't just end in `s` --> -## Replicate Cool Widgets +## Replicate Cool Widgets - Blob This issue is for implementing Geo replication and verification of Cool Widgets. @@ -41,8 +41,6 @@ You can look into the following examples of MRs for implementing replication/ver ### Modify database schemas to prepare to add Geo support for Cool Widgets -You might do this section in its own merge request, but it is not required. - #### Add the registry table to track replication and verification state Geo secondary sites have a [Geo tracking database](https://gitlab.com/gitlab-org/gitlab/-/blob/master/doc/development/geo.md#tracking-database) independent of the main database. It is used to track the replication and verification state of all replicables. Every Model has a corresponding "registry" table in the Geo tracking database. @@ -114,7 +112,7 @@ Geo secondary sites have a [Geo tracking database](https://gitlab.com/gitlab-org bin/rake db:migrate:geo ``` -- [ ] Be sure to commit the relevant changes in `ee/db/geo/structure.sql` +- [ ] Be sure to commit the relevant changes in `ee/db/geo/structure.sql` and the file created under `ee/db/geo/schema_migrations` ### Add verification state fields on the Geo primary site @@ -148,7 +146,7 @@ The Geo primary site needs to checksum every replicable so secondaries can verif t.datetime_with_timezone :verified_at t.references :cool_widget, primary_key: true, default: nil, index: false, foreign_key: { on_delete: :cascade } t.integer :verification_state, default: 0, limit: 2, null: false - t.integer :verification_retry_count, limit: 2 + t.integer :verification_retry_count, default: 0, limit: 2, null: false t.binary :verification_checksum, using: 'verification_checksum::bytea' t.text :verification_failure, limit: 255 @@ -189,7 +187,21 @@ The Geo primary site needs to checksum every replicable so secondaries can verif - [ ] If `cool_widgets` is a high-traffic table, follow [the database documentation to use `with_lock_retries`](https://gitlab.com/gitlab-org/gitlab/-/blob/master/doc/development/migration_style_guide.md#when-to-use-the-helper-method) -- [ ] Be sure to commit the relevant changes in `db/structure.sql` +- [ ] Be sure to commit the relevant changes in `db/structure.sql` and the file under `db/schema_migrations` + +- [ ] Add an entry for the state table in `db/docs/cool_widget_states.yml` + + ```yaml + --- + table_name: cool_widget_states + classes: + - Geo::CoolWidgetState + feature_categories: + - geo_replication + description: Separate table for cool widget verification states + introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/XXXXX + milestone: 'XX.Y' + ``` That's all of the required database changes. @@ -248,7 +260,7 @@ That's all of the required database changes. # @param primary_key_in [Range, CoolWidget] arg to pass to primary_key_in scope # @return [ActiveRecord::Relation] everything that should be synced to this node, restricted by primary key - def self.replicables_for_current_secondary(primary_key_in) + def replicables_for_current_secondary(primary_key_in) # This issue template does not help you write this method. # # This method is called only on Geo secondary sites. It is called when @@ -329,7 +341,6 @@ That's all of the required database changes. ```shell bin/feature-flag --ee geo_cool_widget_replication --type development --group 'group::geo' - bin/feature-flag --ee geo_cool_widget_verification --type development --group 'group::geo' ``` - [ ] Add this replicator class to the method `replicator_classes` in @@ -340,7 +351,6 @@ That's all of the required database changes. ::Geo::PackageFileReplicator, ::Geo::CoolWidgetReplicator ] - end ``` - [ ] Create `ee/spec/replicators/geo/cool_widget_replicator_spec.rb` and perform the necessary setup to define the `model_record` variable for the shared examples: @@ -439,22 +449,33 @@ That's all of the required database changes. - [ ] Add the following to `spec/factories/cool_widgets.rb`: ```ruby - trait :verification_succeeded do - with_file - verification_checksum { 'abc' } - verification_state { CoolWidget.verification_state_value(:verification_succeeded) } - end + FactoryBot.modify do + trait :verification_succeeded do + with_file + verification_checksum { 'abc' } + verification_state { CoolWidget.verification_state_value(:verification_succeeded) } + end - trait :verification_failed do - with_file - verification_failure { 'Could not calculate the checksum' } - verification_state { CoolWidget.verification_state_value(:verification_failed) } + trait :verification_failed do + with_file + verification_failure { 'Could not calculate the checksum' } + verification_state { CoolWidget.verification_state_value(:verification_failed) } + end end ``` + If there is not an existing factory for the object in `spec/factories/cool_widgets.rb`, wrap the traits in `FactoryBot.create` instead of `FactoryBot.modify` + + [ ] Make sure the factory supports the `:remote_store` trait. If not, add something like + + ```ruby + trait :remote_store do + file_store { CoolWidget::FileUploader::Store::REMOTE } + end + ``` - [ ] Make sure the factory also allows setting a `project` attribute. If the model does not have a direct relation to a project, you can use a `transient` attribute. Check out `spec/factories/merge_request_diffs.rb` for an example. -- [ ] Following [the example of Merge Request Diffs](https://gitlab.com/gitlab-org/gitlab/-/merge_requests/63309) add a `Geo::CoolWidgetState` model in `ee/app/models/ee/geo/cool_widget_state.rb`: +- [ ] Following [the example of Merge Request Diffs](https://gitlab.com/gitlab-org/gitlab/-/merge_requests/63309) add a `Geo::CoolWidgetState` model in `ee/app/models/geo/cool_widget_state.rb`: ``` ruby # frozen_string_literal: true @@ -494,6 +515,8 @@ That's all of the required database changes. end ``` +- [ ] Add `[:cool_widget, :remote_store]` and `[:geo_cool_widget_state, any]` to `skipped` in `spec/models/factories_spec.rb` + #### Step 2. Implement metrics gathering Metrics are gathered by `Geo::MetricsUpdateWorker`, persisted in `GeoNodeStatus` for display in the UI, and sent to Prometheus: @@ -514,18 +537,21 @@ Metrics are gathered by `Geo::MetricsUpdateWorker`, persisted in `GeoNodeStatus` - [ ] Add the same fields to `GET /geo_nodes/status` example response in `ee/spec/fixtures/api/schemas/public_api/v4/geo_node_status.json`. - [ ] Add the following fields to the `Sidekiq metrics` table in `doc/administration/monitoring/prometheus/gitlab_metrics.md`: - - `geo_cool_widgets` - - `geo_cool_widgets_checksum_total` - - `geo_cool_widgets_checksummed` - - `geo_cool_widgets_checksum_failed` - - `geo_cool_widgets_synced` - - `geo_cool_widgets_failed` - - `geo_cool_widgets_registry` - - `geo_cool_widgets_verification_total` - - `geo_cool_widgets_verified` - - `geo_cool_widgets_verification_failed` -Cool Widget replication and verification metrics should now be available in the API, the `Admin > Geo > Nodes` view, and Prometheus. + ```markdown + | `geo_cool_widgets` | Gauge | XX.Y | Number of Cool Widgets on primary | `url` | + | `geo_cool_widgets_checksum_total` | Gauge | XX.Y | Number of Cool Widgets checksummed successfully on primary | `url` | + | `geo_cool_widgets_checksummed` | Gauge | XX.Y | Number of Cool Widgets failed to calculate the checksum on primary | `url` | + | `geo_cool_widgets_checksum_failed` | Gauge | XX.Y | Number of Cool Widgets tried to checksum on primary | `url` | + | `geo_cool_widgets_synced` | Gauge | XX.Y | Number of syncable Cool Widgets synced on secondary | `url` | + | `geo_cool_widgets_failed` | Gauge | XX.Y | Number of syncable Cool Widgets failed to sync on secondary | `url` | + | `geo_cool_widgets_registry` | Gauge | XX.Y | Number of Cool Widgets in the registry | `url` | + | `geo_cool_widgets_verification_total` | Gauge | XX.Y | Number of Cool Widgets verified on secondary | `url` | + | `geo_cool_widgets_verified` | Gauge | XX.Y | Number of Cool Widgets' verifications failed on secondary | `url` | + | `geo_cool_widgets_verification_failed` | Gauge | XX.Y | Number of Cool Widgets' verifications tried on secondary | `url` | + ``` + + Cool Widget replication and verification metrics should now be available in the API, the `Admin > Geo > Nodes` view, and Prometheus. #### Step 3. Implement the GraphQL API @@ -690,6 +716,13 @@ As illustrated by the above two examples, batch destroy logic cannot be handled end ``` +### Code Review + +When requesting review from database reviewers: + +- [ ] Include a comment mentioning that the change is based on a documented template. +- [ ] `replicables_for_current_secondary` and `available_replicables` may differ per Model. If their queries are new, then add [query plans](https://docs.gitlab.com/ee/development/database_review.html#query-plans) to the MR description. An easy place to gather SQL queries is your GDK's `log/test.log` when running tests of these methods. + ### Release Geo support of Cool Widgets - [ ] In the rollout issue you created when creating the feature flag, modify the Roll Out Steps: diff --git a/.gitlab/merge_request_templates/New Version of gitlab-styles.md b/.gitlab/merge_request_templates/New Version of gitlab-styles.md index e6cde691e1..5e7f231965 100644 --- a/.gitlab/merge_request_templates/New Version of gitlab-styles.md +++ b/.gitlab/merge_request_templates/New Version of gitlab-styles.md @@ -1,10 +1,11 @@ - + ## What does this MR do and why? Validating upcoming release of `gitlab-styles` . See . This MR can be reused to upgrade `gitlab-styles` in this project after a new version of `gitlab-styles` is released. + ### Checklist - [ ] Verify upcoming release of `gitlab-styles` @@ -13,8 +14,8 @@ This MR can be reused to upgrade `gitlab-styles` in this project after a new ver - [ ] Update [bundler's checksum file](https://docs.gitlab.com/ee/development/gemfile.html#updating-the-checksum-file) via `bundle exec bundler-checksum init` - [ ] `rubocop` job - [ ] Inspect any warnings/errors - - [ ] (Optional) [Generate TODOs](https://docs.gitlab.com/ee/development/contributing/style_guides.html#resolving-rubocop-exceptions) for pending offenses - - [ ] Put :new: cop rules (or if configuration is changed) in "grace period". See [docs](https://docs.gitlab.com/ee/development/contributing/style_guides.html#enabling-a-new-cop). + - [ ] (Optional) [Generate TODOs](https://docs.gitlab.com/ee/development/rubocop_development_guide.html#resolving-rubocop-exceptions) for pending offenses + - [ ] Put :new: cop rules (or if configuration is changed) in "grace period". See [docs](https://docs.gitlab.com/ee/development/rubocop_development_guide.html#enabling-a-new-cop). - [ ] (Optional) Remove any offenses for disabled cops - Use `grep --perl-regexp -o ":\d+\d+: \w: \[\S+\] ([\w/]+)" raw_job_output.log | awk '{print $4}' | sort | uniq -c` to get a list of cop rules with offenses. Where `raw_job_output.log` is the raw output of the `rubocop` job - [ ] Ignore offenses related to temporary changes in `Gemfile` @@ -32,9 +33,7 @@ This MR can be reused to upgrade `gitlab-styles` in this project after a new ver - [ ] (Optional) Regenerate TODOs for new/changed cop rules - [ ] Make sure CI passes :green_heart: - [ ] Let the MR being reviewed again and merged - - [ ] Make sure CI passes :green_heart: - - [ ] Let the MR being reviewed again and merged - - [ ] (Optional) Refine this [MR template](https://gitlab.com/gitlab-org/gitlab/-/blob/master/.gitlab/merge_request_templates/New%20Version%20of%20gitlab-styles.md). + - [ ] (Optional) Refine this [MR template](https://gitlab.com/gitlab-org/gitlab/-/blob/master/.gitlab/merge_request_templates/New%20Version%20of%20gitlab-styles.md). ## MR acceptance checklist diff --git a/.gitlab/merge_request_templates/Security Release.md b/.gitlab/merge_request_templates/Security Release.md index 334bcb1602..b443dd7570 100644 --- a/.gitlab/merge_request_templates/Security Release.md +++ b/.gitlab/merge_request_templates/Security Release.md @@ -27,7 +27,7 @@ See [the general developer security release guidelines](https://gitlab.com/gitla - [ ] Ensure it's approved by a maintainer. - [ ] Ensure this merge request and the related security issue have a `~severity::x` label -**Note:** Reviewer/maintainer should not be a Release Manager. +**Note:** Reviewer/maintainer should not be a [Release Manager]. ## Maintainer checklist @@ -45,3 +45,4 @@ See [the general developer security release guidelines](https://gitlab.com/gitla [Approval Guidelines]: https://docs.gitlab.com/ee/development/code_review.html#approval-guidelines [Canonical repository]: https://gitlab.com/gitlab-org/gitlab [`e2e:package-and-test` job]: https://docs.gitlab.com/ee/development/testing_guide/end_to_end/#using-the-package-and-test-job +[Release Manager]: https://about.gitlab.com/community/release-managers/ diff --git a/.markdownlint.yml b/.markdownlint.yml index 2ad24e5f75..6be0b9fad2 100644 --- a/.markdownlint.yml +++ b/.markdownlint.yml @@ -109,6 +109,7 @@ proper-names: "PgBouncer", "Postfix", "PostgreSQL", + "PowerShell", "Praefect", "Prometheus", "Puma", diff --git a/.rubocop.yml b/.rubocop.yml index 3a3150f9fb..e58dd4f9fd 100644 --- a/.rubocop.yml +++ b/.rubocop.yml @@ -95,7 +95,6 @@ InternalAffairs/DeprecateCopHelper: - spec/rubocop/**/*.rb Lint/LastKeywordArgument: - Enabled: true Safe: false Lint/EmptyFile: @@ -409,6 +408,7 @@ Database/MultipleDatabases: - 'ee/lib/ee/gitlab/background_migration/**/*.rb' - 'spec/lib/gitlab/background_migration/**/*.rb' - 'spec/lib/gitlab/database/**/*.rb' + - 'spec/tasks/gitlab/db_rake_spec.rb' Migration/BatchMigrationsPostOnly: Enabled: true @@ -416,6 +416,11 @@ Migration/BatchMigrationsPostOnly: - 'db/migrate/*.rb' - 'db/post_migrate/*.rb' +BackgroundMigration/FeatureCategory: + Enabled: true + Include: + - 'lib/gitlab/background_migration/*.rb' + # See https://gitlab.com/gitlab-org/gitlab/-/issues/373194 Gitlab/RSpec/AvoidSetup: Enabled: true @@ -909,5 +914,7 @@ Cop/FeatureFlagUsage: - 'lib/gitlab/redis/**/*.rb' - 'lib/gitlab/patch/**/*.rb' - 'lib/gitlab/instrumentation/**/*.rb' - Exclude: - - 'lib/gitlab/redis/multi_store.rb' + +# See https://gitlab.com/gitlab-org/gitlab/-/issues/386618 +Layout/HashAlignment: + Enabled: false diff --git a/.rubocop_todo/background_migration/feature_category.yml b/.rubocop_todo/background_migration/feature_category.yml new file mode 100644 index 0000000000..69467a0b49 --- /dev/null +++ b/.rubocop_todo/background_migration/feature_category.yml @@ -0,0 +1,3 @@ +--- +BackgroundMigration/FeatureCategory: + Details: grace period diff --git a/.rubocop_todo/cop/user_admin.yml b/.rubocop_todo/cop/user_admin.yml index 6f8cc5429c..c4d3e13b0b 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 43da6f8a5b..c59e8a8c15 100644 --- a/.rubocop_todo/database/multiple_databases.yml +++ b/.rubocop_todo/database/multiple_databases.yml @@ -1,14 +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' - - 'ee/spec/services/ee/merge_requests/update_service_spec.rb' - - 'spec/support/caching.rb' - - 'spec/support/helpers/database/database_helpers.rb' - - 'spec/support/helpers/database/table_schema_helpers.rb' - - 'spec/support/helpers/migrations_helpers.rb' - - 'spec/support/helpers/query_recorder.rb' - - 'spec/support/helpers/usage_data_helpers.rb' - - 'spec/tasks/gitlab/db_rake_spec.rb' diff --git a/.rubocop_todo/fips/sha1.yml b/.rubocop_todo/fips/sha1.yml index 35221d9d3f..b07fef0ca5 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 e49169bae6..f394851193 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' @@ -371,6 +369,7 @@ Gitlab/NamespacedClass: - 'app/policies/deploy_keys_project_policy.rb' - 'app/policies/deploy_token_policy.rb' - 'app/policies/deployment_policy.rb' + - 'app/policies/description_version_policy.rb' - 'app/policies/draft_note_policy.rb' - 'app/policies/environment_policy.rb' - 'app/policies/external_issue_policy.rb' @@ -404,7 +403,10 @@ Gitlab/NamespacedClass: - 'app/policies/protected_branch_policy.rb' - 'app/policies/release_policy.rb' - 'app/policies/repository_policy.rb' + - 'app/policies/resource_event_policy.rb' - 'app/policies/resource_label_event_policy.rb' + - 'app/policies/resource_milestone_event_policy.rb' + - 'app/policies/resource_state_event_policy.rb' - 'app/policies/suggestion_policy.rb' - 'app/policies/system_hook_policy.rb' - 'app/policies/timebox_policy.rb' @@ -960,6 +962,8 @@ Gitlab/NamespacedClass: - 'ee/app/policies/issuable_metric_image_policy.rb' - 'ee/app/policies/iteration_policy.rb' - 'ee/app/policies/push_rule_policy.rb' + - 'ee/app/policies/resource_iteration_event_policy.rb' + - 'ee/app/policies/resource_weight_event_policy.rb' - 'ee/app/policies/saml_provider_policy.rb' - 'ee/app/policies/vulnerability_policy.rb' - 'ee/app/presenters/approval_rule_presenter.rb' diff --git a/.rubocop_todo/gitlab/strong_memoize_attr.yml b/.rubocop_todo/gitlab/strong_memoize_attr.yml index 5afb7574ff..9fe784e1be 100644 --- a/.rubocop_todo/gitlab/strong_memoize_attr.yml +++ b/.rubocop_todo/gitlab/strong_memoize_attr.yml @@ -41,7 +41,6 @@ Gitlab/StrongMemoizeAttr: - 'app/finders/ci/commit_statuses_finder.rb' - 'app/finders/ci/pipelines_for_merge_request_finder.rb' - 'app/finders/cluster_ancestors_finder.rb' - - 'app/finders/clusters/knative_services_finder.rb' - 'app/finders/concerns/finder_with_group_hierarchy.rb' - 'app/finders/crm/contacts_finder.rb' - 'app/finders/crm/organizations_finder.rb' @@ -88,15 +87,12 @@ Gitlab/StrongMemoizeAttr: - 'app/models/ci/processable.rb' - 'app/models/ci/runner.rb' - 'app/models/clusters/cluster.rb' - - 'app/models/clusters/providers/aws.rb' - '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' - - 'app/models/concerns/ci/partitionable.rb' - 'app/models/concerns/discussion_on_diff.rb' - 'app/models/concerns/has_repository.rb' - 'app/models/concerns/has_wiki.rb' @@ -155,7 +151,6 @@ Gitlab/StrongMemoizeAttr: - 'app/presenters/blobs/unfold_presenter.rb' - 'app/presenters/ci/build_runner_presenter.rb' - 'app/presenters/ci/pipeline_artifacts/code_coverage_presenter.rb' - - 'app/presenters/ci/pipeline_artifacts/code_quality_mr_diff_presenter.rb' - 'app/presenters/ci/pipeline_presenter.rb' - 'app/presenters/clusters/cluster_presenter.rb' - 'app/presenters/merge_request_presenter.rb' @@ -165,11 +160,7 @@ Gitlab/StrongMemoizeAttr: - 'app/presenters/project_presenter.rb' - 'app/presenters/projects/settings/deploy_keys_presenter.rb' - 'app/serializers/ci/pipeline_entity.rb' - - 'app/serializers/concerns/diff_file_conflict_type.rb' - - 'app/serializers/diff_file_base_entity.rb' - - 'app/serializers/integrations/field_entity.rb' - 'app/serializers/linked_project_issue_entity.rb' - - 'app/serializers/suggestion_entity.rb' - 'app/services/alert_management/alerts/update_service.rb' - 'app/services/alert_management/create_alert_issue_service.rb' - 'app/services/alert_management/process_prometheus_alert_service.rb' @@ -179,7 +170,6 @@ Gitlab/StrongMemoizeAttr: - 'app/services/award_emojis/add_service.rb' - 'app/services/base_project_service.rb' - 'app/services/boards/base_items_list_service.rb' - - 'app/services/boards/lists/base_create_service.rb' - 'app/services/ci/create_downstream_pipeline_service.rb' - 'app/services/ci/create_web_ide_terminal_service.rb' - 'app/services/ci/job_artifacts/destroy_batch_service.rb' @@ -194,7 +184,6 @@ Gitlab/StrongMemoizeAttr: - 'app/services/ci/queue/build_queue_service.rb' - 'app/services/ci/update_build_state_service.rb' - 'app/services/clusters/agents/refresh_authorization_service.rb' - - 'app/services/clusters/aws/finalize_creation_service.rb' - 'app/services/clusters/integrations/prometheus_health_check_service.rb' - 'app/services/concerns/alert_management/alert_processing.rb' - 'app/services/concerns/incident_management/settings.rb' @@ -273,7 +262,6 @@ Gitlab/StrongMemoizeAttr: - 'app/services/projects/lfs_pointers/lfs_object_download_list_service.rb' - 'app/services/projects/open_issues_count_service.rb' - 'app/services/projects/record_target_platforms_service.rb' - - 'app/services/projects/update_remote_mirror_service.rb' - 'app/services/projects/update_statistics_service.rb' - 'app/services/prometheus/proxy_service.rb' - 'app/services/quick_actions/interpret_service.rb' @@ -312,7 +300,6 @@ Gitlab/StrongMemoizeAttr: - 'ee/app/controllers/ee/admin/health_check_controller.rb' - 'ee/app/controllers/ee/groups/settings/repository_controller.rb' - 'ee/app/controllers/ee/groups_controller.rb' - - 'ee/app/controllers/ee/registrations/welcome_controller.rb' - 'ee/app/controllers/ee/repositories/git_http_controller.rb' - 'ee/app/controllers/groups/audit_events_controller.rb' - 'ee/app/controllers/groups/epic_boards_controller.rb' @@ -326,14 +313,12 @@ Gitlab/StrongMemoizeAttr: - 'ee/app/finders/ee/issues_finder.rb' - 'ee/app/finders/epics_finder.rb' - 'ee/app/finders/incident_management/oncall_users_finder.rb' - - 'ee/app/finders/requirements_management/requirements_finder.rb' - 'ee/app/finders/security/pipeline_vulnerabilities_finder.rb' - 'ee/app/finders/security/training_providers/base_url_finder.rb' - 'ee/app/graphql/resolvers/epics_resolver.rb' - 'ee/app/graphql/resolvers/vulnerabilities_base_resolver.rb' - 'ee/app/helpers/admin/emails_helper.rb' - 'ee/app/helpers/auditor_user_helper.rb' - - 'ee/app/helpers/billing_plans_helper.rb' - 'ee/app/helpers/ee/ci/runners_helper.rb' - 'ee/app/helpers/ee/preferences_helper.rb' - 'ee/app/helpers/ee/registrations_helper.rb' @@ -352,7 +337,6 @@ Gitlab/StrongMemoizeAttr: - 'ee/app/models/approvals/scan_finding_wrapped_rule_set.rb' - 'ee/app/models/approvals/wrapped_rule_set.rb' - 'ee/app/models/burndown.rb' - - 'ee/app/models/ci/minutes/limit.rb' - 'ee/app/models/concerns/deprecated_approvals_before_merge.rb' - 'ee/app/models/concerns/ee/approvable.rb' - 'ee/app/models/concerns/ee/issue_available_features.rb' @@ -363,7 +347,6 @@ Gitlab/StrongMemoizeAttr: - 'ee/app/models/ee/ci/bridge.rb' - 'ee/app/models/ee/ci/build.rb' - 'ee/app/models/ee/ci/build_dependencies.rb' - - 'ee/app/models/ee/ci/job_artifact.rb' - 'ee/app/models/ee/ci/pipeline.rb' - 'ee/app/models/ee/ci/runner.rb' - 'ee/app/models/ee/deployment.rb' @@ -403,7 +386,6 @@ Gitlab/StrongMemoizeAttr: - 'ee/app/services/deployments/approval_service.rb' - 'ee/app/services/ee/allowed_email_domains/update_service.rb' - 'ee/app/services/ee/auto_merge_service.rb' - - 'ee/app/services/ee/boards/lists/create_service.rb' - 'ee/app/services/ee/ci/retry_pipeline_service.rb' - 'ee/app/services/ee/incident_management/issuable_escalation_statuses/prepare_update_service.rb' - 'ee/app/services/ee/integrations/test/project_service.rb' @@ -440,7 +422,6 @@ Gitlab/StrongMemoizeAttr: - 'ee/app/services/merge_commits/export_csv_service.rb' - 'ee/app/services/merge_requests/update_blocks_service.rb' - 'ee/app/services/projects/restore_service.rb' - - 'ee/app/services/projects/update_mirror_service.rb' - 'ee/app/services/protected_environments/base_service.rb' - 'ee/app/services/security/ingestion/tasks/ingest_vulnerabilities/mark_resolved_as_detected.rb' - 'ee/app/services/security/report_fetch_service.rb' @@ -488,8 +469,6 @@ Gitlab/StrongMemoizeAttr: - 'ee/lib/ee/gitlab/gitaly_client/with_feature_flag_actors.rb' - 'ee/lib/ee/gitlab/import_export/after_export_strategies/custom_template_export_import_strategy.rb' - 'ee/lib/ee/gitlab/issuable_metadata.rb' - - 'ee/lib/ee/gitlab/scim/deprovision_service.rb' - - 'ee/lib/ee/gitlab/scim/provisioning_service.rb' - 'ee/lib/ee/gitlab/security/scan_configuration.rb' - 'ee/lib/ee/gitlab/web_hooks/rate_limiter.rb' - 'ee/lib/ee/sidebars/groups/menus/issues_menu.rb' @@ -558,8 +537,6 @@ Gitlab/StrongMemoizeAttr: - 'lib/banzai/filter/issuable_reference_expansion_filter.rb' - 'lib/banzai/filter/references/reference_cache.rb' - 'lib/banzai/filter/repository_link_filter.rb' - - 'lib/banzai/reference_parser/merge_request_parser.rb' - - 'lib/bulk_imports/clients/http.rb' - 'lib/bulk_imports/pipeline.rb' - 'lib/bulk_imports/users_mapper.rb' - 'lib/container_registry/client.rb' @@ -616,7 +593,6 @@ Gitlab/StrongMemoizeAttr: - 'lib/gitlab/ci/pipeline/chain/seed.rb' - 'lib/gitlab/ci/pipeline/chain/skip.rb' - 'lib/gitlab/ci/pipeline/expression/lexer.rb' - - 'lib/gitlab/ci/pipeline/logger.rb' - 'lib/gitlab/ci/pipeline/metrics.rb' - 'lib/gitlab/ci/pipeline/quota/deployments.rb' - 'lib/gitlab/ci/pipeline/seed/processable/resource_group.rb' @@ -687,7 +663,6 @@ Gitlab/StrongMemoizeAttr: - 'lib/gitlab/gitaly_client/with_feature_flag_actors.rb' - 'lib/gitlab/github_import/client.rb' - 'lib/gitlab/github_import/importer/repository_importer.rb' - - 'lib/gitlab/github_import/representation/diff_note.rb' - 'lib/gitlab/github_import/representation/diff_notes/suggestion_formatter.rb' - 'lib/gitlab/gl_repository/identifier.rb' - 'lib/gitlab/gpg/commit.rb' @@ -697,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' @@ -727,7 +701,6 @@ Gitlab/StrongMemoizeAttr: - 'lib/gitlab/relative_positioning/starting_from.rb' - 'lib/gitlab/request_context.rb' - 'lib/gitlab/search/found_blob.rb' - - 'lib/gitlab/search/parsed_query.rb' - 'lib/gitlab/serverless/service.rb' - 'lib/gitlab/sidekiq_middleware/duplicate_jobs/duplicate_job.rb' - 'lib/gitlab/sidekiq_middleware/duplicate_jobs/strategies/deduplicates_when_scheduling.rb' diff --git a/.rubocop_todo/graphql/descriptions.yml b/.rubocop_todo/graphql/descriptions.yml index 9d76d7d763..b873ccc96e 100644 --- a/.rubocop_todo/graphql/descriptions.yml +++ b/.rubocop_todo/graphql/descriptions.yml @@ -4,12 +4,6 @@ Graphql/Descriptions: Safe: false Details: grace period Exclude: - - 'app/graphql/mutations/boards/lists/base_update.rb' - - 'app/graphql/mutations/ci/project_ci_cd_settings_update.rb' - - 'app/graphql/mutations/clusters/agents/create.rb' - - 'app/graphql/mutations/merge_requests/accept.rb' - - 'app/graphql/mutations/notes/create/note.rb' - - 'app/graphql/mutations/releases/create.rb' - 'app/graphql/resolvers/admin/analytics/usage_trends/measurements_resolver.rb' - 'app/graphql/resolvers/alert_management/alert_resolver.rb' - 'app/graphql/resolvers/concerns/issues/sort_arguments.rb' diff --git a/.rubocop_todo/layout/argument_alignment.yml b/.rubocop_todo/layout/argument_alignment.yml index 98633709be..8531f0500f 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' @@ -1096,7 +1079,6 @@ Layout/ArgumentAlignment: - 'spec/controllers/projects/clusters_controller_spec.rb' - 'spec/controllers/projects/commit_controller_spec.rb' - 'spec/controllers/projects/design_management/designs/raw_images_controller_spec.rb' - - 'spec/controllers/projects/design_management/designs/resized_image_controller_spec.rb' - 'spec/controllers/projects/environments_controller_spec.rb' - 'spec/controllers/projects/feature_flags_clients_controller_spec.rb' - 'spec/controllers/projects/forks_controller_spec.rb' @@ -1154,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 new file mode 100644 index 0000000000..3f3e6a393d --- /dev/null +++ b/.rubocop_todo/layout/array_alignment.yml @@ -0,0 +1,365 @@ +--- +# Cop supports --autocorrect. +Layout/ArrayAlignment: + Details: grace period + Exclude: + - 'app/controllers/admin/application_settings_controller.rb' + - 'app/controllers/admin/broadcast_messages_controller.rb' + - 'app/controllers/admin/plan_limits_controller.rb' + - 'app/controllers/concerns/observability/content_security_policy.rb' + - 'app/controllers/profiles_controller.rb' + - 'app/controllers/projects/feature_flags_controller.rb' + - 'app/controllers/projects/labels_controller.rb' + - 'app/controllers/projects/protected_branches_controller.rb' + - 'app/controllers/projects/settings/ci_cd_controller.rb' + - 'app/controllers/projects_controller.rb' + - 'app/controllers/users_controller.rb' + - 'app/finders/user_groups_counter.rb' + - 'app/graphql/resolvers/concerns/issues/sort_arguments.rb' + - 'app/graphql/types/permission_types/merge_request.rb' + - 'app/helpers/merge_requests_helper.rb' + - 'app/helpers/namespaces_helper.rb' + - 'app/helpers/search_helper.rb' + - 'app/helpers/submodule_helper.rb' + - 'app/models/ci/bridge.rb' + - 'app/models/ci/build.rb' + - 'app/models/concerns/ci/partitionable/switch.rb' + - 'app/models/container_repository.rb' + - 'app/models/deploy_token.rb' + - 'app/models/dev_ops_report/metric.rb' + - 'app/models/group.rb' + - 'app/models/integration.rb' + - 'app/models/integrations/hangouts_chat.rb' + - 'app/models/integrations/microsoft_teams.rb' + - 'app/models/integrations/pumble.rb' + - 'app/models/integrations/unify_circuit.rb' + - 'app/models/integrations/webex_teams.rb' + - 'app/models/issue.rb' + - 'app/models/repository.rb' + - 'app/models/snippet_repository.rb' + - 'app/models/user.rb' + - 'app/models/wiki.rb' + - 'app/services/ci/create_pipeline_service.rb' + - 'app/services/commits/create_service.rb' + - 'app/services/labels/transfer_service.rb' + - 'app/services/namespaces/package_settings/update_service.rb' + - 'app/services/packages/rpm/parse_package_service.rb' + - 'app/services/projects/participants_service.rb' + - 'app/services/web_hook_service.rb' + - 'config/application.rb' + - 'config/initializers/0_marginalia.rb' + - 'config/initializers/direct_upload_support.rb' + - 'db/post_migrate/20220728134255_update_index_vulnerabilities_common_finder.rb' + - 'ee/app/controllers/admin/push_rules_controller.rb' + - 'ee/app/controllers/ee/admin/application_settings_controller.rb' + - 'ee/app/controllers/ee/projects/merge_requests_controller.rb' + - 'ee/app/controllers/groups/protected_branches_controller.rb' + - 'ee/app/controllers/groups/push_rules_controller.rb' + - 'ee/app/controllers/projects/push_rules_controller.rb' + - 'ee/app/finders/autocomplete/project_invited_groups_finder.rb' + - 'ee/app/finders/ee/issues_finder/params.rb' + - 'ee/app/finders/geo/project_registry_finder.rb' + - 'ee/app/graphql/ee/resolvers/project_pipelines_resolver.rb' + - 'ee/app/helpers/ee/routing/projects_helper.rb' + - 'ee/app/models/concerns/geo/verification_state.rb' + - 'ee/app/models/dast_site_profile.rb' + - 'ee/app/models/dora/base_metric.rb' + - 'ee/app/models/ee/application_setting.rb' + - 'ee/app/models/ee/epic.rb' + - 'ee/app/models/ee/user.rb' + - 'ee/app/models/geo/event_log.rb' + - 'ee/app/models/gitlab_subscription_history.rb' + - 'ee/app/models/ip_restriction.rb' + - 'ee/app/models/license.rb' + - 'ee/app/models/protected_environment.rb' + - 'ee/app/models/security/finding.rb' + - 'ee/app/services/ee/users/authorized_build_service.rb' + - 'ee/app/services/jira/requests/issues/list_service.rb' + - 'ee/app/services/protected_environments/base_service.rb' + - 'ee/app/services/security/security_orchestration_policies/create_pipeline_service.rb' + - 'ee/app/services/vulnerabilities/create_service_base.rb' + - 'ee/lib/gitlab/analytics/cycle_analytics/summary/group/stage_summary.rb' + - 'ee/lib/gitlab/usage/metrics/instrumentations/license_metric.rb' + - 'ee/spec/controllers/admin/licenses/usage_exports_controller_spec.rb' + - 'ee/spec/factories/dependencies.rb' + - 'ee/spec/features/boards/boards_licensed_features_spec.rb' + - 'ee/spec/features/groups/analytics/cycle_analytics/charts_spec.rb' + - 'ee/spec/features/groups/group_roadmap_spec.rb' + - 'ee/spec/finders/namespaces/billed_users_finder_spec.rb' + - 'ee/spec/finders/security/pipeline_vulnerabilities_finder_spec.rb' + - 'ee/spec/frontend/fixtures/search.rb' + - 'ee/spec/graphql/resolvers/analytics/contribution_analytics/contributions_resolver_spec.rb' + - 'ee/spec/graphql/types/dast_scanner_profile_type_spec.rb' + - 'ee/spec/graphql/types/dast_site_profile_type_spec.rb' + - 'ee/spec/graphql/types/permission_types/epic_spec.rb' + - 'ee/spec/graphql/types/permission_types/vulnerability_spec.rb' + - 'ee/spec/graphql/types/pipeline_security_report_finding_type_spec.rb' + - 'ee/spec/graphql/types/requirements_management/requirement_type_spec.rb' + - 'ee/spec/graphql/types/vulnerability_type_spec.rb' + - 'ee/spec/helpers/billing_plans_helper_spec.rb' + - 'ee/spec/helpers/boards_helper_spec.rb' + - 'ee/spec/helpers/ee/application_settings_helper_spec.rb' + - 'ee/spec/helpers/ee/environments_helper_spec.rb' + - 'ee/spec/lib/audit/group_merge_request_approval_setting_changes_auditor_spec.rb' + - 'ee/spec/lib/audit/project_changes_auditor_spec.rb' + - 'ee/spec/lib/ee/gitlab/auth/ldap/sync/group_spec.rb' + - 'ee/spec/lib/ee/gitlab/background_migration/update_vulnerability_occurrences_location_spec.rb' + - 'ee/spec/lib/ee/gitlab/usage_data_spec.rb' + - 'ee/spec/lib/gitlab/auth/ldap/person_spec.rb' + - 'ee/spec/lib/gitlab/ci/config/security_orchestration_policies/processor_spec.rb' + - 'ee/spec/lib/gitlab/ci/reports/dependency_list/report_spec.rb' + - 'ee/spec/lib/gitlab/graphql/loaders/oncall_participant_loader_spec.rb' + - '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/dora/base_metric_spec.rb' + - 'ee/spec/models/dora/daily_metrics_spec.rb' + - 'ee/spec/models/ee/group_spec.rb' + - 'ee/spec/models/ee/protected_ref_access_spec.rb' + - 'ee/spec/models/issue_spec.rb' + - 'ee/spec/models/project_spec.rb' + - 'ee/spec/models/repository_spec.rb' + - 'ee/spec/models/security/orchestration_policy_rule_schedule_spec.rb' + - 'ee/spec/models/security/scan_spec.rb' + - 'ee/spec/policies/group_policy_spec.rb' + - 'ee/spec/policies/project_policy_spec.rb' + - 'ee/spec/requests/api/dora/metrics_spec.rb' + - 'ee/spec/requests/api/graphql/group/epic/epic_ancestors_spec.rb' + - 'ee/spec/requests/api/graphql/group/epic/epic_children_spec.rb' + - 'ee/spec/requests/api/graphql/group/epics_spec.rb' + - 'ee/spec/requests/api/graphql/mutations/compliance_management/frameworks/create_spec.rb' + - 'ee/spec/requests/api/graphql/mutations/releases/update_spec.rb' + - 'ee/spec/requests/api/ldap_group_links_spec.rb' + - 'ee/spec/requests/api/license_spec.rb' + - 'ee/spec/requests/api/members_spec.rb' + - 'ee/spec/requests/api/saml_group_links_spec.rb' + - 'ee/spec/serializers/dashboard_environment_entity_spec.rb' + - 'ee/spec/serializers/user_analytics_entity_spec.rb' + - 'ee/spec/services/analytics/cycle_analytics/value_streams/update_service_spec.rb' + - 'ee/spec/services/audit_events/export_csv_service_spec.rb' + - 'ee/spec/services/ee/auto_merge_service_spec.rb' + - 'ee/spec/services/ee/boards/issues/list_service_spec.rb' + - 'ee/spec/services/epic_issues/create_service_spec.rb' + - 'ee/spec/services/epics/epic_links/create_service_spec.rb' + - 'ee/spec/services/groups/seat_usage_export_service_spec.rb' + - 'ee/spec/services/incident_management/issuable_resource_links/zoom_link_service_spec.rb' + - 'ee/spec/services/security/dependency_list_service_spec.rb' + - 'ee/spec/services/security/ingestion/tasks/update_vulnerability_uuids_spec.rb' + - 'ee/spec/services/security/security_orchestration_policies/create_pipeline_service_spec.rb' + - 'ee/spec/services/security/security_orchestration_policies/scan_pipeline_service_spec.rb' + - 'ee/spec/services/security/token_revocation_service_spec.rb' + - 'ee/spec/support/helpers/vulnerability_exports_helpers.rb' + - 'ee/spec/support/shared_examples/finders/epics/findable_shared_examples.rb' + - 'ee/spec/support/shared_examples/policies/requirement_policy_shared_examples.rb' + - 'lib/api/api_guard.rb' + - 'lib/api/ci/runner.rb' + - 'lib/api/ci/runners.rb' + - 'lib/api/internal/base.rb' + - 'lib/api/statistics.rb' + - 'lib/gitlab/alert_management/payload/prometheus.rb' + - 'lib/gitlab/bitbucket_import/importer.rb' + - 'lib/gitlab/chat/command.rb' + - 'lib/gitlab/checks/single_change_access.rb' + - 'lib/gitlab/ci/config/entry/default.rb' + - 'lib/gitlab/ci/config/entry/job.rb' + - 'lib/gitlab/ci/config/entry/processable.rb' + - 'lib/gitlab/ci/config/entry/reports.rb' + - 'lib/gitlab/ci/config/entry/root.rb' + - 'lib/gitlab/ci/config/external/processor.rb' + - 'lib/gitlab/ci/status/bridge/factory.rb' + - 'lib/gitlab/ci/status/build/factory.rb' + - 'lib/gitlab/ci/status/stage/factory.rb' + - 'lib/gitlab/cleanup/project_upload_file_finder.rb' + - 'lib/gitlab/conflict/file_collection.rb' + - 'lib/gitlab/content_security_policy/config_loader.rb' + - 'lib/gitlab/database/background_migration/batched_job.rb' + - 'lib/gitlab/email/message/in_product_marketing/team.rb' + - 'lib/gitlab/email/message/in_product_marketing/trial.rb' + - 'lib/gitlab/email/message/in_product_marketing/verify.rb' + - 'lib/gitlab/email/receiver.rb' + - 'lib/gitlab/etag_caching/router/rails.rb' + - 'lib/gitlab/git/diff.rb' + - 'lib/gitlab/import_export/importer.rb' + - 'lib/gitlab/instrumentation/redis.rb' + - 'lib/gitlab/lograge/custom_options.rb' + - 'lib/gitlab/metrics/global_search_slis.rb' + - 'lib/gitlab/metrics/requests_rack_middleware.rb' + - 'lib/gitlab/metrics/samplers/threads_sampler.rb' + - 'lib/gitlab/object_hierarchy.rb' + - 'lib/gitlab/project_authorizations.rb' + - 'lib/gitlab/rack_attack/instrumented_cache_store.rb' + - 'lib/gitlab/reference_extractor.rb' + - 'lib/gitlab/sidekiq_middleware/size_limiter/validator.rb' + - 'lib/gitlab/usage/metrics/instrumentations/count_imported_projects_total_metric.rb' + - 'lib/gitlab/visibility_level.rb' + - 'lib/kramdown/parser/atlassian_document_format.rb' + - 'lib/tasks/cache.rake' + - 'qa/qa/specs/features/browser_ui/3_create/pages/new_static_page_spec.rb' + - 'qa/qa/specs/features/browser_ui/5_package/package_registry/composer_registry_spec.rb' + - 'qa/qa/specs/features/browser_ui/5_package/package_registry/generic_repository_spec.rb' + - 'qa/qa/specs/features/browser_ui/5_package/package_registry/npm/npm_instance_level_spec.rb' + - 'qa/qa/specs/features/browser_ui/5_package/package_registry/npm/npm_project_level_spec.rb' + - 'qa/qa/specs/features/browser_ui/5_package/package_registry/pypi_repository_spec.rb' + - 'qa/qa/specs/features/ee/browser_ui/10_govern/group/group_audit_logs_2_spec.rb' + - 'qa/qa/specs/features/ee/browser_ui/13_secure/enable_scanning_from_configuration_spec.rb' + - 'qa/qa/specs/features/ee/browser_ui/13_secure/license_compliance_spec.rb' + - 'qa/qa/specs/features/ee/browser_ui/1_manage/group/group_ldap_sync_spec.rb' + - 'qa/spec/specs/runner_spec.rb' + - 'rubocop/cop/gitlab/rspec/avoid_setup.rb' + - 'rubocop/cop/graphql/authorize_types.rb' + - 'spec/controllers/import/bulk_imports_controller_spec.rb' + - 'spec/controllers/projects/pipeline_schedules_controller_spec.rb' + - 'spec/factories/ci/builds.rb' + - 'spec/features/groups_spec.rb' + - 'spec/features/issuables/sorting_list_spec.rb' + - 'spec/features/oauth_login_spec.rb' + - 'spec/features/uploads/user_uploads_file_to_note_spec.rb' + - 'spec/finders/ci/pipelines_finder_spec.rb' + - 'spec/finders/ci/runners_finder_spec.rb' + - 'spec/finders/groups/accepting_project_transfers_finder_spec.rb' + - 'spec/finders/groups_finder_spec.rb' + - 'spec/finders/snippets_finder_spec.rb' + - 'spec/graphql/gitlab_schema_spec.rb' + - 'spec/graphql/mutations/commits/create_spec.rb' + - 'spec/graphql/resolvers/ci/all_jobs_resolver_spec.rb' + - 'spec/graphql/resolvers/environments/nested_environments_resolver_spec.rb' + - 'spec/graphql/resolvers/project_issues_resolver_spec.rb' + - 'spec/graphql/types/blob_viewer_type_spec.rb' + - 'spec/graphql/types/boards/board_issue_input_type_spec.rb' + - 'spec/graphql/types/commit_signatures/verification_status_enum_spec.rb' + - 'spec/graphql/types/container_repository_details_type_spec.rb' + - 'spec/graphql/types/container_repository_type_spec.rb' + - 'spec/graphql/types/issuable_sort_enum_spec.rb' + - 'spec/graphql/types/issue_type_spec.rb' + - 'spec/graphql/types/project_type_spec.rb' + - 'spec/graphql/types/snippet_type_spec.rb' + - 'spec/graphql/types/snippets/blob_type_spec.rb' + - 'spec/graphql/types/snippets/blob_viewer_type_spec.rb' + - 'spec/helpers/blame_helper_spec.rb' + - 'spec/helpers/ci/pipelines_helper_spec.rb' + - 'spec/helpers/labels_helper_spec.rb' + - 'spec/helpers/releases_helper_spec.rb' + - 'spec/lib/banzai/filter/color_filter_spec.rb' + - 'spec/lib/banzai/reference_parser/design_parser_spec.rb' + - 'spec/lib/container_registry/path_spec.rb' + - 'spec/lib/gitlab/auth/saml/user_spec.rb' + - 'spec/lib/gitlab/background_migration/delete_orphaned_operational_vulnerabilities_spec.rb' + - 'spec/lib/gitlab/background_migration/job_coordinator_spec.rb' + - 'spec/lib/gitlab/backtrace_cleaner_spec.rb' + - 'spec/lib/gitlab/ci/config/entry/bridge_spec.rb' + - 'spec/lib/gitlab/ci/config/entry/default_spec.rb' + - 'spec/lib/gitlab/ci/config/entry/id_token_spec.rb' + - 'spec/lib/gitlab/ci/config/entry/job_spec.rb' + - 'spec/lib/gitlab/ci/config/entry/ports_spec.rb' + - 'spec/lib/gitlab/ci/config/entry/root_spec.rb' + - 'spec/lib/gitlab/ci/config/entry/services_spec.rb' + - 'spec/lib/gitlab/ci/config/external/file/remote_spec.rb' + - 'spec/lib/gitlab/ci/config/external/mapper/filter_spec.rb' + - 'spec/lib/gitlab/ci/config/external/mapper/location_expander_spec.rb' + - 'spec/lib/gitlab/ci/config/external/mapper/matcher_spec.rb' + - 'spec/lib/gitlab/ci/config/external/mapper/normalizer_spec.rb' + - 'spec/lib/gitlab/ci/config/external/mapper_spec.rb' + - 'spec/lib/gitlab/ci/config_spec.rb' + - 'spec/lib/gitlab/ci/parsers/security/common_spec.rb' + - 'spec/lib/gitlab/ci/pipeline/chain/build/associations_spec.rb' + - 'spec/lib/gitlab/ci/pipeline/chain/seed_spec.rb' + - 'spec/lib/gitlab/ci/pipeline/duration_spec.rb' + - 'spec/lib/gitlab/ci/pipeline/preloader_spec.rb' + - 'spec/lib/gitlab/ci/pipeline/seed/build_spec.rb' + - 'spec/lib/gitlab/ci/pipeline/seed/stage_spec.rb' + - 'spec/lib/gitlab/ci/reports/security/aggregated_report_spec.rb' + - 'spec/lib/gitlab/ci/secure_files/mobile_provision_spec.rb' + - 'spec/lib/gitlab/ci/secure_files/x509_name_spec.rb' + - 'spec/lib/gitlab/ci/status/bridge/factory_spec.rb' + - 'spec/lib/gitlab/ci/status/build/factory_spec.rb' + - 'spec/lib/gitlab/ci/variables/builder_spec.rb' + - 'spec/lib/gitlab/ci/variables/collection_spec.rb' + - 'spec/lib/gitlab/ci/variables/helpers_spec.rb' + - 'spec/lib/gitlab/ci/yaml_processor_spec.rb' + - 'spec/lib/gitlab/database/load_balancing/rack_middleware_spec.rb' + - 'spec/lib/gitlab/database/load_balancing/service_discovery/sampler_spec.rb' + - 'spec/lib/gitlab/database/load_balancing/sticking_spec.rb' + - 'spec/lib/gitlab/database/tables_sorted_by_foreign_keys_spec.rb' + - 'spec/lib/gitlab/diff/highlight_cache_spec.rb' + - 'spec/lib/gitlab/diff/inline_diff_spec.rb' + - 'spec/lib/gitlab/diff/lines_unfolder_spec.rb' + - 'spec/lib/gitlab/email/handler/create_merge_request_handler_spec.rb' + - 'spec/lib/gitlab/git/push_spec.rb' + - 'spec/lib/gitlab/git_access_spec.rb' + - 'spec/lib/gitlab/github_import/parallel_scheduling_spec.rb' + - 'spec/lib/gitlab/graphql/loaders/batch_model_loader_spec.rb' + - 'spec/lib/gitlab/i18n/po_linter_spec.rb' + - 'spec/lib/gitlab/import_export/attributes_finder_spec.rb' + - 'spec/lib/gitlab/import_export/members_mapper_spec.rb' + - 'spec/lib/gitlab/issuable_sorter_spec.rb' + - 'spec/lib/gitlab/kroki_spec.rb' + - 'spec/lib/gitlab/language_detection_spec.rb' + - 'spec/lib/gitlab/markup_helper_spec.rb' + - 'spec/lib/gitlab/pagination/keyset/in_operator_optimization/query_builder_spec.rb' + - 'spec/lib/gitlab/patch/prependable_spec.rb' + - 'spec/lib/gitlab/prometheus/queries/matched_metric_query_spec.rb' + - 'spec/lib/gitlab/reference_extractor_spec.rb' + - 'spec/lib/gitlab/serializer/ci/variables_spec.rb' + - 'spec/lib/gitlab/sidekiq_config/worker_spec.rb' + - 'spec/lib/gitlab/sidekiq_migrate_jobs_spec.rb' + - 'spec/lib/gitlab/ssh_public_key_spec.rb' + - 'spec/lib/gitlab/usage_data/topology_spec.rb' + - 'spec/lib/gitlab/utils/merge_hash_spec.rb' + - 'spec/lib/gitlab/visibility_level_spec.rb' + - 'spec/models/application_setting_spec.rb' + - 'spec/models/ci/bridge_spec.rb' + - 'spec/models/ci/build_spec.rb' + - 'spec/models/ci/group_spec.rb' + - 'spec/models/ci/pipeline_spec.rb' + - 'spec/models/ci/processable_spec.rb' + - 'spec/models/commit_status_spec.rb' + - 'spec/models/concerns/ci/has_status_spec.rb' + - 'spec/models/concerns/issuable_spec.rb' + - 'spec/models/design_management/version_spec.rb' + - 'spec/models/discussion_spec.rb' + - 'spec/models/external_pull_request_spec.rb' + - 'spec/models/group_group_link_spec.rb' + - 'spec/models/incident_management/timeline_event_tag_spec.rb' + - 'spec/models/integrations/irker_spec.rb' + - 'spec/models/issue_spec.rb' + - 'spec/models/namespace/package_setting_spec.rb' + - 'spec/models/operations/feature_flags/strategy_spec.rb' + - 'spec/models/operations/feature_flags/user_list_spec.rb' + - 'spec/models/project_group_link_spec.rb' + - 'spec/models/repository_spec.rb' + - 'spec/models/snippet_repository_spec.rb' + - 'spec/models/user_preference_spec.rb' + - 'spec/models/user_spec.rb' + - 'spec/models/web_ide_terminal_spec.rb' + - 'spec/policies/merge_request_policy_spec.rb' + - 'spec/policies/project_policy_spec.rb' + - 'spec/requests/api/ci/runner/jobs_request_post_spec.rb' + - 'spec/requests/api/graphql/group_query_spec.rb' + - 'spec/requests/api/graphql/jobs_query_spec.rb' + - 'spec/requests/api/graphql/project/languages_spec.rb' + - 'spec/requests/api/projects_spec.rb' + - 'spec/requests/api/releases_spec.rb' + - 'spec/requests/api/settings_spec.rb' + - 'spec/requests/api/snippets_spec.rb' + - 'spec/serializers/fork_namespace_entity_spec.rb' + - 'spec/serializers/group_child_entity_spec.rb' + - 'spec/services/auto_merge_service_spec.rb' + - 'spec/services/ci/create_pipeline_service_spec.rb' + - 'spec/services/ci/enqueue_job_service_spec.rb' + - 'spec/services/ci/job_artifacts/destroy_batch_service_spec.rb' + - 'spec/services/ci/pipeline_processing/atomic_processing_service_spec.rb' + - 'spec/services/ci/play_build_service_spec.rb' + - 'spec/services/feature_flags/create_service_spec.rb' + - 'spec/services/issues/referenced_merge_requests_service_spec.rb' + - 'spec/services/merge_requests/conflicts/resolve_service_spec.rb' + - 'spec/services/projects/detect_repository_languages_service_spec.rb' + - 'spec/services/security/merge_reports_service_spec.rb' + - 'spec/services/spam/spam_verdict_service_spec.rb' + - 'spec/support/helpers/kubernetes_helpers.rb' + - 'spec/support/helpers/login_helpers.rb' + - 'spec/support/shared_contexts/features/integrations/integrations_shared_context.rb' + - 'spec/support/shared_examples/lib/email/email_shared_examples.rb' + - 'spec/support/shared_examples/lib/wikis_api_examples.rb' + - 'spec/support/shared_examples/models/label_note_shared_examples.rb' + - 'spec/support/shared_examples/models/mentionable_shared_examples.rb' + - 'spec/workers/pages_domain_ssl_renewal_cron_worker_spec.rb' diff --git a/.rubocop_todo/layout/first_argument_indentation.yml b/.rubocop_todo/layout/first_argument_indentation.yml new file mode 100644 index 0000000000..fb364356a9 --- /dev/null +++ b/.rubocop_todo/layout/first_argument_indentation.yml @@ -0,0 +1,26 @@ +--- +# Cop supports --autocorrect. +Layout/FirstArgumentIndentation: + Details: grace period + Exclude: + - 'app/models/customer_relations/contact.rb' + - 'app/models/cycle_analytics/project_level_stage_adapter.rb' + - 'app/models/users/user_follow_user.rb' + - 'ee/lib/ee/gitlab/scim/group/deprovisioning_service.rb' + - 'ee/spec/controllers/groups/omniauth_callbacks_controller_spec.rb' + - 'ee/spec/controllers/registrations/company_controller_spec.rb' + - 'ee/spec/lib/gitlab/geo/log_cursor/daemon_spec.rb' + - 'ee/spec/services/audit_events/protected_branch_audit_event_service_spec.rb' + - 'ee/spec/services/security/report_summary_service_spec.rb' + - 'spec/components/previews/pajamas/alert_component_preview.rb' + - 'spec/components/previews/pajamas/banner_component_preview.rb' + - 'spec/components/previews/pajamas/button_component_preview.rb' + - 'spec/controllers/import/bitbucket_controller_spec.rb' + - 'spec/lib/gitlab/application_rate_limiter_spec.rb' + - 'spec/lib/gitlab/database/loose_foreign_keys_spec.rb' + - 'spec/lib/gitlab/import_export/shared_spec.rb' + - 'spec/models/loose_foreign_keys/deleted_record_spec.rb' + - 'spec/requests/api/graphql/ci/jobs_spec.rb' + - 'spec/services/protected_branches/api_service_spec.rb' + - 'spec/support/shared_examples/features/search/redacted_search_results_shared_examples.rb' + - 'spec/support/shared_examples/quick_actions/issuable/max_issuable_examples.rb' diff --git a/.rubocop_todo/layout/first_array_element_indentation.yml b/.rubocop_todo/layout/first_array_element_indentation.yml new file mode 100644 index 0000000000..c42d1c54a8 --- /dev/null +++ b/.rubocop_todo/layout/first_array_element_indentation.yml @@ -0,0 +1,89 @@ +--- +# Cop supports --autocorrect. +Layout/FirstArrayElementIndentation: + Details: grace period + Exclude: + - 'app/controllers/admin/broadcast_messages_controller.rb' + - 'app/controllers/admin/plan_limits_controller.rb' + - 'app/finders/user_groups_counter.rb' + - 'app/helpers/search_helper.rb' + - 'app/models/container_repository.rb' + - 'app/models/group.rb' + - 'app/models/integration.rb' + - 'app/models/user.rb' + - 'app/services/labels/transfer_service.rb' + - 'ee/app/finders/autocomplete/project_invited_groups_finder.rb' + - 'ee/app/finders/geo/project_registry_finder.rb' + - 'ee/app/models/ee/application_setting.rb' + - 'ee/app/models/protected_environment.rb' + - 'ee/app/services/vulnerabilities/create_service_base.rb' + - 'ee/lib/ee/api/helpers/award_emoji.rb' + - 'ee/spec/controllers/admin/licenses/usage_exports_controller_spec.rb' + - 'ee/spec/controllers/projects/merge_requests_controller_spec.rb' + - 'ee/spec/features/boards/boards_licensed_features_spec.rb' + - 'ee/spec/features/groups/analytics/cycle_analytics/charts_spec.rb' + - 'ee/spec/features/groups/group_roadmap_spec.rb' + - 'ee/spec/finders/namespaces/billed_users_finder_spec.rb' + - 'ee/spec/frontend/fixtures/dast_profiles.rb' + - 'ee/spec/frontend/fixtures/search.rb' + - 'ee/spec/graphql/resolvers/analytics/contribution_analytics/contributions_resolver_spec.rb' + - 'ee/spec/graphql/types/dast_scanner_profile_type_spec.rb' + - 'ee/spec/graphql/types/dast_site_profile_type_spec.rb' + - 'ee/spec/lib/ee/gitlab/auth/ldap/sync/group_spec.rb' + - 'ee/spec/lib/ee/gitlab/usage_data_spec.rb' + - 'ee/spec/lib/gitlab/ci/config/security_orchestration_policies/processor_spec.rb' + - '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/ee/group_spec.rb' + - 'ee/spec/models/security/orchestration_policy_configuration_spec.rb' + - 'ee/spec/models/security/orchestration_policy_rule_schedule_spec.rb' + - 'ee/spec/policies/project_policy_spec.rb' + - 'ee/spec/requests/api/graphql/analytics/contribution_analytics/contributions_spec.rb' + - 'ee/spec/requests/api/graphql/group/epics_spec.rb' + - 'ee/spec/requests/api/graphql/mutations/releases/update_spec.rb' + - 'ee/spec/requests/api/graphql/project/merge_requests_spec.rb' + - 'ee/spec/requests/api/ldap_group_links_spec.rb' + - 'ee/spec/requests/api/members_spec.rb' + - 'ee/spec/requests/api/saml_group_links_spec.rb' + - 'ee/spec/services/analytics/cycle_analytics/value_streams/update_service_spec.rb' + - 'ee/spec/services/audit_events/export_csv_service_spec.rb' + - 'ee/spec/services/groups/seat_usage_export_service_spec.rb' + - 'lib/gitlab/email/message/in_product_marketing/team.rb' + - 'lib/gitlab/email/message/in_product_marketing/trial.rb' + - 'lib/gitlab/email/message/in_product_marketing/verify.rb' + - 'lib/gitlab/object_hierarchy.rb' + - 'lib/gitlab/project_authorizations.rb' + - 'qa/qa/specs/features/api/12_systems/gitaly/automatic_failover_and_recovery_spec.rb' + - 'qa/qa/specs/features/api/12_systems/gitaly/changing_repository_storage_spec.rb' + - 'qa/qa/specs/features/api/12_systems/gitaly/praefect_dataloss_spec.rb' + - 'qa/qa/specs/features/browser_ui/5_package/infrastructure_registry/terraform_module_registry_spec.rb' + - 'qa/qa/specs/features/browser_ui/5_package/package_registry/npm/npm_instance_level_spec.rb' + - 'qa/qa/specs/features/browser_ui/5_package/package_registry/npm/npm_project_level_spec.rb' + - 'qa/qa/specs/features/ee/api/9_data_stores/elasticsearch/index_tests/main_index/blob_index_spec.rb' + - 'qa/qa/specs/features/ee/api/9_data_stores/elasticsearch/nightly_elasticsearch_test_spec.rb' + - 'spec/controllers/projects/pipelines_controller_spec.rb' + - 'spec/finders/groups/accepting_project_transfers_finder_spec.rb' + - 'spec/graphql/mutations/commits/create_spec.rb' + - 'spec/graphql/resolvers/environments/nested_environments_resolver_spec.rb' + - 'spec/graphql/types/commit_signatures/verification_status_enum_spec.rb' + - 'spec/lib/gitlab/analytics/usage_trends/workers_argument_builder_spec.rb' + - 'spec/lib/gitlab/background_migration/delete_orphaned_operational_vulnerabilities_spec.rb' + - 'spec/lib/gitlab/backtrace_cleaner_spec.rb' + - 'spec/lib/gitlab/ci/config/entry/id_token_spec.rb' + - 'spec/lib/gitlab/ci/secure_files/x509_name_spec.rb' + - 'spec/lib/gitlab/database/load_balancing/rack_middleware_spec.rb' + - 'spec/lib/gitlab/database/load_balancing/service_discovery/sampler_spec.rb' + - 'spec/lib/gitlab/diff/inline_diff_spec.rb' + - 'spec/lib/gitlab/github_import/importer/diff_notes_importer_spec.rb' + - 'spec/lib/gitlab/github_import/importer/lfs_objects_importer_spec.rb' + - 'spec/lib/gitlab/github_import/importer/notes_importer_spec.rb' + - 'spec/lib/gitlab/github_import/parallel_scheduling_spec.rb' + - 'spec/lib/gitlab/pagination/keyset/in_operator_optimization/query_builder_spec.rb' + - 'spec/lib/gitlab/prometheus/queries/matched_metric_query_spec.rb' + - 'spec/lib/gitlab/usage_data/topology_spec.rb' + - 'spec/models/group_group_link_spec.rb' + - 'spec/models/project_group_link_spec.rb' + - 'spec/models/user_preference_spec.rb' + - 'spec/services/issues/referenced_merge_requests_service_spec.rb' + - 'spec/services/security/merge_reports_service_spec.rb' diff --git a/.rubocop_todo/layout/first_hash_element_indentation.yml b/.rubocop_todo/layout/first_hash_element_indentation.yml index e1ac4ccb65..facc7a58f1 100644 --- a/.rubocop_todo/layout/first_hash_element_indentation.yml +++ b/.rubocop_todo/layout/first_hash_element_indentation.yml @@ -1,292 +1,159 @@ --- # Cop supports --autocorrect. Layout/FirstHashElementIndentation: + Details: grace period Exclude: - - 'app/helpers/avatars_helper.rb' - - 'app/helpers/breadcrumbs_helper.rb' - - 'app/helpers/broadcast_messages_helper.rb' + - 'app/controllers/admin/system_info_controller.rb' + - 'app/controllers/concerns/milestone_actions.rb' + - 'app/controllers/concerns/render_service_results.rb' + - 'app/controllers/concerns/sourcegraph_decorator.rb' + - 'app/controllers/projects/badges_controller.rb' + - 'app/controllers/projects/merge_requests_controller.rb' + - 'app/controllers/repositories/lfs_locks_api_controller.rb' + - 'app/experiments/concerns/project_commit_count.rb' + - 'app/graphql/mutations/notes/create/diff_note.rb' + - 'app/graphql/mutations/notes/create/image_diff_note.rb' + - 'app/graphql/mutations/notes/create/note.rb' + - 'app/graphql/resolvers/ci/runner_projects_resolver.rb' + - 'app/graphql/resolvers/group_packages_resolver.rb' - 'app/helpers/commits_helper.rb' - - 'app/helpers/environments_helper.rb' - - 'app/helpers/keyset_helper.rb' - - 'app/helpers/listbox_helper.rb' - - 'app/helpers/page_layout_helper.rb' - 'app/helpers/projects/project_members_helper.rb' - 'app/helpers/search_helper.rb' - - 'app/helpers/sorting_helper.rb' - 'app/helpers/ssh_keys_helper.rb' - 'app/helpers/tags_helper.rb' - - 'app/helpers/tree_helper.rb' - - 'app/helpers/users_helper.rb' - - 'app/mailers/emails/issues.rb' - - 'app/mailers/emails/merge_requests.rb' - 'app/models/application_setting.rb' - - 'app/models/ci/build.rb' - 'app/models/ci/build_metadata.rb' - - 'app/models/ci/runner.rb' - 'app/models/clusters/applications/crossplane.rb' - - 'app/models/clusters/platforms/kubernetes.rb' - - 'app/models/concerns/cross_database_modification.rb' - - 'app/models/concerns/featurable.rb' - 'app/models/concerns/has_wiki_page_slug_attributes.rb' - - 'app/models/concerns/integrations/enable_ssl_verification.rb' - 'app/models/concerns/subscribable.rb' - 'app/models/concerns/taskable.rb' - 'app/models/diff_note.rb' - - 'app/models/integrations/jira.rb' - - 'app/models/jira_connect_installation.rb' + - 'app/models/merge_request.rb' - 'app/models/milestone.rb' - - 'app/models/note.rb' - 'app/models/operations/feature_flags/strategy.rb' - 'app/models/project.rb' - - 'app/models/wiki.rb' - 'app/presenters/ci/build_metadata_presenter.rb' - - 'app/presenters/packages/helm/index_presenter.rb' - - 'app/serializers/cluster_serializer.rb' - 'app/serializers/detailed_status_entity.rb' - - 'app/services/award_emojis/base_service.rb' - - 'app/services/ci/runners/reconcile_existing_runner_versions_service.rb' - - 'app/services/google_cloud/create_service_accounts_service.rb' - - 'app/services/members/create_service.rb' - - 'app/services/notification_service.rb' - - 'app/services/packages/composer/create_package_service.rb' - - 'app/services/pages/delete_service.rb' - - 'app/services/projects/after_rename_service.rb' - - 'app/services/projects/create_service.rb' - - 'app/services/projects/destroy_service.rb' - - 'app/services/projects/transfer_service.rb' - - 'app/services/projects/update_pages_service.rb' - - 'app/services/projects/update_service.rb' - - 'app/services/resource_events/change_milestone_service.rb' + - 'app/services/audit_events/build_service.rb' - 'app/services/spam/ham_service.rb' - - 'app/services/timelogs/base_service.rb' - - 'app/validators/addressable_url_validator.rb' - - 'app/workers/concerns/cluster_cleanup_methods.rb' + - 'app/services/work_items/widgets/milestone_service/base_service.rb' + - 'app/validators/bytesize_validator.rb' - 'ee/app/components/namespaces/free_user_cap/enforcement_alert_component.rb' - - 'ee/app/components/namespaces/free_user_cap/notification_alert_component.rb' - - 'ee/app/controllers/groups/analytics/tasks_by_type_controller.rb' - 'ee/app/graphql/mutations/boards/epic_lists/destroy.rb' - 'ee/app/graphql/mutations/boards/epics/create.rb' - 'ee/app/graphql/mutations/iterations/cadences/update.rb' - 'ee/app/graphql/mutations/iterations/create.rb' - 'ee/app/graphql/mutations/iterations/update.rb' - - 'ee/app/graphql/mutations/projects/set_compliance_framework.rb' - - 'ee/app/graphql/mutations/security_policy/commit_scan_execution_policy.rb' - - 'ee/app/helpers/ee/application_settings_helper.rb' - - 'ee/app/helpers/ee/ci/jobs_helper.rb' - 'ee/app/helpers/ee/geo_helper.rb' - 'ee/app/helpers/ee/groups/group_members_helper.rb' - - 'ee/app/helpers/ee/namespaces_helper.rb' - - 'ee/app/helpers/ee/projects_helper.rb' - - 'ee/app/helpers/ee/sidebars_helper.rb' - - 'ee/app/helpers/ee/tree_helper.rb' + - 'ee/app/helpers/ee/trial_helper.rb' - 'ee/app/helpers/incident_management/escalation_policy_helper.rb' - - 'ee/app/helpers/paid_feature_callout_helper.rb' - - 'ee/app/helpers/projects/on_demand_scans_helper.rb' - - 'ee/app/helpers/projects/security/dast_profiles_helper.rb' - - 'ee/app/mailers/ee/emails/issues.rb' - 'ee/app/models/ee/list.rb' - - 'ee/app/serializers/ee/environment_serializer.rb' - 'ee/app/services/app_sec/dast/profiles/update_service.rb' - - 'ee/app/services/app_sec/dast/site_profiles/update_service.rb' - - 'ee/app/services/ee/auth/container_registry_authentication_service.rb' - - 'ee/app/services/ee/ci/register_job_service.rb' - - 'ee/app/services/ee/issues/export_csv_service.rb' - 'ee/app/services/elastic/cluster_reindexing_service.rb' - 'ee/app/services/gitlab_subscriptions/plan_upgrade_service.rb' - - 'ee/app/services/incident_management/issuable_resource_links/base_service.rb' - - 'ee/app/services/jira/requests/issues/list_service.rb' + - 'ee/app/services/iterations/create_service.rb' + - 'ee/app/services/registrations/base_namespace_create_service.rb' + - 'ee/app/services/resource_events/change_iteration_service.rb' - 'ee/app/services/security/token_revocation_service.rb' - 'ee/app/services/timebox_report_service.rb' - - 'ee/app/workers/elastic_delete_project_worker.rb' - - 'ee/app/workers/groups/create_event_worker.rb' - - 'ee/lib/api/epic_links.rb' - - 'ee/lib/ee/api/geo.rb' - 'ee/lib/ee/container_registry/client.rb' - - 'ee/lib/ee/gitlab/application_rate_limiter.rb' - 'ee/lib/ee/gitlab/ci/parsers.rb' - 'ee/lib/ee/gitlab/usage_data.rb' - 'ee/lib/elastic/latest/application_class_proxy.rb' - 'ee/lib/elastic/latest/issue_class_proxy.rb' - - 'ee/lib/gitlab/geo/project_log_helpers.rb' + - 'ee/lib/gitlab/analytics/type_of_work/tasks_by_type.rb' + - 'ee/lib/gitlab/ci/parsers/security/formatters/dependency_list.rb' - 'ee/lib/gitlab/graphql/aggregations/epics/lazy_epic_aggregate.rb' - - 'ee/lib/gitlab/status_page/storage/s3_multipart_upload.rb' - 'ee/spec/controllers/admin/application_settings_controller_spec.rb' - 'ee/spec/controllers/ee/projects/jobs_controller_spec.rb' - 'ee/spec/controllers/ee/projects/variables_controller_spec.rb' - - 'ee/spec/controllers/groups/analytics/cycle_analytics/summary_controller_spec.rb' - 'ee/spec/controllers/groups/epic_boards_controller_spec.rb' - 'ee/spec/controllers/groups/issues_controller_spec.rb' - - 'ee/spec/controllers/projects/feature_flag_issues_controller_spec.rb' - 'ee/spec/controllers/projects/integrations/jira/issues_controller_spec.rb' - - 'ee/spec/controllers/projects/licenses_controller_spec.rb' + - 'ee/spec/controllers/projects/repositories_controller_spec.rb' - 'ee/spec/controllers/projects/vulnerability_feedback_controller_spec.rb' - 'ee/spec/controllers/projects_controller_spec.rb' - - 'ee/spec/controllers/security/projects_controller_spec.rb' - - 'ee/spec/elastic/migrate/20220119120500_populate_commit_permissions_in_main_index_spec.rb' + - 'ee/spec/elastic/migrate/20220118150500_delete_orphaned_commits_spec.rb' + - 'ee/spec/elastic/migrate/migration_shared_examples.rb' - 'ee/spec/factories/dependencies.rb' - 'ee/spec/factories/licenses.rb' - 'ee/spec/finders/epics_finder_spec.rb' - - 'ee/spec/frontend/fixtures/dast_profiles.rb' - - 'ee/spec/frontend/fixtures/on_demand_dast_scans.rb' + - 'ee/spec/finders/namespaces/free_user_cap/users_finder_spec.rb' + - 'ee/spec/frontend/fixtures/oncall_schedule.rb' - 'ee/spec/frontend/fixtures/search.rb' - - 'ee/spec/graphql/mutations/app_sec/fuzzing/api/ci_configuration/create_spec.rb' + - 'ee/spec/graphql/mutations/audit_events/streaming/event_type_filters/destroy_spec.rb' + - 'ee/spec/graphql/types/asset_type_spec.rb' - 'ee/spec/graphql/types/vulnerability_request_response_header_type_spec.rb' - - 'ee/spec/helpers/ee/access_tokens_helper_spec.rb' - - 'ee/spec/helpers/ee/groups_helper_spec.rb' - - 'ee/spec/helpers/ee/labels_helper_spec.rb' - - 'ee/spec/helpers/ee/namespaces_helper_spec.rb' - - 'ee/spec/helpers/ee/projects/pipeline_helper_spec.rb' - - 'ee/spec/helpers/ee/projects/security/dast_configuration_helper_spec.rb' - - 'ee/spec/helpers/ee/projects/security/sast_configuration_helper_spec.rb' - - 'ee/spec/helpers/ee/security_orchestration_helper_spec.rb' - - 'ee/spec/helpers/groups/sso_helper_spec.rb' - - 'ee/spec/helpers/nav/new_dropdown_helper_spec.rb' - - 'ee/spec/helpers/projects_helper_spec.rb' - - 'ee/spec/helpers/search_helper_spec.rb' - - 'ee/spec/helpers/security_helper_spec.rb' - - 'ee/spec/helpers/trial_registrations/reassurances_helper_spec.rb' + - 'ee/spec/graphql/types/vulnerability_request_type_spec.rb' + - 'ee/spec/graphql/types/vulnerability_response_type_spec.rb' + - 'ee/spec/helpers/billing_plans_helper_spec.rb' + - 'ee/spec/helpers/groups/security_features_helper_spec.rb' + - 'ee/spec/helpers/projects/security/discover_helper_spec.rb' + - 'ee/spec/initializers/fog_google_https_private_urls_spec.rb' + - 'ee/spec/lib/audit/compliance_framework_changes_auditor_spec.rb' + - 'ee/spec/lib/audit/external_status_check_changes_auditor_spec.rb' + - 'ee/spec/lib/audit/project_changes_auditor_spec.rb' + - 'ee/spec/lib/audit/project_ci_cd_setting_changes_auditor_spec.rb' + - 'ee/spec/lib/audit/project_setting_changes_auditor_spec.rb' - 'ee/spec/lib/container_registry/client_spec.rb' - - 'ee/spec/lib/ee/backup/repositories_spec.rb' - - 'ee/spec/lib/ee/gitlab/analytics/cycle_analytics/base_query_builder_spec.rb' + - 'ee/spec/lib/ee/api/entities/experiment_spec.rb' - 'ee/spec/lib/ee/gitlab/auth/ldap/access_levels_spec.rb' - - 'ee/spec/lib/ee/gitlab/ci/config/entry/bridge_spec.rb' + - 'ee/spec/lib/ee/gitlab/background_migration/backfill_project_statistics_storage_size_without_uploads_size_spec.rb' - 'ee/spec/lib/ee/gitlab/ci/parsers/security/common_spec.rb' - - 'ee/spec/lib/ee/gitlab/elastic/helper_spec.rb' - - 'ee/spec/lib/ee/gitlab/usage_data_spec.rb' - - 'ee/spec/lib/gitlab/analytics/cycle_analytics/data_collector_spec.rb' - - 'ee/spec/lib/gitlab/analytics/cycle_analytics/request_params_spec.rb' - - 'ee/spec/lib/gitlab/analytics/cycle_analytics/summary/group/stage_summary_spec.rb' - - 'ee/spec/lib/gitlab/analytics/type_of_work/tasks_by_type_spec.rb' - - 'ee/spec/lib/gitlab/auth/group_saml/membership_updater_spec.rb' - - 'ee/spec/lib/gitlab/auth/saml/membership_updater_spec.rb' - 'ee/spec/lib/gitlab/auth/smartcard/san_extension_spec.rb' - - 'ee/spec/lib/gitlab/ci/config/entry/job_spec.rb' - 'ee/spec/lib/gitlab/ci/parsers/security/dast_spec.rb' - 'ee/spec/lib/gitlab/ci/reports/coverage_fuzzing/report_spec.rb' - - 'ee/spec/lib/gitlab/ci/reports/security/finding_spec.rb' - - 'ee/spec/lib/gitlab/ci/yaml_processor_spec.rb' - - 'ee/spec/lib/gitlab/contribution_analytics/data_collector_spec.rb' - - 'ee/spec/lib/gitlab/elastic/indexer_spec.rb' - 'ee/spec/lib/gitlab/geo/log_cursor/lease_spec.rb' - 'ee/spec/lib/gitlab/graphql/aggregations/epics/lazy_epic_aggregate_spec.rb' - 'ee/spec/lib/gitlab/subscription_portal/clients/graphql_spec.rb' - - 'ee/spec/lib/gitlab/web_ide/config/entry/schemas_spec.rb' - - 'ee/spec/lib/system_check/app/search_check_spec.rb' - 'ee/spec/mailers/credentials_inventory_mailer_spec.rb' - 'ee/spec/mailers/emails/requirements_spec.rb' - - 'ee/spec/models/analytics/cycle_analytics/project_stage_spec.rb' - - 'ee/spec/models/concerns/elastic/application_versioned_search_spec.rb' - - 'ee/spec/models/concerns/elastic/merge_request_spec.rb' - - 'ee/spec/models/concerns/elastic/milestone_spec.rb' - - 'ee/spec/models/concerns/elastic/snippet_spec.rb' - - 'ee/spec/models/security/finding_spec.rb' + - 'ee/spec/models/concerns/elastic/issue_spec.rb' + - 'ee/spec/models/concerns/elastic/note_spec.rb' - 'ee/spec/requests/api/analytics/project_deployment_frequency_spec.rb' - - 'ee/spec/requests/api/experiments_spec.rb' - - 'ee/spec/requests/api/geo_spec.rb' - - 'ee/spec/requests/api/graphql/app_sec/fuzzing/api/ci_configuration_type_spec.rb' - - 'ee/spec/requests/api/graphql/app_sec/fuzzing/coverage/corpus_type_spec.rb' - - 'ee/spec/requests/api/graphql/ci/minutes/usage_spec.rb' - - 'ee/spec/requests/api/graphql/milestone_spec.rb' - - 'ee/spec/requests/api/graphql/mutations/app_sec/fuzzing/api/ci_configuration/create_spec.rb' - - 'ee/spec/requests/api/graphql/mutations/gitlab_subscriptions/activate_spec.rb' - 'ee/spec/requests/api/graphql/mutations/iterations/create_spec.rb' - - 'ee/spec/requests/api/graphql/mutations/timelogs/create_spec.rb' - - 'ee/spec/requests/api/internal/base_spec.rb' - 'ee/spec/requests/api/internal/upcoming_reconciliations_spec.rb' - - 'ee/spec/requests/api/members_spec.rb' - 'ee/spec/requests/api/merge_requests_spec.rb' + - 'ee/spec/requests/ee/projects/deploy_tokens_controller_spec.rb' - 'ee/spec/requests/groups/group_members_controller_spec.rb' - - 'ee/spec/requests/projects/issue_feature_flags_controller_spec.rb' - - 'ee/spec/serializers/issues/linked_issue_feature_flag_entity_spec.rb' - - 'ee/spec/serializers/license_entity_spec.rb' - - 'ee/spec/serializers/linked_feature_flag_issue_entity_spec.rb' - - 'ee/spec/serializers/security/vulnerability_report_data_entity_spec.rb' - - 'ee/spec/services/analytics/cycle_analytics/consistency_check_service_spec.rb' - - 'ee/spec/services/analytics/cycle_analytics/data_loader_service_spec.rb' - - 'ee/spec/services/app_sec/dast/profile_schedules/audit/update_service_spec.rb' - - 'ee/spec/services/app_sec/dast/profiles/audit/update_service_spec.rb' - - 'ee/spec/services/app_sec/dast/profiles/create_service_spec.rb' - - 'ee/spec/services/app_sec/dast/profiles/destroy_service_spec.rb' - - 'ee/spec/services/app_sec/dast/profiles/update_service_spec.rb' - - 'ee/spec/services/app_sec/dast/scanner_profiles/create_service_spec.rb' - - 'ee/spec/services/app_sec/dast/scanner_profiles/destroy_service_spec.rb' - - 'ee/spec/services/app_sec/dast/site_profiles/audit/update_service_spec.rb' - - 'ee/spec/services/app_sec/dast/site_profiles/create_service_spec.rb' - - 'ee/spec/services/app_sec/dast/site_profiles/destroy_service_spec.rb' - - '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/approval_rules/create_service_spec.rb' - - 'ee/spec/services/approval_rules/update_service_spec.rb' - - 'ee/spec/services/audit_event_service_spec.rb' - - 'ee/spec/services/ci/create_pipeline_service_spec.rb' + - 'ee/spec/services/approval_rules/project_rule_destroy_service_spec.rb' + - 'ee/spec/services/deploy_keys/create_service_spec.rb' - 'ee/spec/services/ee/alert_management/http_integrations/create_service_spec.rb' - 'ee/spec/services/ee/alert_management/http_integrations/update_service_spec.rb' - - 'ee/spec/services/ee/merge_requests/create_pipeline_service_spec.rb' - - 'ee/spec/services/ee/post_receive_service_spec.rb' + - 'ee/spec/services/ee/projects/deploy_tokens/create_service_spec.rb' + - 'ee/spec/services/ee/projects/deploy_tokens/destroy_service_spec.rb' + - 'ee/spec/services/ee/projects/unlink_fork_service_spec.rb' - 'ee/spec/services/external_status_checks/create_service_spec.rb' - - 'ee/spec/services/geo/node_status_request_service_spec.rb' - - 'ee/spec/services/gitlab_subscriptions/check_future_renewal_service_spec.rb' - - 'ee/spec/services/gitlab_subscriptions/create_trial_or_lead_service_spec.rb' - - 'ee/spec/services/gitlab_subscriptions/plan_upgrade_service_spec.rb' - - 'ee/spec/services/gitlab_subscriptions/preview_billable_user_change_service_spec.rb' - - 'ee/spec/services/gitlab_subscriptions/reconciliations/calculate_seat_count_data_service_spec.rb' - - 'ee/spec/services/gitlab_subscriptions/reconciliations/check_seat_usage_alerts_eligibility_service_spec.rb' + - 'ee/spec/services/external_status_checks/destroy_service_spec.rb' - 'ee/spec/services/groups/create_service_spec.rb' - 'ee/spec/services/groups/destroy_service_spec.rb' - 'ee/spec/services/iterations/create_service_spec.rb' - 'ee/spec/services/projects/create_service_spec.rb' + - 'ee/spec/services/projects/disable_deploy_key_service_spec.rb' + - 'ee/spec/services/projects/enable_deploy_key_service_spec.rb' - 'ee/spec/services/projects/group_links/create_service_spec.rb' - 'ee/spec/services/projects/group_links/destroy_service_spec.rb' - 'ee/spec/services/projects/transfer_service_spec.rb' - - 'ee/spec/services/security/report_summary_service_spec.rb' + - 'ee/spec/services/security/security_orchestration_policies/create_pipeline_service_spec.rb' - 'ee/spec/services/security/token_revocation_service_spec.rb' - 'ee/spec/services/security/track_scan_service_spec.rb' - 'ee/spec/services/timebox_report_service_spec.rb' - - 'ee/spec/services/users/abuse/git_abuse/namespace_throttle_service_spec.rb' - - 'ee/spec/support/helpers/ee/login_helpers.rb' - - 'ee/spec/support/shared_contexts/fixtures/analytics_shared_context.rb' - - 'ee/spec/support/shared_examples/controllers/analytics/cycle_analytics/shared_stage_shared_examples.rb' - - 'ee/spec/support/shared_examples/controllers/namespace_storage_limit_alert_shared_examples.rb' - - 'ee/spec/tasks/gitlab/elastic_rake_spec.rb' - - 'ee/spec/workers/analytics/cycle_analytics/consistency_worker_spec.rb' - - 'ee/spec/workers/ci/runners/stale_group_runners_prune_cron_worker_spec.rb' - - 'ee/spec/workers/gitlab_subscriptions/notify_seats_exceeded_worker_spec.rb' - - 'lib/api/admin/instance_clusters.rb' - - 'lib/api/group_clusters.rb' - - 'lib/api/project_clusters.rb' - - 'lib/atlassian/jira_connect/client.rb' - - 'lib/banzai/filter/commit_trailers_filter.rb' - 'lib/banzai/filter/playable_link_filter.rb' - - 'lib/banzai/reference_parser/user_parser.rb' - - 'lib/gitlab/analytics/cycle_analytics/aggregated/records_fetcher.rb' - - 'lib/gitlab/analytics/cycle_analytics/records_fetcher.rb' + - 'lib/gitlab/application_rate_limiter.rb' - 'lib/gitlab/asciidoc.rb' - 'lib/gitlab/asciidoc/include_processor.rb' - 'lib/gitlab/auth/otp/strategies/forti_token_cloud.rb' - 'lib/gitlab/ci/config/entry/processable.rb' - - 'lib/gitlab/database/query_analyzers/gitlab_schemas_metrics.rb' - - 'lib/gitlab/database/query_analyzers/prevent_cross_database_modification.rb' - - 'lib/gitlab/github_import/importer/diff_note_importer.rb' - - 'lib/gitlab/github_import/importer/pull_request_merged_by_importer.rb' - - 'lib/gitlab/gitlab_import/client.rb' - - 'lib/gitlab/graphql/query_analyzers/ast/logger_analyzer.rb' + - 'lib/gitlab/database/migrations/observers/query_details.rb' + - 'lib/gitlab/database/migrations/observers/transaction_duration.rb' - 'lib/gitlab/hook_data/issue_builder.rb' - 'lib/gitlab/hook_data/release_builder.rb' - - 'lib/gitlab/kubernetes.rb' - - 'lib/gitlab/kubernetes/namespace.rb' - - 'lib/gitlab/kubernetes/rollout_instances.rb' - - 'lib/gitlab/legacy_github_import/client.rb' - - 'lib/gitlab/push_options.rb' - 'lib/gitlab/quick_actions/issuable_actions.rb' - - 'lib/gitlab/usage_data_counters/track_unique_events.rb' - - 'lib/object_storage/direct_upload.rb' - - 'lib/tasks/tanuki_emoji.rake' - - 'qa/qa/ee/resource/board/board_list/project/assignee_board_list.rb' - - 'qa/qa/ee/resource/board/board_list/project/milestone_board_list.rb' - 'qa/qa/resource/snippet.rb' + - 'qa/qa/specs/features/api/1_manage/migration/gitlab_migration_release_spec.rb' - 'qa/qa/specs/features/api/3_create/repository/commit_to_templated_project_spec.rb' - 'qa/qa/specs/features/api/5_package/container_registry_spec.rb' - - 'qa/qa/specs/features/browser_ui/3_create/repository/push_protected_branch_spec.rb' - 'qa/qa/specs/features/browser_ui/3_create/web_ide/open_web_ide_from_diff_tab_spec.rb' - 'qa/qa/specs/features/browser_ui/5_package/container_registry/container_registry_omnibus_spec.rb' - 'qa/qa/specs/features/browser_ui/5_package/container_registry/container_registry_spec.rb' @@ -299,279 +166,116 @@ Layout/FirstHashElementIndentation: - 'qa/qa/specs/features/browser_ui/5_package/package_registry/nuget/nuget_project_level_spec.rb' - 'qa/qa/specs/features/browser_ui/5_package/package_registry/pypi_repository_spec.rb' - 'qa/qa/specs/features/ee/browser_ui/4_verify/new_discussion_not_dropping_merge_trains_mr_spec.rb' - - 'spec/components/diffs/stats_component_spec.rb' - - 'spec/components/pajamas/component_spec.rb' - - 'spec/config/object_store_settings_spec.rb' - - 'spec/config/smime_signature_settings_spec.rb' - - 'spec/controllers/application_controller_spec.rb' - - 'spec/controllers/concerns/import_url_params_spec.rb' + - 'qa/qa/specs/features/ee/browser_ui/5_package/dependency_proxy_sso_spec.rb' + - 'qa/spec/support/formatters/test_metrics_formatter_spec.rb' - 'spec/controllers/concerns/issuable_collections_spec.rb' - 'spec/controllers/groups/group_members_controller_spec.rb' - - 'spec/controllers/groups/packages_controller_spec.rb' - - 'spec/controllers/groups/registry/repositories_controller_spec.rb' - - 'spec/controllers/import/available_namespaces_controller_spec.rb' - 'spec/controllers/import/manifest_controller_spec.rb' - 'spec/controllers/projects/boards_controller_spec.rb' - 'spec/controllers/projects/branches_controller_spec.rb' - 'spec/controllers/projects/commit_controller_spec.rb' - 'spec/controllers/projects/commits_controller_spec.rb' - 'spec/controllers/projects/design_management/designs/raw_images_controller_spec.rb' - - 'spec/controllers/projects/design_management/designs/resized_image_controller_spec.rb' - 'spec/controllers/projects/environments_controller_spec.rb' - - 'spec/controllers/projects/feature_flags_controller_spec.rb' - - 'spec/controllers/projects/grafana_api_controller_spec.rb' - 'spec/controllers/projects/issues_controller_spec.rb' - 'spec/controllers/projects/jobs_controller_spec.rb' - 'spec/controllers/projects/merge_requests/creations_controller_spec.rb' - - 'spec/controllers/projects/merge_requests/drafts_controller_spec.rb' - - 'spec/controllers/projects/merge_requests_controller_spec.rb' - 'spec/controllers/projects/milestones_controller_spec.rb' - 'spec/controllers/projects/notes_controller_spec.rb' - - 'spec/controllers/projects/packages/packages_controller_spec.rb' - - 'spec/controllers/projects/pipeline_schedules_controller_spec.rb' - 'spec/controllers/projects/pipelines_controller_spec.rb' - 'spec/controllers/projects/project_members_controller_spec.rb' - 'spec/controllers/projects/registry/repositories_controller_spec.rb' - 'spec/controllers/projects/registry/tags_controller_spec.rb' + - 'spec/controllers/projects/tags_controller_spec.rb' - 'spec/controllers/projects/web_ide_terminals_controller_spec.rb' - 'spec/controllers/projects_controller_spec.rb' - 'spec/factories/ci/builds.rb' - 'spec/factories/packages/debian/file_metadatum.rb' - - 'spec/features/gitlab_experiments_spec.rb' - 'spec/frontend/fixtures/autocomplete_sources.rb' - - 'spec/frontend/fixtures/blob.rb' - - 'spec/frontend/fixtures/jobs.rb' - - 'spec/frontend/fixtures/runner.rb' - - 'spec/graphql/mutations/release_asset_links/create_spec.rb' - - 'spec/graphql/resolvers/concerns/caching_array_resolver_spec.rb' - - 'spec/graphql/resolvers/crm/organizations_resolver_spec.rb' - 'spec/graphql/types/ci/detailed_status_type_spec.rb' - - 'spec/helpers/access_tokens_helper_spec.rb' - - 'spec/helpers/admin/application_settings/settings_helper_spec.rb' - - 'spec/helpers/admin/deploy_key_helper_spec.rb' - - 'spec/helpers/analytics/cycle_analytics_helper_spec.rb' - - 'spec/helpers/ci/builds_helper_spec.rb' - - 'spec/helpers/ci/jobs_helper_spec.rb' - - 'spec/helpers/ci/pipeline_editor_helper_spec.rb' - - 'spec/helpers/deploy_tokens_helper_spec.rb' - - 'spec/helpers/groups/settings_helper_spec.rb' - - 'spec/helpers/groups_helper_spec.rb' - - 'spec/helpers/issuables_helper_spec.rb' - - 'spec/helpers/namespaces_helper_spec.rb' - - 'spec/helpers/page_layout_helper_spec.rb' - - 'spec/helpers/projects/cluster_agents_helper_spec.rb' - - 'spec/helpers/projects/pipeline_helper_spec.rb' - - 'spec/helpers/releases_helper_spec.rb' + - 'spec/helpers/groups/observability_helper_spec.rb' + - 'spec/helpers/learn_gitlab_helper_spec.rb' + - 'spec/helpers/projects/pages_helper_spec.rb' - 'spec/helpers/routing/pseudonymization_helper_spec.rb' - - 'spec/helpers/search_helper_spec.rb' - - 'spec/helpers/sorting_helper_spec.rb' - - 'spec/initializers/direct_upload_support_spec.rb' - - 'spec/lib/api/entities/bulk_imports/export_status_spec.rb' - - 'spec/lib/api/entities/design_management/design_spec.rb' - - 'spec/lib/api/entities/merge_request_approvals_spec.rb' + - 'spec/initializers/rack_multipart_patch_spec.rb' - 'spec/lib/api/entities/personal_access_token_spec.rb' - - 'spec/lib/atlassian/jira_connect/client_spec.rb' - - 'spec/lib/backup/database_spec.rb' - - 'spec/lib/backup/repositories_spec.rb' - - 'spec/lib/banzai/filter/audio_link_filter_spec.rb' - - 'spec/lib/banzai/filter/repository_link_filter_spec.rb' - - 'spec/lib/banzai/filter/video_link_filter_spec.rb' - 'spec/lib/bulk_imports/common/pipelines/milestones_pipeline_spec.rb' - - 'spec/lib/bulk_imports/groups/pipelines/project_entities_pipeline_spec.rb' - - 'spec/lib/bulk_imports/groups/pipelines/subgroup_entities_pipeline_spec.rb' - 'spec/lib/bulk_imports/groups/stage_spec.rb' - - 'spec/lib/bulk_imports/groups/transformers/group_attributes_transformer_spec.rb' - 'spec/lib/bulk_imports/projects/pipelines/container_expiration_policy_pipeline_spec.rb' - 'spec/lib/bulk_imports/projects/pipelines/project_feature_pipeline_spec.rb' - 'spec/lib/container_registry/client_spec.rb' - - 'spec/lib/feature/definition_spec.rb' - - 'spec/lib/gitlab/alert_management/payload/base_spec.rb' - - 'spec/lib/gitlab/analytics/cycle_analytics/aggregated/records_fetcher_spec.rb' - - 'spec/lib/gitlab/analytics/cycle_analytics/base_query_builder_spec.rb' - - 'spec/lib/gitlab/analytics/cycle_analytics/records_fetcher_spec.rb' - - 'spec/lib/gitlab/api_authentication/builder_spec.rb' + - 'spec/lib/gitlab/application_rate_limiter_spec.rb' - 'spec/lib/gitlab/asciidoc_spec.rb' - - 'spec/lib/gitlab/auth/ldap/config_spec.rb' - - 'spec/lib/gitlab/auth/o_auth/user_spec.rb' - - 'spec/lib/gitlab/auth/request_authenticator_spec.rb' - - 'spec/lib/gitlab/background_migration/fix_vulnerability_occurrences_with_hashes_as_raw_metadata_spec.rb' - 'spec/lib/gitlab/background_migration/migrate_u2f_webauthn_spec.rb' - 'spec/lib/gitlab/background_migration/recalculate_vulnerabilities_occurrences_uuid_spec.rb' - 'spec/lib/gitlab/bitbucket_import/importer_spec.rb' - - 'spec/lib/gitlab/bitbucket_server_import/importer_spec.rb' - - 'spec/lib/gitlab/changes_list_spec.rb' - - 'spec/lib/gitlab/checks/changes_access_spec.rb' - - 'spec/lib/gitlab/ci/build/cache_spec.rb' - - 'spec/lib/gitlab/ci/build/step_spec.rb' - - 'spec/lib/gitlab/ci/config/entry/bridge_spec.rb' - - 'spec/lib/gitlab/ci/config/entry/product/variables_spec.rb' - - 'spec/lib/gitlab/ci/config/yaml/tags/resolver_spec.rb' - 'spec/lib/gitlab/ci/config_spec.rb' - 'spec/lib/gitlab/ci/parsers/codequality/code_climate_spec.rb' + - 'spec/lib/gitlab/ci/parsers/coverage/sax_document_spec.rb' - 'spec/lib/gitlab/ci/parsers/security/common_spec.rb' - 'spec/lib/gitlab/ci/pipeline/chain/populate_spec.rb' - 'spec/lib/gitlab/ci/pipeline/seed/build/cache_spec.rb' - - 'spec/lib/gitlab/ci/reports/coverage_report_spec.rb' - - 'spec/lib/gitlab/ci/reports/security/identifier_spec.rb' - - 'spec/lib/gitlab/ci/reports/security/scanner_spec.rb' - - 'spec/lib/gitlab/ci/reports/terraform_reports_spec.rb' - 'spec/lib/gitlab/ci/yaml_processor_spec.rb' - 'spec/lib/gitlab/config_checker/puma_rugged_checker_spec.rb' - 'spec/lib/gitlab/data_builder/build_spec.rb' - 'spec/lib/gitlab/data_builder/issuable_spec.rb' - 'spec/lib/gitlab/data_builder/pipeline_spec.rb' - - 'spec/lib/gitlab/database/load_balancing/setup_spec.rb' - 'spec/lib/gitlab/database/migration_helpers_spec.rb' - - 'spec/lib/gitlab/database/partitioning_migration_helpers/table_management_helpers_spec.rb' - - 'spec/lib/gitlab/database_spec.rb' - - 'spec/lib/gitlab/error_tracking/error_repository/open_api_strategy_spec.rb' - - 'spec/lib/gitlab/error_tracking_spec.rb' - 'spec/lib/gitlab/git/conflict/file_spec.rb' - - 'spec/lib/gitlab/git/hook_env_spec.rb' - - 'spec/lib/gitlab/git/repository_spec.rb' - - 'spec/lib/gitlab/gitaly_client/operation_service_spec.rb' - - 'spec/lib/gitlab/gitaly_client_spec.rb' - - 'spec/lib/gitlab/github_import/importer/diff_note_importer_spec.rb' - - 'spec/lib/gitlab/github_import/logger_spec.rb' - - 'spec/lib/gitlab/github_import/object_counter_spec.rb' - - 'spec/lib/gitlab/gpg_spec.rb' - - 'spec/lib/gitlab/graphql/query_analyzers/ast/logger_analyzer_spec.rb' - - 'spec/lib/gitlab/graphql/tracers/logger_tracer_spec.rb' - - 'spec/lib/gitlab/graphql/tracers/timer_tracer_spec.rb' - - 'spec/lib/gitlab/http_spec.rb' - - 'spec/lib/gitlab/i18n_spec.rb' - - 'spec/lib/gitlab/import/logger_spec.rb' + - 'spec/lib/gitlab/git/gitmodules_parser_spec.rb' - 'spec/lib/gitlab/import_export/attributes_finder_spec.rb' - 'spec/lib/gitlab/import_export/members_mapper_spec.rb' - 'spec/lib/gitlab/instrumentation_helper_spec.rb' - - 'spec/lib/gitlab/kubernetes/kubeconfig/template_spec.rb' - - 'spec/lib/gitlab/kubernetes/rollout_instances_spec.rb' - - 'spec/lib/gitlab/legacy_github_import/label_formatter_spec.rb' - - 'spec/lib/gitlab/metrics/dashboard/importers/prometheus_metrics_spec.rb' - 'spec/lib/gitlab/metrics/subscribers/action_cable_spec.rb' - - 'spec/lib/gitlab/middleware/multipart/handler_spec.rb' - - 'spec/lib/gitlab/pagination/keyset/in_operator_optimization/order_by_columns_spec.rb' - 'spec/lib/gitlab/phabricator_import/conduit/user_spec.rb' - - 'spec/lib/gitlab/prometheus_client_spec.rb' - - 'spec/lib/gitlab/push_options_spec.rb' - - 'spec/lib/gitlab/submodule_links_spec.rb' - - 'spec/lib/gitlab/usage_data/topology_spec.rb' - - 'spec/lib/gitlab/utils_spec.rb' - - 'spec/lib/gitlab/web_ide/config/entry/global_spec.rb' + - 'spec/lib/gitlab/sidekiq_migrate_jobs_spec.rb' + - 'spec/lib/gitlab/workhorse_spec.rb' - 'spec/lib/mattermost/team_spec.rb' - - 'spec/lib/microsoft_teams/activity_spec.rb' - - 'spec/lib/peek/views/memory_spec.rb' + - 'spec/lib/peek/views/redis_detailed_spec.rb' - 'spec/mailers/emails/merge_requests_spec.rb' - - 'spec/models/active_session_spec.rb' - - 'spec/models/analytics/cycle_analytics/aggregation_spec.rb' - - 'spec/models/ci/pipeline_spec.rb' - - 'spec/models/ci_platform_metric_spec.rb' - - 'spec/models/clusters/applications/prometheus_spec.rb' - - 'spec/models/event_spec.rb' - - 'spec/models/gpg_key_spec.rb' - - 'spec/models/instance_configuration_spec.rb' - - 'spec/models/integrations/base_chat_notification_spec.rb' - - 'spec/models/integrations/chat_message/deployment_message_spec.rb' - - 'spec/models/integrations/chat_message/issue_message_spec.rb' + - 'spec/models/ci/build_spec.rb' - 'spec/models/integrations/chat_message/merge_message_spec.rb' - - 'spec/models/integrations/chat_message/note_message_spec.rb' - - 'spec/models/integrations/chat_message/pipeline_message_spec.rb' - - 'spec/models/integrations/chat_message/push_message_spec.rb' - - 'spec/models/integrations/chat_message/wiki_page_message_spec.rb' - - 'spec/models/integrations/prometheus_spec.rb' - - 'spec/models/loose_foreign_keys/modification_tracker_spec.rb' - - 'spec/models/merge_request_diff_commit_spec.rb' - - 'spec/models/note_spec.rb' - - 'spec/models/remote_mirror_spec.rb' + - 'spec/models/pages/lookup_path_spec.rb' + - 'spec/requests/api/ci/pipelines_spec.rb' - 'spec/requests/api/ci/runner/runners_post_spec.rb' - 'spec/requests/api/commit_statuses_spec.rb' - - 'spec/requests/api/feature_flags_spec.rb' - - 'spec/requests/api/feature_flags_user_lists_spec.rb' - 'spec/requests/api/graphql/ci/config_spec.rb' - - 'spec/requests/api/graphql/ci/group_variables_spec.rb' - - 'spec/requests/api/graphql/ci/instance_variables_spec.rb' - - 'spec/requests/api/graphql/ci/project_variables_spec.rb' - - 'spec/requests/api/graphql/group/milestones_spec.rb' - 'spec/requests/api/graphql/metrics/dashboard/annotations_spec.rb' - - 'spec/requests/api/graphql/mutations/timelogs/create_spec.rb' - - 'spec/requests/api/graphql/project/cluster_agents_spec.rb' - - 'spec/requests/api/graphql/project/release_spec.rb' - - 'spec/requests/api/graphql/project_query_spec.rb' - - 'spec/requests/api/internal/base_spec.rb' - - 'spec/requests/api/merge_requests_spec.rb' - - 'spec/requests/api/project_import_spec.rb' - - 'spec/requests/api/project_snapshots_spec.rb' - - 'spec/requests/api/projects_spec.rb' + - 'spec/requests/api/graphql/project/fork_details_spec.rb' + - 'spec/requests/api/ml/mlflow_spec.rb' - 'spec/requests/api/releases_spec.rb' - - 'spec/requests/api/repositories_spec.rb' - - 'spec/requests/api/settings_spec.rb' - 'spec/requests/api/task_completion_status_spec.rb' - - 'spec/requests/api/unleash_spec.rb' - - 'spec/requests/git_http_spec.rb' - 'spec/requests/groups/email_campaigns_controller_spec.rb' - - 'spec/requests/jira_authorizations_spec.rb' - - 'spec/requests/jira_connect/installations_controller_spec.rb' - - 'spec/requests/lfs_http_spec.rb' - - 'spec/serializers/blob_entity_spec.rb' - - 'spec/serializers/integrations/harbor_serializers/artifact_entity_spec.rb' - - 'spec/serializers/integrations/harbor_serializers/repository_entity_spec.rb' - - 'spec/serializers/integrations/harbor_serializers/tag_entity_spec.rb' - - 'spec/services/bulk_imports/create_pipeline_trackers_service_spec.rb' - - 'spec/services/ci/create_pipeline_service/custom_yaml_tags_spec.rb' - - 'spec/services/ci/create_pipeline_service/parent_child_pipeline_spec.rb' - - 'spec/services/ci/create_pipeline_service_spec.rb' - - 'spec/services/ci/find_exposed_artifacts_service_spec.rb' - - 'spec/services/ci/play_manual_stage_service_spec.rb' - - 'spec/services/ci/runners/reconcile_existing_runner_versions_service_spec.rb' - - 'spec/services/clusters/agents/create_service_spec.rb' - - 'spec/services/clusters/aws/authorize_role_service_spec.rb' + - 'spec/requests/projects/merge_requests/creations_spec.rb' + - 'spec/requests/pwa_controller_spec.rb' + - 'spec/rubocop/cop/usage_data/distinct_count_by_large_foreign_key_spec.rb' + - 'spec/rubocop/cop/usage_data/histogram_with_large_table_spec.rb' + - 'spec/rubocop/cop/usage_data/instrumentation_superclass_spec.rb' + - 'spec/rubocop/cop/usage_data/large_table_spec.rb' + - 'spec/services/ci/pipeline_artifacts/coverage_report_service_spec.rb' + - 'spec/services/ci/register_job_service_spec.rb' - 'spec/services/clusters/update_service_spec.rb' - - 'spec/services/commits/tag_service_spec.rb' - - 'spec/services/database/consistency_check_service_spec.rb' - - 'spec/services/git/branch_push_service_spec.rb' - - 'spec/services/google_cloud/create_cloudsql_instance_service_spec.rb' - - 'spec/services/import/fogbugz_service_spec.rb' + - 'spec/services/google_cloud/get_cloudsql_instances_service_spec.rb' - 'spec/services/import/github_service_spec.rb' - - 'spec/services/import/gitlab_projects/file_acquisition_strategies/remote_file_spec.rb' - - 'spec/services/markdown_content_rewriter_service_spec.rb' - - 'spec/services/merge_requests/build_service_spec.rb' - - 'spec/services/merge_requests/create_service_spec.rb' - - 'spec/services/merge_requests/get_urls_service_spec.rb' - - 'spec/services/merge_requests/refresh_service_spec.rb' - - 'spec/services/merge_requests/update_service_spec.rb' - 'spec/services/metrics/dashboard/transient_embed_service_spec.rb' - 'spec/services/notes/render_service_spec.rb' - 'spec/services/packages/debian/parse_debian822_service_spec.rb' - 'spec/services/projects/container_repository/delete_tags_service_spec.rb' - 'spec/services/projects/create_from_template_service_spec.rb' - - 'spec/services/projects/lfs_pointers/lfs_download_service_spec.rb' - - 'spec/services/projects/operations/update_service_spec.rb' - - 'spec/services/projects/update_service_spec.rb' + - 'spec/services/quick_actions/interpret_service_spec.rb' - 'spec/services/service_ping/submit_service_ping_service_spec.rb' - - 'spec/services/snippets/count_service_spec.rb' - 'spec/sidekiq_cluster/sidekiq_cluster_spec.rb' - - 'spec/support/atlassian/jira_connect/schemata.rb' + - 'spec/spam/concerns/has_spam_action_response_fields_spec.rb' - 'spec/support/helpers/kubernetes_helpers.rb' - - 'spec/support/helpers/login_helpers.rb' - - 'spec/support/helpers/prometheus_helpers.rb' - - 'spec/support/helpers/stub_object_storage.rb' - 'spec/support/helpers/wiki_helpers.rb' - 'spec/support/migrations_helpers/namespaces_helper.rb' - 'spec/support/migrations_helpers/vulnerabilities_findings_helper.rb' - - 'spec/support/shared_contexts/fixtures/analytics_shared_context.rb' - 'spec/support/shared_contexts/lib/container_registry/client_shared_context.rb' - - 'spec/support/shared_examples/graphql/spam_protection_shared_examples.rb' - 'spec/support/shared_examples/harbor/artifacts_controller_shared_examples.rb' - 'spec/support/shared_examples/harbor/repositories_controller_shared_examples.rb' - 'spec/support/shared_examples/harbor/tags_controller_shared_examples.rb' - - 'spec/support/shared_examples/metrics/active_record_subscriber_shared_examples.rb' - 'spec/support/shared_examples/models/clusters/prometheus_client_shared.rb' - - 'spec/support/shared_examples/models/cycle_analytics_stage_shared_examples.rb' - - 'spec/support/shared_examples/requests/rack_attack_shared_examples.rb' - - 'spec/support_specs/graphql/arguments_spec.rb' - - 'spec/support_specs/graphql/field_selection_spec.rb' - - 'spec/support_specs/matchers/exceed_query_limit_helpers_spec.rb' + - 'spec/support/shared_examples/requests/api/npm_packages_shared_examples.rb' + - 'spec/tasks/gitlab/backup_rake_spec.rb' - 'spec/tooling/lib/tooling/kubernetes_client_spec.rb' - - 'spec/views/projects/issues/_issue.html.haml_spec.rb' - - 'spec/workers/ci/runners/reconcile_existing_runner_versions_cron_worker_spec.rb' - - 'spec/workers/concerns/gitlab/github_import/object_importer_spec.rb' + - 'spec/views/layouts/_head.html.haml_spec.rb' diff --git a/.rubocop_todo/layout/hash_alignment.yml b/.rubocop_todo/layout/hash_alignment.yml index 7aa46e3fd0..f58e3fe0d6 100644 --- a/.rubocop_todo/layout/hash_alignment.yml +++ b/.rubocop_todo/layout/hash_alignment.yml @@ -1,6 +1,6 @@ --- # Cop supports --autocorrect. Layout/HashAlignment: + Details: grace period Exclude: - 'ee/spec/lib/ee/gitlab/usage_data_spec.rb' - - 'spec/serializers/environment_serializer_spec.rb' diff --git a/.rubocop_todo/layout/line_continuation_leading_space.yml b/.rubocop_todo/layout/line_continuation_leading_space.yml new file mode 100644 index 0000000000..14ab2e1585 --- /dev/null +++ b/.rubocop_todo/layout/line_continuation_leading_space.yml @@ -0,0 +1,75 @@ +--- +Layout/LineContinuationLeadingSpace: + Details: grace period + Exclude: + - 'app/graphql/resolvers/issues/base_resolver.rb' + - 'app/graphql/resolvers/work_items/types_resolver.rb' + - 'app/graphql/types/query_type.rb' + - 'app/helpers/application_settings_helper.rb' + - 'app/helpers/preferences_helper.rb' + - 'app/models/environment.rb' + - 'app/services/projects/container_repository/destroy_service.rb' + - 'config/initializers_before_autoloader/003_gc_compact.rb' + - 'ee/app/graphql/ee/mutations/issues/create.rb' + - 'ee/app/graphql/ee/types/merge_request_type.rb' + - 'ee/app/graphql/mutations/requirements_management/export_requirements.rb' + - 'ee/app/models/ci/minutes/notification.rb' + - 'ee/app/models/ee/group_group_link.rb' + - 'ee/app/models/ee/project_group_link.rb' + - 'ee/app/models/protected_environment.rb' + - 'ee/app/services/system_notes/epics_service.rb' + - 'ee/lib/ee/gitlab/ci/pipeline/quota/size.rb' + - 'ee/lib/ee/gitlab/git_access.rb' + - 'ee/lib/slack/block_kit/app_home_opened.rb' + - 'ee/lib/tasks/gitlab/geo.rake' + - 'ee/spec/features/epic_boards/epic_boards_sidebar_spec.rb' + - 'ee/spec/features/gitlab_subscriptions/seat_count_alert_spec.rb' + - 'ee/spec/features/groups/members/manage_groups_spec.rb' + - 'ee/spec/features/pending_group_memberships_spec.rb' + - 'ee/spec/features/projects/members/manage_groups_spec.rb' + - 'ee/spec/graphql/mutations/requirements_management/export_requirements_spec.rb' + - 'ee/spec/lib/ee/gitlab/ci/parsers/security/validators/schema_validator_spec.rb' + - 'ee/spec/lib/ee/gitlab/ci/pipeline/quota/size_spec.rb' + - 'ee/spec/lib/gitlab/ci/pipeline/chain/limit/size_spec.rb' + - 'ee/spec/lib/gitlab/git_access_spec.rb' + - 'ee/spec/lib/gitlab/usage/metrics/instrumentations/count_ci_environments_approval_required_spec.rb' + - 'ee/spec/lib/gitlab/usage/metrics/instrumentations/count_deployment_approvals_metric_spec.rb' + - 'ee/spec/lib/gitlab/usage/metrics/instrumentations/protected_environment_approval_rules_required_approvals_average_metric_spec.rb' + - 'ee/spec/lib/gitlab/usage/metrics/instrumentations/protected_environments_required_approvals_average_metric_spec.rb' + - 'lib/gitlab/background_migration/populate_operation_visibility_permissions_from_operations.rb' + - 'lib/gitlab/ci/parsers/security/validators/schema_validator.rb' + - 'lib/gitlab/database/load_balancing/sidekiq_server_middleware.rb' + - 'lib/gitlab/database/partitioning_migration_helpers/index_helpers.rb' + - 'lib/gitlab/database/partitioning_migration_helpers/table_management_helpers.rb' + - 'lib/gitlab/github_import/importer/events/changed_reviewer.rb' + - 'lib/gitlab/import_export/project/import_task.rb' + - 'lib/gitlab/reference_counter.rb' + - 'lib/gitlab/tracking/standard_context.rb' + - 'qa/qa/specs/features/api/4_verify/api_variable_inheritance_with_forward_pipeline_variables_spec.rb' + - 'rubocop/cop/graphql/descriptions.rb' + - 'rubocop/cop/migration/add_columns_to_wide_tables.rb' + - 'rubocop/cop/migration/background_migrations.rb' + - 'rubocop/cop/migration/update_column_in_batches.rb' + - 'scripts/lib/glfm/parse_examples.rb' + - 'scripts/qa/testcases-check' + - 'spec/features/groups/show_spec.rb' + - 'spec/features/issues/create_issue_for_single_discussion_in_merge_request_spec.rb' + - 'spec/lib/gitlab/ci/ansi2html_spec.rb' + - 'spec/lib/gitlab/ci/parsers/sbom/validators/cyclonedx_schema_validator_spec.rb' + - 'spec/lib/gitlab/ci/parsers/security/validators/schema_validator_spec.rb' + - 'spec/lib/gitlab/prometheus/queries/validate_query_spec.rb' + - 'spec/lib/gitlab/reference_counter_spec.rb' + - 'spec/lib/gitlab/usage/metrics/instrumentations/count_bulk_imports_entities_metric_spec.rb' + - 'spec/lib/gitlab/usage/metrics/instrumentations/count_imported_projects_metric_spec.rb' + - 'spec/lib/gitlab/usage/metrics/instrumentations/count_imported_projects_total_metric_spec.rb' + - 'spec/lib/gitlab/usage/metrics/instrumentations/gitlab_for_jira_app_direct_installations_count_metric_spec.rb' + - 'spec/lib/gitlab/usage/metrics/instrumentations/gitlab_for_jira_app_proxy_installations_count_metric_spec.rb' + - 'spec/lib/gitlab/usage/metrics/instrumentations/in_product_marketing_email_cta_clicked_metric_spec.rb' + - 'spec/lib/gitlab/usage/metrics/instrumentations/in_product_marketing_email_sent_metric_spec.rb' + - 'spec/lib/system_check/incoming_email/imap_authentication_check_spec.rb' + - 'spec/models/integrations/chat_message/pipeline_message_spec.rb' + - 'spec/services/feature_flags/update_service_spec.rb' + - 'spec/services/issues/build_service_spec.rb' + - 'spec/support/matchers/have_gitlab_http_status.rb' + - 'spec/support/shared_examples/features/sidebar_shared_examples.rb' + - 'spec/support/shared_examples/lib/email/email_shared_examples.rb' diff --git a/.rubocop_todo/layout/line_continuation_spacing.yml b/.rubocop_todo/layout/line_continuation_spacing.yml new file mode 100644 index 0000000000..248922d739 --- /dev/null +++ b/.rubocop_todo/layout/line_continuation_spacing.yml @@ -0,0 +1,224 @@ +--- +# Cop supports --autocorrect. +Layout/LineContinuationSpacing: + Details: grace period + Exclude: + - 'app/controllers/concerns/controller_with_cross_project_access_check.rb' + - 'app/controllers/concerns/verifies_with_email.rb' + - 'app/controllers/projects/google_cloud/databases_controller.rb' + - 'app/graphql/gitlab_schema.rb' + - 'app/graphql/mutations/boards/issues/issue_move_list.rb' + - 'app/graphql/types/environment_type.rb' + - 'app/helpers/application_settings_helper.rb' + - 'app/helpers/projects_helper.rb' + - 'app/helpers/tags_helper.rb' + - 'app/helpers/tree_helper.rb' + - 'app/models/concerns/spammable.rb' + - 'app/models/environment.rb' + - 'app/models/integrations/base_third_party_wiki.rb' + - 'app/models/integrations/teamcity.rb' + - 'app/models/members/member_role.rb' + - 'app/models/work_items/parent_link.rb' + - 'app/services/feature_flags/update_service.rb' + - 'app/services/issues/build_service.rb' + - 'app/services/merge_requests/merge_service.rb' + - 'app/services/uploads/destroy_service.rb' + - 'app/services/users/email_verification/validate_token_service.rb' + - 'config/initializers_before_autoloader/003_gc_compact.rb' + - 'ee/app/components/namespaces/storage/pre_enforcement_alert_component.rb' + - 'ee/app/components/namespaces/storage/user_pre_enforcement_alert_component.rb' + - 'ee/app/controllers/ee/ldap/omniauth_callbacks_controller.rb' + - 'ee/app/controllers/users/identity_verification_controller.rb' + - 'ee/app/graphql/mutations/app_sec/fuzzing/api/ci_configuration/create.rb' + - 'ee/app/graphql/mutations/requirements_management/export_requirements.rb' + - 'ee/app/graphql/mutations/security_policy/assign_security_policy_project.rb' + - 'ee/app/graphql/resolvers/security_orchestration/scan_execution_policy_resolver.rb' + - 'ee/app/graphql/resolvers/vulnerabilities_resolver.rb' + - 'ee/app/graphql/resolvers/vulnerability_severities_count_resolver.rb' + - 'ee/app/graphql/types/geo/geo_node_type.rb' + - 'ee/app/graphql/types/requirements_management/requirement_type.rb' + - 'ee/app/helpers/push_rules_helper.rb' + - 'ee/app/models/ee/epic.rb' + - 'ee/app/models/ee/group_group_link.rb' + - 'ee/app/models/ee/project_group_link.rb' + - 'ee/app/models/ee/vulnerability.rb' + - 'ee/app/models/incident_management/oncall_shift.rb' + - 'ee/app/services/audit_events/protected_branch_audit_event_service.rb' + - 'ee/app/services/boards/epic_lists/destroy_service.rb' + - 'ee/app/services/epics/epic_links/create_service.rb' + - 'ee/app/services/group_saml/saml_group_links/create_service.rb' + - 'ee/app/services/phone_verification/telesign_client/base_service.rb' + - 'ee/app/services/phone_verification/telesign_client/risk_score_service.rb' + - 'ee/app/services/phone_verification/users/send_verification_code_service.rb' + - 'ee/app/services/phone_verification/users/verify_code_service.rb' + - 'ee/lib/api/experiments.rb' + - 'ee/lib/api/ldap_group_links.rb' + - 'ee/lib/api/vulnerability_findings.rb' + - 'ee/lib/ee/gitlab/auth/ldap/access.rb' + - 'ee/lib/ee/gitlab/ci/pipeline/quota/activity.rb' + - 'ee/lib/ee/gitlab/ci/pipeline/quota/size.rb' + - 'ee/lib/ee/gitlab/git_access.rb' + - 'ee/lib/tasks/gitlab/geo.rake' + - 'ee/spec/components/namespaces/free_user_cap/usage_quota_trial_alert_component_spec.rb' + - 'ee/spec/controllers/groups/group_members_controller_spec.rb' + - 'ee/spec/controllers/projects/security/configuration_controller_spec.rb' + - 'ee/spec/features/admin/admin_emails_spec.rb' + - 'ee/spec/features/admin/licenses/admin_adds_license_spec.rb' + - 'ee/spec/features/groups/group_overview_spec.rb' + - 'ee/spec/features/groups/members/manage_groups_spec.rb' + - 'ee/spec/features/groups_spec.rb' + - 'ee/spec/features/projects/members/manage_groups_spec.rb' + - 'ee/spec/features/protected_branches_spec.rb' + - 'ee/spec/features/protected_tags_spec.rb' + - 'ee/spec/features/registrations/email_confirmation_spec.rb' + - 'ee/spec/features/users/identity_verification_spec.rb' + - 'ee/spec/graphql/mutations/app_sec/fuzzing/api/ci_configuration/create_spec.rb' + - 'ee/spec/graphql/mutations/audit_events/streaming/event_type_filters/destroy_spec.rb' + - 'ee/spec/graphql/mutations/audit_events/streaming/headers/destroy_spec.rb' + - 'ee/spec/graphql/mutations/requirements_management/export_requirements_spec.rb' + - 'ee/spec/helpers/ee/labels_helper_spec.rb' + - 'ee/spec/helpers/push_rules_helper_spec.rb' + - 'ee/spec/lib/audit/group_merge_request_approval_setting_changes_auditor_spec.rb' + - 'ee/spec/lib/ee/gitlab/ci/parsers/security/validators/schema_validator_spec.rb' + - 'ee/spec/lib/ee/gitlab/ci/pipeline/quota/size_spec.rb' + - 'ee/spec/lib/gitlab/ci/pipeline/chain/limit/size_spec.rb' + - 'ee/spec/lib/gitlab/git_access_spec.rb' + - 'ee/spec/mailers/ee/emails/identity_verification_spec.rb' + - 'ee/spec/requests/api/graphql/mutations/epics/create_spec.rb' + - 'ee/spec/requests/api/graphql/mutations/epics/update_spec.rb' + - 'ee/spec/requests/api/graphql/mutations/issues/promote_to_epic_spec.rb' + - 'ee/spec/requests/api/graphql/mutations/issues/set_epic_spec.rb' + - 'ee/spec/requests/api/graphql/mutations/issues/set_weight_spec.rb' + - 'ee/spec/requests/api/graphql/mutations/iterations/cadences/create_spec.rb' + - 'ee/spec/requests/api/graphql/mutations/iterations/cadences/update_spec.rb' + - 'ee/spec/requests/api/graphql/mutations/iterations/create_spec.rb' + - 'ee/spec/requests/api/graphql/mutations/iterations/update_spec.rb' + - 'ee/spec/requests/api/graphql/mutations/projects/initialize_product_analytics_spec.rb' + - 'ee/spec/requests/api/graphql/mutations/projects/set_compliance_framework_spec.rb' + - 'ee/spec/requests/api/graphql/mutations/quality_management/test_cases/create_spec.rb' + - 'ee/spec/requests/api/graphql/mutations/requirements_management/create_requirement_spec.rb' + - 'ee/spec/requests/api/graphql/mutations/security/finding/create_issue_spec.rb' + - 'ee/spec/requests/api/graphql/mutations/users/abuse/namespace_bans/destroy_spec.rb' + - 'ee/spec/requests/api/graphql/mutations/vulnerabilities/create_external_issue_link_spec.rb' + - 'ee/spec/requests/api/graphql/mutations/vulnerabilities/destroy_external_issue_link_spec.rb' + - 'ee/spec/requests/api/graphql/mutations/vulnerabilities/finding_dismiss_spec.rb' + - 'ee/spec/requests/users/identity_verification_controller_spec.rb' + - 'ee/spec/services/boards/epic_lists/destroy_service_spec.rb' + - 'ee/spec/services/epic_issues/create_service_spec.rb' + - 'ee/spec/services/epics/epic_links/create_service_spec.rb' + - 'ee/spec/services/phone_verification/telesign_client/risk_score_service_spec.rb' + - 'ee/spec/services/phone_verification/telesign_client/send_verification_code_service_spec.rb' + - 'ee/spec/services/phone_verification/users/send_verification_code_service_spec.rb' + - 'ee/spec/services/security/security_orchestration_policies/ci_configuration_service_spec.rb' + - 'ee/spec/services/security/security_orchestration_policies/legacy_ci_configuration_service_spec.rb' + - 'ee/spec/views/compliance_management/compliance_framework/_project_settings.html.haml_spec.rb' + - 'ee/spec/workers/ee/issuable_export_csv_worker_spec.rb' + - 'lib/api/dependency_proxy.rb' + - 'lib/api/error_tracking/client_keys.rb' + - 'lib/api/error_tracking/project_settings.rb' + - 'lib/api/go_proxy.rb' + - 'lib/api/groups.rb' + - 'lib/api/issue_links.rb' + - 'lib/api/metrics/dashboard/annotations.rb' + - 'lib/api/ml/mlflow.rb' + - 'lib/gitlab/auth/user_access_denied_reason.rb' + - 'lib/gitlab/background_migration/populate_operation_visibility_permissions_from_operations.rb' + - 'lib/gitlab/checks/tag_check.rb' + - 'lib/gitlab/ci/parsers/security/validators/schema_validator.rb' + - 'lib/gitlab/config_checker/puma_rugged_checker.rb' + - 'lib/gitlab/database/background_migration/batched_migration_runner.rb' + - 'lib/gitlab/database/load_balancing/sidekiq_server_middleware.rb' + - 'lib/gitlab/database/migration_helpers.rb' + - 'lib/gitlab/database/partitioning_migration_helpers/foreign_key_helpers.rb' + - 'lib/gitlab/database/rename_reserved_paths_migration/v1/rename_base.rb' + - 'lib/gitlab/database/rename_reserved_paths_migration/v1/rename_namespaces.rb' + - 'lib/gitlab/database/rename_reserved_paths_migration/v1/rename_projects.rb' + - 'lib/gitlab/database/shared_model.rb' + - 'lib/gitlab/i18n/po_linter.rb' + - 'qa/qa/specs/features/ee/api/9_data_stores/elasticsearch/nightly_elasticsearch_test_spec.rb' + - 'qa/qa/support/matchers/eventually_matcher.rb' + - 'qa/qa/support/page_error_checker.rb' + - 'qa/qa/tools/test_resources_handler.rb' + - 'qa/spec/resource/user_spec.rb' + - 'qa/spec/support/page_error_checker_spec.rb' + - 'rubocop/cop/graphql/authorize_types.rb' + - 'rubocop/cop/graphql/descriptions.rb' + - 'rubocop/cop/graphql/graphql_name_position.rb' + - 'rubocop/cop/migration/background_migrations.rb' + - 'rubocop/cop/performance/ar_exists_and_present_blank.rb' + - 'rubocop/cop/redis_queue_usage.rb' + - 'scripts/create-pipeline-failure-incident.rb' + - 'scripts/generate-failed-pipeline-slack-message.rb' + - 'scripts/qa/testcases-check' + - 'spec/controllers/concerns/controller_with_cross_project_access_check_spec.rb' + - 'spec/features/issues/create_issue_for_single_discussion_in_merge_request_spec.rb' + - 'spec/features/projects/files/user_browses_files_spec.rb' + - 'spec/features/projects/files/user_creates_directory_spec.rb' + - 'spec/features/projects/files/user_creates_files_spec.rb' + - 'spec/features/projects/files/user_deletes_files_spec.rb' + - 'spec/features/projects/files/user_edits_files_spec.rb' + - 'spec/features/projects/files/user_replaces_files_spec.rb' + - 'spec/features/projects/issues/viewing_issues_with_external_authorization_enabled_spec.rb' + - 'spec/features/u2f_spec.rb' + - 'spec/features/users/email_verification_on_login_spec.rb' + - 'spec/features/users/login_spec.rb' + - 'spec/finders/groups/projects_requiring_authorizations_refresh/on_direct_membership_finder_spec.rb' + - 'spec/lib/gitlab/auth/otp/strategies/forti_token_cloud_spec.rb' + - 'spec/lib/gitlab/ci/parsers/security/validators/schema_validator_spec.rb' + - 'spec/lib/gitlab/ci/trace/stream_spec.rb' + - 'spec/lib/gitlab/closing_issue_extractor_spec.rb' + - 'spec/lib/gitlab/config_checker/puma_rugged_checker_spec.rb' + - 'spec/lib/gitlab/database/background_migration/batched_migration_runner_spec.rb' + - 'spec/lib/gitlab/git_access_spec.rb' + - 'spec/lib/gitlab/github_import/markdown_text_spec.rb' + - 'spec/lib/gitlab/github_import/representation/issue_event_spec.rb' + - 'spec/lib/gitlab/metrics/dashboard/stages/metric_endpoint_inserter_spec.rb' + - 'spec/lib/gitlab/usage/metrics/instrumentations/count_bulk_imports_entities_metric_spec.rb' + - 'spec/lib/gitlab/usage/metrics/instrumentations/count_imported_projects_metric_spec.rb' + - 'spec/lib/gitlab/usage/metrics/instrumentations/count_imported_projects_total_metric_spec.rb' + - 'spec/lib/gitlab/usage/metrics/instrumentations/gitlab_for_jira_app_direct_installations_count_metric_spec.rb' + - 'spec/lib/gitlab/usage/metrics/instrumentations/gitlab_for_jira_app_proxy_installations_count_metric_spec.rb' + - 'spec/lib/gitlab/usage/metrics/instrumentations/in_product_marketing_email_cta_clicked_metric_spec.rb' + - 'spec/lib/gitlab/usage/metrics/instrumentations/in_product_marketing_email_sent_metric_spec.rb' + - 'spec/lib/gitlab/utils/gzip_spec.rb' + - 'spec/lib/system_check/incoming_email/imap_authentication_check_spec.rb' + - 'spec/mailers/emails/identity_verification_spec.rb' + - 'spec/models/diff_note_spec.rb' + - 'spec/models/integrations/base_third_party_wiki_spec.rb' + - 'spec/models/integrations/chat_message/merge_message_spec.rb' + - 'spec/models/integrations/chat_message/push_message_spec.rb' + - 'spec/models/integrations/chat_message/wiki_page_message_spec.rb' + - 'spec/models/member_spec.rb' + - 'spec/models/members/member_role_spec.rb' + - 'spec/models/operations/feature_flags_client_spec.rb' + - 'spec/models/project_spec.rb' + - 'spec/requests/api/graphql/mutations/clusters/agent_tokens/agent_tokens/create_spec.rb' + - 'spec/requests/api/graphql/mutations/clusters/agents/delete_spec.rb' + - 'spec/requests/api/graphql/mutations/uploads/delete_spec.rb' + - 'spec/requests/api/group_labels_spec.rb' + - 'spec/requests/api/groups_spec.rb' + - 'spec/requests/api/labels_spec.rb' + - 'spec/requests/api/projects_spec.rb' + - 'spec/requests/api/users_spec.rb' + - 'spec/requests/verifies_with_email_spec.rb' + - 'spec/services/feature_flags/update_service_spec.rb' + - 'spec/services/issues/build_service_spec.rb' + - 'spec/services/merge_requests/merge_service_spec.rb' + - 'spec/services/snippets/create_service_spec.rb' + - 'spec/services/uploads/destroy_service_spec.rb' + - 'spec/services/users/email_verification/validate_token_service_spec.rb' + - 'spec/services/users/migrate_records_to_ghost_user_service_spec.rb' + - 'spec/support/helpers/redis_without_keys.rb' + - 'spec/support/shared_examples/features/project_upload_files_shared_examples.rb' + - 'spec/support/shared_examples/harbor/artifacts_controller_shared_examples.rb' + - 'spec/support/shared_examples/harbor/tags_controller_shared_examples.rb' + - 'spec/support/shared_examples/models/diff_note_after_commit_shared_examples.rb' + - 'spec/support/shared_examples/requests/api/diff_discussions_shared_examples.rb' + - 'spec/support/shared_examples/requests/api/discussions_shared_examples.rb' + - 'spec/support/shared_examples/requests/api/graphql/mutations/subscription_shared_examples.rb' + - 'spec/support/shared_examples/requests/api/notes_shared_examples.rb' + - 'spec/support/shared_examples/requests/api/resolvable_discussions_shared_examples.rb' + - 'spec/uploaders/file_mover_spec.rb' + - 'spec/views/devise/shared/_signup_box.html.haml_spec.rb' + - 'spec/views/projects/issues/show.html.haml_spec.rb' + - 'spec/views/projects/pages/show.html.haml_spec.rb' diff --git a/.rubocop_todo/layout/line_end_string_concatenation_indentation.yml b/.rubocop_todo/layout/line_end_string_concatenation_indentation.yml new file mode 100644 index 0000000000..b774d92d4e --- /dev/null +++ b/.rubocop_todo/layout/line_end_string_concatenation_indentation.yml @@ -0,0 +1,358 @@ +--- +# Cop supports --autocorrect. +Layout/LineEndStringConcatenationIndentation: + Details: grace period + Exclude: + - 'app/controllers/admin/application_settings_controller.rb' + - 'app/controllers/concerns/verifies_with_email.rb' + - 'app/finders/snippets_finder.rb' + - 'app/graphql/mutations/ci/project_ci_cd_settings_update.rb' + - 'app/graphql/mutations/ci/runner/bulk_delete.rb' + - 'app/graphql/mutations/environments/canary_ingress/update.rb' + - 'app/graphql/resolvers/ci/runner_projects_resolver.rb' + - 'app/graphql/resolvers/projects_resolver.rb' + - 'app/graphql/types/ci/ci_cd_setting_type.rb' + - 'app/graphql/types/ci/config/include_type.rb' + - 'app/graphql/types/ci/runner_membership_filter_enum.rb' + - 'app/graphql/types/ci/runner_status_enum.rb' + - 'app/graphql/types/issue_type.rb' + - 'app/graphql/types/user_interface.rb' + - 'app/helpers/application_settings_helper.rb' + - 'app/helpers/members_helper.rb' + - 'app/helpers/preferences_helper.rb' + - 'app/helpers/projects/project_members_helper.rb' + - 'app/helpers/projects_helper.rb' + - 'app/mailers/emails/projects.rb' + - 'app/models/application_setting.rb' + - 'app/models/concerns/bulk_insert_safe.rb' + - 'app/models/concerns/spammable.rb' + - 'app/models/environment.rb' + - 'app/models/integrations/pivotaltracker.rb' + - 'app/models/members/member_role.rb' + - 'app/models/merge_request_diff_commit.rb' + - 'app/models/postgresql/replication_slot.rb' + - 'app/presenters/packages/npm/package_presenter.rb' + - 'app/services/commits/change_service.rb' + - 'app/services/concerns/ci/job_token_scope/edit_scope_validations.rb' + - 'app/services/feature_flags/update_service.rb' + - 'app/services/projects/after_rename_service.rb' + - 'app/services/projects/container_repository/destroy_service.rb' + - 'app/services/repositories/changelog_service.rb' + - 'app/services/users/email_verification/validate_token_service.rb' + - 'app/workers/run_pipeline_schedule_worker.rb' + - 'config/initializers/validate_database_config.rb' + - 'config/initializers/wikicloth_disable_lua_patch.rb' + - 'config/initializers/wikicloth_redos_patch.rb' + - 'config/initializers/wikicloth_ruby_3_patch.rb' + - 'config/initializers_before_autoloader/003_gc_compact.rb' + - 'danger/ci_templates/Dangerfile' + - 'danger/database/Dangerfile' + - 'db/post_migrate/20210606143426_add_index_for_container_registry_access_level.rb' + - 'db/post_migrate/20220425121410_add_temporary_index_for_backfill_integrations_enable_ssl_verification.rb' + - 'db/post_migrate/20220525131624_drop_temporary_index_for_backfill_integrations_enable_ssl_verification.rb' + - 'db/post_migrate/20220920081631_prepare_ci_builds_metadata_for_partitioning_primary_key.rb' + - 'ee/app/components/namespaces/free_user_cap/usage_quota_alert_component.rb' + - 'ee/app/controllers/admin/licenses_controller.rb' + - 'ee/app/controllers/concerns/insights_actions.rb' + - 'ee/app/controllers/ee/ldap/omniauth_callbacks_controller.rb' + - 'ee/app/controllers/users/identity_verification_controller.rb' + - 'ee/app/finders/geo/framework_registry_finder.rb' + - 'ee/app/graphql/mutations/app_sec/fuzzing/api/ci_configuration/create.rb' + - 'ee/app/graphql/mutations/dast_scanner_profiles/create.rb' + - 'ee/app/graphql/mutations/issues/set_epic.rb' + - 'ee/app/graphql/mutations/issues/set_escalation_policy.rb' + - 'ee/app/graphql/mutations/issues/set_weight.rb' + - 'ee/app/graphql/mutations/requirements_management/export_requirements.rb' + - 'ee/app/graphql/mutations/security_policy/assign_security_policy_project.rb' + - 'ee/app/graphql/resolvers/analytics/contribution_analytics/contributions_resolver.rb' + - 'ee/app/graphql/resolvers/security_orchestration/scan_execution_policy_resolver.rb' + - 'ee/app/graphql/types/pipeline_security_report_finding_type.rb' + - 'ee/app/helpers/push_rules_helper.rb' + - 'ee/app/models/app_sec/fuzzing/api/ci_configuration.rb' + - 'ee/app/models/ci/minutes/notification.rb' + - 'ee/app/models/ee/group_group_link.rb' + - 'ee/app/models/ee/namespace/storage/notification.rb' + - 'ee/app/models/ee/vulnerability.rb' + - 'ee/app/services/boards/epic_lists/destroy_service.rb' + - 'ee/app/services/ee/admin/set_feature_flag_service.rb' + - 'ee/app/services/ee/auth/container_registry_authentication_service.rb' + - 'ee/app/services/ee/issues/move_service.rb' + - 'ee/app/services/ee/resource_access_tokens/revoke_service.rb' + - 'ee/app/services/merge_trains/create_pipeline_service.rb' + - 'ee/app/services/system_notes/epics_service.rb' + - 'ee/app/workers/concerns/elastic/migration_obsolete.rb' + - 'ee/elastic/migrate/20220613120500_migrate_commits_to_separate_index.rb' + - 'ee/lib/api/experiments.rb' + - 'ee/lib/api/ldap_group_links.rb' + - 'ee/lib/ee/gitlab/auth/ldap/access.rb' + - 'ee/lib/ee/gitlab/ci/pipeline/quota/size.rb' + - 'ee/lib/ee/gitlab/git_access.rb' + - 'ee/lib/ee/gitlab/namespace_storage_size_error_message.rb' + - 'ee/lib/gitlab/manual_quarterly_co_term_banner.rb' + - 'ee/lib/slack/block_kit/app_home_opened.rb' + - 'ee/lib/tasks/gitlab/geo.rake' + - 'ee/spec/components/namespaces/free_user_cap/enforcement_alert_component_spec.rb' + - 'ee/spec/components/namespaces/free_user_cap/enforcement_at_limit_alert_component_spec.rb' + - 'ee/spec/components/namespaces/free_user_cap/non_owner_alert_component_spec.rb' + - 'ee/spec/components/namespaces/free_user_cap/notification_alert_component_spec.rb' + - 'ee/spec/components/namespaces/free_user_cap/usage_quota_alert_component_spec.rb' + - 'ee/spec/components/namespaces/free_user_cap/usage_quota_trial_alert_component_spec.rb' + - 'ee/spec/controllers/admin/licenses_controller_spec.rb' + - 'ee/spec/controllers/groups/group_members_controller_spec.rb' + - 'ee/spec/controllers/projects/security/configuration_controller_spec.rb' + - 'ee/spec/features/admin/admin_emails_spec.rb' + - 'ee/spec/features/admin/licenses/admin_adds_license_spec.rb' + - 'ee/spec/features/epic_boards/epic_boards_sidebar_spec.rb' + - 'ee/spec/features/groups/group_overview_spec.rb' + - 'ee/spec/features/groups/members/manage_groups_spec.rb' + - 'ee/spec/features/groups_spec.rb' + - 'ee/spec/features/pending_group_memberships_spec.rb' + - 'ee/spec/features/projects/members/manage_groups_spec.rb' + - 'ee/spec/features/registrations/email_confirmation_spec.rb' + - 'ee/spec/features/users/identity_verification_spec.rb' + - 'ee/spec/graphql/mutations/audit_events/streaming/event_type_filters/destroy_spec.rb' + - 'ee/spec/graphql/mutations/audit_events/streaming/headers/destroy_spec.rb' + - 'ee/spec/graphql/mutations/boards/lists/update_limit_metrics_spec.rb' + - 'ee/spec/helpers/ee/labels_helper_spec.rb' + - 'ee/spec/helpers/push_rules_helper_spec.rb' + - 'ee/spec/lib/audit/group_merge_request_approval_setting_changes_auditor_spec.rb' + - 'ee/spec/lib/ee/gitlab/ci/parsers/security/validators/schema_validator_spec.rb' + - 'ee/spec/lib/ee/gitlab/ci/pipeline/quota/size_spec.rb' + - 'ee/spec/lib/ee/gitlab/namespace_storage_size_error_message_spec.rb' + - 'ee/spec/lib/gitlab/ci/pipeline/chain/limit/size_spec.rb' + - 'ee/spec/lib/gitlab/ci/templates/api_security_gitlab_ci_yaml_spec.rb' + - 'ee/spec/lib/gitlab/ci/templates/api_security_latest_gitlab_ci_yaml_spec.rb' + - 'ee/spec/lib/gitlab/ci/templates/container_scanning_gitlab_ci_yaml_spec.rb' + - 'ee/spec/lib/gitlab/ci/templates/container_scanning_latest_gitlab_ci_yaml_spec.rb' + - 'ee/spec/lib/gitlab/ci/templates/coverage_fuzzing_gitlab_ci_yaml_spec.rb' + - 'ee/spec/lib/gitlab/ci/templates/coverage_fuzzing_latest_gitlab_ci_yaml_spec.rb' + - 'ee/spec/lib/gitlab/ci/templates/dast_api_gitlab_ci_yaml_spec.rb' + - 'ee/spec/lib/gitlab/ci/templates/dast_api_latest_gitlab_ci_yaml_spec.rb' + - 'ee/spec/lib/gitlab/ci/templates/dast_gitlab_ci_yaml_spec.rb' + - 'ee/spec/lib/gitlab/ci/templates/dast_latest_gitlab_ci_yaml_spec.rb' + - 'ee/spec/lib/gitlab/ci/templates/dependency_scanning_gitlab_ci_yaml_spec.rb' + - 'ee/spec/lib/gitlab/ci/templates/dependency_scanning_latest_gitlab_ci_yaml_spec.rb' + - 'ee/spec/lib/gitlab/ci/templates/license_scanning_gitlab_ci_yaml_spec.rb' + - 'ee/spec/lib/gitlab/ci/templates/license_scanning_latest_gitlab_ci_yaml_spec.rb' + - 'ee/spec/lib/gitlab/ci/templates/sast_gitlab_ci_yaml_spec.rb' + - 'ee/spec/lib/gitlab/ci/templates/sast_iac_gitlab_ci_yaml_spec.rb' + - 'ee/spec/lib/gitlab/ci/templates/sast_latest_gitlab_ci_yaml_spec.rb' + - 'ee/spec/lib/gitlab/ci/templates/secret_detection_gitlab_ci_yaml_spec.rb' + - 'ee/spec/lib/gitlab/ci/templates/secret_detection_latest_gitlab_ci_yaml_spec.rb' + - 'ee/spec/lib/gitlab/manual_quarterly_co_term_banner_spec.rb' + - 'ee/spec/lib/gitlab/usage/metrics/instrumentations/count_deployment_approvals_metric_spec.rb' + - 'ee/spec/lib/gitlab/usage/metrics/instrumentations/protected_environment_approval_rules_required_approvals_average_metric_spec.rb' + - 'ee/spec/lib/gitlab/usage/metrics/instrumentations/protected_environments_required_approvals_average_metric_spec.rb' + - 'ee/spec/mailers/ee/emails/identity_verification_spec.rb' + - 'ee/spec/requests/api/analytics/product_analytics_spec.rb' + - 'ee/spec/requests/api/graphql/mutations/boards/lists/update_limit_metrics_spec.rb' + - 'ee/spec/requests/api/graphql/mutations/boards/update_epic_user_preferences_spec.rb' + - 'ee/spec/requests/api/graphql/mutations/iterations/cadences/create_spec.rb' + - 'ee/spec/requests/api/graphql/mutations/iterations/cadences/update_spec.rb' + - 'ee/spec/requests/api/graphql/mutations/iterations/create_spec.rb' + - 'ee/spec/requests/api/graphql/mutations/security/finding/create_issue_spec.rb' + - 'ee/spec/requests/users/identity_verification_controller_spec.rb' + - 'ee/spec/services/boards/epic_lists/destroy_service_spec.rb' + - 'ee/spec/services/ee/auth/container_registry_authentication_service_spec.rb' + - 'ee/spec/services/ee/resource_events/merge_into_notes_service_spec.rb' + - 'ee/spec/services/epics/epic_links/create_service_spec.rb' + - 'ee/spec/services/geo/container_repository_sync_spec.rb' + - 'ee/spec/services/merge_trains/create_pipeline_service_spec.rb' + - 'ee/spec/services/users/abuse/git_abuse/application_throttle_service_spec.rb' + - 'ee/spec/support/shared_examples/finders/geo/framework_registry_finder_shared_examples.rb' + - 'ee/spec/support/shared_examples/graphql/geo/geo_registries_resolver_shared_examples.rb' + - 'ee/spec/support/shared_examples/models/license_shared_examples.rb' + - 'ee/spec/views/compliance_management/compliance_framework/_project_settings.html.haml_spec.rb' + - 'ee/spec/views/groups/billings/index.html.haml_spec.rb' + - 'ee/spec/workers/ee/issuable_export_csv_worker_spec.rb' + - 'lib/api/ci/runners.rb' + - 'lib/api/dependency_proxy.rb' + - 'lib/api/error_tracking/client_keys.rb' + - 'lib/api/error_tracking/project_settings.rb' + - 'lib/api/go_proxy.rb' + - 'lib/api/helpers/pagination_strategies.rb' + - 'lib/api/issue_links.rb' + - 'lib/api/metrics/dashboard/annotations.rb' + - 'lib/backup/manager.rb' + - 'lib/banzai/filter/spaced_link_filter.rb' + - 'lib/feature/definition.rb' + - 'lib/gitlab/audit/type/definition.rb' + - 'lib/gitlab/auth.rb' + - 'lib/gitlab/background_migration/populate_operation_visibility_permissions_from_operations.rb' + - 'lib/gitlab/changelog/config.rb' + - 'lib/gitlab/checks/tag_check.rb' + - 'lib/gitlab/ci/parsers/security/validators/schema_validator.rb' + - 'lib/gitlab/ci/pipeline/chain/populate.rb' + - 'lib/gitlab/ci/pipeline/seed/build.rb' + - 'lib/gitlab/config_checker/puma_rugged_checker.rb' + - 'lib/gitlab/database/load_balancing/sidekiq_server_middleware.rb' + - 'lib/gitlab/database/migration_helpers.rb' + - 'lib/gitlab/database/migration_helpers/restrict_gitlab_schema.rb' + - 'lib/gitlab/database/migrations/background_migration_helpers.rb' + - 'lib/gitlab/database/migrations/batched_background_migration_helpers.rb' + - 'lib/gitlab/database/partitioning/partition_manager.rb' + - 'lib/gitlab/database/partitioning/sliding_list_strategy.rb' + - 'lib/gitlab/database/partitioning_migration_helpers/backfill_partitioned_table.rb' + - 'lib/gitlab/database/partitioning_migration_helpers/foreign_key_helpers.rb' + - 'lib/gitlab/database/partitioning_migration_helpers/index_helpers.rb' + - 'lib/gitlab/database/partitioning_migration_helpers/table_management_helpers.rb' + - 'lib/gitlab/database/query_analyzers/prevent_cross_database_modification.rb' + - 'lib/gitlab/database/schema_helpers.rb' + - 'lib/gitlab/database/shared_model.rb' + - 'lib/gitlab/github_import/importer/events/changed_reviewer.rb' + - 'lib/gitlab/graphql/authorize/authorize_resource.rb' + - 'lib/gitlab/i18n/po_linter.rb' + - 'lib/gitlab/import_export/project/import_task.rb' + - 'lib/gitlab/path_regex.rb' + - 'lib/gitlab/reference_counter.rb' + - 'lib/gitlab/regex.rb' + - 'lib/gitlab/seeders/ci/runner/runner_fleet_seeder.rb' + - 'lib/gitlab/slash_commands/presenters/run.rb' + - 'lib/gitlab/tracking/standard_context.rb' + - 'lib/tasks/gitlab/db/validate_config.rake' + - 'lib/tasks/gitlab/storage.rake' + - 'qa/qa/ee/page/project/settings/services/jira.rb' + - 'qa/qa/specs/features/api/4_verify/api_variable_inheritance_with_forward_pipeline_variables_spec.rb' + - 'qa/qa/support/matchers/eventually_matcher.rb' + - 'qa/qa/support/system_logs/kibana.rb' + - 'qa/qa/tools/revoke_user_personal_access_tokens.rb' + - 'qa/spec/support/page_error_checker_spec.rb' + - 'qa/spec/support/system_logs/kibana_spec.rb' + - 'rubocop/cop/active_record_association_reload.rb' + - 'rubocop/cop/api/grape_array_missing_coerce.rb' + - 'rubocop/cop/avoid_becomes.rb' + - 'rubocop/cop/avoid_keyword_arguments_in_sidekiq_workers.rb' + - 'rubocop/cop/database/establish_connection.rb' + - 'rubocop/cop/destroy_all.rb' + - 'rubocop/cop/gitlab/avoid_feature_get.rb' + - 'rubocop/cop/gitlab/change_timezone.rb' + - 'rubocop/cop/gitlab/keys_first_and_values_first.rb' + - 'rubocop/cop/gitlab/rails_logger.rb' + - 'rubocop/cop/gitlab/rspec/avoid_setup.rb' + - 'rubocop/cop/graphql/descriptions.rb' + - 'rubocop/cop/graphql/resolver_type.rb' + - 'rubocop/cop/group_public_or_visible_to_user.rb' + - 'rubocop/cop/ignored_columns.rb' + - 'rubocop/cop/inject_enterprise_edition_module.rb' + - 'rubocop/cop/migration/add_concurrent_index.rb' + - 'rubocop/cop/migration/add_limit_to_text_columns.rb' + - 'rubocop/cop/migration/create_table_with_foreign_keys.rb' + - 'rubocop/cop/migration/prevent_strings.rb' + - 'rubocop/cop/migration/remove_concurrent_index.rb' + - 'rubocop/cop/migration/update_column_in_batches.rb' + - 'rubocop/cop/migration/with_lock_retries_with_change.rb' + - 'rubocop/cop/performance/active_record_subtransaction_methods.rb' + - 'rubocop/cop/performance/active_record_subtransactions.rb' + - 'rubocop/cop/performance/ar_count_each.rb' + - 'rubocop/cop/performance/ar_exists_and_present_blank.rb' + - 'rubocop/cop/performance/readlines_each.rb' + - 'rubocop/cop/project_path_helper.rb' + - 'rubocop/cop/redis_queue_usage.rb' + - 'rubocop/cop/rspec/factory_bot/inline_association.rb' + - 'rubocop/cop/rspec/factory_bot/strategy_in_callback.rb' + - 'rubocop/cop/rspec/have_gitlab_http_status.rb' + - 'rubocop/cop/sidekiq_api_usage.rb' + - 'rubocop/cop/user_admin.rb' + - 'scripts/create-pipeline-failure-incident.rb' + - 'scripts/generate-failed-pipeline-slack-message.rb' + - 'scripts/lib/glfm/parse_examples.rb' + - 'scripts/lib/glfm/update_example_snapshots.rb' + - 'scripts/lib/glfm/update_specification.rb' + - 'scripts/lib/glfm/verify_all_generated_files_are_up_to_date.rb' + - 'scripts/packages/automated_cleanup.rb' + - 'spec/contracts/provider_specs/helpers/provider/contract_source_helper_spec.rb' + - 'spec/controllers/graphql_controller_spec.rb' + - 'spec/controllers/projects/deploy_keys_controller_spec.rb' + - 'spec/features/groups/show_spec.rb' + - 'spec/features/projects/files/user_browses_files_spec.rb' + - 'spec/features/projects/files/user_creates_directory_spec.rb' + - 'spec/features/projects/files/user_creates_files_spec.rb' + - 'spec/features/projects/files/user_deletes_files_spec.rb' + - 'spec/features/projects/files/user_replaces_files_spec.rb' + - 'spec/features/projects/issues/viewing_issues_with_external_authorization_enabled_spec.rb' + - 'spec/features/projects/pipelines/pipeline_spec.rb' + - 'spec/finders/groups/projects_requiring_authorizations_refresh/on_direct_membership_finder_spec.rb' + - 'spec/helpers/markup_helper_spec.rb' + - 'spec/lib/banzai/filter/inline_grafana_metrics_filter_spec.rb' + - 'spec/lib/banzai/filter/truncate_visible_filter_spec.rb' + - 'spec/lib/gitlab/background_migration/batched_migration_job_spec.rb' + - 'spec/lib/gitlab/ci/ansi2html_spec.rb' + - 'spec/lib/gitlab/ci/parsers/sbom/validators/cyclonedx_schema_validator_spec.rb' + - 'spec/lib/gitlab/ci/parsers/security/validators/schema_validator_spec.rb' + - 'spec/lib/gitlab/ci/pipeline/chain/populate_spec.rb' + - 'spec/lib/gitlab/ci/status/bridge/factory_spec.rb' + - 'spec/lib/gitlab/ci/templates/Jobs/code_quality_gitlab_ci_yaml_spec.rb' + - 'spec/lib/gitlab/ci/templates/Jobs/sast_iac_gitlab_ci_yaml_spec.rb' + - 'spec/lib/gitlab/ci/templates/Jobs/sast_iac_latest_gitlab_ci_yaml_spec.rb' + - 'spec/lib/gitlab/ci/templates/Jobs/test_gitlab_ci_yaml_spec.rb' + - 'spec/lib/gitlab/ci/templates/npm_spec.rb' + - 'spec/lib/gitlab/ci/templates/themekit_gitlab_ci_yaml_spec.rb' + - 'spec/lib/gitlab/database/background_migration/batched_migration_runner_spec.rb' + - 'spec/lib/gitlab/database/migrations/batched_background_migration_helpers_spec.rb' + - 'spec/lib/gitlab/email/message/build_ios_app_guide_spec.rb' + - 'spec/lib/gitlab/email/message/in_product_marketing/helper_spec.rb' + - 'spec/lib/gitlab/github_import/markdown_text_spec.rb' + - 'spec/lib/gitlab/github_import/representation/issue_event_spec.rb' + - 'spec/lib/gitlab/insecure_key_fingerprint_spec.rb' + - 'spec/lib/gitlab/metrics/dashboard/stages/metric_endpoint_inserter_spec.rb' + - 'spec/lib/gitlab/prometheus/queries/validate_query_spec.rb' + - 'spec/lib/gitlab/redis/multi_store_spec.rb' + - 'spec/lib/gitlab/reference_counter_spec.rb' + - 'spec/lib/gitlab/usage/metrics/instrumentations/count_bulk_imports_entities_metric_spec.rb' + - 'spec/lib/gitlab/usage/metrics/instrumentations/count_imported_projects_metric_spec.rb' + - 'spec/lib/gitlab/usage/metrics/instrumentations/count_imported_projects_total_metric_spec.rb' + - 'spec/lib/gitlab/usage/metrics/instrumentations/gitlab_for_jira_app_direct_installations_count_metric_spec.rb' + - 'spec/lib/gitlab/usage/metrics/instrumentations/gitlab_for_jira_app_proxy_installations_count_metric_spec.rb' + - 'spec/lib/gitlab/usage/metrics/instrumentations/in_product_marketing_email_cta_clicked_metric_spec.rb' + - 'spec/lib/gitlab/usage/metrics/instrumentations/in_product_marketing_email_sent_metric_spec.rb' + - 'spec/lib/gitlab/utils/gzip_spec.rb' + - 'spec/mailers/emails/identity_verification_spec.rb' + - 'spec/mailers/emails/projects_spec.rb' + - 'spec/models/active_session_spec.rb' + - 'spec/models/integrations/chat_message/note_message_spec.rb' + - 'spec/models/integrations/chat_message/pipeline_message_spec.rb' + - 'spec/models/integrations/chat_message/push_message_spec.rb' + - 'spec/models/integrations/chat_message/wiki_page_message_spec.rb' + - 'spec/models/member_spec.rb' + - 'spec/models/members/member_role_spec.rb' + - 'spec/models/operations/feature_flags_client_spec.rb' + - 'spec/models/ssh_host_key_spec.rb' + - 'spec/presenters/ci/pipeline_presenter_spec.rb' + - 'spec/presenters/deploy_key_presenter_spec.rb' + - 'spec/presenters/key_presenter_spec.rb' + - 'spec/presenters/releases/link_presenter_spec.rb' + - 'spec/requests/api/graphql/mutations/ci/pipeline_schedule_delete_spec.rb' + - 'spec/requests/api/graphql/mutations/ci/pipeline_schedule_play_spec.rb' + - 'spec/requests/api/graphql/mutations/clusters/agents/delete_spec.rb' + - 'spec/requests/api/releases_spec.rb' + - 'spec/requests/api/users_spec.rb' + - 'spec/requests/self_monitoring_project_spec.rb' + - 'spec/rubocop/cop/api/grape_array_missing_coerce_spec.rb' + - 'spec/rubocop/cop/group_public_or_visible_to_user_spec.rb' + - 'spec/rubocop/cop/migration/create_table_with_foreign_keys_spec.rb' + - 'spec/scripts/lib/glfm/update_example_snapshots_spec.rb' + - 'spec/serializers/pipeline_serializer_spec.rb' + - 'spec/services/alert_management/alerts/update_service_spec.rb' + - 'spec/services/ci/create_downstream_pipeline_service_spec.rb' + - 'spec/services/ci/create_pipeline_service/rules_spec.rb' + - 'spec/services/ci/create_pipeline_service_spec.rb' + - 'spec/services/ci/job_artifacts/delete_service_spec.rb' + - 'spec/services/preview_markdown_service_spec.rb' + - 'spec/services/prometheus/proxy_variable_substitution_service_spec.rb' + - 'spec/services/snippets/create_service_spec.rb' + - 'spec/services/users/email_verification/validate_token_service_spec.rb' + - 'spec/services/work_items/parent_links/create_service_spec.rb' + - 'spec/support/before_all_adapter.rb' + - 'spec/support/helpers/database/multiple_databases_helpers.rb' + - 'spec/support/helpers/redis_without_keys.rb' + - 'spec/support/matchers/have_gitlab_http_status.rb' + - 'spec/support/memory_instrumentation_helper.rb' + - 'spec/support/shared_examples/features/project_upload_files_shared_examples.rb' + - 'spec/support/shared_examples/lib/email/email_shared_examples.rb' + - 'spec/support/shared_examples/requests/api/notes_shared_examples.rb' + - 'spec/support/shared_examples/requests/self_monitoring_shared_examples.rb' + - 'spec/tooling/lib/tooling/kubernetes_client_spec.rb' + - 'spec/uploaders/file_mover_spec.rb' + - 'spec/views/devise/shared/_signup_box.html.haml_spec.rb' + - 'spec/views/projects/pages/show.html.haml_spec.rb' + - 'spec/workers/integrations/irker_worker_spec.rb' diff --git a/.rubocop_todo/layout/line_length.yml b/.rubocop_todo/layout/line_length.yml index 07e7b374db..b55a274d06 100644 --- a/.rubocop_todo/layout/line_length.yml +++ b/.rubocop_todo/layout/line_length.yml @@ -17,7 +17,6 @@ Layout/LineLength: - 'app/controllers/concerns/analytics/cycle_analytics/stage_actions.rb' - 'app/controllers/concerns/clientside_preview_csp.rb' - 'app/controllers/concerns/confirm_email_warning.rb' - - 'app/controllers/concerns/cycle_analytics_params.rb' - 'app/controllers/concerns/integrations/actions.rb' - 'app/controllers/concerns/issuable_actions.rb' - 'app/controllers/concerns/issuable_collections.rb' @@ -43,7 +42,6 @@ Layout/LineLength: - 'app/controllers/groups/settings/integrations_controller.rb' - 'app/controllers/groups/settings/repository_controller.rb' - 'app/controllers/groups_controller.rb' - - 'app/controllers/import/available_namespaces_controller.rb' - 'app/controllers/import/base_controller.rb' - 'app/controllers/import/bitbucket_controller.rb' - 'app/controllers/import/bitbucket_server_controller.rb' @@ -314,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' @@ -329,7 +326,6 @@ Layout/LineLength: - 'app/models/concerns/enums/vulnerability.rb' - 'app/models/concerns/fast_destroy_all.rb' - 'app/models/concerns/group_descendant.rb' - - 'app/models/concerns/has_user_type.rb' - 'app/models/concerns/id_in_ordered.rb' - 'app/models/concerns/ignorable_columns.rb' - 'app/models/concerns/iid_routes.rb' @@ -465,7 +461,6 @@ Layout/LineLength: - 'app/models/wiki_page.rb' - 'app/policies/base_policy.rb' - 'app/policies/global_policy.rb' - - 'app/policies/group_member_policy.rb' - 'app/policies/group_policy.rb' - 'app/policies/project_policy.rb' - 'app/presenters/blob_presenter.rb' @@ -520,12 +515,7 @@ Layout/LineLength: - 'app/services/ci/runners/unregister_runner_service.rb' - 'app/services/clusters/agent_tokens/create_service.rb' - 'app/services/clusters/agents/delete_service.rb' - - 'app/services/clusters/applications/check_progress_service.rb' - - 'app/services/clusters/aws/finalize_creation_service.rb' - - 'app/services/clusters/aws/verify_provision_status_service.rb' - 'app/services/clusters/build_kubernetes_namespace_service.rb' - - 'app/services/clusters/gcp/finalize_creation_service.rb' - - 'app/services/clusters/gcp/verify_provision_status_service.rb' - 'app/services/clusters/integrations/create_service.rb' - 'app/services/clusters/integrations/prometheus_health_check_service.rb' - 'app/services/clusters/kubernetes/create_or_update_service_account_service.rb' @@ -717,7 +707,6 @@ Layout/LineLength: - 'app/workers/merge_request_mergeability_check_worker.rb' - 'app/workers/object_storage/migrate_uploads_worker.rb' - 'app/workers/packages/maven/metadata/sync_worker.rb' - - 'app/workers/personal_access_tokens/expired_notification_worker.rb' - 'app/workers/pipeline_metrics_worker.rb' - 'app/workers/repository_fork_worker.rb' - 'app/workers/repository_import_worker.rb' @@ -766,49 +755,6 @@ Layout/LineLength: - 'danger/roulette/Dangerfile' - 'danger/vue_shared_documentation/Dangerfile' - 'danger/z_metadata/Dangerfile' - - 'db/migrate/20210302103851_add_deployed_deployment_id_index_to_project_pages_metadata.rb' - - 'db/migrate/20210302155904_remove_index_for_security_orchestration_policy.rb' - - 'db/migrate/20210302160544_add_index_to_security_orchestration_policy.rb' - - 'db/migrate/20210305031822_create_dast_site_profile_variables.rb' - - 'db/migrate/20210305182855_create_ci_unit_test_failures.rb' - - 'db/migrate/20210313045845_add_verification_indexes_to_snippet_repositories.rb' - - 'db/migrate/20210316171009_create_packages_helm_file_metadata.rb' - - 'db/migrate/20210317035357_create_dast_profiles_pipelines.rb' - - 'db/migrate/20210317123054_add_throttle_package_registry_columns.rb' - - 'db/migrate/20210323131543_add_external_approval_rule_foreign_key_to_status_check_responses.rb' - - 'db/migrate/20210325152011_add_verification_indexes_to_ci_pipeline_artifacts.rb' - - 'db/migrate/20210326190903_create_vulnerability_finding_evidences.rb' - - 'db/migrate/20210409084242_create_index_on_notes_for_cherry_picked_merge_requests.rb' - - 'db/migrate/20210412111213_create_security_orchestration_policy_rule_schedule.rb' - - 'db/migrate/20210414133310_add_bulk_import_export_uploads_table.rb' - - 'db/migrate/20210415142700_add_url_limit_to_pipeline_validation.rb' - - 'db/migrate/20210415172516_create_vulnerability_finding_evidence_requests.rb' - - 'db/migrate/20210416172516_create_vulnerability_finding_evidence_responses.rb' - - 'db/migrate/20210420173030_add_verification_indexes_to_terraform_state_versions.rb' - - 'db/migrate/20210420210642_recreate_index_for_project_deployments_with_environment_id_and_date_at.rb' - - 'db/migrate/20210422142647_add_project_id_next_run_at_index_to_container_expiration_policies.rb' - - 'db/migrate/20210422195929_create_elastic_reindexing_slices.rb' - - 'db/migrate/20210423054022_create_dast_site_profiles_pipelines.rb' - - 'db/migrate/20210423054537_add_dast_site_profile_id_fk_to_dast_site_profiles_pipelines.rb' - - 'db/migrate/20210423054846_add_ci_pipeline_id_fk_to_dast_site_profiles_pipelines.rb' - - 'db/migrate/20210423171304_re_order_fk_source_project_id_in_merge_requests.rb' - - 'db/migrate/20210427062807_add_index_to_batched_migration_jobs_status.rb' - - 'db/migrate/20210427094931_add_execution_order_index_to_batched_background_migration_jobs.rb' - - 'db/migrate/20210429032320_add_escalation_rules.rb' - - 'db/migrate/20210505170152_add_verification_indexes_to_merge_request_diff_details_table.rb' - - 'db/migrate/20210506150833_create_vulnerability_finding_evidence_headers.rb' - - 'db/migrate/20210511104929_add_epic_board_recent_visits_table.rb' - - 'db/migrate/20210511165250_add_foreign_key_to_lfs_objects_projects.rb' - - 'db/migrate/20210512120122_add_pending_builds_table.rb' - - 'db/migrate/20210521073920_drop_devops_adoption_namespace_uniqueness.rb' - - 'db/migrate/20210526181821_add_foreign_key_for_latest_pipeline_id_to_ci_pipelines.rb' - - 'db/migrate/20210527194558_create_ci_job_token_project_scope_links.rb' - - 'db/migrate/20210529164247_change_iterations_title_uniqueness_index.rb' - - 'db/migrate/20210601123341_add_running_builds_table.rb' - - 'db/migrate/20210601125410_add_runners_created_at_index.rb' - - 'db/migrate/20210601132134_remove_partial_index_for_hashed_storage_migration.rb' - - 'db/migrate/20210601133459_replace_runners_contacted_at_index.rb' - - 'db/migrate/20210602122233_add_runners_description_index.rb' - 'db/migrate/20210604032738_create_dast_site_profiles_builds.rb' - 'db/migrate/20210604034354_add_dast_site_profile_id_fk_to_dast_site_profiles_builds.rb' - 'db/migrate/20210604051330_create_dast_scanner_profiles_builds.rb' @@ -912,16 +858,6 @@ Layout/LineLength: - 'db/migrate/20220310101118_update_holder_name_limit.rb' - 'db/migrate/20220314184209_add_group_fk_to_protected_environment_approval_rules.rb' - 'db/migrate/20220314204009_add_approval_rule_fk_to_deployment_approvals.rb' - - 'db/post_migrate/20210328214434_remove_temporary_index_from_vulnerabilities_table.rb' - - 'db/post_migrate/20210401131948_move_container_registry_enabled_to_project_features2.rb' - - 'db/post_migrate/20210402005225_add_source_and_level_index_on_notification_settings.rb' - - 'db/post_migrate/20210407150240_confirm_support_bot_user.rb' - - 'db/post_migrate/20210415155043_move_container_registry_enabled_to_project_features3.rb' - - 'db/post_migrate/20210430121542_backfill_ci_build_trace_sections_for_bigint_conversion.rb' - - 'db/post_migrate/20210505092746_create_partial_covering_index_for_pending_builds.rb' - - 'db/post_migrate/20210513163904_cleanup_move_container_registry_enabled_to_project_feature.rb' - - 'db/post_migrate/20210514063252_schedule_cleanup_orphaned_lfs_objects_projects.rb' - - 'db/post_migrate/20210526160133_remove_segment_selections_table.rb' - 'db/post_migrate/20210606143426_add_index_for_container_registry_access_level.rb' - 'db/post_migrate/20210611080951_fix_missing_traversal_ids.rb' - 'db/post_migrate/20210615234935_fix_batched_migrations_old_format_job_arguments.rb' @@ -969,7 +905,6 @@ Layout/LineLength: - 'db/post_migrate/20211112113300_remove_ci_pipeline_chat_data_fk_on_chat_names.rb' - 'db/post_migrate/20211118194239_drop_invalid_remediations.rb' - 'db/post_migrate/20211201101541_drop_clusters_applications_runners_ci_runners_fk.rb' - - 'db/post_migrate/20211206162601_cleanup_after_add_primary_email_to_emails_if_user_confirmed.rb' - 'db/post_migrate/20211207173510_remove_extra_finding_evidence_tables_foreign_keys.rb' - 'db/post_migrate/20211207173511_remove_extra_finding_evidence_tables.rb' - 'db/post_migrate/20211209103048_backfill_project_namespaces_for_group.rb' @@ -1175,7 +1110,6 @@ Layout/LineLength: - 'ee/app/helpers/billing_plans_helper.rb' - 'ee/app/helpers/ee/application_helper.rb' - 'ee/app/helpers/ee/button_helper.rb' - - 'ee/app/helpers/ee/environments_helper.rb' - 'ee/app/helpers/ee/feature_flags_helper.rb' - 'ee/app/helpers/ee/geo_helper.rb' - 'ee/app/helpers/ee/groups/analytics/cycle_analytics_helper.rb' @@ -1213,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' @@ -1429,7 +1362,6 @@ Layout/LineLength: - 'ee/app/services/merge_trains/create_pipeline_service.rb' - 'ee/app/services/merge_trains/refresh_merge_request_service.rb' - 'ee/app/services/personal_access_tokens/rotation_verifier_service.rb' - - 'ee/app/services/projects/licenses/create_policy_service.rb' - 'ee/app/services/projects/mark_for_deletion_service.rb' - 'ee/app/services/projects/update_mirror_service.rb' - 'ee/app/services/resource_events/change_weight_service.rb' @@ -1536,9 +1468,7 @@ Layout/LineLength: - 'ee/lib/api/project_push_rule.rb' - 'ee/lib/api/protected_environments.rb' - 'ee/lib/api/resource_iteration_events.rb' - - 'ee/lib/api/scim.rb' - 'ee/lib/api/status_checks.rb' - - 'ee/lib/api/vulnerability_findings.rb' - 'ee/lib/api/vulnerability_issue_links.rb' - 'ee/lib/ee/api/deployments.rb' - 'ee/lib/ee/api/entities/application_setting.rb' @@ -1590,7 +1520,6 @@ Layout/LineLength: - 'ee/lib/ee/gitlab/ci/pipeline/chain/create_cross_database_associations.rb' - 'ee/lib/ee/gitlab/ci/pipeline/chain/validate/after_config.rb' - 'ee/lib/ee/gitlab/ci/pipeline/chain/validate/security_orchestration_policy.rb' - - 'ee/lib/ee/gitlab/ci/reports/security/reports.rb' - 'ee/lib/ee/gitlab/ci/status/build/manual.rb' - 'ee/lib/ee/gitlab/git_access.rb' - 'ee/lib/ee/gitlab/import_export/after_export_strategies/custom_template_export_import_strategy.rb' @@ -1601,7 +1530,6 @@ Layout/LineLength: - 'ee/lib/ee/gitlab/quick_actions/issue_actions.rb' - 'ee/lib/ee/gitlab/rack_attack.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/panel.rb' - 'ee/lib/ee/sidebars/projects/menus/security_compliance_menu.rb' @@ -1724,7 +1652,6 @@ Layout/LineLength: - 'ee/spec/controllers/projects/subscriptions_controller_spec.rb' - 'ee/spec/controllers/projects/vulnerability_feedback_controller_spec.rb' - 'ee/spec/controllers/projects_controller_spec.rb' - - 'ee/spec/controllers/registrations/welcome_controller_spec.rb' - 'ee/spec/controllers/subscriptions/groups_controller_spec.rb' - 'ee/spec/controllers/subscriptions_controller_spec.rb' - 'ee/spec/elastic/migrate/migration_shared_examples.rb' @@ -1859,7 +1786,6 @@ Layout/LineLength: - '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/security/findings_finder_spec.rb' - 'ee/spec/finders/security/pipeline_vulnerabilities_finder_spec.rb' - 'ee/spec/finders/security/training_providers/base_url_finder_spec.rb' @@ -1979,7 +1905,6 @@ Layout/LineLength: - 'ee/spec/helpers/ee/subscribable_banner_helper_spec.rb' - 'ee/spec/helpers/ee/users/callouts_helper_spec.rb' - 'ee/spec/helpers/ee/version_check_helper_spec.rb' - - 'ee/spec/helpers/ee/welcome_helper_spec.rb' - 'ee/spec/helpers/epics_helper_spec.rb' - 'ee/spec/helpers/gitlab_subscriptions/upcoming_reconciliation_helper_spec.rb' - 'ee/spec/helpers/groups/security_features_helper_spec.rb' @@ -2040,14 +1965,12 @@ Layout/LineLength: - 'ee/spec/lib/ee/gitlab/elastic/helper_spec.rb' - 'ee/spec/lib/ee/gitlab/email/handler/service_desk_handler_spec.rb' - 'ee/spec/lib/ee/gitlab/etag_caching/router/rails_spec.rb' - - 'ee/spec/lib/ee/gitlab/git_access_snippet_spec.rb' - 'ee/spec/lib/ee/gitlab/gon_helper_spec.rb' - 'ee/spec/lib/ee/gitlab/group_search_results_spec.rb' - 'ee/spec/lib/ee/gitlab/import_export/project/tree_restorer_spec.rb' - 'ee/spec/lib/ee/gitlab/import_export/wiki_repo_saver_spec.rb' - '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/deprovision_service_spec.rb' - 'ee/spec/lib/ee/gitlab/security/scan_configuration_spec.rb' - 'ee/spec/lib/ee/gitlab/url_builder_spec.rb' - 'ee/spec/lib/ee/gitlab/usage/service_ping/payload_keys_processor_spec.rb' @@ -2202,7 +2125,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' @@ -2266,7 +2188,6 @@ Layout/LineLength: - 'ee/spec/models/ee/project_authorization_spec.rb' - 'ee/spec/models/ee/protected_branch_spec.rb' - 'ee/spec/models/ee/service_desk_setting_spec.rb' - - 'ee/spec/models/ee/user_highest_role_spec.rb' - 'ee/spec/models/ee/user_spec.rb' - 'ee/spec/models/ee/vulnerability_spec.rb' - 'ee/spec/models/elastic/migration_record_spec.rb' @@ -2426,7 +2347,6 @@ Layout/LineLength: - 'ee/spec/requests/api/graphql/project/incident_management/escalation_policies_spec.rb' - 'ee/spec/requests/api/graphql/project/incident_management/escalation_policy/rules_spec.rb' - 'ee/spec/requests/api/graphql/project/incident_management/oncall_shifts_spec.rb' - - 'ee/spec/requests/api/graphql/project/issues_spec.rb' - 'ee/spec/requests/api/graphql/project/pipeline/security_report_summary_spec.rb' - 'ee/spec/requests/api/graphql/project/requirements_management/requirements_spec.rb' - 'ee/spec/requests/api/graphql/project/vulnerability_severities_count_spec.rb' @@ -2462,7 +2382,6 @@ Layout/LineLength: - 'ee/spec/requests/api/related_epic_links_spec.rb' - 'ee/spec/requests/api/releases_spec.rb' - 'ee/spec/requests/api/resource_iteration_events_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' @@ -2587,7 +2506,6 @@ Layout/LineLength: - 'ee/spec/services/ee/issues/move_service_spec.rb' - 'ee/spec/services/ee/issues/update_service_spec.rb' - 'ee/spec/services/ee/members/destroy_service_spec.rb' - - 'ee/spec/services/ee/merge_requests/after_create_service_spec.rb' - 'ee/spec/services/ee/merge_requests/create_from_vulnerability_data_service_spec.rb' - 'ee/spec/services/ee/merge_requests/post_merge_service_spec.rb' - 'ee/spec/services/ee/merge_requests/refresh_service_spec.rb' @@ -2803,7 +2721,6 @@ Layout/LineLength: - 'ee/spec/views/layouts/nav/sidebar/_project.html.haml_spec.rb' - 'ee/spec/views/operations/environments.html.haml_spec.rb' - 'ee/spec/views/projects/security/discover/show.html.haml_spec.rb' - - 'ee/spec/views/registrations/welcome/show.html.haml_spec.rb' - 'ee/spec/views/shared/_mirror_status.html.haml_spec.rb' - 'ee/spec/views/shared/_namespace_user_cap_reached_alert.html.haml_spec.rb' - 'ee/spec/views/shared/billings/_eoa_bronze_plan_banner.html.haml_spec.rb' @@ -2830,7 +2747,6 @@ Layout/LineLength: - 'ee/spec/workers/geo/destroy_worker_spec.rb' - 'ee/spec/workers/geo/project_sync_worker_spec.rb' - 'ee/spec/workers/geo/prune_event_log_worker_spec.rb' - - 'ee/spec/workers/geo/registry_sync_worker_spec.rb' - 'ee/spec/workers/geo/repositories_clean_up_worker_spec.rb' - 'ee/spec/workers/geo/repository_shard_sync_worker_spec.rb' - 'ee/spec/workers/geo/repository_verification/primary/shard_worker_spec.rb' @@ -3037,7 +2953,6 @@ Layout/LineLength: - 'lib/gitlab/auth/o_auth/user.rb' - 'lib/gitlab/auth/saml/auth_hash.rb' - 'lib/gitlab/auth/user_access_denied_reason.rb' - - 'lib/gitlab/background_migration/add_primary_email_to_emails_if_user_confirmed.rb' - 'lib/gitlab/background_migration/backfill_issue_search_data.rb' - 'lib/gitlab/background_migration/backfill_iteration_cadence_id_for_boards.rb' - 'lib/gitlab/background_migration/backfill_snippet_repositories.rb' @@ -3086,7 +3001,6 @@ Layout/LineLength: - 'lib/gitlab/ci/config/entry/trigger.rb' - 'lib/gitlab/ci/config/external/file/project.rb' - 'lib/gitlab/ci/config/external/file/remote.rb' - - 'lib/gitlab/ci/config/external/mapper.rb' - 'lib/gitlab/ci/parsers/coverage/cobertura.rb' - 'lib/gitlab/ci/parsers/coverage/sax_document.rb' - 'lib/gitlab/ci/parsers/security/common.rb' @@ -3101,7 +3015,6 @@ Layout/LineLength: - 'lib/gitlab/ci/pipeline/seed/build.rb' - 'lib/gitlab/ci/reports/codequality_reports.rb' - 'lib/gitlab/ci/reports/security/finding.rb' - - 'lib/gitlab/ci/reports/security/reports.rb' - 'lib/gitlab/ci/reports/test_case.rb' - 'lib/gitlab/ci/reports/test_suite.rb' - 'lib/gitlab/ci/reports/test_suite_comparer.rb' @@ -3156,7 +3069,6 @@ Layout/LineLength: - 'lib/gitlab/database/reflection.rb' - 'lib/gitlab/database/reindexing.rb' - 'lib/gitlab/database/reindexing/coordinator.rb' - - 'lib/gitlab/database/reindexing/grafana_notifier.rb' - 'lib/gitlab/database/reindexing/reindex_concurrently.rb' - 'lib/gitlab/database/schema_migrations/context.rb' - 'lib/gitlab/database/similarity_score.rb' @@ -3310,7 +3222,6 @@ Layout/LineLength: - 'lib/gitlab/quick_actions/relate_actions.rb' - 'lib/gitlab/rack_attack.rb' - 'lib/gitlab/redis/wrapper.rb' - - 'lib/gitlab/reference_extractor.rb' - 'lib/gitlab/regex.rb' - 'lib/gitlab/relative_positioning/item_context.rb' - 'lib/gitlab/repository_size_error_message.rb' @@ -3427,15 +3338,9 @@ Layout/LineLength: - 'qa/qa/resource/protected_branch.rb' - 'qa/qa/resource/registry_repository.rb' - 'qa/qa/resource/repository/push.rb' - - 'qa/qa/resource/reusable.rb' - - 'qa/qa/resource/reusable_collection.rb' - - 'qa/qa/resource/reusable_group.rb' - - 'qa/qa/resource/reusable_project.rb' - - 'qa/qa/resource/runner.rb' - 'qa/qa/resource/snippet.rb' - 'qa/qa/resource/wiki/group_page.rb' - 'qa/qa/runtime/api/repository_storage_moves.rb' - - 'qa/qa/runtime/application_settings.rb' - 'qa/qa/runtime/env.rb' - 'qa/qa/runtime/feature.rb' - 'qa/qa/runtime/fixtures.rb' @@ -3550,9 +3455,7 @@ Layout/LineLength: - '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_trial_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/11_fulfillment/purchase/upgrade_group_spec.rb' - 'qa/qa/specs/features/ee/browser_ui/11_fulfillment/purchase/user_registration_billing_spec.rb' - 'qa/qa/specs/features/ee/browser_ui/13_secure/enable_scanning_from_configuration_spec.rb' - 'qa/qa/specs/features/ee/browser_ui/13_secure/license_compliance_spec.rb' @@ -3633,7 +3536,6 @@ Layout/LineLength: - 'scripts/changed-feature-flags' - 'scripts/failed_tests.rb' - 'scripts/flaky_examples/prune-old-flaky-examples' - - 'scripts/lib/gitlab.rb' - 'scripts/lint_templates_bash.rb' - 'scripts/no-dir-check' - 'scripts/perf/query_limiting_report.rb' @@ -3674,7 +3576,6 @@ Layout/LineLength: - 'spec/controllers/groups/settings/applications_controller_spec.rb' - 'spec/controllers/groups/settings/integrations_controller_spec.rb' - 'spec/controllers/groups_controller_spec.rb' - - 'spec/controllers/import/available_namespaces_controller_spec.rb' - 'spec/controllers/import/bitbucket_controller_spec.rb' - 'spec/controllers/import/bitbucket_server_controller_spec.rb' - 'spec/controllers/import/bulk_imports_controller_spec.rb' @@ -3748,7 +3649,6 @@ Layout/LineLength: - 'spec/db/schema_spec.rb' - 'spec/deprecation_toolkit_env.rb' - 'spec/experiments/concerns/project_commit_count_spec.rb' - - 'spec/factories/ci/builds.rb' - 'spec/factories/ci/job_artifacts.rb' - 'spec/factories/ci/pipelines.rb' - 'spec/factories/ci/reports/codequality_degradations.rb' @@ -3844,7 +3744,6 @@ Layout/LineLength: - 'spec/features/markdown/gitlab_flavored_markdown_spec.rb' - 'spec/features/markdown/metrics_spec.rb' - 'spec/features/merge_request/batch_comments_spec.rb' - - 'spec/features/merge_request/maintainer_edits_fork_spec.rb' - 'spec/features/merge_request/user_accepts_merge_request_spec.rb' - 'spec/features/merge_request/user_allows_commits_from_memebers_who_can_merge_spec.rb' - 'spec/features/merge_request/user_assigns_themselves_spec.rb' @@ -3965,7 +3864,6 @@ Layout/LineLength: - 'spec/features/security/project/snippet/public_access_spec.rb' - 'spec/features/signed_commits_spec.rb' - 'spec/features/snippets/embedded_snippet_spec.rb' - - 'spec/features/snippets/spam_snippets_spec.rb' - 'spec/features/snippets/user_edits_snippet_spec.rb' - 'spec/features/task_lists_spec.rb' - 'spec/features/unsubscribe_links_spec.rb' @@ -4176,7 +4074,6 @@ Layout/LineLength: - 'spec/helpers/users_helper_spec.rb' - 'spec/helpers/visibility_level_helper_spec.rb' - 'spec/helpers/webpack_helper_spec.rb' - - 'spec/helpers/wiki_helper_spec.rb' - 'spec/helpers/wiki_page_version_helper_spec.rb' - 'spec/initializers/00_rails_disable_joins_spec.rb' - 'spec/initializers/6_validations_spec.rb' @@ -4304,7 +4201,6 @@ Layout/LineLength: - 'spec/lib/gitlab/auth/user_access_denied_reason_spec.rb' - 'spec/lib/gitlab/auth_spec.rb' - 'spec/lib/gitlab/authorized_keys_spec.rb' - - 'spec/lib/gitlab/background_migration/add_primary_email_to_emails_if_user_confirmed_spec.rb' - 'spec/lib/gitlab/background_migration/backfill_issue_search_data_spec.rb' - 'spec/lib/gitlab/background_migration/backfill_member_namespace_for_group_members_spec.rb' - 'spec/lib/gitlab/background_migration/backfill_project_repositories_spec.rb' @@ -4388,7 +4284,6 @@ Layout/LineLength: - 'spec/lib/gitlab/ci/pipeline_object_hierarchy_spec.rb' - 'spec/lib/gitlab/ci/reports/codequality_mr_diff_spec.rb' - 'spec/lib/gitlab/ci/reports/security/flag_spec.rb' - - 'spec/lib/gitlab/ci/reports/security/reports_spec.rb' - 'spec/lib/gitlab/ci/reports/security/scanner_spec.rb' - 'spec/lib/gitlab/ci/reports/security/vulnerability_reports_comparer_spec.rb' - 'spec/lib/gitlab/ci/runner_upgrade_check_spec.rb' @@ -4458,7 +4353,6 @@ Layout/LineLength: - 'spec/lib/gitlab/database/query_analyzer_spec.rb' - 'spec/lib/gitlab/database/query_analyzers/prevent_cross_database_modification_spec.rb' - 'spec/lib/gitlab/database/query_analyzers/restrict_allowed_schemas_spec.rb' - - 'spec/lib/gitlab/database/reindexing/grafana_notifier_spec.rb' - 'spec/lib/gitlab/database/reindexing/reindex_concurrently_spec.rb' - 'spec/lib/gitlab/database/reindexing_spec.rb' - 'spec/lib/gitlab/database/rename_reserved_paths_migration/v1/rename_base_spec.rb' @@ -4555,7 +4449,6 @@ Layout/LineLength: - 'spec/lib/gitlab/import_export/base/relation_object_saver_spec.rb' - 'spec/lib/gitlab/import_export/command_line_util_spec.rb' - 'spec/lib/gitlab/import_export/fast_hash_serializer_spec.rb' - - 'spec/lib/gitlab/import_export/group/legacy_tree_restorer_spec.rb' - 'spec/lib/gitlab/import_export/import_failure_service_spec.rb' - 'spec/lib/gitlab/import_export/importer_spec.rb' - 'spec/lib/gitlab/import_export/json/ndjson_reader_spec.rb' @@ -4663,7 +4556,6 @@ Layout/LineLength: - 'spec/lib/gitlab/search_results_spec.rb' - 'spec/lib/gitlab/serializer/pagination_spec.rb' - 'spec/lib/gitlab/serverless/service_spec.rb' - - 'spec/lib/gitlab/shell_spec.rb' - 'spec/lib/gitlab/sidekiq_config/worker_router_spec.rb' - 'spec/lib/gitlab/sidekiq_daemon/memory_killer_spec.rb' - 'spec/lib/gitlab/sidekiq_logging/structured_logger_spec.rb' @@ -4755,10 +4647,6 @@ Layout/LineLength: - 'spec/mailers/emails/releases_spec.rb' - 'spec/mailers/emails/service_desk_spec.rb' - 'spec/mailers/notify_spec.rb' - - 'spec/migrations/20210423160427_schedule_drop_invalid_vulnerabilities_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/20210610153556_delete_legacy_operations_feature_flags_spec.rb' - 'spec/migrations/2021061716138_cascade_delete_freeze_periods_spec.rb' - 'spec/migrations/20210713042000_fix_ci_sources_pipelines_index_names_spec.rb' @@ -4789,19 +4677,11 @@ Layout/LineLength: - 'spec/migrations/add_upvotes_count_index_to_issues_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_escalation_policies_for_oncall_schedules_spec.rb' - - 'spec/migrations/backfill_nuget_temporary_packages_to_processing_status_spec.rb' - 'spec/migrations/backfill_project_namespaces_for_group_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_move_container_registry_enabled_to_project_feature_spec.rb' - - 'spec/migrations/confirm_support_bot_user_spec.rb' - - 'spec/migrations/delete_security_findings_without_uuid_spec.rb' - 'spec/migrations/finalize_project_namespaces_backfill_spec.rb' - '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/populate_dismissal_information_for_vulnerabilities_spec.rb' - 'spec/migrations/re_schedule_latest_pipeline_id_population_with_all_security_related_artifact_types_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' @@ -4810,11 +4690,8 @@ Layout/LineLength: - 'spec/migrations/rename_services_to_integrations_spec.rb' - 'spec/migrations/replace_external_wiki_triggers_spec.rb' - 'spec/migrations/reset_severity_levels_to_new_default_spec.rb' - - 'spec/migrations/schedule_add_primary_email_to_emails_if_user_confirmed_spec.rb' - 'spec/migrations/schedule_recalculate_vulnerability_finding_signatures_for_findings_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/update_invalid_member_states_spec.rb' - 'spec/models/active_session_spec.rb' - 'spec/models/acts_as_taggable_on/tag_spec.rb' @@ -4837,12 +4714,9 @@ Layout/LineLength: - 'spec/models/ci/build_spec.rb' - 'spec/models/ci/build_trace_chunk_spec.rb' - 'spec/models/ci/daily_build_group_report_result_spec.rb' - - 'spec/models/ci/freeze_period_status_spec.rb' - 'spec/models/ci/group_variable_spec.rb' - 'spec/models/ci/instance_variable_spec.rb' - 'spec/models/ci/job_artifact_spec.rb' - - 'spec/models/ci/job_token/scope_spec.rb' - - 'spec/models/ci/pipeline_schedule_spec.rb' - 'spec/models/ci/pipeline_spec.rb' - 'spec/models/ci/processable_spec.rb' - 'spec/models/ci/ref_spec.rb' @@ -4864,7 +4738,6 @@ Layout/LineLength: - 'spec/models/concerns/clusters/agents/authorization_config_scopes_spec.rb' - 'spec/models/concerns/deployment_platform_spec.rb' - 'spec/models/concerns/group_descendant_spec.rb' - - 'spec/models/concerns/has_user_type_spec.rb' - 'spec/models/concerns/id_in_ordered_spec.rb' - 'spec/models/concerns/ignorable_columns_spec.rb' - 'spec/models/concerns/integrations/has_data_fields_spec.rb' @@ -5128,7 +5001,6 @@ Layout/LineLength: - 'spec/requests/api/graphql/project/container_repositories_spec.rb' - 'spec/requests/api/graphql/project/issue/designs/designs_spec.rb' - 'spec/requests/api/graphql/project/jira_import_spec.rb' - - 'spec/requests/api/graphql/project/jobs_spec.rb' - 'spec/requests/api/graphql/project/milestones_spec.rb' - 'spec/requests/api/graphql/project/pipeline_spec.rb' - 'spec/requests/api/graphql/project/project_statistics_spec.rb' @@ -5174,7 +5046,6 @@ Layout/LineLength: - 'spec/requests/api/npm_project_packages_spec.rb' - 'spec/requests/api/nuget_group_packages_spec.rb' - 'spec/requests/api/nuget_project_packages_spec.rb' - - 'spec/requests/api/oauth_tokens_spec.rb' - 'spec/requests/api/pages/internal_access_spec.rb' - 'spec/requests/api/pages/private_access_spec.rb' - 'spec/requests/api/pages/public_access_spec.rb' @@ -5225,10 +5096,8 @@ Layout/LineLength: - 'spec/requests/projects/incident_management/pagerduty_incidents_spec.rb' - 'spec/requests/projects/issue_links_controller_spec.rb' - 'spec/requests/projects/issues/discussions_spec.rb' - - 'spec/requests/projects/issues_controller_spec.rb' - 'spec/requests/projects/merge_requests/content_spec.rb' - 'spec/requests/projects/merge_requests/context_commit_diffs_spec.rb' - - 'spec/requests/projects/merge_requests_controller_spec.rb' - 'spec/requests/projects/merge_requests_discussions_spec.rb' - 'spec/requests/projects/merge_requests_spec.rb' - 'spec/requests/projects/metrics/dashboards/builder_spec.rb' @@ -5320,8 +5189,6 @@ Layout/LineLength: - 'spec/services/ci/test_failure_history_service_spec.rb' - 'spec/services/ci/unlock_artifacts_service_spec.rb' - 'spec/services/ci/update_pending_build_service_spec.rb' - - 'spec/services/clusters/aws/fetch_credentials_service_spec.rb' - - 'spec/services/clusters/aws/provision_service_spec.rb' - 'spec/services/clusters/create_service_spec.rb' - 'spec/services/clusters/integrations/prometheus_health_check_service_spec.rb' - 'spec/services/clusters/kubernetes/create_or_update_namespace_service_spec.rb' @@ -5501,8 +5368,6 @@ Layout/LineLength: - 'spec/services/projects/import_export/export_service_spec.rb' - 'spec/services/projects/import_service_spec.rb' - 'spec/services/projects/lfs_pointers/lfs_download_service_spec.rb' - - 'spec/services/projects/lfs_pointers/lfs_import_service_spec.rb' - - 'spec/services/projects/lfs_pointers/lfs_object_download_list_service_spec.rb' - 'spec/services/projects/operations/update_service_spec.rb' - 'spec/services/projects/overwrite_project_service_spec.rb' - 'spec/services/projects/transfer_service_spec.rb' @@ -5622,7 +5487,6 @@ Layout/LineLength: - 'spec/support/shared_examples/controllers/set_sort_order_from_user_preference_shared_examples.rb' - 'spec/support/shared_examples/controllers/wiki_actions_shared_examples.rb' - 'spec/support/shared_examples/features/2fa_shared_examples.rb' - - 'spec/support/shared_examples/features/container_registry_shared_examples.rb' - 'spec/support/shared_examples/features/discussion_comments_shared_example.rb' - 'spec/support/shared_examples/features/editable_merge_request_shared_examples.rb' - 'spec/support/shared_examples/features/error_tracking_shared_example.rb' @@ -5748,7 +5612,6 @@ Layout/LineLength: - 'spec/support/shared_examples/uploaders/upload_type_shared_examples.rb' - 'spec/support/shared_examples/views/registration_features_prompt_shared_examples.rb' - 'spec/support/shared_examples/workers/concerns/dependency_proxy/cleanup_worker_shared_examples.rb' - - 'spec/support/shared_examples/workers/concerns/git_garbage_collect_methods_shared_examples.rb' - 'spec/support/shared_examples/workers/gitlab/jira_import/jira_import_workers_shared_examples.rb' - 'spec/support/shared_examples/workers/project_export_shared_examples.rb' - 'spec/support_specs/database/prevent_cross_joins_spec.rb' @@ -5826,7 +5689,6 @@ Layout/LineLength: - 'spec/views/shared/milestones/_issuable.html.haml_spec.rb' - 'spec/views/shared/projects/_project.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/analytics/usage_trends/counter_job_worker_spec.rb' - 'spec/workers/authorized_project_update/project_recalculate_per_user_worker_spec.rb' diff --git a/.rubocop_todo/layout/parameter_alignment.yml b/.rubocop_todo/layout/parameter_alignment.yml new file mode 100644 index 0000000000..4fafbab602 --- /dev/null +++ b/.rubocop_todo/layout/parameter_alignment.yml @@ -0,0 +1,18 @@ +--- +# Cop supports --autocorrect. +Layout/ParameterAlignment: + Details: grace period + Exclude: + - 'ee/spec/lib/ee/gitlab/background_migration/drop_invalid_remediations_spec.rb' + - 'lib/gitlab/cross_project_access.rb' + - 'lib/gitlab/data_builder/push.rb' + - 'spec/lib/gitlab/background_migration/drop_invalid_vulnerabilities_spec.rb' + - '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/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' + - 'spec/support/helpers/migrations_helpers/vulnerabilities_helper.rb' + - 'spec/support/helpers/repo_helpers.rb' + - 'spec/support/helpers/stub_object_storage.rb' diff --git a/.rubocop_todo/layout/space_in_lambda_literal.yml b/.rubocop_todo/layout/space_in_lambda_literal.yml index 73b8a354a5..2fbdf69e5e 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/ambiguous_regexp_literal.yml b/.rubocop_todo/lint/ambiguous_regexp_literal.yml new file mode 100644 index 0000000000..d0160d620d --- /dev/null +++ b/.rubocop_todo/lint/ambiguous_regexp_literal.yml @@ -0,0 +1,96 @@ +--- +# Cop supports --autocorrect. +Lint/AmbiguousRegexpLiteral: + Details: grace period + Exclude: + - 'ee/lib/ee/gitlab/auth/ldap/group.rb' + - 'ee/spec/controllers/groups/sso_controller_spec.rb' + - 'ee/spec/controllers/projects/mirrors_controller_spec.rb' + - 'ee/spec/lib/ee/gitlab/ci/status/build/manual_spec.rb' + - 'ee/spec/lib/gitlab/insights/executors/dora_executor_spec.rb' + - 'ee/spec/lib/gitlab/web_ide/config/entry/schema_spec.rb' + - 'ee/spec/lib/gitlab/web_ide/config/entry/schemas_spec.rb' + - 'ee/spec/mailers/ee/emails/profile_spec.rb' + - 'ee/spec/models/push_rule_spec.rb' + - 'ee/spec/requests/api/graphql/mutations/audit_events/external_audit_event_destinations/destroy_spec.rb' + - 'ee/spec/serializers/pipeline_serializer_spec.rb' + - 'ee/spec/services/analytics/cycle_analytics/aggregator_service_spec.rb' + - 'ee/spec/services/ee/members/create_service_spec.rb' + - 'ee/spec/services/group_saml/saml_group_links/create_service_spec.rb' + - 'ee/spec/views/admin/dashboard/index.html.haml_spec.rb' + - 'ee/spec/views/admin/users/_credit_card_info.html.haml_spec.rb' + - 'ee/spec/views/admin/users/show.html.haml_spec.rb' + - 'ee/spec/views/shared/_clone_panel.html.haml_spec.rb' + - 'lib/api/features.rb' + - 'qa/spec/page/element_spec.rb' + - 'spec/components/pajamas/avatar_component_spec.rb' + - 'spec/features/atom/users_spec.rb' + - 'spec/features/issues/user_creates_branch_and_merge_request_spec.rb' + - 'spec/features/issues/user_creates_issue_spec.rb' + - 'spec/features/merge_request/user_merges_when_pipeline_succeeds_spec.rb' + - 'spec/helpers/labels_helper_spec.rb' + - 'spec/helpers/users_helper_spec.rb' + - 'spec/helpers/visibility_level_helper_spec.rb' + - 'spec/initializers/direct_upload_support_spec.rb' + - 'spec/initializers/validate_database_config_spec.rb' + - 'spec/lib/banzai/filter/references/label_reference_filter_spec.rb' + - 'spec/lib/feature_spec.rb' + - 'spec/lib/gitlab/auth/user_access_denied_reason_spec.rb' + - 'spec/lib/gitlab/ci/config/entry/bridge_spec.rb' + - 'spec/lib/gitlab/ci/config/entry/image_spec.rb' + - 'spec/lib/gitlab/ci/config/entry/imageable_spec.rb' + - 'spec/lib/gitlab/ci/config/entry/job_spec.rb' + - 'spec/lib/gitlab/ci/config/entry/key_spec.rb' + - 'spec/lib/gitlab/ci/config/entry/policy_spec.rb' + - 'spec/lib/gitlab/ci/config/entry/ports_spec.rb' + - 'spec/lib/gitlab/ci/config/entry/processable_spec.rb' + - 'spec/lib/gitlab/ci/config/entry/reports/coverage_report_spec.rb' + - 'spec/lib/gitlab/ci/config/entry/root_spec.rb' + - 'spec/lib/gitlab/ci/config/entry/service_spec.rb' + - 'spec/lib/gitlab/ci/config/entry/trigger_spec.rb' + - 'spec/lib/gitlab/ci/pipeline/chain/create_spec.rb' + - 'spec/lib/gitlab/ci/pipeline/chain/validate/abilities_spec.rb' + - 'spec/lib/gitlab/ci/status/build/manual_spec.rb' + - 'spec/lib/gitlab/composer/version_index_spec.rb' + - 'spec/lib/gitlab/config/entry/validator_spec.rb' + - 'spec/lib/gitlab/config/entry/validators_spec.rb' + - 'spec/lib/gitlab/database/migration_helpers/restrict_gitlab_schema_spec.rb' + - 'spec/lib/gitlab/database/migration_helpers/v2_spec.rb' + - 'spec/lib/gitlab/database/migration_helpers_spec.rb' + - 'spec/lib/gitlab/database/migrations/background_migration_helpers_spec.rb' + - 'spec/lib/gitlab/database/migrations/batched_background_migration_helpers_spec.rb' + - 'spec/lib/gitlab/database/partitioning_spec.rb' + - 'spec/lib/gitlab/database/query_analyzers/prevent_cross_database_modification_spec.rb' + - 'spec/lib/gitlab/gitaly_client/with_feature_flag_actors_spec.rb' + - 'spec/lib/gitlab/kubernetes/helm/v2/base_command_spec.rb' + - 'spec/lib/gitlab/kubernetes/helm/v3/base_command_spec.rb' + - 'spec/lib/gitlab/pagination/keyset/in_operator_optimization/array_scope_columns_spec.rb' + - 'spec/lib/gitlab/pagination/keyset/in_operator_optimization/query_builder_spec.rb' + - 'spec/lib/gitlab/pagination/keyset/iterator_spec.rb' + - 'spec/lib/gitlab/sidekiq_middleware/duplicate_jobs/duplicate_job_spec.rb' + - 'spec/lib/gitlab/usage/metrics/aggregates/sources/postgres_hll_spec.rb' + - 'spec/lib/gitlab/utils/strong_memoize_spec.rb' + - 'spec/lib/gitlab/web_ide/config/entry/global_spec.rb' + - 'spec/lib/gitlab/web_ide/config/entry/terminal_spec.rb' + - 'spec/lib/object_storage/direct_upload_spec.rb' + - 'spec/mailers/devise_mailer_spec.rb' + - 'spec/mailers/emails/profile_spec.rb' + - 'spec/models/concerns/as_cte_spec.rb' + - 'spec/models/concerns/sortable_spec.rb' + - 'spec/models/concerns/spammable_spec.rb' + - 'spec/models/group_spec.rb' + - 'spec/requests/api/deployments_spec.rb' + - 'spec/requests/api/graphql/gitlab_schema_spec.rb' + - 'spec/requests/api/helpers_spec.rb' + - 'spec/scripts/lib/glfm/update_specification_spec.rb' + - 'spec/serializers/commit_entity_spec.rb' + - 'spec/services/loose_foreign_keys/cleaner_service_spec.rb' + - 'spec/services/snippets/repository_validation_service_spec.rb' + - 'spec/services/system_notes/merge_requests_service_spec.rb' + - 'spec/support/shared_examples/features/content_editor_shared_examples.rb' + - 'spec/support/shared_examples/lib/gitlab/sql/set_operator_shared_examples.rb' + - 'spec/support_specs/database/multiple_databases_helpers_spec.rb' + - 'spec/tasks/gitlab/gitaly_rake_spec.rb' + - 'spec/tasks/gitlab/workhorse_rake_spec.rb' + - 'spec/views/admin/dashboard/index.html.haml_spec.rb' + - 'spec/views/devise/sessions/new.html.haml_spec.rb' diff --git a/.rubocop_todo/lint/missing_cop_enable_directive.yml b/.rubocop_todo/lint/missing_cop_enable_directive.yml index e0b2afe825..d4091e2735 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 a2dd002b54..146d7ce164 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 56b6a4294d..9f5fb15289 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 567926e33a..ec2b9fb6d6 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 2219f37901..fbafbb6628 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 d57905c860..d10fac78ce 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/performance/concurrent_monotonic_time.yml b/.rubocop_todo/performance/concurrent_monotonic_time.yml new file mode 100644 index 0000000000..0e55eaf4a1 --- /dev/null +++ b/.rubocop_todo/performance/concurrent_monotonic_time.yml @@ -0,0 +1,6 @@ +--- +# Cop supports --autocorrect. +Performance/ConcurrentMonotonicTime: + Details: grace period + Exclude: + - 'lib/gitlab/database/connection_timer.rb' diff --git a/.rubocop_todo/performance/flat_map.yml b/.rubocop_todo/performance/flat_map.yml new file mode 100644 index 0000000000..32dce1bf31 --- /dev/null +++ b/.rubocop_todo/performance/flat_map.yml @@ -0,0 +1,38 @@ +--- +# Cop supports --autocorrect. +Performance/FlatMap: + Details: grace period + Exclude: + - 'app/presenters/packages/nuget/service_index_presenter.rb' + - 'app/services/projects/apple_target_platform_detector_service.rb' + - 'ee/app/models/burndown.rb' + - 'ee/app/models/geo_node_status.rb' + - 'ee/app/serializers/dashboard_environments_serializer.rb' + - 'ee/app/services/elastic/process_bookkeeping_service.rb' + - 'ee/lib/elastic/latest/issue_class_proxy.rb' + - 'ee/spec/lib/elastic/latest/user_class_proxy_spec.rb' + - 'ee/spec/models/analytics/issues_analytics_spec.rb' + - 'ee/spec/requests/api/members_spec.rb' + - 'ee/spec/support/helpers/license_scanning_report_helpers.rb' + - 'ee/spec/support/shared_examples/finders/security/findings_finder_shared_examples.rb' + - 'lib/gitlab/ci/pipeline/chain/create_deployments.rb' + - 'lib/gitlab/ci/pipeline/chain/ensure_environments.rb' + - 'lib/gitlab/ci/pipeline/chain/ensure_resource_groups.rb' + - 'lib/gitlab/database/query_analyzers/prevent_cross_database_modification.rb' + - 'lib/gitlab/diff/file_collection/base.rb' + - 'lib/gitlab/instrumentation/redis_cluster_validator.rb' + - 'lib/gitlab/testing/request_inspector_middleware.rb' + - 'lib/gitlab/usage_data_counters/hll_redis_counter.rb' + - 'qa/qa/resource/base.rb' + - 'qa/qa/tools/ci/non_empty_suites.rb' + - 'spec/controllers/projects/issues_controller_spec.rb' + - 'spec/lib/bulk_imports/groups/stage_spec.rb' + - 'spec/lib/bulk_imports/projects/stage_spec.rb' + - 'spec/lib/gitlab/ci/parsers/test/junit_spec.rb' + - 'spec/models/ci/pipeline_spec.rb' + - 'spec/requests/api/graphql/ci/pipelines_spec.rb' + - 'spec/requests/api/projects_spec.rb' + - 'spec/services/ci/create_pipeline_service/evaluate_runner_tags_spec.rb' + - 'spec/services/git/process_ref_changes_service_spec.rb' + - 'spec/support/shared_examples/models/with_debian_distributions_shared_examples.rb' + - 'spec/support/shared_examples/requests/api/graphql/issue_list_shared_examples.rb' diff --git a/.rubocop_todo/performance/map_compact.yml b/.rubocop_todo/performance/map_compact.yml new file mode 100644 index 0000000000..57ebe25179 --- /dev/null +++ b/.rubocop_todo/performance/map_compact.yml @@ -0,0 +1,148 @@ +--- +# Cop supports --autocorrect. +Performance/MapCompact: + Details: grace period + Exclude: + - 'app/graphql/resolvers/concerns/resolves_ids.rb' + - 'app/graphql/resolvers/todos_resolver.rb' + - 'app/helpers/issuables_description_templates_helper.rb' + - 'app/helpers/notifications_helper.rb' + - 'app/models/ci/build_dependencies.rb' + - 'app/models/ci/pipeline.rb' + - 'app/models/ci/runner.rb' + - 'app/models/ci_platform_metric.rb' + - 'app/models/concerns/mentionable/reference_regexes.rb' + - 'app/models/concerns/pg_full_text_searchable.rb' + - 'app/models/container_repository.rb' + - 'app/models/design_management/design_at_version.rb' + - 'app/models/design_management/version.rb' + - 'app/models/environment.rb' + - 'app/models/environment_status.rb' + - 'app/models/instance_configuration.rb' + - 'app/models/integrations/chat_message/pipeline_message.rb' + - 'app/models/repository.rb' + - 'app/models/resource_label_event.rb' + - 'app/models/snippet_repository.rb' + - 'app/models/web_ide_terminal.rb' + - 'app/presenters/packages/conan/package_presenter.rb' + - 'app/presenters/packages/nuget/packages_metadata_presenter.rb' + - 'app/presenters/packages/nuget/search_results_presenter.rb' + - 'app/serializers/analytics/cycle_analytics/event_entity.rb' + - 'app/services/auth/container_registry_authentication_service.rb' + - 'app/services/events/render_service.rb' + - 'app/services/feature_flags/update_service.rb' + - 'app/services/git/base_hooks_service.rb' + - 'app/services/google_cloud/fetch_google_ip_list_service.rb' + - 'app/services/jira_import/start_import_service.rb' + - 'app/services/jira_import/users_mapper_service.rb' + - 'app/services/labels/available_labels_service.rb' + - 'app/services/merge_requests/get_urls_service.rb' + - 'app/services/merge_requests/pushed_branches_service.rb' + - 'app/services/merge_requests/update_service.rb' + - 'app/services/packages/maven/find_or_create_package_service.rb' + - 'app/services/projects/container_repository/third_party/delete_tags_service.rb' + - 'app/services/projects/update_statistics_service.rb' + - 'app/services/quick_actions/interpret_service.rb' + - 'app/services/repositories/changelog_service.rb' + - 'app/services/todos/allowed_target_filter_service.rb' + - 'config/initializers/trusted_proxies.rb' + - 'config/initializers/wikicloth_redos_patch.rb' + - 'ee/app/finders/security/findings_finder.rb' + - 'ee/app/graphql/ee/types/issue_connection_type.rb' + - 'ee/app/models/app_sec/fuzzing/api/ci_configuration.rb' + - 'ee/app/models/burndown.rb' + - 'ee/app/models/concerns/ee/project_security_scanners_information.rb' + - 'ee/app/models/concerns/elastic/application_versioned_search.rb' + - 'ee/app/models/gitlab_subscriptions/features.rb' + - 'ee/app/models/sca/license_compliance.rb' + - 'ee/app/services/app_sec/dast/profiles/create_associations_service.rb' + - 'ee/app/services/app_sec/dast/scan_configs/fetch_service.rb' + - 'ee/app/services/epic_issues/create_service.rb' + - 'ee/app/services/members/activate_service.rb' + - 'ee/app/services/security/override_uuids_service.rb' + - 'ee/app/services/security/store_scan_service.rb' + - 'ee/app/services/upcoming_reconciliations/update_service.rb' + - 'ee/app/services/vulnerabilities/findings/find_or_create_from_security_finding_service.rb' + - 'ee/app/workers/geo/scheduler/scheduler_worker.rb' + - 'ee/db/fixtures/development/30_customizable_cycle_analytics.rb' + - 'ee/lib/ee/api/entities/experiment.rb' + - 'ee/lib/ee/banzai/filter/references/iteration_reference_filter.rb' + - 'ee/lib/ee/gitlab/auth/ldap/person.rb' + - 'ee/lib/ee/gitlab/background_migration/populate_latest_pipeline_ids.rb' + - 'ee/lib/ee/gitlab/background_migration/recalculate_vulnerability_finding_signatures_for_findings.rb' + - 'ee/lib/elastic/latest/repository_instance_proxy.rb' + - 'ee/lib/gitlab/alert_management/alert_payload_field_extractor.rb' + - 'ee/lib/gitlab/ci/parsers/security/dast.rb' + - 'ee/lib/gitlab/ci/reports/license_scanning/report.rb' + - 'ee/lib/gitlab/ci/reports/metrics/reports_comparer.rb' + - 'ee/lib/gitlab/search/aggregation_parser.rb' + - 'ee/spec/models/analytics/issues_analytics_spec.rb' + - 'ee/spec/models/member_spec.rb' + - 'ee/spec/requests/api/audit_events_spec.rb' + - 'ee/spec/requests/api/search_spec.rb' + - 'haml_lint/linter/no_plain_nodes.rb' + - 'lib/api/entities/feature.rb' + - 'lib/api/entities/project.rb' + - 'lib/api/helpers/common_helpers.rb' + - 'lib/atlassian/jira_connect/client.rb' + - 'lib/atlassian/jira_connect/serializers/feature_flag_entity.rb' + - 'lib/banzai/filter/image_link_filter.rb' + - 'lib/banzai/filter/references/design_reference_filter.rb' + - 'lib/banzai/filter/references/label_reference_filter.rb' + - 'lib/banzai/filter/references/milestone_reference_filter.rb' + - 'lib/banzai/reference_parser/issuable_parser.rb' + - 'lib/error_tracking/sentry_client/pagination_parser.rb' + - 'lib/gitaly/server.rb' + - 'lib/gitlab/analytics/cycle_analytics/aggregated/records_fetcher.rb' + - 'lib/gitlab/analytics/usage_trends/workers_argument_builder.rb' + - 'lib/gitlab/auth/ip_rate_limiter.rb' + - 'lib/gitlab/background_migration/backfill_project_repositories.rb' + - 'lib/gitlab/changes_list.rb' + - 'lib/gitlab/checks/changes_access.rb' + - 'lib/gitlab/ci/parsers/security/common.rb' + - 'lib/gitlab/ci/reports/security/aggregated_report.rb' + - 'lib/gitlab/ci/reports/security/finding.rb' + - 'lib/gitlab/ci/reports/test_suite_summary.rb' + - 'lib/gitlab/config/entry/validators.rb' + - 'lib/gitlab/database/load_balancing/service_discovery.rb' + - 'lib/gitlab/database/obsolete_ignored_columns.rb' + - 'lib/gitlab/email/receiver.rb' + - 'lib/gitlab/git/commit.rb' + - 'lib/gitlab/git/conflict/file.rb' + - 'lib/gitlab/git/rugged_impl/commit.rb' + - 'lib/gitlab/github_import/importer/pull_requests/review_request_importer.rb' + - 'lib/gitlab/issuable/clone/copy_resource_events_service.rb' + - 'lib/gitlab/issues/rebalancing/state.rb' + - 'lib/gitlab/jira_import/metadata_collector.rb' + - 'lib/gitlab/json_cache.rb' + - 'lib/gitlab/language_detection.rb' + - 'lib/gitlab/legacy_github_import/importer.rb' + - 'lib/gitlab/private_commit_email.rb' + - 'lib/gitlab/sql/pattern.rb' + - 'lib/gitlab/url_blocker.rb' + - 'lib/gitlab/verify/batch_verifier.rb' + - 'qa/qa/page/component/issuable/sidebar.rb' + - 'qa/qa/specs/features/api/1_manage/migration/gitlab_migration_large_project_spec.rb' + - 'qa/qa/support/formatters/test_metrics_formatter.rb' + - 'qa/qa/tools/ci/ff_changes.rb' + - 'scripts/lint_templates_bash.rb' + - 'spec/controllers/every_controller_spec.rb' + - 'spec/controllers/projects/merge_requests/conflicts_controller_spec.rb' + - 'spec/lib/api/every_api_endpoint_spec.rb' + - 'spec/lib/banzai/pipeline/plain_markdown_pipeline_spec.rb' + - 'spec/lib/gitlab/conflict/file_spec.rb' + - 'spec/lib/gitlab/import_export/project/tree_restorer_spec.rb' + - 'spec/lib/gitlab/import_export/references_configuration_spec.rb' + - 'spec/models/deployment_spec.rb' + - 'spec/models/network/graph_spec.rb' + - 'spec/models/repository_spec.rb' + - 'spec/requests/api/commits_spec.rb' + - 'spec/requests/api/groups_spec.rb' + - 'spec/requests/lfs_http_spec.rb' + - 'spec/serializers/diff_file_entity_spec.rb' + - 'spec/services/projects/container_repository/third_party/cleanup_tags_service_spec.rb' + - 'spec/support/helpers/dns_helpers.rb' + - 'spec/support/helpers/graphql_helpers.rb' + - 'spec/support/shared_examples/features/navbar_shared_examples.rb' + - 'spec/support/shared_examples/lib/gitlab/config/inheritable_shared_examples.rb' + - 'spec/support/shared_examples/models/label_note_shared_examples.rb' diff --git a/.rubocop_todo/performance/redundant_equality_comparison_block.yml b/.rubocop_todo/performance/redundant_equality_comparison_block.yml new file mode 100644 index 0000000000..44da971024 --- /dev/null +++ b/.rubocop_todo/performance/redundant_equality_comparison_block.yml @@ -0,0 +1,23 @@ +--- +# Cop supports --autocorrect. +Performance/RedundantEqualityComparisonBlock: + Details: grace period + Exclude: + - 'app/graphql/types/work_item_id_type.rb' + - 'app/models/concerns/group_descendant.rb' + - 'app/models/concerns/id_in_ordered.rb' + - 'app/models/todo.rb' + - 'app/validators/feature_flag_strategies_validator.rb' + - 'ee/app/helpers/ee/dashboard_helper.rb' + - 'ee/lib/compliance_management/merge_request_approval_settings/resolver.rb' + - 'ee/lib/elastic/latest/user_instance_proxy.rb' + - 'ee/lib/gitlab/geo/geo_node_status_check.rb' + - 'ee/spec/lib/ee/sidebars/projects/panel_spec.rb' + - 'lib/gitlab/ci/config/yaml/tags/reference.rb' + - 'lib/gitlab/config/entry/validators.rb' + - 'lib/gitlab/i18n/translation_entry.rb' + - 'lib/gitlab/push_options.rb' + - 'lib/gitlab/utils/delegator_override.rb' + - 'lib/gitlab/view/presenter/base.rb' + - 'spec/lib/object_storage/direct_upload_spec.rb' + - 'spec/support/import_export/project_tree_expectations.rb' diff --git a/.rubocop_todo/performance/redundant_split_regexp_argument.yml b/.rubocop_todo/performance/redundant_split_regexp_argument.yml new file mode 100644 index 0000000000..0c0e12480d --- /dev/null +++ b/.rubocop_todo/performance/redundant_split_regexp_argument.yml @@ -0,0 +1,8 @@ +--- +# Cop supports --autocorrect. +Performance/RedundantSplitRegexpArgument: + Details: grace period + Exclude: + - 'lib/file_size_validator.rb' + - 'lib/gitlab/git/raw_diff_change.rb' + - 'lib/kramdown/converter/commonmark.rb' diff --git a/.rubocop_todo/rails/file_path.yml b/.rubocop_todo/rails/file_path.yml index 0a652631e0..2b01db2e44 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 a1f49aaf2f..5ec863fdb2 100644 --- a/.rubocop_todo/rails/inverse_of.yml +++ b/.rubocop_todo/rails/inverse_of.yml @@ -29,10 +29,10 @@ 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' + - 'app/models/concerns/work_item_resource_event.rb' - 'app/models/custom_emoji.rb' - 'app/models/customer_relations/contact.rb' - 'app/models/customer_relations/organization.rb' @@ -70,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/negate_include.yml b/.rubocop_todo/rails/negate_include.yml index 74f469f325..14e5ceae62 100644 --- a/.rubocop_todo/rails/negate_include.yml +++ b/.rubocop_todo/rails/negate_include.yml @@ -51,6 +51,5 @@ Rails/NegateInclude: - 'spec/lib/gitlab/metrics/dashboard/stages/metric_endpoint_inserter_spec.rb' - 'spec/lib/gitlab/metrics/subscribers/active_record_spec.rb' - 'spec/support/matchers/pushed_frontend_feature_flags_matcher.rb' - - 'spec/support/shared_contexts/markdown_golden_master_shared_examples.rb' - 'spec/uploaders/object_storage_spec.rb' - 'tooling/danger/specs.rb' diff --git a/.rubocop_todo/rails/pluck.yml b/.rubocop_todo/rails/pluck.yml index e094a3397a..307e6f5980 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,14 +283,12 @@ 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' - 'spec/support/helpers/api_helpers.rb' - 'spec/support/helpers/graphql_helpers.rb' - 'spec/support/matchers/background_migrations_matchers.rb' - - 'spec/support/shared_contexts/markdown_golden_master_shared_examples.rb' - 'spec/support/shared_examples/graphql/mutation_shared_examples.rb' - 'spec/support/shared_examples/requests/api/container_repositories_shared_examples.rb' - 'spec/support/shared_examples/requests/api/custom_attributes_shared_examples.rb' diff --git a/.rubocop_todo/rails/redundant_foreign_key.yml b/.rubocop_todo/rails/redundant_foreign_key.yml index 3251429876..3a7c4a3754 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 f24fbbfbed..e589d9ed9c 100644 --- a/.rubocop_todo/rspec/any_instance_of.yml +++ b/.rubocop_todo/rspec/any_instance_of.yml @@ -2,24 +2,7 @@ # Cop supports --autocorrect. RSpec/AnyInstanceOf: Exclude: - - 'ee/spec/controllers/admin/geo/nodes_controller_spec.rb' - - 'ee/spec/controllers/ee/groups_controller_spec.rb' - - 'ee/spec/controllers/groups/analytics/productivity_analytics_controller_spec.rb' - - 'ee/spec/controllers/groups/epics/notes_controller_spec.rb' - - 'ee/spec/controllers/groups/omniauth_callbacks_controller_spec.rb' - - 'ee/spec/controllers/oauth/geo_auth_controller_spec.rb' - - 'ee/spec/controllers/projects/integrations/jira/issues_controller_spec.rb' - - 'ee/spec/controllers/projects/merge_requests_controller_spec.rb' - - 'ee/spec/controllers/projects/path_locks_controller_spec.rb' - - 'ee/spec/controllers/projects_controller_spec.rb' - - 'ee/spec/controllers/subscriptions_controller_spec.rb' - - 'ee/spec/features/admin/admin_audit_logs_spec.rb' - - 'ee/spec/features/admin/admin_reset_pipeline_minutes_spec.rb' - - 'ee/spec/features/admin/admin_users_spec.rb' - - 'ee/spec/features/ci_shared_runner_warnings_spec.rb' - - 'ee/spec/features/groups/group_settings_spec.rb' - 'ee/spec/features/issues/form_spec.rb' - - 'ee/spec/features/merge_request/user_creates_merge_request_spec.rb' - 'ee/spec/features/projects/new_project_spec.rb' - 'ee/spec/features/registrations/welcome_spec.rb' - 'ee/spec/features/security/project/internal_access_spec.rb' @@ -378,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' @@ -398,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 f9e8c98290..5f35e5d90f 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 5a01f22948..ccadc31c97 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' @@ -59,7 +58,6 @@ RSpec/ContextWording: - 'ee/spec/controllers/projects/settings/repository_controller_spec.rb' - 'ee/spec/controllers/projects/vulnerability_feedback_controller_spec.rb' - 'ee/spec/controllers/projects_controller_spec.rb' - - 'ee/spec/controllers/registrations/welcome_controller_spec.rb' - 'ee/spec/controllers/repositories/git_http_controller_spec.rb' - 'ee/spec/controllers/security/dashboard_controller_spec.rb' - 'ee/spec/controllers/security/vulnerabilities_controller_spec.rb' @@ -156,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' @@ -284,7 +281,6 @@ RSpec/ContextWording: - 'ee/spec/helpers/ee/operations_helper_spec.rb' - 'ee/spec/helpers/ee/personal_access_tokens_helper_spec.rb' - 'ee/spec/helpers/ee/projects/security/api_fuzzing_configuration_helper_spec.rb' - - 'ee/spec/helpers/ee/welcome_helper_spec.rb' - 'ee/spec/helpers/groups/security_features_helper_spec.rb' - 'ee/spec/helpers/license_helper_spec.rb' - 'ee/spec/helpers/license_monitoring_helper_spec.rb' @@ -335,8 +331,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' @@ -441,7 +435,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' @@ -639,7 +632,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' @@ -926,7 +918,6 @@ RSpec/ContextWording: - 'ee/spec/views/layouts/nav/sidebar/_push_rules_link.html.haml_spec.rb' - 'ee/spec/views/profiles/preferences/show.html.haml_spec.rb' - 'ee/spec/views/projects/security/discover/show.html.haml_spec.rb' - - 'ee/spec/views/registrations/welcome/show.html.haml_spec.rb' - 'ee/spec/views/search/_category.html.haml_spec.rb' - 'ee/spec/views/shared/_clone_panel.html.haml_spec.rb' - 'ee/spec/views/shared/_kerberos_clone_button.html.haml_spec.rb' @@ -984,7 +975,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' @@ -1121,7 +1111,6 @@ RSpec/ContextWording: - 'spec/controllers/projects/tree_controller_spec.rb' - 'spec/controllers/projects/web_ide_terminals_controller_spec.rb' - 'spec/controllers/projects_controller_spec.rb' - - 'spec/controllers/registrations/welcome_controller_spec.rb' - 'spec/controllers/registrations_controller_spec.rb' - 'spec/controllers/root_controller_spec.rb' - 'spec/controllers/search_controller_spec.rb' @@ -1328,8 +1317,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' @@ -1974,8 +1961,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' @@ -2342,7 +2327,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' @@ -2725,7 +2709,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' @@ -2759,16 +2742,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' @@ -3074,7 +3049,6 @@ RSpec/ContextWording: - 'spec/support/shared_contexts/lib/gitlab/sidekiq_logging/structured_logger_shared_context.rb' - 'spec/support/shared_contexts/lib/gitlab/sidekiq_middleware/server_metrics_shared_context.rb' - 'spec/support/shared_contexts/mailers/notify_shared_context.rb' - - 'spec/support/shared_contexts/markdown_golden_master_shared_examples.rb' - 'spec/support/shared_contexts/merge_request_create_shared_context.rb' - 'spec/support/shared_contexts/merge_request_edit_shared_context.rb' - 'spec/support/shared_contexts/merge_requests_allowing_collaboration_shared_context.rb' diff --git a/.rubocop_todo/rspec/described_class.yml b/.rubocop_todo/rspec/described_class.yml index 729423d8ab..b60fca0128 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 23bb61a5d6..24db05a500 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 aa0f5f005d..7fc5bdbdb6 100644 --- a/.rubocop_todo/rspec/expect_in_hook.yml +++ b/.rubocop_todo/rspec/expect_in_hook.yml @@ -25,7 +25,6 @@ RSpec/ExpectInHook: - 'ee/spec/helpers/ee/integrations_helper_spec.rb' - 'ee/spec/helpers/ee/issues_helper_spec.rb' - 'ee/spec/helpers/ee/projects/security/dast_configuration_helper_spec.rb' - - 'ee/spec/helpers/ee/welcome_helper_spec.rb' - 'ee/spec/helpers/kerberos_helper_spec.rb' - 'ee/spec/helpers/vulnerabilities_helper_spec.rb' - 'ee/spec/lib/ee/api/helpers/members_helpers_spec.rb' @@ -302,7 +301,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 +385,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 3201d5a837..c4a64f505f 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 333687e1cc..a6291452db 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 b1b4a6c16c..d57eb93856 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 e939abd288..708543510a 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 93cbe77765..a0981240d4 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 826ac2a683..27eea044e6 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 8fa03c775b..b880f99566 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 936bb21d5d..445afcabb8 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 a558681388..2eb60c0817 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 e98660024d..0380a2e97b 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 2303c5a165..38116899cc 100644 --- a/.rubocop_todo/style/class_and_module_children.yml +++ b/.rubocop_todo/style/class_and_module_children.yml @@ -78,7 +78,6 @@ Style/ClassAndModuleChildren: - 'app/controllers/groups/milestones_controller.rb' - 'app/controllers/groups/runners_controller.rb' - 'app/controllers/groups/uploads_controller.rb' - - 'app/controllers/import/available_namespaces_controller.rb' - 'app/controllers/import/base_controller.rb' - 'app/controllers/import/bitbucket_controller.rb' - 'app/controllers/import/bitbucket_server_controller.rb' @@ -450,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 0c7eb5c0d9..a876b9361c 100644 --- a/.rubocop_todo/style/empty_method.yml +++ b/.rubocop_todo/style/empty_method.yml @@ -49,7 +49,6 @@ Style/EmptyMethod: - 'app/controllers/projects/terraform_controller.rb' - 'app/controllers/projects/triggers_controller.rb' - 'app/controllers/pwa_controller.rb' - - 'app/controllers/registrations/welcome_controller.rb' - 'app/controllers/search_controller.rb' - 'app/experiments/security_actions_continuous_onboarding_experiment.rb' - 'app/graphql/resolvers/concerns/caching_array_resolver.rb' @@ -73,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 c1ba754edc..d18cd4d24a 100644 --- a/.rubocop_todo/style/format_string.yml +++ b/.rubocop_todo/style/format_string.yml @@ -3,22 +3,6 @@ Style/FormatString: Exclude: - 'app/components/diffs/overflow_warning_component.rb' - - 'app/controllers/admin/application_settings_controller.rb' - - 'app/controllers/admin/groups_controller.rb' - - 'app/controllers/admin/impersonation_tokens_controller.rb' - - 'app/controllers/admin/projects_controller.rb' - - 'app/controllers/admin/spam_logs_controller.rb' - - 'app/controllers/admin/topics_controller.rb' - - 'app/controllers/admin/users_controller.rb' - - 'app/controllers/concerns/access_tokens_actions.rb' - - 'app/controllers/concerns/confirm_email_warning.rb' - - 'app/controllers/concerns/enforces_two_factor_authentication.rb' - - 'app/controllers/concerns/integrations/actions.rb' - - 'app/controllers/concerns/membership_actions.rb' - - 'app/controllers/concerns/redirects_for_missing_path_on_tree.rb' - - 'app/controllers/concerns/spammable_actions/akismet_mark_as_spam_action.rb' - - 'app/controllers/concerns/verifies_with_email.rb' - - 'app/controllers/groups/settings/ci_cd_controller.rb' - 'app/controllers/import/bitbucket_server_controller.rb' - 'app/controllers/import/bulk_imports_controller.rb' - 'app/controllers/import/fogbugz_controller.rb' @@ -137,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' @@ -259,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' @@ -348,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 59aa38fc9f..586f146c2b 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 5804fda39e..515a9ddad6 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 2f042829e3..b2c466353d 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' @@ -323,7 +304,6 @@ Style/PercentLiteralDelimiters: - 'ee/spec/helpers/ee/geo_helper_spec.rb' - 'ee/spec/helpers/ee/labels_helper_spec.rb' - 'ee/spec/helpers/ee/security_orchestration_helper_spec.rb' - - 'ee/spec/helpers/ee/welcome_helper_spec.rb' - 'ee/spec/helpers/merge_requests_helper_spec.rb' - 'ee/spec/helpers/subscriptions_helper_spec.rb' - 'ee/spec/helpers/vulnerabilities_helper_spec.rb' @@ -410,9 +390,7 @@ Style/PercentLiteralDelimiters: - 'ee/spec/requests/api/graphql/project/alert_management/http_integrations_spec.rb' - 'ee/spec/requests/api/internal/base_spec.rb' - 'ee/spec/requests/api/issues_spec.rb' - - 'ee/spec/requests/api/markdown_golden_master_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' @@ -628,7 +606,6 @@ Style/PercentLiteralDelimiters: - 'spec/controllers/projects/pipelines_controller_spec.rb' - 'spec/controllers/projects/settings/ci_cd_controller_spec.rb' - 'spec/controllers/projects_controller_spec.rb' - - 'spec/controllers/registrations/welcome_controller_spec.rb' - 'spec/controllers/search_controller_spec.rb' - 'spec/controllers/snippets_controller_spec.rb' - 'spec/db/docs_spec.rb' @@ -656,8 +633,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' @@ -918,8 +893,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' @@ -1112,7 +1085,6 @@ Style/PercentLiteralDelimiters: - 'spec/support/prometheus/additional_metrics_shared_examples.rb' - 'spec/support/prometheus/metric_builders.rb' - 'spec/support/shared_contexts/graphql/resolvers/runners_resolver_shared_context.rb' - - 'spec/support/shared_contexts/markdown_golden_master_shared_examples.rb' - 'spec/support/shared_contexts/services/projects/container_repository/delete_tags_service_shared_context.rb' - 'spec/support/shared_examples/controllers/metrics_dashboard_shared_examples.rb' - 'spec/support/shared_examples/controllers/wiki_actions_shared_examples.rb' diff --git a/.rubocop_todo/style/redundant_self.yml b/.rubocop_todo/style/redundant_self.yml index ec9aaac85d..ae19cf458b 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 91eb45f73c..91376f61e4 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 074b400c4b..4bcd310b89 100644 --- a/.rubocop_todo/style/symbol_proc.yml +++ b/.rubocop_todo/style/symbol_proc.yml @@ -2,26 +2,8 @@ # Cop supports --autocorrect. Style/SymbolProc: Exclude: - - 'app/controllers/admin/users_controller.rb' - - 'app/controllers/concerns/renders_blob.rb' - - 'app/controllers/import/bitbucket_controller.rb' - - 'app/controllers/import/bitbucket_server_controller.rb' - - 'app/controllers/profiles/avatars_controller.rb' - - 'app/controllers/profiles/two_factor_auths_controller.rb' - 'app/controllers/profiles_controller.rb' - - 'app/finders/packages/go/version_finder.rb' - - 'app/graphql/mutations/commits/create.rb' - - 'app/graphql/mutations/concerns/mutations/work_items/widgetable.rb' - - 'app/graphql/mutations/jira_import/start.rb' - - 'app/graphql/types/work_items/widgets/description_type.rb' - - 'app/helpers/graph_helper.rb' - - 'app/models/ci/build_metadata.rb' - - 'app/models/ci/build_trace_chunk.rb' - 'app/models/ci/pipeline.rb' - - 'app/models/clusters/concerns/provider_status.rb' - - 'app/models/commit.rb' - - 'app/models/concerns/board_recent_visit.rb' - - 'app/models/concerns/resolvable_discussion.rb' - 'app/models/container_repository.rb' - 'app/models/deployment.rb' - 'app/models/discussion.rb' @@ -84,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/.solargraph.yml.example b/.solargraph.yml.example index c226b038af..655ba85261 100644 --- a/.solargraph.yml.example +++ b/.solargraph.yml.example @@ -24,4 +24,4 @@ formatter: rubocop: # formatting require_paths: [] plugins: [] -max_files: 15000 +max_files: 20000 diff --git a/CHANGELOG.md b/CHANGELOG.md index add33cc350..6071648bf6 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -2,36 +2,516 @@ documentation](doc/development/changelog.md) for instructions on adding your own entry. -## 15.7.8 (2023-03-02) +## 15.8.4 (2023-03-02) ### Security (12 changes) -- [Using builds metadata to determine debug_mode](gitlab-org/security/gitlab@12be0c159940a35899851f2867fde1237dae254b) ([merge request](gitlab-org/security/gitlab!3036)) -- [Fix pagination limits for Commits API](gitlab-org/security/gitlab@d507c5d906aff98a8bff943181299cbec5cc43db) ([merge request](gitlab-org/security/gitlab!3073)) -- [Mask Google IAP account details in Prometheus integration](gitlab-org/security/gitlab@54420f92a366e2a7648c10baaaf67492d6676746) ([merge request](gitlab-org/security/gitlab!3083)) -- [Stop Group Transfer Service if SAML Provider or SCIM token is present](gitlab-org/security/gitlab@52400160cd607fb30411dec04b516a1314e44996) ([merge request](gitlab-org/security/gitlab!3098)) -- [Protect Datadog API key by changing Datadog site](gitlab-org/security/gitlab@9aa3ba9f719a786238ae59914d5456666363940e) ([merge request](gitlab-org/security/gitlab!3096)) -- [Protect integrations' sensitive information exposed via API](gitlab-org/security/gitlab@60c22681f52c2aadcb55e1b9e92d358076e3c92c) ([merge request](gitlab-org/security/gitlab!3089)) -- [Disallow maintainer to create an owner access token](gitlab-org/security/gitlab@2adeb7fafb119a43c0bfe162fbc66d2740cb4168) ([merge request](gitlab-org/security/gitlab!3092)) -- [Paste only text content in work items title](gitlab-org/security/gitlab@5fa8a9bf683427af6f25e043b3f0a332719bc970) ([merge request](gitlab-org/security/gitlab!3076)) -- [Jira DVCS OAuth Open Redirect Vulnerability](gitlab-org/security/gitlab@3598b2558de92b0a775f09beb739c6e2f90ff7ab) ([merge request](gitlab-org/security/gitlab!3064)) -- [Block private personal snippet from unauthorized users](gitlab-org/security/gitlab@a106541570423480c9c510f512a2dc61acc5c01f) ([merge request](gitlab-org/security/gitlab!2994)) -- [Verify Kroki diagram type](gitlab-org/security/gitlab@eafe89b8be423e4828fe92769353b7f17ffe895e) ([merge request](gitlab-org/security/gitlab!3054)) -- [Check read_release permission before showing releases in Tags API](gitlab-org/security/gitlab@d56500c47754c7d5eb11f3c84bedbe60366eff0e) ([merge request](gitlab-org/security/gitlab!3058)) +- [Using builds metadata to determine debug_mode](gitlab-org/security/gitlab@169fdb3222a9701b5818ef7c00f8f292dc60495d) ([merge request](gitlab-org/security/gitlab!3035)) +- [Fix pagination limits for Commits API](gitlab-org/security/gitlab@3d58c0fef6429d1030d1dfce1ca523ef33a0054b) ([merge request](gitlab-org/security/gitlab!3072)) +- [Mask Google IAP account details in Prometheus integration](gitlab-org/security/gitlab@96426e4c799e9bf5e90e5e57b2e54235831819a3) ([merge request](gitlab-org/security/gitlab!3082)) +- [Stop Group Transfer Service if SAML Provider or SCIM token is present](gitlab-org/security/gitlab@9496a2ed22f73bf83e56b1ff502fefcfe777ad07) ([merge request](gitlab-org/security/gitlab!3097)) +- [Protect Datadog API key by changing Datadog site](gitlab-org/security/gitlab@c6804e50cb60fc4747ea573306eec17eb0dd25f9) ([merge request](gitlab-org/security/gitlab!3094)) +- [Protect integrations' sensitive information exposed via API](gitlab-org/security/gitlab@a408475163272b926e65b1cf56c9efde09eac8dd) ([merge request](gitlab-org/security/gitlab!3088)) +- [Disallow maintainer to create an owner access token](gitlab-org/security/gitlab@d184909f6ab9123a6131c5c37452ace5c4bc8d3d) ([merge request](gitlab-org/security/gitlab!3091)) +- [Paste only text content in work items title](gitlab-org/security/gitlab@d8c48ade46fd75ab62731fced05cdfa2451bcdfa) ([merge request](gitlab-org/security/gitlab!3075)) +- [Jira DVCS OAuth Open Redirect Vulnerability](gitlab-org/security/gitlab@91ee37eeaaae8cc6d923f6b4b28ce0d7914342dd) ([merge request](gitlab-org/security/gitlab!3063)) +- [Block private personal snippet from unauthorized users](gitlab-org/security/gitlab@d687866d69cbdf25a3ca7185974c02402345015d) ([merge request](gitlab-org/security/gitlab!3030)) +- [Verify Kroki diagram type](gitlab-org/security/gitlab@4ec26a4479e73233d0f77bc5a5e764d506c29faf) ([merge request](gitlab-org/security/gitlab!3055)) +- [Check read_release permission before showing releases in Tags API](gitlab-org/security/gitlab@32bf21efc32fcb6a3803993959b50d8a9cd07d25) ([merge request](gitlab-org/security/gitlab!3057)) -## 15.7.7 (2023-02-10) +## 15.8.3 (2023-02-15) + +### Fixed (3 changes) + +- [Attempt reading schema file instead of a file named `#{report_version}`](gitlab-org/gitlab@f4b236c5f22c2da89bd4275cd8f5bf2807069ee4) ([merge request](gitlab-org/gitlab!111934)) +- [Revert changes on wiki replication/verification legacy code](gitlab-org/gitlab@71b29b669f0415fa371560139d699aa7ad568549) ([merge request](gitlab-org/gitlab!111934)) **GitLab Enterprise Edition** +- [Revert changes on wiki replication/verification legacy code](gitlab-org/gitlab@fd824d99fb7b341088841edfaa6c401c4c20dad8) ([merge request](gitlab-org/gitlab!111879)) **GitLab Enterprise Edition** + +### Changed (1 change) + +- [Upgrade Alert - Add proper API support](gitlab-org/gitlab@6658efdbfb89847f20836e862710260e49c44778) ([merge request](gitlab-org/gitlab!111934)) + +## 15.8.2 (2023-02-10) No changes. -## 15.7.6 (2023-01-30) +## 15.8.1 (2023-01-30) ### Security (5 changes) -- [Remove parameter validation for registry notification request [15.7]](gitlab-org/security/gitlab@ca091312787e3a01f39551357095409fcf6fc840) ([merge request](gitlab-org/security/gitlab!3029)) -- [Add size validation for Chart.yaml during file extraction](gitlab-org/security/gitlab@d43bf6a5b147350668e538bd981af5f9400e6fca) ([merge request](gitlab-org/security/gitlab!3019)) -- [Prevent default branches from storing paths](gitlab-org/security/gitlab@9f18aa40711e334b172d208255a4b396b89c50a9) ([merge request](gitlab-org/security/gitlab!3012)) -- [Validate Issuable description max length on update](gitlab-org/security/gitlab@9c2799bef06ada7d48b682fa4fe403ec00e74c4a) ([merge request](gitlab-org/security/gitlab!3003)) -- [Security fix dynamic child pipeline zip extraction](gitlab-org/security/gitlab@cada7e3290da854f437538cdc1680c3f5284278e) ([merge request](gitlab-org/security/gitlab!2980)) +- [Remove parameter validation for registry notification request [15.8]](gitlab-org/security/gitlab@bf5a28cc21ffa3e7b63eeca02f220c1312314f75) ([merge request](gitlab-org/security/gitlab!3028)) +- [Add size validation for Chart.yaml during file extraction](gitlab-org/security/gitlab@f4afa319cffded561731c117c808969b5261ca52) ([merge request](gitlab-org/security/gitlab!3018)) +- [Prevent default branches from storing paths](gitlab-org/security/gitlab@a906e14f6891e84cfe854be960266adc7f0f6092) ([merge request](gitlab-org/security/gitlab!3011)) +- [Validate Issuable description max length on update](gitlab-org/security/gitlab@312fbac888d0452d9beb9d6545b22972b7e1f09d) ([merge request](gitlab-org/security/gitlab!3004)) +- [Security fix dynamic child pipeline zip extraction](gitlab-org/security/gitlab@ea09503c67eb1eb1f17ea49b7748543d2676e393) ([merge request](gitlab-org/security/gitlab!3007)) + +## 15.8.0 (2023-01-20) + +### Added (120 changes) + +- [Expose user emails via GraphQL](gitlab-org/gitlab@c51bb3692efe2af559ae3d4fb48021840fd67aac) ([merge request](gitlab-org/gitlab!107525)) +- [Describe possible solutions for curl 92 HTTP/2 error](gitlab-org/gitlab@8ccea46126f06513b0f9c5b06834a006680ed476) ([merge request](gitlab-org/gitlab!109102)) +- [Add report abuse category to merge requests](gitlab-org/gitlab@d0fd2b1f17726738b954e79ee00776782bf9b258) ([merge request](gitlab-org/gitlab!108381)) +- [Add storage admin control columns to plan limits table](gitlab-org/gitlab@fff306d8068fd87c0c7a0149672655b140cc3dae) ([merge request](gitlab-org/gitlab!108498)) +- [Add unique index to ci_builds](gitlab-org/gitlab@6eef9ec19c01154a7f2f96613df87a1bd3d15ac6) ([merge request](gitlab-org/gitlab!109116)) +- [Add partitioning tmp indexes to ci_sources_pipelines table](gitlab-org/gitlab@f877540bb4ee612eeaac00c1eb3d8832c43356d7) ([merge request](gitlab-org/gitlab!109094)) +- [Add SCIM Token section to Admin Area for instance-level SCIM](gitlab-org/gitlab@33cf1877708b9e8c1ea999045688693917d28be2) ([merge request](gitlab-org/gitlab!106340)) **GitLab Enterprise Edition** +- [Drop unused index in ci_builds](gitlab-org/gitlab@0ce9cf242f815604020b9ef6fb5c0a0ceb892a72) ([merge request](gitlab-org/gitlab!108964)) +- [Use healthStatusUpdated subscription in frontend](gitlab-org/gitlab@04d3b1bc588497bca673dba76138887fad3b43c6) ([merge request](gitlab-org/gitlab!108853)) **GitLab Enterprise Edition** +- [Expose ability to import groups without projects](gitlab-org/gitlab@5ad01e4fbf8c3ae568d391d68cc9febb23d98efa) ([merge request](gitlab-org/gitlab!108802)) +- [Add an option to select 180 days of data](gitlab-org/gitlab@63b2650d3f9c2665288cbac6dbd09b00bd6e1f40) ([merge request](gitlab-org/gitlab!108398)) **GitLab Enterprise Edition** +- [Add tmp indexes for CI partitioning](gitlab-org/gitlab@a6f7d42fc03cf7d72dd0c786175737853a7ff8bd) ([merge request](gitlab-org/gitlab!108788)) +- [Add GraphQL subscription for health status updates](gitlab-org/gitlab@4d84ee1fea703575f4c21dcfdda5a17458c829a9) ([merge request](gitlab-org/gitlab!108850)) **GitLab Enterprise Edition** +- [Add dast_pre_scan_verification field to ProfileType](gitlab-org/gitlab@56a9859f8705db6079dbccb9ffc8f542f2392564) ([merge request](gitlab-org/gitlab!108074)) **GitLab Enterprise Edition** +- [Add index on created_at and id to ci_runner_machines](gitlab-org/gitlab@6d92c64917484f0754eb6583c339cd4deae558c4) ([merge request](gitlab-org/gitlab!108414)) +- [Finalize todo sanitization](gitlab-org/gitlab@b04d61009ec7609126c0a2e91250c1b8ac392b18) ([merge request](gitlab-org/gitlab!108983)) +- [Expose legacy requirement IID in Work Items GraphQL API](gitlab-org/gitlab@a9dc0bf770a45bf74c38909029d0a0c2963b242f) ([merge request](gitlab-org/gitlab!108951)) **GitLab Enterprise Edition** +- [Import 'Allow specified actors to bypass required pull requests' rule](gitlab-org/gitlab@7f868fb523382d106b64872dcdb7a8fd0992d7dc) ([merge request](gitlab-org/gitlab!107943)) **GitLab Enterprise Edition** +- [Add report abuse category to issue & incident](gitlab-org/gitlab@848a9e05f4a232698243a70f55c4b995f95d0c59) ([merge request](gitlab-org/gitlab!108004)) +- [Count approval project rule created monthly](gitlab-org/gitlab@ab662d2dcadee40b7e79592087c88e52fad37c3f) ([merge request](gitlab-org/gitlab!108388)) **GitLab Enterprise Edition** +- [Add 'migrate_projects' bool flag for group bulk imports'](gitlab-org/gitlab@37bfcc68a1c56c319e6f9bf8b1cc7a8330c80957) ([merge request](gitlab-org/gitlab!108697)) +- [Add user and fingerprint to ssh signature](gitlab-org/gitlab@77728a5818d958991fb52b40270f3302b27c7fa7) ([merge request](gitlab-org/gitlab!108324)) +- [Add create achievement GraphQL mutation](gitlab-org/gitlab@df8cd83eab416ae3ba34bb5cfdf423eb41de4c6e) ([merge request](gitlab-org/gitlab!106909)) +- [Make frequently projects/groups list editable](gitlab-org/gitlab@7a06a9060dd731f2f07499cbd38cc534429114ca) ([merge request](gitlab-org/gitlab!108205)) +- [Add updatedAt field to Vulnerabilities](gitlab-org/gitlab@3516bf51f3d1394ef1d8a0062ff35d5dcab3f022) ([merge request](gitlab-org/gitlab!107983)) **GitLab Enterprise Edition** +- [Support $…$ and $$…$$ syntax math in markdown](gitlab-org/gitlab@bcee1034e37d533cdb29a5614c2b0296491c54af) ([merge request](gitlab-org/gitlab!108379)) +- [feat: Bump Code-Quality image to 0.89.0](gitlab-org/gitlab@aac7e0667304b14975ecdbaf5b61b28c1c8af8ee) ([merge request](gitlab-org/gitlab!108810)) +- [Default enable jira_connect_oauth_self_managed](gitlab-org/gitlab@26cc67bfb5043e4c31ccf8c136284b1a09c1af4d) ([merge request](gitlab-org/gitlab!108789)) +- [Expose uses legacy iid flag in test report GraphQL type](gitlab-org/gitlab@343cfb57d28a48c62b9931f1afcd2ba05ef0fd4e) ([merge request](gitlab-org/gitlab!108748)) **GitLab Enterprise Edition** +- [Add create/update/delete endpoints for instance SCIM](gitlab-org/gitlab@33e1b19cd245f764499f80f3aaea4e6765b14a15) ([merge request](gitlab-org/gitlab!108635)) **GitLab Enterprise Edition** +- [Open Web IDE in new tab in all contexts](gitlab-org/gitlab@70f86a3ffb6f043880c45b96728b159887db9582) ([merge request](gitlab-org/gitlab!106122)) +- [Add uses legacy iid flag to test reports table](gitlab-org/gitlab@5899159de6634b2e94d4f3f259cb0c7c504135d6) ([merge request](gitlab-org/gitlab!108520)) +- [No-op migration for pm package partitioning](gitlab-org/gitlab@5f5f6b3bc7aec71b33df012fce52f14517acb735) ([merge request](gitlab-org/gitlab!108722)) +- [Push language aggregation feature flag to front-end](gitlab-org/gitlab@0374002574c50b276a852f40179e68019e3413b7) ([merge request](gitlab-org/gitlab!107969)) +- [Refresh pipelines when target branch changes](gitlab-org/gitlab@0c829de43c167d8fdb52d5a6b175dc5b5507661f) ([merge request](gitlab-org/gitlab!107709)) +- [Extend API spec helper for new `admin_mode` PAT scope](gitlab-org/gitlab@762ed5f68ca7d9f88f284c600100dd44a5fc8ea5) by @wwwjon ([merge request](gitlab-org/gitlab!108690)) +- [Improve the performance of PipelineScheduleWorker](gitlab-org/gitlab@dd9f9636ae15c1fd5394cd22c606a4c01eb7397e) ([merge request](gitlab-org/gitlab!106661)) +- [Add 'migrate_projects' column to bulk_import_entities table](gitlab-org/gitlab@5e5338cbed99ae1e7a087a43ab8231389d51565b) ([merge request](gitlab-org/gitlab!108676)) +- [Add work_item_iid to requirement update mutation](gitlab-org/gitlab@8d9b76949101f2a1052db9450cad0e30ff243923) ([merge request](gitlab-org/gitlab!108392)) **GitLab Enterprise Edition** +- [Add new github import stats elements](gitlab-org/gitlab@933c2884c98c40657869c9c36ab7cff7bb3a20d2) ([merge request](gitlab-org/gitlab!108646)) +- [Add partitioning for package metadata](gitlab-org/gitlab@754f9def18bca3c5a01131ed037c9e887d31a43d) ([merge request](gitlab-org/gitlab!104155)) +- [Add work_item_iid to requirement update mutation](gitlab-org/gitlab@f2617f2b17550ea8c1d1420f91a71b3f2e7c936b) ([merge request](gitlab-org/gitlab!108389)) **GitLab Enterprise Edition** +- [Add API to stop stale environments](gitlab-org/gitlab@aaf003d40441e14e6ccf7956bfe499afb585708d) ([merge request](gitlab-org/gitlab!108062)) +- [Adds Singlestatistic Option to Visualization Designer](gitlab-org/gitlab@bb9b92d921d47b3de2e17fa728c08c355fe3533e) ([merge request](gitlab-org/gitlab!108421)) **GitLab Enterprise Edition** +- [Display error message in BulkImport initial page](gitlab-org/gitlab@e6326766b52473cedfbabbe5fd50de7f6a57e581) ([merge request](gitlab-org/gitlab!108433)) +- [Add `admin_mode` scope for PATs](gitlab-org/gitlab@04365c075b39d309628a308ce951530a75aee8e9) ([merge request](gitlab-org/gitlab!107875)) +- [Adds Candidate Show page](gitlab-org/gitlab@a3706d0198fdaf5cb1a2f6d2d6f76f98321f246d) ([merge request](gitlab-org/gitlab!108111)) +- [Add Runner performance insights modal](gitlab-org/gitlab@91c6d13d3dee447213de84dc97734b9a16849fbd) ([merge request](gitlab-org/gitlab!107385)) **GitLab Enterprise Edition** +- [Add reported from URL field to the report abuse form](gitlab-org/gitlab@6f3b88c3b5ffd27784f85e22870e3a9aed5440bf) ([merge request](gitlab-org/gitlab!106675)) +- [Add OR filter support for labels](gitlab-org/gitlab@3f25ce65d710e706c3890d4709e62df82006a743) ([merge request](gitlab-org/gitlab!102171)) +- [Support rate limiting by user on GitLab shell](gitlab-org/gitlab@b0ab3f844daf2d03780b4b4af73b59a285416285) ([merge request](gitlab-org/gitlab!108446)) +- [mail_room: Make it possible to configure delete after delivery behavior](gitlab-org/gitlab@f04614ebdfe94d24fa8c0a6b2985557c99db0392) ([merge request](gitlab-org/gitlab!108494)) +- [Add GET endpoints for instance-level SCIM](gitlab-org/gitlab@18ef3fbc6d0d78c1ae9810bc0387b96af5908152) ([merge request](gitlab-org/gitlab!107770)) **GitLab Enterprise Edition** +- [Add runner_machine_id column to ci_builds_metadata](gitlab-org/gitlab@ad146dd2bc859338a148832038d85cd8ec83378c) ([merge request](gitlab-org/gitlab!108165)) +- [Migrations to clean up vulnerabilities with overlong html titles](gitlab-org/gitlab@5eea9674dcf21de84bf82d27e1d03f9d5d16e0ea) ([merge request](gitlab-org/gitlab!103218)) +- [Add customer_health_score performance indicator type](gitlab-org/gitlab@c5a25e04c9817c70435958fe1be7945aad3f5a63) ([merge request](gitlab-org/gitlab!108386)) +- [Create logic to find branch rules without protected branches](gitlab-org/gitlab@38a2b908ab58021a9461fbef11d74906beb6f5cc) ([merge request](gitlab-org/gitlab!106954)) **GitLab Enterprise Edition** +- [Add admin role to access level enum in graphql](gitlab-org/gitlab@5442d23066daa929555c034055408ea3d71229b6) ([merge request](gitlab-org/gitlab!108455)) **GitLab Enterprise Edition** +- [Add UI to retry failed external MR status checks](gitlab-org/gitlab@8ced7ec597f4b8b8105d2287ca71607ea5b2eb6a) ([merge request](https://gitlab.com/gitlab-org/gitlab/-/merge_requests/106751)) **GitLab Enterprise Edition** +- [Intercept repository archive hotlinking](gitlab-org/gitlab@7b04882028db3484588f605877293227704dd8b3) ([merge request](gitlab-org/gitlab!108450)) +- [Support rate limiting by IP on GitLab shell](gitlab-org/gitlab@8a37849f803c2e59f4b4aa7796cb830425c7e460) ([merge request](gitlab-org/gitlab!108436)) +- [Support automatic approve deployment](gitlab-org/gitlab@5d61b0b8dd4818dad61417dfa1bb998012de3ffd) by @luzhiyuan.deer ([merge request](gitlab-org/gitlab!104720)) +- [Adding todos on project request access](gitlab-org/gitlab@5cca7c79dbccb98d8c6df480e7fb223005dc62dd) ([merge request](https://gitlab.com/gitlab-org/gitlab/-/merge_requests/106550)) +- [Store approving user for access requests](gitlab-org/gitlab@a76c2056c924d3eeb4d61d149ea6ac2144fb3e0b) by @Taucher2003 ([merge request](gitlab-org/gitlab!108275)) +- [Add config column to ci_runner_machines](gitlab-org/gitlab@ef3d867f1f4d214fd8a47fd1cd2aac9fa33c52ee) ([merge request](gitlab-org/gitlab!108328)) +- [Add pwa icon to appearance / api](gitlab-org/gitlab@0f88d9b3d6cb1df69e3d1b4aa967f137e93f2682) by @TrueKalix ([merge request](gitlab-org/gitlab!107822)) +- [Adds support for passing :allow_duplicate option](gitlab-org/gitlab@6ecf16006277adf0eae8bfec11645251f546e4d3) ([merge request](gitlab-org/gitlab!108047)) +- [Work Item activity widget - sorting and pagination](gitlab-org/gitlab@12b30e33e6ef86169b6a37322b69f5251f6e1891) ([merge request](gitlab-org/gitlab!106275)) +- [Adds pagination to candidates](gitlab-org/gitlab@fdc40c5b659b1e98ace4fb08ac028007fa16de55) ([merge request](gitlab-org/gitlab!107561)) +- [Group recent activity metrics are now clickable](gitlab-org/gitlab@ee5ca69b6daab5b15dcac6592c2e085d9c4d6957) ([merge request](gitlab-org/gitlab!107020)) **GitLab Enterprise Edition** +- [Adds section for metadata on CandidateDetails](gitlab-org/gitlab@0b7582aaaa6cc7d0c29e2bbfcd0a389a720dfc39) ([merge request](gitlab-org/gitlab!107881)) +- [[385087] GitHub repos fetch by relation type](gitlab-org/gitlab@d93c10048c64ffd6c8ae3b4387db3ae8b2e4f363) ([merge request](gitlab-org/gitlab!107883)) +- [Add param regex to api branches](gitlab-org/gitlab@ccd203d6b4a7ed2bacd8a33be855c8d1802816cc) by @lyb124553153 ([merge request](gitlab-org/gitlab!107910)) +- [Add incident attribute to slack notif settings](gitlab-org/gitlab@118ba701cfeb36f08efd402c4f8397214803a572) ([merge request](https://gitlab.com/gitlab-org/gitlab/-/merge_requests/107856)) +- [Add tag_list to DastScannerProfileType](gitlab-org/gitlab@168fec185cf3da8a9f78737b92f37067fde4dc1c) ([merge request](gitlab-org/gitlab!107521)) +- [Remove use_api_for_payment_validation](gitlab-org/gitlab@b01aa65a9676266256e7e9416fdd6c01780eb68d) ([merge request](gitlab-org/gitlab!107839)) **GitLab Enterprise Edition** +- [Add ApplicationSetting for private profile](gitlab-org/gitlab@3ecbdcbeec97190ddc4253bb51bb0456988e329f) ([merge request](gitlab-org/gitlab!107362)) +- [Add allow_runner_registration_token namespace setting](gitlab-org/gitlab@3353d0a811c2eb3ca6b9ac6838841858add444fe) ([merge request](gitlab-org/gitlab!107818)) +- [Add username in the OIDC preferred_username claim](gitlab-org/gitlab@c297080dc6ce24db5f8f6f2bacc6c81fe66d50c1) by @janLo ([merge request](gitlab-org/gitlab!107720)) +- [Add mirror_branch_regex to api](gitlab-org/gitlab@1893cff91daa8fdc3de70fb70b8d58879c5a9e6e) by @lyb124553153 ([merge request](gitlab-org/gitlab!102608)) **GitLab Enterprise Edition** +- [Trigger merge status subscription when a new discussion is created](gitlab-org/gitlab@e3f8b8166fb40d763a3aefd2b85bbb9e9935fecb) ([merge request](gitlab-org/gitlab!107981)) +- [GraphQL: Add RunnersJobsStatisticsResolver](gitlab-org/gitlab@5f7fa13f88f52432c806295de4d2a33a1442112f) ([merge request](gitlab-org/gitlab!107694)) **GitLab Enterprise Edition** +- [Add `PATCH` method for `/user/status` REST API](gitlab-org/gitlab@bbf3d71e8eaefd19f3613195a59bba338ce7b35c) ([merge request](gitlab-org/gitlab!107115)) +- [Expose milestone ID in the milestone page](gitlab-org/gitlab@bab8a27caefc81c4ad2ec3c2ffc86e229d680081) ([merge request](gitlab-org/gitlab!107991)) +- [Includes batch-details.json to database sampling artifacts](gitlab-org/gitlab@6a069eab3f2aaa5c7811a0fa082759593968f529) ([merge request](gitlab-org/gitlab!107293)) +- [Remove Feature Flag from Runners Finder](gitlab-org/gitlab@2cea531a3e7c38885092be70f6131a2cf89b01de) ([merge request](gitlab-org/gitlab!107893)) +- [Add incident hooks col to integrations](gitlab-org/gitlab@0790ee52e9d30156294289a201bfb21a104a4885) ([merge request](https://gitlab.com/gitlab-org/gitlab/-/merge_requests/107858)) +- [Create Ci::RunnerMachine model](gitlab-org/gitlab@4109b13fdc9300a396c66aabba67394bb780a9e8) ([merge request](gitlab-org/gitlab!107801)) +- [Add worker to sync repository data types in SSF](gitlab-org/gitlab@7e44a0862909fee1ad430246bb7980fb53e9905c) ([merge request](gitlab-org/gitlab!107421)) **GitLab Enterprise Edition** +- [Add AnalyticsDashboardPointer model](gitlab-org/gitlab@0fa7b3431255715bc4e2f728be23ccca33ea1f0b) ([merge request](gitlab-org/gitlab!107673)) +- [Send GraphQL triggers on discussion un/resolution](gitlab-org/gitlab@f6b05e84a6697df78b0f1c220666d32ef53a51ae) ([merge request](gitlab-org/gitlab!107778)) +- [Add allow_runner_registration_token application setting](gitlab-org/gitlab@db7d71373d9804896ae9ad6457d3c5f6ba5d6a4e) ([merge request](gitlab-org/gitlab!107817)) +- [GraphQL: Add CI jobs statistics types](gitlab-org/gitlab@31a531422e64e7e77ad170c670bfc4d896f056ff) ([merge request](gitlab-org/gitlab!107743)) **GitLab Enterprise Edition** +- [Add fk details to postgres_foreign_keys view](gitlab-org/gitlab@429725182c5330993b9c2b38780d2e5a5421ee96) ([merge request](gitlab-org/gitlab!106877)) +- [Show new "Your work" sidebar on Projects dashboard](gitlab-org/gitlab@d55590d60d61bdf71326860face87f07f91706b5) ([merge request](gitlab-org/gitlab!107345)) +- [Add noteable commenters GraphQL field](gitlab-org/gitlab@682e70bbb1c0a15b3e78c0452a2e0a618b78194c) ([merge request](gitlab-org/gitlab!107734)) +- [Added timelogs pagination and total time spent retrieval](gitlab-org/gitlab@70086c7ad879ecae02a8e17aaf1b3f2f25203783) by @zillemarco ([merge request](gitlab-org/gitlab!107080)) +- [Add noteable commenters GraphQL field](gitlab-org/gitlab@857f5674370f76a9079cbb2984b38a75a13cc4cc) ([merge request](gitlab-org/gitlab!105935)) +- [Enable promote to incident quick action for issue creation](gitlab-org/gitlab@e6f951f61423269f0f843e3d2e403bb6f00fa8a2) ([merge request](gitlab-org/gitlab!106366)) +- [Allow TeleSign credentials to be configure via ApplicationSetting API](gitlab-org/gitlab@a36ea1c2ff1c251d57b4d01a95f8b85e257902f0) ([merge request](gitlab-org/gitlab!107553)) **GitLab Enterprise Edition** +- [Index members member_namespace_id and other columns](gitlab-org/gitlab@f4faa1e60e07136ad79a16c4ecc74dfabb38fb5e) ([merge request](gitlab-org/gitlab!107623)) +- [Allow aggregating CE events with EE events](gitlab-org/gitlab@9377ce8e3057bb3221b5df5e81c8730139f6484e) ([merge request](gitlab-org/gitlab!106450)) +- [Add SkipDelete option to the direct upload authorize response](gitlab-org/gitlab@b64560fabf2398e6974992afd612a507724400fd) ([merge request](gitlab-org/gitlab!106315)) +- [Schedule async index on ci_builds](gitlab-org/gitlab@cd2cebdf192600f10daf9dd2592fca575171cff8) ([merge request](gitlab-org/gitlab!106952)) +- [Add member_namespace async indexes](gitlab-org/gitlab@37dcb9cf4898b942e62d69a9966acae227b322c8) ([merge request](gitlab-org/gitlab!107304)) +- [Added sorting option to timelogs GraphQL resolver](gitlab-org/gitlab@04f76e64d9d3125fa0a668c8b31d6939470b2876) by @zillemarco ([merge request](gitlab-org/gitlab!106364)) +- [Create UserAchievement model](gitlab-org/gitlab@c75904395c043be22ed52a915b19ce126403f4d5) by @Taucher2003 ([merge request](gitlab-org/gitlab!107027)) +- [Add system notes metadata to GraphQL NoteType](gitlab-org/gitlab@16da82b5a426916abaa9df06bad9b9c4e97c1ae3) ([merge request](gitlab-org/gitlab!106216)) **GitLab Enterprise Edition** +- [Adds keyword to opt-out of cache isolation](gitlab-org/gitlab@ae71b7342b9122ef5d4159fb8c4b04c3914b41e1) ([merge request](gitlab-org/gitlab!106977)) +- [Add import all gists to snippets endpoint](gitlab-org/gitlab@ce576d4a919eff1595b403c5f179181d17a78846) ([merge request](gitlab-org/gitlab!102388)) +- [Adds run_name to mlflow/runs/create](gitlab-org/gitlab@1cdfcb9077ca7ff86358cead08f5ea9adb864aea) ([merge request](gitlab-org/gitlab!107350)) +- [Respect bulk_import_enabled application setting when using BulkImports](gitlab-org/gitlab@06f5762b5177752d4adf5319e2354c9e9e9b98c4) ([merge request](gitlab-org/gitlab!106590)) +- [Add management of streamed audit event filtering](gitlab-org/gitlab@04906436b6142a30cffc6da168f7d303e655ee67) ([merge request](gitlab-org/gitlab!105969)) +- [Add index and foreign_keys including partition_id](gitlab-org/gitlab@559b5c7bc0c2ed6861eba2004ffe801ff5136bcc) ([merge request](gitlab-org/gitlab!106717)) +- [Issue event filter also includes WorkItem events](gitlab-org/gitlab@44763da093c80ec165bc0c4e77fc3bf843480eaa) ([merge request](gitlab-org/gitlab!107162)) +- [Add mindmap support to Mermaid diagrams](gitlab-org/gitlab@cd54dcc2d0af0f7844617a97c7573a061041876e) by @auke- ([merge request](gitlab-org/gitlab!106536)) +- [Add abuse category selector when reporting a user for abuse](gitlab-org/gitlab@2d9edc0e0662acda14c3ac53c948a139e14eaeb0) ([merge request](gitlab-org/gitlab!105316)) +- [Support filtering job_artifacts replicables by keyword via GraphQL](gitlab-org/gitlab@b1cdc2323a0addf8de5da37fbfa77dc920366e39) ([merge request](https://gitlab.com/gitlab-org/gitlab/-/merge_requests/107047)) **GitLab Enterprise Edition** +- [Health status not filter](gitlab-org/gitlab@e0d5aea60b2e3a63c051c305ed41d851fef12151) ([merge request](gitlab-org/gitlab!106892)) **GitLab Enterprise Edition** +- [Reschedule epic cache count migration](gitlab-org/gitlab@4723a5cc072a1470ee9e0b58ec8c2ae1a6db3223) ([merge request](gitlab-org/gitlab!106947)) + +### Fixed (108 changes) + +- [Add missing incident trigger label](gitlab-org/gitlab@84069214e434b1ae7b2fe7dafd3b261bb5cc040a) ([merge request](gitlab-org/gitlab!108948)) **GitLab Enterprise Edition** +- [Do not show CI/CD button when user has no permissions](gitlab-org/gitlab@019e4e2dbb08cca5d651b70428a24a71e4e4c19b) ([merge request](gitlab-org/gitlab!108615)) +- [Update styling in admin jobs page](gitlab-org/gitlab@e881ef514302cf566ba5c6d753a1d78795dbd8df) ([merge request](gitlab-org/gitlab!109124)) +- [Fix "triggered by" link for pipeline job](gitlab-org/gitlab@1eb920ce3b87fc39b68d75e13d1e5cb5d3e1720c) by @winniehell ([merge request](gitlab-org/gitlab!109042)) +- [Group Owner to remove shared project](gitlab-org/gitlab@ca96b9708dcd8a045dda140063286a868b168647) ([merge request](https://gitlab.com/gitlab-org/gitlab/-/merge_requests/108036)) +- [Fix missing VueApollo in project importers](gitlab-org/gitlab@5bdf8691c6318064e595d909ec145730dd040870) ([merge request](gitlab-org/gitlab!107911)) +- [Move tilde into inline code](gitlab-org/gitlab@247d108c36dc8fd9a9208fc841ea41c7f1913c0e) by @PeterTillema ([merge request](gitlab-org/gitlab!108962)) +- [Check time before starting reindex action](gitlab-org/gitlab@281c6bbad6ec1f3172af6f51fc051ce9eda0772a) ([merge request](gitlab-org/gitlab!108428)) +- [Display loading icon when destination is unknown](gitlab-org/gitlab@8b7e3ab1ad3f1448e647a4e0916f35c90ac32247) ([merge request](gitlab-org/gitlab!109064)) +- [Fix expose of readme_url and forks_count in API](gitlab-org/gitlab@7eb3b899e687f1bc3bf0026fc9d5a03043fdf1c6) ([merge request](https://gitlab.com/gitlab-org/gitlab/-/merge_requests/108743/)) +- [Prevent repository storage move workers from running simultaneously](gitlab-org/gitlab@b45267989142d0125df917a084d8c48334b2d4c8) ([merge request](gitlab-org/gitlab!109046)) +- [Fixes Candidate name not being set](gitlab-org/gitlab@71c845a4f234c8c27aa6be92693033e82d480f1c) ([merge request](gitlab-org/gitlab!108991)) +- [Remove CodeQuality Widget duplication in copy text](gitlab-org/gitlab@309ca088c25ceebf158feeef84dd0bdf38f139a5) ([merge request](gitlab-org/gitlab!108941)) +- [Fixed the broadcast message text color](gitlab-org/gitlab@d06d06d47577b8973cf94e0da2d217e718240570) by @zillemarco ([merge request](gitlab-org/gitlab!108889)) +- [Update NuGet group level permissions requirements](gitlab-org/gitlab@c874c0bcb3487645470a2b6ba5ead6ee7c42b9aa) ([merge request](gitlab-org/gitlab!108407)) +- [Add migration to rename column](gitlab-org/gitlab@7797782a2983ff1851e2f4d451548aad73dc8f10) ([merge request](gitlab-org/gitlab!108253)) +- [Removes collapsible sections that don't render correctly](gitlab-org/gitlab@f056cef9fcb2280bb5f485ed30dbc7ae6305a785) ([merge request](gitlab-org/gitlab!108777)) **GitLab Enterprise Edition** +- [Fix 404 when clicking 'Cancel' from fork project page](gitlab-org/gitlab@37845f59c1e2309702a50ead18b6785b9ab850b0) ([merge request](gitlab-org/gitlab!108631)) +- [Add regex validation to bulk import post params](gitlab-org/gitlab@49d4abc6e3404c137bc3835f1d9266354fa524e3) ([merge request](gitlab-org/gitlab!108723)) +- [Search API should respect the global search feature_flag](gitlab-org/gitlab@4095cea5f72c13d49320130c05a6b1a472273c48) ([merge request](https://gitlab.com/gitlab-org/gitlab/-/merge_requests/108394)) +- [Exclude trailing spaces from commit message search queries](gitlab-org/gitlab@c912d822a6bcfda80e8c8031c4ca4119efed1793) ([merge request](gitlab-org/gitlab!108716)) +- [[385860] Fix ProjectImportWorker record not-found](gitlab-org/gitlab@f4bcda433bd758af3600765eefc76d642e65998c) ([merge request](gitlab-org/gitlab!108227)) +- [Fix double validation error for project deploy keys](gitlab-org/gitlab@f48b575fb5d14f0e726a2e95a58e8403fe581a93) ([merge request](gitlab-org/gitlab!108090)) **GitLab Enterprise Edition** +- [Fix relative repository file link with percent sign](gitlab-org/gitlab@965f291658190f8ea7ac260b0be0e35f1a31322f) ([merge request](gitlab-org/gitlab!108240)) +- [Allow DAST profiles to be modified/removed when not referenced](gitlab-org/gitlab@bcb972a947786036f987b1f5117ac7aee6996b47) ([merge request](gitlab-org/gitlab!108667)) **GitLab Enterprise Edition** +- [Fix cache-miss bug in MultiStore](gitlab-org/gitlab@c8b522f19b904027a3fa47355b4772c9db940539) ([merge request](gitlab-org/gitlab!108199)) +- [Batch migration to set `OauthAccessToken#expires_in`](gitlab-org/gitlab@ee6f09ffba6102fd7dc6277df8c95b62a530f8d5) ([merge request](gitlab-org/gitlab!107701)) +- [Add regex validation to bulk import post params](gitlab-org/gitlab@b54525d92ad38294d900b299db0504fbc08f0e0d) ([merge request](gitlab-org/gitlab!108258)) +- [Fix when coverage_report is set to null](gitlab-org/gitlab@45a2c06b13debb7249bb525213e64ea78c907a55) ([merge request](gitlab-org/gitlab!108478)) +- [Handling locked partitions when truncating legacy tables](gitlab-org/gitlab@95f3307e0001bb65604a4afe5b0d42c1876d5e1e) ([merge request](gitlab-org/gitlab!108104)) +- [Fix jira_connect_proxy_url blank setting bug](gitlab-org/gitlab@ac94431d7d3f53f9116f425b3867ed7629e36e86) ([merge request](gitlab-org/gitlab!108604)) +- [Fix work item comments not loading by iid](gitlab-org/gitlab@6ab130efcfd90dda322c2b72e6091daacb9bd776) ([merge request](gitlab-org/gitlab!108581)) +- [Adapt helpers to use policy instead of `admin?`](gitlab-org/gitlab@ab703dba19c5c46d22a525399c96ef8ebacb22b2) ([merge request](gitlab-org/gitlab!107551)) +- [Fix richtext editor buttons in work item modal](gitlab-org/gitlab@4d4f8c8e7525ca49392b2091ae23ba19101ac347) ([merge request](gitlab-org/gitlab!108518)) +- [Don't open help link in new tab](gitlab-org/gitlab@af0179dbe660c89476b4be270ac9a63a300950a7) ([merge request](gitlab-org/gitlab!108382)) **GitLab Enterprise Edition** +- [Do not check for signup info on pwa controller](gitlab-org/gitlab@1f02fc4a5c648e5afaefaae31da6db9eac1e64ba) ([merge request](gitlab-org/gitlab!108501)) +- [Fix manual variable inputs width](gitlab-org/gitlab@8f3457ccc4ddd639ccf1d0355c826f837c4d0327) ([merge request](gitlab-org/gitlab!108487)) +- [Group-level project templates do not import various settings](gitlab-org/gitlab@0ae799e59e51e77a0fe5099b4672a78338750e4a) ([merge request](gitlab-org/gitlab!107503)) +- [Changing ActiveRecord to ApplicationRecord in spec](gitlab-org/gitlab@609da852d69f2e4cbd17c24a2aacad9291bccd70) ([merge request](gitlab-org/gitlab!108216)) +- [Fix amount_used column precision](gitlab-org/gitlab@690d11c31272d199e39f016f17467d40b3183729) ([merge request](gitlab-org/gitlab!106985)) +- [Geo Sites - Fix invalid href prop](gitlab-org/gitlab@dad6a0e2fdacf6677482075555242f9a985e788b) ([merge request](gitlab-org/gitlab!108484)) **GitLab Enterprise Edition** +- [Fix error when validating SBoMs with licenses](gitlab-org/gitlab@9c5d67808eb62b2f0882e33e3b6ef4fb6eca2510) ([merge request](gitlab-org/gitlab!108468)) +- [Fix Container Repository Geo replication when media type is absent](gitlab-org/gitlab@af8f9c3ff8797326a0c2a0e650370ba9986175fd) ([merge request](gitlab-org/gitlab!108463)) +- [Fix Import/Export protected branch access levels associated with user](gitlab-org/gitlab@c48791e37fcd5078742a3c1a0f995a3e96aa6c4f) ([merge request](gitlab-org/gitlab!108342)) **GitLab Enterprise Edition** +- [Eliminate certain instances of NoMethodError](gitlab-org/gitlab@073e69fd7950052fe69545a2282d50f7901ac1c6) ([merge request](gitlab-org/gitlab!107615)) +- [Fix time formatting on Container Registry](gitlab-org/gitlab@3251c2478508a0dec049c6d322f98585f83aefd2) by @giggsey ([merge request](gitlab-org/gitlab!108038)) +- [Fix repoPushed field in contributions GraphQL API](gitlab-org/gitlab@12f83916b5a2e2dc502e5042792455ac2970ed87) ([merge request](gitlab-org/gitlab!108406)) **GitLab Enterprise Edition** +- [Add CSP Concern to CI/CD Settings](gitlab-org/gitlab@ca3f5379f8297bbd691a15bb1bb6773ee6d7bd03) ([merge request](gitlab-org/gitlab!108397)) **GitLab Enterprise Edition** +- [Update vulnerability report when bulk-dismissing](gitlab-org/gitlab@86733eb87120439d405a690bcaee491006220c9c) ([merge request](gitlab-org/gitlab!106747)) **GitLab Enterprise Edition** +- [Fix cache-miss bug in MultiStore](gitlab-org/gitlab@714ac81f0fb462d39023bc57c28f2cdb05f51f70) ([merge request](gitlab-org/gitlab!107900)) +- [Deduplicate increments during a refresh](gitlab-org/gitlab@7decad97ee5e0108a1d623bac353d09860b4ecce) ([merge request](gitlab-org/gitlab!104216)) +- [Cleans-up extra attributes set in `clipboard_button` helper](gitlab-org/gitlab@79d77cbb4ed6b9e2d39d84e5eab61889ad41157a) by @afzal442 ([merge request](gitlab-org/gitlab!107790)) +- [Fix :unknown executor_type](gitlab-org/gitlab@58b7efa9cb9842a366b8876919008d9bab7eb063) ([merge request](gitlab-org/gitlab!108356)) +- [Fixed the URL generation for new MR from IDE](gitlab-org/gitlab@cb2ff68a1db4631bee1c6cc9bc3d4aa39c5863f7) ([merge request](gitlab-org/gitlab!108311)) +- [Don't prepend commit SHA with # in registries](gitlab-org/gitlab@4178b8189c9c668e098f6154f4d7e56c12a56758) ([merge request](gitlab-org/gitlab!96312)) +- [Prevent nav text clipping](gitlab-org/gitlab@282f412183e205a7ebb9e05c5c0e54bb6cc51eeb) ([merge request](gitlab-org/gitlab!108137)) **GitLab Enterprise Edition** +- [Fix NoMethodErrors when there is no slack_application](gitlab-org/gitlab@cda42c78af52e528e18ca08f3e0dab24f1212ce6) ([merge request](gitlab-org/gitlab!107622)) **GitLab Enterprise Edition** +- [Truncate long vulnerability flag description while ingesting](gitlab-org/gitlab@a4c36078144d2cae03f9e8c3d82936d9145b335d) ([merge request](gitlab-org/gitlab!108126)) **GitLab Enterprise Edition** +- [Fix review summary tabs in dark mode](gitlab-org/gitlab@17c18a437634615c9a9f9a364e42f67084704a07) ([merge request](gitlab-org/gitlab!108176)) +- [Fix days used on first day of trial display](gitlab-org/gitlab@82e9d8bbfb5f6908fa9f935d2af7e47914fb129e) ([merge request](gitlab-org/gitlab!108121)) **GitLab Enterprise Edition** +- [Reset Container Repository Sync status on secondary](gitlab-org/gitlab@45b6f2c824cd7f6b3741b7a1db5cf85d53de9a74) ([merge request](gitlab-org/gitlab!108153)) +- [Update CodeQuality MR Widget Message with no findings](gitlab-org/gitlab@19494fcc9f58934249f3318176b13ab989ae101c) ([merge request](gitlab-org/gitlab!108008)) +- [Update classes for CI status icons in deployments](gitlab-org/gitlab@a0a751f71319515a59753ef43d72890407873ad3) ([merge request](gitlab-org/gitlab!108122)) +- [Enforce memory-watchdog by default](gitlab-org/gitlab@0dea852d5acd477a7afe747a84c03337af408416) ([merge request](gitlab-org/gitlab!108112)) +- [Prevent erroring when time is somehow nil](gitlab-org/gitlab@f9bd0f22dba2f774c6d41042027ffb954fff357a) ([merge request](gitlab-org/gitlab!104859)) +- [Use the same exclusive lease key name for all indexing actions](gitlab-org/gitlab@7a1c7b756617a86ae5d42a1be1c5a0c5c48448ea) ([merge request](gitlab-org/gitlab!108099)) +- [Update epic tree count on add and remove epic](gitlab-org/gitlab@cd7cc9ddbda51d0224239698b4a665177d09463e) ([merge request](gitlab-org/gitlab!108081)) **GitLab Enterprise Edition** +- [Fix typo for environments edit path](gitlab-org/gitlab@41f059db17ebb660a1ed70f04e57073429a70814) ([merge request](gitlab-org/gitlab!108052)) +- [Sobelow support for nested Elixir projects](gitlab-org/gitlab@a4d5ac3da44da57167eee2a2bb2b019448b13dd9) ([merge request](gitlab-org/gitlab!107378)) +- [Geo Sites - Update Container Repo Data Type](gitlab-org/gitlab@872e945d3526de7099d870800e42a54023f18f9d) ([merge request](gitlab-org/gitlab!108049)) **GitLab Enterprise Edition** +- [Drop justify-content-center class in favor of align prop](gitlab-org/gitlab@0b2bf4fdd4c3a2a887d6abc00396440954f51d0d) ([merge request](gitlab-org/gitlab!108048)) +- [Supplementary logic for `inherit_group_setting`](gitlab-org/gitlab@b60ec73c4d477bf0c4dc0d7f596ec529af4b2553) by @luzhiyuan.deer ([merge request](gitlab-org/gitlab!102864)) +- [Fix --extra-index-url usage](gitlab-org/gitlab@d6d0680ea9b5df95022116dcc158cc6925292bc9) by @usdResponsibleDisclosure ([merge request](gitlab-org/gitlab!105662)) +- [Drop injects' default values](gitlab-org/gitlab@a2c0d7fae66b7b3f41f3995bc54270841cec2d39) ([merge request](gitlab-org/gitlab!108007)) +- [Fix LocalJumpError when an MR has no diff](gitlab-org/gitlab@e77dde51da5b9f8690aeeb6f27d42bb807540067) ([merge request](gitlab-org/gitlab!107995)) +- [Fix undefined method error](gitlab-org/gitlab@e677104ec1c346c13945b16c82108b38693a58a8) ([merge request](gitlab-org/gitlab!107928)) +- [Fix undefined method error for CI::Pipeline](gitlab-org/gitlab@c442aa6e43f747bf64c2fe1c045d12a889c74ffa) ([merge request](gitlab-org/gitlab!107931)) +- [Clean up prevent_outdated_deployment_jobs feature flag](gitlab-org/gitlab@659663138abbea7a8f74767004087ef23318c9f7) ([merge request](gitlab-org/gitlab!107952)) +- [Geo: Container Repository push events don't work](gitlab-org/gitlab@060dc8e6ea161b6d68e77d5921ec4d5fb020dfa3) ([merge request](gitlab-org/gitlab!107842)) +- [Fix create epic REST endpoints](gitlab-org/gitlab@42a80c5531e48035a0bb2a35b071258c09890519) ([merge request](gitlab-org/gitlab!107736)) **GitLab Enterprise Edition** +- [Skip rendering of empty admin notes on group page](gitlab-org/gitlab@7801b347a353805e551557c4da50d45ee4273ada) ([merge request](gitlab-org/gitlab!107368)) +- [Fix ContainerRepository graphql in admin area](gitlab-org/gitlab@41fece2720f1b0ca55482676cc83f10726ca48f4) ([merge request](gitlab-org/gitlab!107729)) +- [Fix maintain member for Advanced Search](gitlab-org/gitlab@be33f858215253aa253aed46f9e7fd9f94399850) ([merge request](gitlab-org/gitlab!107816)) **GitLab Enterprise Edition** +- [Change sign in button to use isGitlabCom](gitlab-org/gitlab@8512c53500cea58bed698b8b942255193dd0f68b) ([merge request](gitlab-org/gitlab!107721)) +- [Workhorse: Fix code nav relative path calculation](gitlab-org/gitlab@805bb3680544b57d37b81e4a3e0fbf5148858757) ([merge request](gitlab-org/gitlab!107783)) +- [Relax FIPS constraints on PyPi packages](gitlab-org/gitlab@e434f13d23760c0533f781505b2c4bc4149abd0b) ([merge request](gitlab-org/gitlab!107773)) +- [Workaround a segfault due to array GC bug](gitlab-org/gitlab@e0b3aeef655d1727f227953ce376bccb08608fc6) ([merge request](gitlab-org/gitlab!107706)) +- [Fix Maven packages not working on FIPS kernels](gitlab-org/gitlab@e65e8a1bcdfa9578c9db86f458eeddb08a5a8f05) ([merge request](gitlab-org/gitlab!107059)) +- [Set default `OauthAccessToken#expires_in`](gitlab-org/gitlab@26da66ccfd31a01a3514eba338910a9c3535cb35) ([merge request](gitlab-org/gitlab!107306)) +- [Rescue BulkImports::NetworkError on bulk import creation](gitlab-org/gitlab@5f8de50656f7c1620f1d20b0850d592a4f916bae) ([merge request](gitlab-org/gitlab!107489)) +- [Highlight Python syntax with Rouge](gitlab-org/gitlab@62652be8f0810d386f6c594bb626d97e9b6126f8) ([merge request](gitlab-org/gitlab!107463)) +- [Allow member creator service to handle existing access requests](gitlab-org/gitlab@2fa5cc683849ff7323727c7bf7d923b2f59394b1) ([merge request](gitlab-org/gitlab!107605)) +- [Fix creating JIRA issue URL for security findings](gitlab-org/gitlab@6be28d29808911eddfa933978f44b366814d24e9) ([merge request](gitlab-org/gitlab!107482)) **GitLab Enterprise Edition** +- [Fix remove parent epic quick command](gitlab-org/gitlab@b31d02f55505505344eb64c7439cfe8422f32644) ([merge request](gitlab-org/gitlab!107563)) **GitLab Enterprise Edition** +- [Move vulnerability creation out of transaction](gitlab-org/gitlab@ebf18f77da109f4208ea81b8217a95e46521b0d8) ([merge request](gitlab-org/gitlab!107595)) **GitLab Enterprise Edition** +- [Add notebook viewer](gitlab-org/gitlab@b3f664c174d3f0b629a1522dd5ba30fcbee0be45) ([merge request](gitlab-org/gitlab!107554)) +- [Fix the Container Registry tag filter](gitlab-org/gitlab@e22bfb939d9fafa55a017f86888fa7a8d28901c2) ([merge request](gitlab-org/gitlab!107433)) +- [Return bare hostname for importing a project](gitlab-org/gitlab@30ac42832df2b9d1cce8336031669a0f935750b2) ([merge request](gitlab-org/gitlab!107548)) +- [Remove breadcrumb border on repository > files view](gitlab-org/gitlab@44baec10e8a2fe874860e9f062a772af2e2c8883) ([merge request](gitlab-org/gitlab!107422)) +- [Fix regression on cyclic definition in GraphQL GroupType](gitlab-org/gitlab@fecba4fc53f9970f33a231feb25a20311ef6bf1e) by @zillemarco ([merge request](gitlab-org/gitlab!107487)) +- [Only render GFM when the element exists](gitlab-org/gitlab@12a46232ea4c113b807bcdde727116609eac3543) ([merge request](gitlab-org/gitlab!107360)) +- [Fix repository ref encoding issue](gitlab-org/gitlab@3e98e7c64f9ff76aac519b9100e267ff692c9915) ([merge request](gitlab-org/gitlab!107454)) +- [Fix WorkItem URL when listing user activity from contributions graph](gitlab-org/gitlab@72c93f9edea03b7ca9ac20cfba1d57b7dee082fd) ([merge request](gitlab-org/gitlab!107295)) +- [Remove Geo Replication sidebar nav link](gitlab-org/gitlab@4ddccbfd62bbe775f7bbee33796a759fa765a5ca) ([merge request](gitlab-org/gitlab!107406)) **GitLab Enterprise Edition** +- [Handle `Net::HTTPBadResponse` in `Gitlab::HTTP`](gitlab-org/gitlab@d85ac71863d02dce417234fb6ee8374a65bbda22) ([merge request](gitlab-org/gitlab!107414)) +- [Fix 500 error when artifact file is missing](gitlab-org/gitlab@cf3172231f96713268c93ff669e66e900c12ee96) ([merge request](gitlab-org/gitlab!107387)) +- [Fix error in API due to locking mechanism](gitlab-org/gitlab@cd419580f2344ffc9801d85a185da7218abba79a) ([merge request](gitlab-org/gitlab!107071)) +- [Use BigInt for Graphql Blob type to cover huge files](gitlab-org/gitlab@4448c9d3244098f1fa2b91957c85c092975b9168) ([merge request](gitlab-org/gitlab!106047)) + +### Changed (141 changes) + +- [Add clarification for source of username and email info](gitlab-org/gitlab@ee05c3ce08f12baac54b09e548fe1616716b43fb) ([merge request](https://gitlab.com/gitlab-org/gitlab/-/merge_requests/109004)) +- [Adds namespace filtering for group and project searches](gitlab-org/gitlab@75e951aeecee3abb6e34be765046554967e32ec7) ([merge request](gitlab-org/gitlab!108437)) **GitLab Enterprise Edition** +- [Provide an existing namespace when importing project from GitHub](gitlab-org/gitlab@cd7656ce955b0f05dac4f5b9415bf26793e356d8) ([merge request](gitlab-org/gitlab!108351)) +- [Update UI for image repositories scheduled for deletion](gitlab-org/gitlab@67262ba9c4f7fefa2a56f20db89791d2b5f818c7) ([merge request](gitlab-org/gitlab!108643)) +- [Update permissions for Epic add dropdown action](gitlab-org/gitlab@2245b187763bd450586d1d748689a78b6b34db63) ([merge request](gitlab-org/gitlab!108971)) **GitLab Enterprise Edition** +- [Converting commit branches dropdown to GlCollapsibleListbox](gitlab-org/gitlab@b5e65215343c6034373ecdd67eb652d61b016ac2) ([merge request](gitlab-org/gitlab!106863)) +- [Move project storage app to core codebase](gitlab-org/gitlab@5cded4eff211c526faeeaf6e2850f81dda698f16) ([merge request](gitlab-org/gitlab!108686)) +- [Improve partial github import display](gitlab-org/gitlab@baa368bca1adbe64cf0e4c36aee4a7afddaf03e3) ([merge request](gitlab-org/gitlab!108657)) +- [Add tooltip to epic actions dropdown](gitlab-org/gitlab@cc47feffb178c4328e8a60cfbaa037493e46e5e8) ([merge request](gitlab-org/gitlab!109031)) **GitLab Enterprise Edition** +- [Remove the vue_broadcast_messages feature flag](gitlab-org/gitlab@9eae0e9b2a4ddfea06cc2e2596859f4a265a6d26) ([merge request](gitlab-org/gitlab!108065)) +- [Use RetryError for DeleteBranchWorker](gitlab-org/gitlab@851eed95e5a6dd628bfa23a13b723389cefd7bfd) ([merge request](gitlab-org/gitlab!108115)) +- [Removed the template type selector](gitlab-org/gitlab@1c36a3a2c1d207ba35380adee44c0f54ead182a4) ([merge request](gitlab-org/gitlab!108459)) +- [Switch draft state toggle to use a checkbox](gitlab-org/gitlab@d9a4709833dd2638b4ca757e12a7147edbbcba28) ([merge request](gitlab-org/gitlab!108073)) +- [Remove Code-quality counter badge when report is not loaded](gitlab-org/gitlab@e960e034686f8cc8092210e9f2653bddf1d16894) ([merge request](https://gitlab.com/gitlab-org/gitlab/-/merge_requests/108536)) **GitLab Enterprise Edition** +- [Improve spacing for DAST profile summary](gitlab-org/gitlab@2cf427ca1e667461ae1baad017227ec9ec0296b0) ([merge request](gitlab-org/gitlab!108427)) **GitLab Enterprise Edition** +- [Order children within Work Items Hierarchy Widget by created_at](gitlab-org/gitlab@8338ce73e6786d7d92bcbb0b51666102c37c9250) ([merge request](gitlab-org/gitlab!108317)) +- [Improve escalation policies experience in the add/edit form help text](gitlab-org/gitlab@3e49bac567a28fb265ef80c4a2b6b59837f1527c) by @daelmo ([merge request](gitlab-org/gitlab!107486)) **GitLab Enterprise Edition** +- [Migrate runner buttons to pajamas](gitlab-org/gitlab@1d40e46619b861eb7773d2871269e43f8165d032) ([merge request](gitlab-org/gitlab!107326)) +- [Block outgoing Chrome connections in Capybara tests](gitlab-org/gitlab@c298297133f4695c6964081b667421093f3d73b3) ([merge request](gitlab-org/gitlab!107307)) +- [Move dollar math handling to markdown pipeline](gitlab-org/gitlab@5106f96244aa36bdcf2c926451041a470434f5eb) ([merge request](gitlab-org/gitlab!101687)) +- [Add Gitlab::Redis::RepositoryCache Redis instance](gitlab-org/gitlab@50862c5d8f4119dc88da4ad7637072737db91e5b) ([merge request](gitlab-org/gitlab!107232)) +- [Update permissions to add child issue](gitlab-org/gitlab@9a91bc9e7deb87ac89fbfbcd025d8986ebabeb23) ([merge request](gitlab-org/gitlab!107964)) **GitLab Enterprise Edition** +- [Experiment to add tier badge](gitlab-org/gitlab@ccb99227376f98189b7f7b0dd2c6cbfe40d4f87a) ([merge request](gitlab-org/gitlab!101575)) **GitLab Enterprise Edition** +- [Rename filepath in Releases APIs to direct_asset_path](gitlab-org/gitlab@3880892f04bec3493fece4ef15eb4b9dd324dca5) ([merge request](gitlab-org/gitlab!108618)) +- [Set context header height to auto](gitlab-org/gitlab@569e159a57d62d648c40c5da6fd8a864d1710bf3) ([merge request](gitlab-org/gitlab!108444)) **GitLab Enterprise Edition** +- [DAST path to display on vulnerabilities list](gitlab-org/gitlab@7349d3e161de6a00e454537bd9fc4e0a9fdc16a2) ([merge request](gitlab-org/gitlab!108638)) **GitLab Enterprise Edition** +- [Adapt Debian distributions API to consider package registry access level](gitlab-org/gitlab@d69b03fa44d058326d4bb194b18834a773d81e3b) ([merge request](gitlab-org/gitlab!107559)) +- [Remove solved issues from Package Registry docs](gitlab-org/gitlab@db3e41d48c151ce88470cec32a42b3549d767ce7) by @wwwjon ([merge request](gitlab-org/gitlab!108801)) +- [Raise a BadRequest error when escaping invalid URL](gitlab-org/gitlab@0ad858a13559b652b191febce191464543002a9a) ([merge request](gitlab-org/gitlab!108681)) +- [Updates installation docs about plpgsql extension](gitlab-org/gitlab@c178eb8e249db077676293ae44ee3aeb1a18f548) ([merge request](gitlab-org/gitlab!108367)) +- [Remove compatibility_alert from Jira connect app](gitlab-org/gitlab@18b3b113cf2727c95c04de341e73df794d5c786c) ([merge request](gitlab-org/gitlab!108763)) +- [Add mergeRequest to PipelineSecurityReporyFinding](gitlab-org/gitlab@cbbc0eec9dc80aa5c71b1a8e561a9f875d7d14d6) ([merge request](gitlab-org/gitlab!107491)) **GitLab Enterprise Edition** +- [Fix toggle button in MR collapsible extension](gitlab-org/gitlab@5bc8362c6ed3c81b85f92153671f3a8b632c35a9) ([merge request](gitlab-org/gitlab!108155)) +- [Adds documentation for migration helpers](gitlab-org/gitlab@6c005e1df440d069121c315966401e6188d8955f) ([merge request](gitlab-org/gitlab!108587)) **GitLab Enterprise Edition** +- [Version Check - Add feature flag](gitlab-org/gitlab@2883b52d50c1f73204ccf93fcd0755ed83cd498d) ([merge request](gitlab-org/gitlab!108732)) +- [Display neutral Icon when CodeQuality report did not change](gitlab-org/gitlab@f4381ffd72d9de2fe5b07977d9d4edc80aeaa3d9) ([merge request](gitlab-org/gitlab!108453)) +- [Remove ci_pipeline_triggers_settings_vue_ui feature flag](gitlab-org/gitlab@773e2c66797889e9140424097ae288d0259bc0ce) ([merge request](gitlab-org/gitlab!108499)) +- [Default enable validate release with author ff](gitlab-org/gitlab@2af5bc29541ebfb4aea2a0571aecd3eff92a97d0) ([merge request](gitlab-org/gitlab!108708)) +- [Add preview alert on invite members modal](gitlab-org/gitlab@532f63c1aa733890e2cd8230725849abf1574ae3) ([merge request](gitlab-org/gitlab!105741)) +- [Limit abuse reports to one per reporter per category](gitlab-org/gitlab@b59c07c0f066b1f7a09d69bd924a378a3d8f5d55) ([merge request](gitlab-org/gitlab!108089)) +- [Globally enable dependency_list_exporter FF](gitlab-org/gitlab@91658d510a0b14504feeb3b1153e28d2234a70a6) ([merge request](gitlab-org/gitlab!108578)) **GitLab Enterprise Edition** +- [Update dependency auto-deploy-image to v2.45.0](gitlab-org/gitlab@08aa8acb08572c0c64b485e0960854e85e1a8133) ([merge request](gitlab-org/gitlab!105047)) +- [Remove two_line_mention_enabled feature flag](gitlab-org/gitlab@fb19c66160c15abee1633ba85fc89b2e90678fb6) ([merge request](gitlab-org/gitlab!108295)) +- [Update branch rules according to changes in API](gitlab-org/gitlab@5543bcdd8a774fa1b8657c75b28f0edb65450b89) ([merge request](gitlab-org/gitlab!107954)) **GitLab Enterprise Edition** +- [Use TimezoneDropdown in oncall schedule create](gitlab-org/gitlab@385db55fdb8f9227ca2deb4e73237bf8c7dafb86) ([merge request](gitlab-org/gitlab!107245)) **GitLab Enterprise Edition** +- [Set up modal navigating on work items](gitlab-org/gitlab@aa63be84cbb9fb710853adab7171569efe713e4f) ([merge request](gitlab-org/gitlab!106618)) +- [Migrate ToolbarTextStyle to GlListbox](gitlab-org/gitlab@7d18ced6aa25a288a1ed6a20e36bf327560e4747) ([merge request](gitlab-org/gitlab!107493)) +- [Align CodeQuality MR Widget wording](gitlab-org/gitlab@8136ed08bf70482a81f73987b929aa395dce0405) ([merge request](gitlab-org/gitlab!108201)) +- [Migrate application delete button to Pajamas component](gitlab-org/gitlab@f9a189f094751c07859bf745e81ff481552505de) ([merge request](gitlab-org/gitlab!105224)) +- [Update approvers_select to use gl-listbox](gitlab-org/gitlab@7599cc547241acb9b96922eaad05201eebb023bd) ([merge request](gitlab-org/gitlab!108013)) **GitLab Enterprise Edition** +- [Limiting Apple App Store Integration to the project level](gitlab-org/gitlab@d6cabf0a256f7a00b165beb07608ef9858f9a83d) ([merge request](https://gitlab.com/gitlab-org/gitlab/-/merge_requests/108490)) +- [Cleanup update_oauth_registration_flow feature flag](gitlab-org/gitlab@6d56e7135f5be5fa29c56f588c2467184faf0811) ([merge request](gitlab-org/gitlab!107876)) +- [Add empty state to the pipeline schedules page](gitlab-org/gitlab@592317f474c04accf9e0304d8911d73b9f79725f) ([merge request](gitlab-org/gitlab!108161)) +- [Migrate user settings away from select2](gitlab-org/gitlab@14dec4dcbea4e68a72f749008bbfddb0bc284d93) ([merge request](gitlab-org/gitlab!107844)) +- [Escape snowplow js asset url](gitlab-org/gitlab@6e1d0257bfc45f5308f3169e39d74f7e8f755360) ([merge request](gitlab-org/gitlab!108211)) +- [Update contributions GraphQL API date validation](gitlab-org/gitlab@3460539c9fe1b69773c6d5fae8e4b5f89de99df9) ([merge request](gitlab-org/gitlab!108409)) **GitLab Enterprise Edition** +- [Updates copy for namespace storage enforcement locking banner](gitlab-org/gitlab@3d521a25c3a74c99686997de0e62f5ecfa995d7b) ([merge request](gitlab-org/gitlab!106697)) **GitLab Enterprise Edition** +- [Allow multiple users to report a user for abuse](gitlab-org/gitlab@99e1aada2801fed3c282a810b5a6bab2bba1b374) ([merge request](gitlab-org/gitlab!106028)) +- [Update notifications.md to be accurate](gitlab-org/gitlab@f1c12037b203795ea00f34078105ef799fc19460) ([merge request](gitlab-org/gitlab!107631)) +- [Closed and expired milestone should show as closed](gitlab-org/gitlab@f72ca4a95ca52d261801bf6fe2013b042544038a) ([merge request](gitlab-org/gitlab!107158)) +- [Made document title descriptive for Web IDE](gitlab-org/gitlab@970509ba0c1c84c16b666e096a09e5f88f6ae30a) by @mehulsharma ([merge request](gitlab-org/gitlab!108030)) +- [chore: Limit MarkDroppedAsResolved lookup to primary_ids only](gitlab-org/gitlab@162f588fed1df3e8260dac974dba7cd2d8dbf55f) ([merge request](gitlab-org/gitlab!107763)) +- [Simplify signature badge popover](gitlab-org/gitlab@78176398d2bde18bb1a9688a3705fd5064d1e7da) ([merge request](gitlab-org/gitlab!108092)) +- [Remove send_traversal_ids_to_indexer flag](gitlab-org/gitlab@306ac99c9f2f37791bb0c41a307981b003eaf423) ([merge request](gitlab-org/gitlab!108299)) **GitLab Enterprise Edition** +- [Update 422 page styling](gitlab-org/gitlab@a7ee2694b3447a9526135fdf32f90adfe3a578b5) ([merge request](gitlab-org/gitlab!107535)) +- [Add audit events for protected environments](gitlab-org/gitlab@d6fe3b2e6f9be3faa91b0403c4c79a1ea2b4d189) ([merge request](gitlab-org/gitlab!108247)) **GitLab Enterprise Edition** +- [Update permissions to relate epics](gitlab-org/gitlab@6b4ae9dc18379e26d3aeaf17aa929babad1b1307) ([merge request](gitlab-org/gitlab!107469)) **GitLab Enterprise Edition** +- [Add validation for State in purchase flow](gitlab-org/gitlab@61a31b6e132f14f2f37259e467fca52ebfbe8610) ([merge request](gitlab-org/gitlab!108289)) **GitLab Enterprise Edition** +- [Add message to modal explaining that sole owners can't be removed](gitlab-org/gitlab@2163ccfbcb79c07e20d9d646b82497078f88ff56) ([merge request](gitlab-org/gitlab!108266)) +- [Enable cyclonedx_sbom_ingestion by default](gitlab-org/gitlab@f1b43bcb74bcbe5b00c0d2ce9a63ab5a2efeb8b2) ([merge request](gitlab-org/gitlab!108283)) **GitLab Enterprise Edition** +- [Migrate error tracking settings dropdown to Listbox](gitlab-org/gitlab@03965c799e24f76b8a2a0fbfecdf4f4f5c872081) ([merge request](gitlab-org/gitlab!107703)) +- [Add system check for pending advanced search migrations](gitlab-org/gitlab@f95ea806ed89e790fc60e7208029ad838a311691) ([merge request](gitlab-org/gitlab!108001)) **GitLab Enterprise Edition** +- [Improve security report schema deprecation message](gitlab-org/gitlab@11d8558f8061d03297100f66fa6adaa07ee0e94e) ([merge request](gitlab-org/gitlab!108086)) **GitLab Enterprise Edition** +- [Remove the vue_group_select feature flag](gitlab-org/gitlab@634c700084468a12aab0d8eb322f42991edf7f2d) ([merge request](gitlab-org/gitlab!107847)) **GitLab Enterprise Edition** +- [Simplifies the design for todo mentions](gitlab-org/gitlab@364a8d2302925f1409e7cb9e074529a9e2a1b36f) ([merge request](gitlab-org/gitlab!108091)) +- [Add spec and refactor null check](gitlab-org/gitlab@cbe1c8b6fb166e2ecd0aead876d2c6d80bfe76ea) by @daelmo ([merge request](https://gitlab.com/gitlab-org/gitlab/-/merge_requests/107151)) +- [Update SYNTAX_OPTIONS_DOCUMENT path for the drawer document](gitlab-org/gitlab@69ce89ad7aa9b37efb88b22f4abc636f87f547eb) ([merge request](gitlab-org/gitlab!108202)) +- [Improve contrast of secondary text in dark mode](gitlab-org/gitlab@37900b06bc92057464745d2d5f44c2e026ec18ed) ([merge request](gitlab-org/gitlab!108184)) +- [Update edit policy page titles](gitlab-org/gitlab@acee73fee7fb0af125a70ac5751d161316007ed6) ([merge request](gitlab-org/gitlab!108182)) +- [Adding Apple App Store Integration](gitlab-org/gitlab@6aca8dd9a95ac51c7d9eeb188f3b623824c02cb6) ([merge request](https://gitlab.com/gitlab-org/gitlab/-/merge_requests/104888)) +- [Add content for retried manual builds](gitlab-org/gitlab@bdf967508ade5768a5e13f42805dc652b073eb90) ([merge request](gitlab-org/gitlab!106219)) +- [Update link ot TYPO3 distribution template](gitlab-org/gitlab@b95dde4ebb20c4a497b9c91f723223e6d15cc5b4) ([merge request](gitlab-org/gitlab!108147)) +- [Set filename when the file is not stored locally](gitlab-org/gitlab@693d447079f075d371d37e55467bd5a4f2f9d6d0) ([merge request](gitlab-org/gitlab!108133)) **GitLab Enterprise Edition** +- [Rename sidebar component to drawer](gitlab-org/gitlab@985aa1231557a0610d39ca1b44357c36e7e6659a) ([merge request](gitlab-org/gitlab!108011)) **GitLab Enterprise Edition** +- [Use GlCollapsibleListbox in ci_environments_dropdown](gitlab-org/gitlab@038870ec186bb55f7f4eb2123c6314f4bee9fd14) ([merge request](gitlab-org/gitlab!106029)) +- [Add pipeline name to job webhook event payload](gitlab-org/gitlab@0c0dc599d10dab9ad5c5fb21c20a552649e3f8a4) ([merge request](gitlab-org/gitlab!107963)) +- [Remove association between ChatName and Integration](gitlab-org/gitlab@2d78a008a7f47bd1f30eff580eadd56471ec5442) ([merge request](gitlab-org/gitlab!107823)) +- [Rename short_title to pwa_short_name](gitlab-org/gitlab@25004e51043b75a2eb7041460d771d4842dc77ff) by @TrueKalix ([merge request](gitlab-org/gitlab!107886)) +- [Exposing BatchedMigration feature_category to metrics](gitlab-org/gitlab@cd1a46c1899b2023df9a17ddbf82d5c0155cb69e) ([merge request](gitlab-org/gitlab!106227)) +- [Improve UX of `Clear status after` field](gitlab-org/gitlab@3032b7227b205a76cabfdad4f36b14af87244446) ([merge request](gitlab-org/gitlab!106723)) +- [Migrate deploy token settings button](gitlab-org/gitlab@9cf1fef012a554e3a06a9cd83fe69808a8280705) ([merge request](gitlab-org/gitlab!106567)) +- [Add data to shouldCollapse method of MR Widget Extension](gitlab-org/gitlab@7f79f61906f0f656fd8debae1aebea8e82e7ec09) ([merge request](gitlab-org/gitlab!108044)) +- [Remove update_vuln_identifiers_flag](gitlab-org/gitlab@04102fc68e0b32983a7f1e9cce5c71f827165b52) ([merge request](gitlab-org/gitlab!107680)) +- [Add variables argument to `PlayJob`](gitlab-org/gitlab@7cd70a63e7629d07b6b3fc18ddc4a60f18a05797) ([merge request](gitlab-org/gitlab!107477)) +- [Removed the references to `schema_linting` flag](gitlab-org/gitlab@f8ac59fecae54dd82afc6dde6e299401cefeac3d) ([merge request](gitlab-org/gitlab!107488)) +- [Add frontend code for dependency list export](gitlab-org/gitlab@e67020a5fb5b30851c48d7af93bfc3c9c6500f59) ([merge request](gitlab-org/gitlab!104369)) **GitLab Enterprise Edition** +- [This MR migrates Dropdown to Listbox](gitlab-org/gitlab@154b1be76359f7cc1554336a05327571e3b2a940) ([merge request](gitlab-org/gitlab!106738)) +- [Unify response from UI and API for rebase operation](gitlab-org/gitlab@765b7cdb169d520eb6547bb80db681b6ec931a11) ([merge request](gitlab-org/gitlab!107819)) +- [Move outdated deployment warning to FOSS](gitlab-org/gitlab@25d6315cb0edc922b0df8a89a21525d1bb420bcc) ([merge request](gitlab-org/gitlab!107104)) +- [feat: Suppress deprecation warning if ingesting GitLab-vendored reports](gitlab-org/gitlab@fd73ae6f5bc2ae433739d5598c0606bc827c85a9) ([merge request](gitlab-org/gitlab!107933)) **GitLab Enterprise Edition** +- [Swap button for dropdowns](gitlab-org/gitlab@46926b8a5af585ed13e72ddbd1effd01e2b5f800) ([merge request](gitlab-org/gitlab!107398)) **GitLab Enterprise Edition** +- [Add event type information for email address confirmation after sign in](gitlab-org/gitlab@cc84d39606af72be2b095346713328f903f42e48) by @daelmo ([merge request](gitlab-org/gitlab!106090)) **GitLab Enterprise Edition** +- [Remove deprecation notice in POST /runners](gitlab-org/gitlab@93f1937529dbc49498c70ccb274bd9170fae0944) ([merge request](gitlab-org/gitlab!107851)) +- [Add index_status for groups](gitlab-org/gitlab@9ff1cfdc8664f2ae13cb595392385e2ba0afb280) ([merge request](gitlab-org/gitlab!107579)) +- [This MR migrates Dropdown to Listbox](gitlab-org/gitlab@c437e78314d771e41429688dc6fa16b686378494) ([merge request](gitlab-org/gitlab!106334)) +- [Update indexes on ChatNames](gitlab-org/gitlab@64b133dd5a5ce88d6ed73f4fd156950ce072539a) ([merge request](gitlab-org/gitlab!107814)) +- [Remove optimized-housekeeping feature flag](gitlab-org/gitlab@1a32c99a94c8849604eb61bf00994e54058668bc) ([merge request](gitlab-org/gitlab!107661)) +- [Add text input field to trigger_field.vue](gitlab-org/gitlab@0368f9ea295a8d9adb7d5be62c44c9fabab28e5f) ([merge request](gitlab-org/gitlab!107789)) +- [Move admin menu jobs under CI/CD section](gitlab-org/gitlab@b8a691b3f0c8722b33491b0064ae89b5531f8367) by @Taucher2003 ([merge request](gitlab-org/gitlab!107685)) +- [Update internal notes policy names](gitlab-org/gitlab@72a2534fd10a201a7067768ff6e72cb6f7891122) ([merge request](gitlab-org/gitlab!107669)) **GitLab Enterprise Edition** +- [Enable `utilize_finding_data` feature flag by default](gitlab-org/gitlab@7e8901ea17d29f4031a2f7907ec9c4796cf4f7f5) ([merge request](gitlab-org/gitlab!107825)) **GitLab Enterprise Edition** +- [Remove package registry migration survey banner](gitlab-org/gitlab@9f2a3032a1c48c331ebc1e2884a222346a7724e8) by @ali_o_kan ([merge request](gitlab-org/gitlab!107786)) +- [Delegate profile fields to user details](gitlab-org/gitlab@289a61f38b6e28abb1bf85ed8f4a8a45751e60bf) by @brianjaustin ([merge request](gitlab-org/gitlab!102351)) +- [Update default preferred_language value of user](gitlab-org/gitlab@29402fc5e4bd4dae8bb3aad5a60b64470ead5c96) by @icbd ([merge request](gitlab-org/gitlab!106529)) +- [Add event name for merge method](gitlab-org/gitlab@56dce0828158f70ddcc758828c18f09abede9f9c) ([merge request](gitlab-org/gitlab!107626)) +- [Refactor user type scopes](gitlab-org/gitlab@c9d2d927fc071af9961bc66060113eeb028cdd16) ([merge request](gitlab-org/gitlab!107583)) +- [Update occurrences rather than appending new ones](gitlab-org/gitlab@ddc19ce8fc433b3106a18d464a3f09bc4bda3360) ([merge request](gitlab-org/gitlab!106894)) +- [Move admin runners menu](gitlab-org/gitlab@bf279f02b90bb4ddab186f7dabd8258d29876f1a) ([merge request](gitlab-org/gitlab!107455)) +- [Update user documents in elasticsearch when certain fields change](gitlab-org/gitlab@8649e74338d2372815368036b6cc22bd263462d7) ([merge request](gitlab-org/gitlab!107577)) **GitLab Enterprise Edition** +- [Turn gzip errors into structured log events](gitlab-org/gitlab@54088c6f3b4de8f6180356f51c693c9da4b7b99b) ([merge request](gitlab-org/gitlab!107474)) +- [Add Gitlab::Redis::RepositoryCache Redis instance](gitlab-org/gitlab@a0631d7ccd44c48c4bec4546e38883cd0bcc49c5) ([merge request](gitlab-org/gitlab!107187)) +- [Fix(Subscription Card): add disabled state to sync](gitlab-org/gitlab@398a22791d7cde7bdf0202e64c0355f24558b857) ([merge request](gitlab-org/gitlab!106855)) **GitLab Enterprise Edition** +- [Persist artifacts:public to Ci::JobArtifact table](gitlab-org/gitlab@151b41968ed86d1ca5e055012fad4d8f0ed6ef09) ([merge request](https://gitlab.com/gitlab-org/gitlab/-/merge_requests/100741)) +- [Add custom error for gitaly unavailable](gitlab-org/gitlab@871cf24acc579b8950f4ddf3e1ccd1e124d2e8ec) ([merge request](gitlab-org/gitlab!107451)) +- [Update rails-html-sanitizer to v1.4.4](gitlab-org/gitlab@9c9f23d56c4877a78dca7d88f31ded62c8965ccc) ([merge request](gitlab-org/gitlab!107613)) +- [Update CI error message when pipeline has no jobs to run](gitlab-org/gitlab@f6da2ad52a9966a3555a9f8d17657fb0bbf04a54) ([merge request](gitlab-org/gitlab!107297)) +- [Cleanup members table layout and buttons](gitlab-org/gitlab@ae91bc04aa184c05491fb7ba73ee38f03b5a9f75) ([merge request](gitlab-org/gitlab!106478)) +- [Open api users](gitlab-org/gitlab@6cac85b975307a3bfd46fde61af8067c1ebfaf1d) ([merge request](gitlab-org/gitlab!103284)) +- [Replace gl-dropdown with gl-collapsible-list-box for pipelines List](gitlab-org/gitlab@8708d183a896240393fd2f745bdfbba466f3ad13) ([merge request](gitlab-org/gitlab!107351)) +- [Make todos where you are mentioned two lined](gitlab-org/gitlab@30133a5f09d040e4618975eaae0fe7768de39845) ([merge request](gitlab-org/gitlab!106689)) +- [Allow null `only`/`except` keywords to be combined with `rules`](gitlab-org/gitlab@9908576c5c9fef9b7cb4584bd728c5c7b3afb2f0) ([merge request](gitlab-org/gitlab!106895)) +- [Migrate to GlCollapsibleListbox in jira-connect page](gitlab-org/gitlab@024c33facdeb626979ea5e25c7fa0b3ba45d218d) ([merge request](gitlab-org/gitlab!106921)) +- [ci: Build Workhorse with FIPS Go compiler](gitlab-org/gitlab@ac3401cbf7eaa4902752a6e4e05820ef07d193a2) ([merge request](gitlab-org/gitlab!107435)) +- [Move richtext editor switcher to toolbar](gitlab-org/gitlab@062c73463b06423ec7a3fd9d414d0e957a8d5f35) ([merge request](gitlab-org/gitlab!105450)) +- [Update spam log buttons to pajamas](gitlab-org/gitlab@b3f2082ac3af331c8c1864bece27e7c4987c41e2) ([merge request](gitlab-org/gitlab!107334)) +- [Add issueLinks to PipelineSecurityReportFinding](gitlab-org/gitlab@967224d7ef5c2bd5c2af937e26ecb44ca7544870) ([merge request](gitlab-org/gitlab!107296)) **GitLab Enterprise Edition** +- [Update sign-up registration buttons to pajamas](gitlab-org/gitlab@6fed11ea24a411aeee48c5f831efae6c6cda4322) ([merge request](gitlab-org/gitlab!107327)) +- [Add synch' portion of multi-step index creation](gitlab-org/gitlab@ae204170fbbb81238a34ecfbcfc786e83d260f20) ([merge request](gitlab-org/gitlab!106880)) +- [Migrate status badge to Pajamas](gitlab-org/gitlab@fe02bfcfbdf85654e4b76abe2f8046afb3ba9e13) ([merge request](gitlab-org/gitlab!106586)) +- [Adapt Debian API to consider package registry access level](gitlab-org/gitlab@8ccad0fc7e6668e5fe0b44b4fd4ca06875e3f948) by @wwwjon ([merge request](gitlab-org/gitlab!106832)) +- [Adapt Ruby gems API to consider package registry access level](gitlab-org/gitlab@a22661c4912bb5f6106c5acbc487d5cb7e7c45dc) by @wwwjon ([merge request](gitlab-org/gitlab!106790)) + +### Deprecated (4 changes) + +- [Projects API: Mark operations_access_level as deprecated](gitlab-org/gitlab@96f1d624d9e903788327c5f58c1ced7793e76e4a) ([merge request](gitlab-org/gitlab!109184)) +- [Announce planned removal of openSUSE 15.3 packages](gitlab-org/gitlab@84d56ab3a36096cc9fe94594f08e047f587eb9a9) ([merge request](gitlab-org/gitlab!109028)) +- [Deprecate approvers and approval_group fields](gitlab-org/gitlab@ffdf54b80c4697f63a8599c6be2aae938f884ae2) ([merge request](gitlab-org/gitlab!108621)) +- [Deprecate security report schemas versions 14.*.*](gitlab-org/gitlab@69172a63eec0ead81040d270b7f2e5e7cad026eb) ([merge request](gitlab-org/gitlab!106483)) **GitLab Enterprise Edition** + +### Removed (8 changes) + +- [Remove tmp index for vulnerabilities with cluster image scanning](gitlab-org/gitlab@69b52560d3452762e57f89a61f9f680c9f16efa3) ([merge request](gitlab-org/gitlab!108714)) **GitLab Enterprise Edition** +- [Delete scheduled jobs for Vulnerabilities::Feedback migration](gitlab-org/gitlab@3eb8edcfdf1953ffe5ec08f3691b0481f3753ba0) ([merge request](gitlab-org/gitlab!107731)) +- [Remove group_export_ndjson, group_import_ndjson FFs](gitlab-org/gitlab@2b17e32a292f8366d81a928bc73439b680caaa54) ([merge request](gitlab-org/gitlab!105087)) **GitLab Enterprise Edition** +- [Remove unused VSA use_aggregated_backend endpoint](gitlab-org/gitlab@a122471170a116923ff8929803b5fd0cf7e2d8dc) ([merge request](gitlab-org/gitlab!108208)) **GitLab Enterprise Edition** +- [Replace housekeeping setting with a single one in API](gitlab-org/gitlab@d35ace9f083015bf1f5dfb7830688560841869b7) ([merge request](gitlab-org/gitlab!106963)) +- [Deduplicate lock-retries helpers in migration modules](gitlab-org/gitlab@890a430cac7912fea96b37ce6c8161c747ce7b0f) ([merge request](gitlab-org/gitlab!107896)) +- [Remove phabricator_import feature flag](gitlab-org/gitlab@45d73ee6600772d5c52fc4401edc4b3f01a9537a) ([merge request](gitlab-org/gitlab!107930)) +- [Remove temp index on project_statistics](gitlab-org/gitlab@de8bc2ad49ebc53fdca4339b348afc02548fed2e) ([merge request](gitlab-org/gitlab!107564)) + +### Security (12 changes) + +- [Update Gitaly version](gitlab-org/gitlab@43309ce6be226256c52dcf6a4a4c480ae0fb64c1) +- [Limit the size of user agent to reduce ReDos attack](gitlab-org/gitlab@6c61ba1e4d1530e2dd60b301c8d76c4eeb4f4c7e) +- [Avoid regex with potential for poorly performing backtracking](gitlab-org/gitlab@72f103eb283bdfd9e3f56dc068d32b150562dfe9) +- [Protect Sentry auth-token after changing URL](gitlab-org/gitlab@aae02f73af7d31c09e6e76a70842cb04a9fc58c5) +- [Fix "Race condition enables verified email forgery"](gitlab-org/gitlab@e4d8d4f818275d42469d154b72fc6367b2b86bbb) +- [Validate token scopes in bulk_import service](gitlab-org/gitlab@71e047b011b638c14a3747e760c63eddc6b2651b) ([merge request](gitlab-org/gitlab!106849)) +- [Policy change to read and destroy token without license for .com](gitlab-org/gitlab@a50304439a0fff7f70e5ee908e84f09bee3fb216) +- [Pages version bump SHA for 15.8](gitlab-org/gitlab@1558a7c3108bd00f364c8f0f15448ec7023b7f2d) +- [Restrict Grafana API access on public projects](gitlab-org/gitlab@2f8434fd5d05c5140fc89aae2cb610f8dac5fa0d) +- [Delete project specific licenses when license policy is deleted](gitlab-org/gitlab@c1ed6d2b35153c613a11ea0cd00b63958db2b79e) +- [Protect web-hook url variables after changing URL](gitlab-org/gitlab@a0adb0092bc7021e41acd45e06a53fc8477d673c) +- [Restrict user avatar availability based on visibility restrictions](gitlab-org/gitlab@faa74b35b23f28ddae8b40062dadf99ab1d25419) + +### Performance (8 changes) + +- [Add index for environments on project_id and id](gitlab-org/gitlab@06fe540addb50ff0ac4d94a5cc6c3bdd6f3bab98) ([merge request](gitlab-org/gitlab!108786)) +- [Expand compound index on members to include member_role](gitlab-org/gitlab@dcabd0ff4d392414a58d098f3c7f3895de71a376) ([merge request](gitlab-org/gitlab!108700)) +- [Add partial index in namespaces](gitlab-org/gitlab@358835c225dae05598686300633ee538242f7347) ([merge request](gitlab-org/gitlab!108542)) +- [Replace index_ci_runners_on_runner_type to include id](gitlab-org/gitlab@3fce87c2f90fcd87b72fe3e92cb0a962ab5cb914) ([merge request](gitlab-org/gitlab!107895)) +- [Remove vulnerability state migration](gitlab-org/gitlab@b55906e64fa54b09d20b050eb29cf19cc057fa2e) ([merge request](gitlab-org/gitlab!107689)) +- [Improve the performance of count queries for replicator class](gitlab-org/gitlab@ffb1247957c84acd93b6deccab48b36802b32810) ([merge request](https://gitlab.com/gitlab-org/gitlab/-/merge_requests/106806)) **GitLab Enterprise Edition** +- [Remove cache_project_integrations feature flag](gitlab-org/gitlab@7e710cf352bb20855aacc150113a9b7ef1eef36a) ([merge request](gitlab-org/gitlab!107247)) +- [Optimize code owners file section regex](gitlab-org/gitlab@8e43650f060fd3c820f977bba2475ec441548ae2) ([merge request](gitlab-org/gitlab!107188)) **GitLab Enterprise Edition** + +### Other (41 changes) + +- [Remove obsolete Redis test helper](gitlab-org/gitlab@1fe280dc6dd9639c7b97cdf573a2eefef569eb6b) ([merge request](gitlab-org/gitlab!109010)) +- [Adding feature_category to pods related specs](gitlab-org/gitlab@8f4b36ae05a1f69ffeb9b55e4fdfb2ba8a6b8485) ([merge request](gitlab-org/gitlab!108981)) +- [Add sync database indexes to events table](gitlab-org/gitlab@cb8387729aa98cf7cb334a471f7dffcb467aace4) ([merge request](gitlab-org/gitlab!108973)) +- [Remove `cyclonedx_sbom_ingestion` feature flag](gitlab-org/gitlab@33983e1141fc71490385cc1c53b441d4af36b9de) ([merge request](gitlab-org/gitlab!108731)) **GitLab Enterprise Edition** +- [Bump Gitlab Shell to 14.15.0](gitlab-org/gitlab@df06b833d0bb52b0ed7db9237a4a1929433f253e) ([merge request](gitlab-org/gitlab!108819)) +- [Fix Style/FormatString offenses](gitlab-org/gitlab@01cc3a3b45cafda62ea8bc82d5c52278890d8ec8) ([merge request](gitlab-org/gitlab!108734)) +- [Remove pipeline_name feature flag](gitlab-org/gitlab@2e081e97c8cf69c23fab2c08e96d1bfa42a79df9) ([merge request](gitlab-org/gitlab!108774)) +- [Log pipelines that exceed includes maximum](gitlab-org/gitlab@a2b6edc6ed6801878b2c2656d104faa2ac8be566) ([merge request](gitlab-org/gitlab!108280)) +- [Refactor Gitaly client stub to reduce the number of connections](gitlab-org/gitlab@91bedeabf6fc457dd4c0009be63913d25dae548f) ([merge request](gitlab-org/gitlab!107815)) +- [Move disabled message to LearnGitlabHelper, set default in Vue](gitlab-org/gitlab@25ae975f019695d34482654c8f54d2f96d836e45) ([merge request](gitlab-org/gitlab!95866)) **GitLab Enterprise Edition** +- [Update users stat making billable users consistent](gitlab-org/gitlab@bf699d14a96abf762c970959ef7a238c2ad55f58) ([merge request](gitlab-org/gitlab!107666)) **GitLab Enterprise Edition** +- [Sets feature_category as :database for existing bg migrations](gitlab-org/gitlab@e57ad1346a5604ac6c9c6292b757edca1de0f226) ([merge request](gitlab-org/gitlab!107997)) +- [Update when storage banner can be dismissed](gitlab-org/gitlab@e22d298dc88c62f2366b945ca9c7cce88e57fa8b) ([merge request](gitlab-org/gitlab!107968)) **GitLab Enterprise Edition** +- [Remove the FF ci_raw_variables_in_yaml_config](gitlab-org/gitlab@ee57e696b093f12ead370b492782b40d96b7d2d3) ([merge request](gitlab-org/gitlab!107590)) +- [Remove unused code from UpdateAllMirrorWorker](gitlab-org/gitlab@a6e162c371e763a18bda040b565cb7a6f7823c1e) ([merge request](gitlab-org/gitlab!108203)) **GitLab Enterprise Edition** +- [Bump default partition_id value for CI tables to 101](gitlab-org/gitlab@93cf590f14ce3d768f85dd9ef7350e4d98e6b880) ([merge request](gitlab-org/gitlab!107472)) +- [Raise an exception when fail to delete a branch](gitlab-org/gitlab@2af6c132167cc7026d58a3e396d7b9729e2db54a) ([merge request](gitlab-org/gitlab!108025)) +- [Remove feature flag limit_assigned_issues_count](gitlab-org/gitlab@4f1e7fa1db269de2e1424f9fc3890be7dd1b113e) ([merge request](gitlab-org/gitlab!108082)) +- [Remove paginated_mr_discussions feature flag](gitlab-org/gitlab@c4fa1b6351fa90fbaddfae420f11d3683c6f2333) ([merge request](gitlab-org/gitlab!108083)) +- [Remove hide notification feature flag for free user cap](gitlab-org/gitlab@30d1bb92b55f9b73ddb1f85d3e2d0363af80a653) ([merge request](gitlab-org/gitlab!108019)) +- [Remove feature flag 'delay_for_repository_update_mirror'](gitlab-org/gitlab@de0d0866e4b455486758a72ef5e79daf098a6476) ([merge request](gitlab-org/gitlab!108002)) +- [Fixing Database/MultipleDatabases offenses in specs](gitlab-org/gitlab@b57b31dd05a67780886e528f463cebd0556daac9) ([merge request](gitlab-org/gitlab!107967)) +- [Add Gitaly grpc client-side load-balancing configs](gitlab-org/gitlab@c41f50b53f621c93f181250dd34b80e3c97f068e) ([merge request](gitlab-org/gitlab!107985)) +- [Remove dispensable_render feature flag](gitlab-org/gitlab@ba36891bdef8bf4f4f14399dce65aab2be45df55) ([merge request](gitlab-org/gitlab!107960)) +- [Backfil migration for releases with empty author_id](gitlab-org/gitlab@22586dc2c5313503c6cb460f85d8959927c8d981) ([merge request](gitlab-org/gitlab!106813)) +- [Remove bulk_update_membership_roles feature flag](gitlab-org/gitlab@d85e72ec1f963f41eaf6d1f552782f19d544bc9b) ([merge request](gitlab-org/gitlab!103769)) +- [Remove display_merge_conflicts_in_diff feature flag](gitlab-org/gitlab@2e29480c8e33a69791161cbd20388f572889be42) ([merge request](gitlab-org/gitlab!107805)) +- [Fix Graphql/Descriptions offenses in 'app/graphql/mutations/'](gitlab-org/gitlab@171187cbbc885d1b948548e82e878874bbcc4cb4) by @Ashvith ([merge request](gitlab-org/gitlab!105700)) +- [Fix Style/SymbolProc offenses](gitlab-org/gitlab@162cdfbecc4a2f583c5db628f9a04be5dad24379) by @mhdasm3 ([merge request](gitlab-org/gitlab!105773)) +- [Remove `container_repository_updated_event_id` from geo_event_log](gitlab-org/gitlab@d23114ab07b626ee6b17a2062075972736fa7937) ([merge request](gitlab-org/gitlab!107732)) +- [Remove the log file_variable_is_referenced_in_another_variable](gitlab-org/gitlab@b14b25099d9518faaafe022a615ed77bba895494) ([merge request](gitlab-org/gitlab!107739)) +- [Remove `has_many :sourced_pipelines` from Ci::Bridge](gitlab-org/gitlab@ceb3445a0f75c41bb9c59b00f09a35b736bd05ab) ([merge request](gitlab-org/gitlab!107121)) +- [Unify namespace storage limits view](gitlab-org/gitlab@75eec9927a00c089dd3edcb99d1cc4fc7761bc6b) ([merge request](gitlab-org/gitlab!107014)) **GitLab Enterprise Edition** +- [Cleans up ssh commit sign](gitlab-org/gitlab@2b81d177369661aa419231aad94f9479b29c7e66) by @afzal442 ([merge request](gitlab-org/gitlab!106176)) +- [Remove the FF ci_refactoring_external_mapper](gitlab-org/gitlab@976ba89de50a323011b32ab8f6303150c83f13e2) ([merge request](gitlab-org/gitlab!107576)) +- [Remove ci_build_partition_id_token_prefix feature flag](gitlab-org/gitlab@56a0cfcbd4c457c0a60ed6f43f9aacc9efb031b7) ([merge request](gitlab-org/gitlab!107103)) +- [Fix Rspec/AnyInstanceOf offenses](gitlab-org/gitlab@0ccaca014f4bd978cc361bb767dd94c9aec8bd92) by @mhdasm3 ([merge request](gitlab-org/gitlab!105909)) +- [Remove _test from objectstore tests](gitlab-org/gitlab@ae61648ddbed85a1e1c8b1347965f852d9a218be) ([merge request](gitlab-org/gitlab!107373)) +- [Factor out S3 API types](gitlab-org/gitlab@9997fee4babdbe7ca97834f40c1ff0e10395741b) ([merge request](gitlab-org/gitlab!107373)) +- [Do not use _test when not necessary](gitlab-org/gitlab@1bde73aba2bd1d7f9e833c7325cffa0c90d1c106) ([merge request](gitlab-org/gitlab!107373)) +- [Add config/redis.yml unified config file](gitlab-org/gitlab@ace8301236eecc07a511975b57f80e21ec7be3c2) ([merge request](gitlab-org/gitlab!106854)) ## 15.7.5 (2023-01-12) @@ -883,6 +1363,32 @@ No changes. - [Propagate RemoteIP to Gitaly via Workhorse](gitlab-org/gitlab@71da945c85931bac0263c193902dc1b54e2e62da) ([merge request](gitlab-org/gitlab!103635)) - [Documentation to reflect 100MB upload limit](gitlab-org/gitlab@33063bb26ab7699802ecb2b325cc8619d6fe7b86) ([merge request](gitlab-org/gitlab!103978)) +## 15.6.6 (2023-01-12) + +No changes. + +## 15.6.5 (2023-01-12) + +No changes. + +## 15.6.4 (2023-01-09) + +### Security (9 changes) + +- [Avoid regex with potential for poorly performing backtracking](gitlab-org/security/gitlab@76052c2c1d89b47fe1a39d6a2118ced0d26d4e5f) ([merge request](gitlab-org/security/gitlab!2988)) +- [Protect web-hook url variables after changing URL](gitlab-org/security/gitlab@55b7e051e4c6ca50ef1165130c465f1d11bd968f) ([merge request](gitlab-org/security/gitlab!2977)) +- [Limit the size of user agent to reduce ReDos attack](gitlab-org/security/gitlab@b9e42f4fe131f4a17d24d69076444d68c6a31b18) ([merge request](gitlab-org/security/gitlab!2990)) +- [Protect Sentry auth-token after changing URL](gitlab-org/security/gitlab@3b1d4ae2fbd1845d7659b21c65426275fb0b72d3) ([merge request](gitlab-org/security/gitlab!2984)) +- [Delete project specific licenses when license policy is deleted](gitlab-org/security/gitlab@79142b8c727a3d43b3555c4600b0b6cb3e070ebe) ([merge request](gitlab-org/security/gitlab!2943)) +- [Restrict user avatar availability based on visibility restrictions](gitlab-org/security/gitlab@15732554472373586769a8ca46c2b5cbf0b40783) ([merge request](gitlab-org/security/gitlab!2972)) +- [Policy change to read and destroy token without license for .com](gitlab-org/security/gitlab@9219eab8a5180ae34bb92cbd52c5e7be0602b66d) ([merge request](gitlab-org/security/gitlab!2913)) +- [Restrict Grafana API access on public projects](gitlab-org/security/gitlab@7a23bd7fe68a47ac5ae56c212d5ec3695631a4db) ([merge request](gitlab-org/security/gitlab!2958)) +- [Fix "Race condition enables verified email forgery"](gitlab-org/security/gitlab@d0c0852118adaeb8e99f443c06769b9564294290) ([merge request](gitlab-org/security/gitlab!2963)) + +## 15.6.3 (2022-12-21) + +No changes. + ## 15.6.2 (2022-12-05) ### Added (1 change) @@ -1522,6 +2028,29 @@ No changes. - [Update Gitlab Shell to 14.13.0](gitlab-org/gitlab@691262f5c25c17efcfa50307862afa66d07366a4) ([merge request](gitlab-org/gitlab!101372)) - [Migrate card to Pajamas](gitlab-org/gitlab@10577294ed64b13d7668be0c2041ec133e8f7f87) ([merge request](gitlab-org/gitlab!98861)) **GitLab Enterprise Edition** +## 15.5.9 (2023-01-12) + +No changes. + +## 15.5.8 (2023-01-12) + +No changes. + +## 15.5.7 (2023-01-09) + +### Security (10 changes) + +- [Avoid regex with potential for poorly performing backtracking](gitlab-org/security/gitlab@c3f8d8c93e99ac3f226668086bfbf21739b02a0e) ([merge request](gitlab-org/security/gitlab!2989)) +- [Protect web-hook url variables after changing URL](gitlab-org/security/gitlab@8a18fea752a2759938b4c3d28516b6ed9386404f) ([merge request](gitlab-org/security/gitlab!2978)) +- [Limit the size of user agent to reduce ReDos attack](gitlab-org/security/gitlab@293db707009b7dd133a9a55b25892506013062fd) ([merge request](gitlab-org/security/gitlab!2991)) +- [Only allow safe params for diff helper](gitlab-org/security/gitlab@0c5de464c1d062103d6bc81cca45f7298929ca68) ([merge request](gitlab-org/security/gitlab!2951)) +- [Protect Sentry auth-token after changing URL](gitlab-org/security/gitlab@a2c3380748eb3aa36f23c74f1666c741fafec635) ([merge request](gitlab-org/security/gitlab!2986)) +- [Delete project specific licenses when license policy is deleted](gitlab-org/security/gitlab@312a28196df206b501861b6528b4b6fcaf7cc686) ([merge request](gitlab-org/security/gitlab!2896)) +- [Restrict user avatar availability based on visibility restrictions](gitlab-org/security/gitlab@f7b5c0a57b64c15edb0f555dd53c26b9d6147f0e) ([merge request](gitlab-org/security/gitlab!2973)) +- [Policy change to read and destroy token without license for .com](gitlab-org/security/gitlab@b51bc20ba07d8ef3d339aeacd1b0f904521f4158) ([merge request](gitlab-org/security/gitlab!2914)) +- [Restrict Grafana API access on public projects](gitlab-org/security/gitlab@d9798aa2d31ddef9ed6fedfc7b32bc8a8bac76bc) ([merge request](gitlab-org/security/gitlab!2959)) +- [Fix "Race condition enables verified email forgery"](gitlab-org/security/gitlab@95e65f637ed193b9c8b3c39af58a9bc0d552bad2) ([merge request](gitlab-org/security/gitlab!2962)) + ## 15.5.6 (2022-12-07) No changes. diff --git a/GITALY_SERVER_VERSION b/GITALY_SERVER_VERSION index 3797e69d61..da467831eb 100644 --- a/GITALY_SERVER_VERSION +++ b/GITALY_SERVER_VERSION @@ -1 +1 @@ -15.7.8 \ No newline at end of file +15.8.4 \ No newline at end of file diff --git a/GITLAB_ELASTICSEARCH_INDEXER_VERSION b/GITLAB_ELASTICSEARCH_INDEXER_VERSION index fd2a01863f..944880fa15 100644 --- a/GITLAB_ELASTICSEARCH_INDEXER_VERSION +++ b/GITLAB_ELASTICSEARCH_INDEXER_VERSION @@ -1 +1 @@ -3.1.0 +3.2.0 diff --git a/GITLAB_KAS_VERSION b/GITLAB_KAS_VERSION index 3a3b507162..acabd5c129 100644 --- a/GITLAB_KAS_VERSION +++ b/GITLAB_KAS_VERSION @@ -1 +1 @@ -15.7.0 +15.8.0 diff --git a/GITLAB_METRICS_EXPORTER_VERSION b/GITLAB_METRICS_EXPORTER_VERSION index 6d47f7a2be..e0c3287cb8 100644 --- a/GITLAB_METRICS_EXPORTER_VERSION +++ b/GITLAB_METRICS_EXPORTER_VERSION @@ -1 +1 @@ -f2d7e32cb5e3d8886a2bac5da2703b31f6a38d88 +65bbfa0b62518691961de096e4a27d7c76307b7c diff --git a/GITLAB_PAGES_VERSION b/GITLAB_PAGES_VERSION index 3797e69d61..da467831eb 100644 --- a/GITLAB_PAGES_VERSION +++ b/GITLAB_PAGES_VERSION @@ -1 +1 @@ -15.7.8 \ No newline at end of file +15.8.4 \ No newline at end of file diff --git a/GITLAB_SHELL_VERSION b/GITLAB_SHELL_VERSION index e51d258162..c107424776 100644 --- a/GITLAB_SHELL_VERSION +++ b/GITLAB_SHELL_VERSION @@ -1 +1 @@ -14.14.0 +14.15.0 diff --git a/Gemfile b/Gemfile index 417dc56637..96517b56ff 100644 --- a/Gemfile +++ b/Gemfile @@ -5,7 +5,7 @@ source 'https://rubygems.org' if ENV['BUNDLER_CHECKSUM_VERIFICATION_OPT_IN'] # this verification is still experimental $LOAD_PATH.unshift(File.expand_path("vendor/gems/bundler-checksum/lib", __dir__)) require 'bundler-checksum' - Bundler::Checksum.patch! + BundlerChecksum.patch! end gem 'bundler-checksum', '~> 0.1.0', path: 'vendor/gems/bundler-checksum', require: false @@ -37,7 +37,7 @@ gem 'view_component', '~> 2.74.1' gem 'default_value_for', '~> 3.4.0' # Supported DBs -gem 'pg', '~> 1.4.3' +gem 'pg', '~> 1.4.5' gem 'rugged', '~> 1.2' gem 'grape-path-helpers', '~> 1.7.1' @@ -84,7 +84,7 @@ gem 'gssapi', group: :kerberos gem 'timfel-krb5-auth', '~> 0.8', group: :kerberos # Spam and anti-bot protection -gem 'recaptcha', '~> 4.11', require: 'recaptcha/rails' +gem 'recaptcha', '~> 5.12', require: 'recaptcha/rails' gem 'akismet', '~> 3.0' gem 'invisible_captcha', '~> 2.0.0' @@ -113,7 +113,7 @@ gem 'gpgme', '~> 2.0.22' # GitLab fork with several improvements to original library. For full list of changes # see https://github.com/intridea/omniauth-ldap/compare/master...gitlabhq:master gem 'gitlab_omniauth-ldap', '~> 2.2.0', require: 'omniauth-ldap' -gem 'net-ldap', '~> 0.16.3' +gem 'net-ldap', '~> 0.17.1' # API gem 'grape', '~> 1.5.2' @@ -200,7 +200,7 @@ gem 'diffy', '~> 3.4' gem 'diff_match_patch', '~> 0.1.0' # Application server -gem 'rack', '~> 2.2.4' +gem 'rack', '~> 2.2.6', '>= 2.2.6.2' # https://github.com/zombocom/rack-timeout/blob/master/README.md#rails-apps-manually gem 'rack-timeout', '~> 0.6.3', require: 'rack/timeout/base' @@ -304,7 +304,7 @@ gem 'fast_blank' gem 'gitlab-chronic', '~> 0.10.5' gem 'gitlab_chronic_duration', '~> 0.10.6.2' -gem 'rack-proxy', '~> 0.7.4' +gem 'rack-proxy', '~> 0.7.6' gem 'sassc-rails', '~> 2.1.0' gem 'autoprefixer-rails', '10.2.5.1' @@ -358,12 +358,12 @@ gem 'prometheus-client-mmap', '~> 0.17', require: 'prometheus/client' gem 'warning', '~> 1.3.0' group :development do - gem 'lefthook', '~> 1.2.6', require: false + gem 'lefthook', '~> 1.2.7', require: false gem 'rubocop' gem 'solargraph', '~> 0.47.2', require: false gem 'letter_opener_web', '~> 2.0.0' - gem 'lookbook', '~> 1.2', '>= 1.2.1' + gem 'lookbook', '~> 1.4', '>= 1.4.5' # Better errors handler gem 'better_errors', '~> 2.9.1' @@ -395,7 +395,7 @@ group :development, :test do gem 'spring', '~> 4.1.0' gem 'spring-commands-rspec', '~> 1.0.4' - gem 'gitlab-styles', '~> 9.1.0', require: false + gem 'gitlab-styles', '~> 9.2.0', require: false gem 'haml_lint', '~> 0.40.0', require: false gem 'bundler-audit', '~> 0.7.0.1', require: false @@ -538,7 +538,7 @@ gem 'mail-smtp_pool', '~> 0.1.0', path: 'vendor/gems/mail-smtp_pool', require: f gem 'microsoft_graph_mailer', '~> 0.1.0', path: 'vendor/gems/microsoft_graph_mailer' # File encryption -gem 'lockbox', '~> 0.6.2' +gem 'lockbox', '~> 1.1.1' # Email validation gem 'valid_email', '~> 0.1' @@ -574,6 +574,7 @@ gem 'arr-pm', '~> 0.0.12' # Apple plist parsing gem 'CFPropertyList' +gem 'app_store_connect' # For phone verification gem 'telesignenterprise', '~> 2.2' diff --git a/Gemfile.checksum b/Gemfile.checksum index 1816d46b4d..c4b106f61b 100644 --- a/Gemfile.checksum +++ b/Gemfile.checksum @@ -20,6 +20,7 @@ {"name":"akismet","version":"3.0.0","platform":"ruby","checksum":"74991b8e3d3257eeea996b47069abb8da2006c84a144255123e8dffd1c86b230"}, {"name":"android_key_attestation","version":"0.3.0","platform":"ruby","checksum":"467eb01a99d2bb48ef9cf24cc13712669d7056cba5a52d009554ff037560570b"}, {"name":"apollo_upload_server","version":"2.1.0","platform":"ruby","checksum":"e5f3c9dda0c2ca775d007072742b98d517dfd91a667111fedbcdc94dfabd904e"}, +{"name":"app_store_connect","version":"0.29.0","platform":"ruby","checksum":"01d7a923825a4221892099acb5a72f86f6ee7d8aa95815d3c459ba6816ea430f"}, {"name":"arr-pm","version":"0.0.12","platform":"ruby","checksum":"fdff482f75239239201f4d667d93424412639aad0b3b0ad4d827e7c637e0ad39"}, {"name":"asana","version":"0.10.13","platform":"ruby","checksum":"36d0d37f8dd6118a54580f1b80224875d7b6a9027598938e1722a508bfc2d7ac"}, {"name":"asciidoctor","version":"2.0.17","platform":"ruby","checksum":"ed5b5e399e8d64994cc16f0983f993d6e33990909a8415b6fc8b786cdeb00f3d"}, @@ -210,7 +211,7 @@ {"name":"gitlab-net-dns","version":"0.9.1","platform":"ruby","checksum":"bcd1a08dcb31b731e8ff602d828de619d2d9f53f5812f6abacf11c720873d4cb"}, {"name":"gitlab-omniauth-openid-connect","version":"0.10.0","platform":"ruby","checksum":"ea44a23ea93457057bba6a9912e883f5aefab36a941c6c58512c8a7095fb1153"}, {"name":"gitlab-sidekiq-fetcher","version":"0.9.0","platform":"ruby","checksum":"54041aec059f20c8e6dfce394e1b60e0c0a9c7cef32da912a58abbd333e13897"}, -{"name":"gitlab-styles","version":"9.1.0","platform":"ruby","checksum":"46fd4e9f7fc74b0dfdb0bd7aa2f5796fb4d5b01e5886d7779726f8b53a3c02b2"}, +{"name":"gitlab-styles","version":"9.2.0","platform":"ruby","checksum":"7106e7fb2de01f0c4a8d074ccff5c1f37502eab98cc51c8b5dd72a081785cea4"}, {"name":"gitlab_chronic_duration","version":"0.10.6.2","platform":"ruby","checksum":"6dda4cfe7dca9b958f163ac8835c3d9cc70cf8df8cbb89bb2fbf9ba4375105fb"}, {"name":"gitlab_omniauth-ldap","version":"2.2.0","platform":"ruby","checksum":"bb4d20acb3b123ed654a8f6a47d3fac673ece7ed0b6992edb92dca14bad2838c"}, {"name":"globalid","version":"1.0.0","platform":"ruby","checksum":"1253641b1dc3392721c964351773755d75135d3d3c5cc65d88b0a3880a60bed8"}, @@ -309,7 +310,7 @@ {"name":"kramdown","version":"2.3.2","platform":"ruby","checksum":"cb4530c2e9d16481591df2c9336723683c354e5416a5dd3e447fa48215a6a71c"}, {"name":"kramdown-parser-gfm","version":"1.1.0","platform":"ruby","checksum":"fb39745516427d2988543bf01fc4cf0ab1149476382393e0e9c48592f6581729"}, {"name":"launchy","version":"2.5.0","platform":"ruby","checksum":"954243c4255920982ce682f89a42e76372dba94770bf09c23a523e204bdebef5"}, -{"name":"lefthook","version":"1.2.6","platform":"ruby","checksum":"8d8ab03a559d1f5d40b4416072edf5ebb22eddfc74b75479458edd5318a3de63"}, +{"name":"lefthook","version":"1.2.7","platform":"ruby","checksum":"82736715006361aac32b9ae36086288691c024ff471a9df056d09535e5546ca3"}, {"name":"letter_opener","version":"1.7.0","platform":"ruby","checksum":"095bc0d58e006e5b43ea7d219e64ecf2de8d1f7d9dafc432040a845cf59b4725"}, {"name":"letter_opener_web","version":"2.0.0","platform":"ruby","checksum":"33860ad41e1785d75456500e8ca8bba8ed71ee6eaf08a98d06bbab67c5577b6f"}, {"name":"libyajl2","version":"1.2.0","platform":"ruby","checksum":"1117cd1e48db013b626e36269bbf1cef210538ca6d2e62d3fa3db9ded005b258"}, @@ -318,10 +319,10 @@ {"name":"listen","version":"3.7.1","platform":"ruby","checksum":"3b80caa7aa77fae836916c2f9e3fbcafbd15f5d695dd487c1f5b5e7e465efe29"}, {"name":"llhttp-ffi","version":"0.4.0","platform":"ruby","checksum":"e5f7327db3cf8007e648342ef76347d6e0ae545a8402e519cca9c886eb37b001"}, {"name":"locale","version":"2.1.3","platform":"ruby","checksum":"b6ddee011e157817cb98e521b3ce7cb626424d5882f1e844aafdee3e8b212725"}, -{"name":"lockbox","version":"0.6.2","platform":"ruby","checksum":"0136677875c3d6e27cef87cd7bd66610404e2b3cd7f07f1ac8ed34e48f18dc3c"}, +{"name":"lockbox","version":"1.1.1","platform":"ruby","checksum":"0af16b14c54f791c148615a0115387b51903d868c7fe622f49606c97071c2ac0"}, {"name":"lograge","version":"0.11.2","platform":"ruby","checksum":"4cbd1554b86f545d795eff15a0c24fd25057d2ac4e1caa5fc186168b3da932ef"}, {"name":"loofah","version":"2.19.1","platform":"ruby","checksum":"6c6469efdefe3496010000a346f9d3bf710e11ac4661e353cf56852326fb1023"}, -{"name":"lookbook","version":"1.2.1","platform":"ruby","checksum":"742844b625798b689215d1660f711aa79ff54084f5e8735fe674fe771fc165d7"}, +{"name":"lookbook","version":"1.4.5","platform":"ruby","checksum":"bc15b332d2c84f51aca60353f070c0b6a363b7496259e1dd7572d5ec122c9cdb"}, {"name":"lru_redux","version":"1.1.0","platform":"ruby","checksum":"ee71d0ccab164c51de146c27b480a68b3631d5b4297b8ffe8eda1c72de87affb"}, {"name":"lumberjack","version":"1.2.7","platform":"ruby","checksum":"a5c6aae6b4234f1420dbcd80b23e3bca0817bd239440dde097ebe3fa63c63b1f"}, {"name":"mail","version":"2.7.1","platform":"ruby","checksum":"ec2a3d489f7510b90d8eaa3f6abaad7038cf1d663cdf8ee66d0214a0bdf99c03"}, @@ -356,7 +357,7 @@ {"name":"nap","version":"1.1.0","platform":"ruby","checksum":"949691660f9d041d75be611bb2a8d2fd559c467537deac241f4097d9b5eea576"}, {"name":"nenv","version":"0.3.0","platform":"ruby","checksum":"d9de6d8fb7072228463bf61843159419c969edb34b3cef51832b516ae7972765"}, {"name":"net-http-persistent","version":"4.0.1","platform":"ruby","checksum":"2752f4cce05fd1c45e0537c6f3a98fa5a4899efd5f88e63c104ed5f05cbddef9"}, -{"name":"net-ldap","version":"0.16.3","platform":"ruby","checksum":"db464d2f8236e5f8546c07abb51b08e0a62b77136b1c7f91fa0ec5fe2336908e"}, +{"name":"net-ldap","version":"0.17.1","platform":"ruby","checksum":"52571b55f9157120833ac1667f2969ce0139251811d0a9b64657c1c135069cf9"}, {"name":"net-ntp","version":"2.1.3","platform":"ruby","checksum":"5bc73f4102bde0d1872bd3b293608ae99d9f5007d744f21919c6a565eda9267d"}, {"name":"net-scp","version":"3.0.0","platform":"ruby","checksum":"8fc6c80365b95230c6bfc529dbea3893d2d81724855bfb01cbf385866e1c902c"}, {"name":"net-ssh","version":"6.0.0","platform":"ruby","checksum":"6290ddcb232380cae79b772af924e12f57fe1dcd0f71254411dd21c04f7b13d0"}, @@ -415,10 +416,10 @@ {"name":"parslet","version":"1.8.2","platform":"ruby","checksum":"08d1ab3721cd3f175bfbee8788b2ddff71f92038f2d69bd65454c22bb9fbd98a"}, {"name":"pastel","version":"0.8.0","platform":"ruby","checksum":"481da9fb7d2f6e6b1a08faf11fa10363172dc40fd47848f096ae21209f805a75"}, {"name":"peek","version":"1.1.0","platform":"ruby","checksum":"d6501ead8cde46d8d8ed0d59eb6f0ba713d0a41c11a2c4a81447b2dce37b3ecc"}, -{"name":"pg","version":"1.4.3","platform":"ruby","checksum":"ab0219cdd9e5750abb04b8bca5a5a490f60abdf37503027fd2f90d0c2d31f2fa"}, -{"name":"pg","version":"1.4.3","platform":"x64-mingw-ucrt","checksum":"9f4d1d39af5ae5eea9f3c6b1e3092cbd5d26b716ff0e1283cf71c0690c69b36c"}, -{"name":"pg","version":"1.4.3","platform":"x64-mingw32","checksum":"3265afd0e00331c7c70e50d4a13eea9083e5b683ebcd808bd671af70d92b189e"}, -{"name":"pg","version":"1.4.3","platform":"x86-mingw32","checksum":"08a6ef4c702e313c1a04ad6b088b1843361ca8606843c7cd607e181e0d4e5508"}, +{"name":"pg","version":"1.4.5","platform":"ruby","checksum":"c139bd34907e7bbe3291a9b5e651bcf00de1f8a99a3148c064bc2d1b10b5a6f1"}, +{"name":"pg","version":"1.4.5","platform":"x64-mingw-ucrt","checksum":"614814a4597fed5c4a85e107a96ef6c8ee01b3e7dbc6529912249b7d778e5651"}, +{"name":"pg","version":"1.4.5","platform":"x64-mingw32","checksum":"d9a15cb4ee478bf719fee6ecd6c8b41d5569515ee0d968e561fe120aed862cb1"}, +{"name":"pg","version":"1.4.5","platform":"x86-mingw32","checksum":"255764ff8ac89203cc9dcc7188a4205e760fa7b884d75c94007b79897ee8613d"}, {"name":"pg_query","version":"2.2.0","platform":"ruby","checksum":"84a37548412f540061bcc52ee2915352297832816bca60e4524c716e03f1e950"}, {"name":"plist","version":"3.6.0","platform":"ruby","checksum":"f468bcf6b72ec6d1585ed6744eb4817c1932a5bf91895ed056e69b7f12ca10f2"}, {"name":"png_quantizator","version":"0.2.1","platform":"ruby","checksum":"6023d4d064125c3a7e02929c95b7320ed6ac0d7341f9e8de0c9ea6576ef3106b"}, @@ -440,19 +441,19 @@ {"name":"raabro","version":"1.4.0","platform":"ruby","checksum":"d4fa9ff5172391edb92b242eed8be802d1934b1464061ae5e70d80962c5da882"}, {"name":"racc","version":"1.6.1","platform":"java","checksum":"b3e9cc3892367fdd7eeef0c9210e9ab7f54f106b9202ed00efec892367f5bb27"}, {"name":"racc","version":"1.6.1","platform":"ruby","checksum":"c8226cc9788c8a43329b75f031dec9ae0423591534bd04e8a117653a442cc85c"}, -{"name":"rack","version":"2.2.4","platform":"ruby","checksum":"ea2232b638cbd919129c8c8ad8012ecaccc09f848152a7e705d2139d0137ac2b"}, +{"name":"rack","version":"2.2.6.2","platform":"ruby","checksum":"4be320c0fdea6651f0247dbd4182c1bd8acc06606a6b8935a19ad6a504347763"}, {"name":"rack-accept","version":"0.4.5","platform":"ruby","checksum":"66247b5449db64ebb93ae2ec4af4764b87d1ae8a7463c7c68893ac13fa8d4da2"}, {"name":"rack-attack","version":"6.6.1","platform":"ruby","checksum":"187e5d248c6a162ed8cafa8241a7b5947d9b9cf122a4870eb1cdd0db861f3a11"}, {"name":"rack-cors","version":"1.1.1","platform":"ruby","checksum":"4702644ac6d63ebbddff372a3cd4cd573513287e3524b5a5415f678970057a4b"}, {"name":"rack-oauth2","version":"1.21.3","platform":"ruby","checksum":"4e72a79dd6a866692e84422a552b27c38a5a1918ded06661e04910f2bbe676ba"}, {"name":"rack-protection","version":"2.2.2","platform":"ruby","checksum":"fd41414dbabbec274af0bdb1f72a48504449de4d979782c9af38cbb5dfff3299"}, -{"name":"rack-proxy","version":"0.7.4","platform":"ruby","checksum":"a8bb373583d8a3165d8caf5af5fd7c32c9e8a91b983fbc531efa0e3d6617d2d4"}, +{"name":"rack-proxy","version":"0.7.6","platform":"ruby","checksum":"8704c5009bb60eb16dacf4bcc5e067a8484e668321e8443534bb58ded320c2a8"}, {"name":"rack-test","version":"2.0.2","platform":"ruby","checksum":"adadd0e957f63a34199a9fdf905a920a0b0a50795735095b4ac4bd3c13385466"}, {"name":"rack-timeout","version":"0.6.3","platform":"ruby","checksum":"1754892eacc124d405e7f1145731ec9b7421ebd1bee5d51ddc18b72c204d0ab3"}, {"name":"rails","version":"6.1.6.1","platform":"ruby","checksum":"17024921a3913fb341f584542b06adf6bb12977a8b92d5fce093c3996c963686"}, {"name":"rails-controller-testing","version":"1.0.5","platform":"ruby","checksum":"741448db59366073e86fc965ba403f881c636b79a2c39a48d0486f2607182e94"}, {"name":"rails-dom-testing","version":"2.0.3","platform":"ruby","checksum":"b140c4f39f6e609c8113137b9a60dfc2ecb89864e496f87f23a68b3b8f12d8d1"}, -{"name":"rails-html-sanitizer","version":"1.4.3","platform":"ruby","checksum":"2ebba6ad9a0b100f79fda853a46851e7664febe1728223f9734281e0d55940d6"}, +{"name":"rails-html-sanitizer","version":"1.4.4","platform":"ruby","checksum":"895d0c87a2b6623891e85c1d507c7f16acda4e77d94692f537df35ba71398bd5"}, {"name":"rails-i18n","version":"7.0.3","platform":"ruby","checksum":"e3158e98c5332d129fd5131f171ac575eb30dbb8919b21595382b08850cf2bd3"}, {"name":"railties","version":"6.1.6.1","platform":"ruby","checksum":"bafecdf2dcbe4ea44e1ab7081fd797aa87ae9bbcd0f3a4372b662a1b93949733"}, {"name":"rainbow","version":"3.1.1","platform":"ruby","checksum":"039491aa3a89f42efa1d6dec2fc4e62ede96eb6acd95e52f1ad581182b79bc6a"}, @@ -464,7 +465,7 @@ {"name":"rchardet","version":"1.8.0","platform":"ruby","checksum":"693acd5253d5ade81a51940697955f6dd4bb2f0d245bda76a8e23deec70a52c7"}, {"name":"rdoc","version":"6.3.2","platform":"ruby","checksum":"def4a720235c27d56c176ae73555e647eb04ea58a8bbaa927f8f9f79de7805a6"}, {"name":"re2","version":"1.6.0","platform":"ruby","checksum":"2e37f27971f6a76223eac688c04f3e48aea374f34b302ec22d75b4635cd64bc1"}, -{"name":"recaptcha","version":"4.13.1","platform":"ruby","checksum":"dc6c2cb78afa87034358b7ba1c6f7175972b5709fdf7500e2550623e119e3788"}, +{"name":"recaptcha","version":"5.12.3","platform":"ruby","checksum":"37d1894add9e70a54d0c6c7f0ecbeedffbfa7d075acfbd4c509818dfdebdb7ee"}, {"name":"recursive-open-struct","version":"1.1.3","platform":"ruby","checksum":"a3538a72552fcebcd0ada657bdff313641a4a5fbc482c08cfb9a65acb1c9de5a"}, {"name":"redcarpet","version":"3.5.1","platform":"ruby","checksum":"717f64cb6ec11c8d9ec9b521ed26ca2eeda68b4fe1fc3388a641176dbd47732f"}, {"name":"redis","version":"4.8.0","platform":"ruby","checksum":"2000cf5014669c9dc821704b6d322a35a9a33852a95208911d9175d63b448a44"}, @@ -505,9 +506,9 @@ {"name":"rubocop-ast","version":"1.23.0","platform":"ruby","checksum":"fe4bafaa0a6ccf400849fb720f9dd2428b07b00fcdeeec33a8f1146e0c1e38e2"}, {"name":"rubocop-gitlab-security","version":"0.1.1","platform":"ruby","checksum":"96f6ed727847a5876ddfc89ee0399438a1aef7934db773c7efce907e2720006c"}, {"name":"rubocop-graphql","version":"0.18.0","platform":"ruby","checksum":"f1c43999fb9ef0e32b30e2ce2fa0ddb1f3a6215c85baf3fdf9753a0bb96bc998"}, -{"name":"rubocop-performance","version":"1.15.0","platform":"ruby","checksum":"8cd8ff22c567dfacf0292963c05f26c503638d0805a109e8c1f2a2a7955006c0"}, -{"name":"rubocop-rails","version":"2.17.2","platform":"ruby","checksum":"d14008d3a082f05300ff5f6cc21f8217f226ce0c1fc67e01b66bb5131f8f5b14"}, -{"name":"rubocop-rspec","version":"2.15.0","platform":"ruby","checksum":"a476c7671bbeabc9706068be0aa0443a559db6d2b84bfdc582fe65f64b1d455e"}, +{"name":"rubocop-performance","version":"1.15.1","platform":"ruby","checksum":"8d4f1839e7043364269d15b8191eadda29a4bb937ec29e74fdb074511d048d02"}, +{"name":"rubocop-rails","version":"2.17.3","platform":"ruby","checksum":"7d857aa339577c9e0e156cc3f5b68b63efc429eba39863cbd8a496c7f80e65af"}, +{"name":"rubocop-rspec","version":"2.16.0","platform":"ruby","checksum":"b33c5f048182bdb43885958f4115865d49438694fffac98b5406f70302e7ece6"}, {"name":"ruby-fogbugz","version":"0.3.0","platform":"ruby","checksum":"5e04cde474648f498a71cf1e1a7ab42c66b953862fbe224f793ec0a7a1d5f657"}, {"name":"ruby-magic","version":"0.5.4","platform":"ruby","checksum":"2c17b185130d10a83791f63a40baa358c4b138af37da3f4dab53690121c421d5"}, {"name":"ruby-progressbar","version":"1.11.0","platform":"ruby","checksum":"cc127db3866dc414ffccbf92928a241e585b3aa2b758a5563e74a6ee0f57d50a"}, diff --git a/Gemfile.lock b/Gemfile.lock index 087d4d8aee..ea1771e5af 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -172,6 +172,9 @@ GEM apollo_upload_server (2.1.0) actionpack (>= 4.2) graphql (>= 1.8) + app_store_connect (0.29.0) + activesupport (>= 6.0.0) + jwt (>= 1.4, <= 2.5.0) arr-pm (0.0.12) asana (0.10.13) faraday (~> 1.0) @@ -598,7 +601,7 @@ GEM gitlab-sidekiq-fetcher (0.9.0) json (>= 2.5) sidekiq (~> 6.1) - gitlab-styles (9.1.0) + gitlab-styles (9.2.0) rubocop (~> 1.38.0) rubocop-gitlab-security (~> 0.1.1) rubocop-graphql (~> 0.14) @@ -832,7 +835,7 @@ GEM kramdown (~> 2.0) launchy (2.5.0) addressable (~> 2.7) - lefthook (1.2.6) + lefthook (1.2.7) letter_opener (1.7.0) launchy (~> 2.2) letter_opener_web (2.0.0) @@ -861,7 +864,7 @@ GEM ffi-compiler (~> 1.0) rake (~> 13.0) locale (2.1.3) - lockbox (0.6.2) + lockbox (1.1.1) lograge (0.11.2) actionpack (>= 4) activesupport (>= 4) @@ -870,7 +873,7 @@ GEM loofah (2.19.1) crass (~> 1.0.2) nokogiri (>= 1.5.9) - lookbook (1.2.1) + lookbook (1.4.5) actioncable activemodel css_parser @@ -930,7 +933,7 @@ GEM nenv (0.3.0) net-http-persistent (4.0.1) connection_pool (~> 2.2) - net-ldap (0.16.3) + net-ldap (0.17.1) net-ntp (2.1.3) net-scp (3.0.0) net-ssh (>= 2.6.5, < 7.0.0) @@ -1068,7 +1071,7 @@ GEM tty-color (~> 0.5) peek (1.1.0) railties (>= 4.0.0) - pg (1.4.3) + pg (1.4.5) pg_query (2.2.0) google-protobuf (>= 3.19.2) plist (3.6.0) @@ -1108,7 +1111,7 @@ GEM pyu-ruby-sasl (0.0.3.3) raabro (1.4.0) racc (1.6.1) - rack (2.2.4) + rack (2.2.6.2) rack-accept (0.4.5) rack (>= 0.4) rack-attack (6.6.1) @@ -1123,7 +1126,7 @@ GEM rack (>= 2.1.0) rack-protection (2.2.2) rack - rack-proxy (0.7.4) + rack-proxy (0.7.6) rack rack-test (2.0.2) rack (>= 1.3) @@ -1150,8 +1153,8 @@ GEM rails-dom-testing (2.0.3) activesupport (>= 4.2.0) nokogiri (>= 1.6) - rails-html-sanitizer (1.4.3) - loofah (~> 2.3) + rails-html-sanitizer (1.4.4) + loofah (~> 2.19, >= 2.19.1) rails-i18n (7.0.3) i18n (>= 0.7, < 2) railties (>= 6.0.0, < 8) @@ -1174,7 +1177,7 @@ GEM rchardet (1.8.0) rdoc (6.3.2) re2 (1.6.0) - recaptcha (4.13.1) + recaptcha (5.12.3) json recursive-open-struct (1.1.3) redcarpet (3.5.1) @@ -1274,14 +1277,14 @@ GEM rubocop (>= 0.51) rubocop-graphql (0.18.0) rubocop (>= 0.87, < 2) - rubocop-performance (1.15.0) + rubocop-performance (1.15.1) rubocop (>= 1.7.0, < 2.0) rubocop-ast (>= 0.4.0) - rubocop-rails (2.17.2) + rubocop-rails (2.17.3) activesupport (>= 4.2.0) rack (>= 1.1) rubocop (>= 1.33.0, < 2.0) - rubocop-rspec (2.15.0) + rubocop-rspec (2.16.0) rubocop (~> 1.33) ruby-fogbugz (0.3.0) crack (~> 0.4) @@ -1581,6 +1584,7 @@ DEPENDENCIES addressable (~> 2.8) akismet (~> 3.0) apollo_upload_server (~> 2.1.0) + app_store_connect arr-pm (~> 0.0.12) asana (~> 0.10.13) asciidoctor (~> 2.0.17) @@ -1672,7 +1676,7 @@ DEPENDENCIES gitlab-net-dns (~> 0.9.1) gitlab-omniauth-openid-connect (~> 0.10.0) gitlab-sidekiq-fetcher (= 0.9.0) - gitlab-styles (~> 9.1.0) + gitlab-styles (~> 9.2.0) gitlab_chronic_duration (~> 0.10.6.2) gitlab_omniauth-ldap (~> 2.2.0) gon (~> 6.4.0) @@ -1716,15 +1720,15 @@ DEPENDENCIES knapsack (~> 1.21.1) kramdown (~> 2.3.1) kubeclient (~> 4.9.3)! - lefthook (~> 1.2.6) + lefthook (~> 1.2.7) letter_opener_web (~> 2.0.0) license_finder (~> 7.0) licensee (~> 9.15) listen (~> 3.7) - lockbox (~> 0.6.2) + lockbox (~> 1.1.1) lograge (~> 0.5) loofah (~> 2.19.1) - lookbook (~> 1.2, >= 1.2.1) + lookbook (~> 1.4, >= 1.4.5) lru_redux mail (= 2.7.1) mail-smtp_pool (~> 0.1.0)! @@ -1734,7 +1738,7 @@ DEPENDENCIES mini_magick (~> 4.10.1) minitest (~> 5.11.0) multi_json (~> 1.14.1) - net-ldap (~> 0.16.3) + net-ldap (~> 0.17.1) net-ntp nokogiri (~> 1.13.10) oauth2 (~> 2.0) @@ -1767,7 +1771,7 @@ DEPENDENCIES parallel (~> 1.19) parslet (~> 1.8) peek (~> 1.1) - pg (~> 1.4.3) + pg (~> 1.4.5) pg_query (~> 2.2) png_quantizator (~> 0.2.1) premailer-rails (~> 1.10.3) @@ -1777,11 +1781,11 @@ DEPENDENCIES pry-shell (~> 0.5.1) puma (~> 5.6.5) puma_worker_killer (~> 0.3.1) - rack (~> 2.2.4) + rack (~> 2.2.6, >= 2.2.6.2) rack-attack (~> 6.6.1) rack-cors (~> 1.1.1) rack-oauth2 (~> 1.21.3) - rack-proxy (~> 0.7.4) + rack-proxy (~> 0.7.6) rack-timeout (~> 0.6.3) rails (~> 6.1.6.1) rails-controller-testing @@ -1790,7 +1794,7 @@ DEPENDENCIES rbtrace (~> 0.4) rdoc (~> 6.3.2) re2 (~> 1.6.0) - recaptcha (~> 4.11) + recaptcha (~> 5.12) redis (~> 4.8.0) redis-actionpack (~> 5.3.0) redis-namespace (~> 1.9.0) diff --git a/README.md b/README.md index 64eedc9079..29d5d59997 100644 --- a/README.md +++ b/README.md @@ -82,7 +82,7 @@ Instructions on how to start GitLab and how to run the tests can be found in the GitLab is a Ruby on Rails application that runs on the following software: - Ubuntu/Debian/CentOS/RHEL/OpenSUSE -- Ruby (MRI) 2.7.5 +- Ruby (MRI) 2.7.7 - Git 2.33+ - Redis 5.0+ - PostgreSQL 12+ diff --git a/VERSION b/VERSION index 3797e69d61..da467831eb 100644 --- a/VERSION +++ b/VERSION @@ -1 +1 @@ -15.7.8 \ No newline at end of file +15.8.4 \ No newline at end of file diff --git a/app/assets/javascripts/abuse_reports/components/abuse_category_selector.vue b/app/assets/javascripts/abuse_reports/components/abuse_category_selector.vue new file mode 100644 index 0000000000..c716afbbcf --- /dev/null +++ b/app/assets/javascripts/abuse_reports/components/abuse_category_selector.vue @@ -0,0 +1,112 @@ + + diff --git a/app/assets/javascripts/admin/background_migrations/components/database_listbox.vue b/app/assets/javascripts/admin/background_migrations/components/database_listbox.vue index 8e814cd55e..7cc4a0d349 100644 --- a/app/assets/javascripts/admin/background_migrations/components/database_listbox.vue +++ b/app/assets/javascripts/admin/background_migrations/components/database_listbox.vue @@ -35,7 +35,7 @@ export default {