From dd76d996b09715c9c9f6f6a4a8205db5311ddc4e Mon Sep 17 00:00:00 2001 From: Pirate Praveen Date: Sat, 23 Jul 2022 20:15:48 +0200 Subject: [PATCH] New upstream version 15.1.3+ds1 --- .eslintignore | 1 - .eslintrc.yml | 8 + .gitlab-ci.yml | 8 +- .gitlab/CODEOWNERS | 170 +- .gitlab/ci/build-images.gitlab-ci.yml | 10 +- .gitlab/ci/docs.gitlab-ci.yml | 6 +- .gitlab/ci/frontend.gitlab-ci.yml | 2 +- .gitlab/ci/global.gitlab-ci.yml | 17 +- .gitlab/ci/qa.gitlab-ci.yml | 38 +- .gitlab/ci/rails.gitlab-ci.yml | 11 +- .gitlab/ci/reports.gitlab-ci.yml | 4 +- .gitlab/ci/review-apps/dast.gitlab-ci.yml | 160 +- .gitlab/ci/review-apps/main.gitlab-ci.yml | 2 +- .gitlab/ci/review-apps/qa.gitlab-ci.yml | 41 +- .gitlab/ci/review.gitlab-ci.yml | 5 +- .gitlab/ci/rules.gitlab-ci.yml | 69 +- .gitlab/ci/setup.gitlab-ci.yml | 7 +- .gitlab/ci/test-metadata.gitlab-ci.yml | 2 +- .gitlab/ci/workhorse.gitlab-ci.yml | 8 +- .gitlab/ci/yaml.gitlab-ci.yml | 21 +- .gitlab/issue_templates/Deprecations.md | 2 +- .../issue_templates/Feature Flag Roll Out.md | 18 +- ...Geo Replicate a new Git repository type.md | 6 +- .../Geo Replicate a new blob type.md | 6 +- .../Performance Indicator Metric.md | 2 +- .../Service Ping reporting and monitoring.md | 129 + .gitpod.yml | 6 +- .haml-lint.yml | 5 +- .rubocop.yml | 8 +- .../cop/static_translation_definition.yml | 20 + .rubocop_todo/cop/user_admin.yml | 1 - .rubocop_todo/fips/md5.yml | 25 + .rubocop_todo/fips/open_ssl.yml | 222 + .rubocop_todo/fips/sha1.yml | 111 + .../gitlab/delegate_predicate_methods.yml | 1 - .../gitlab/feature_available_usage.yml | 1 - .rubocop_todo/gitlab/namespaced_class.yml | 16 - .rubocop_todo/graphql/ordered_arguments.yml | 6 - .rubocop_todo/graphql/ordered_fields.yml | 43 - .../graphql/resolver_method_length.yml | 3 +- .rubocop_todo/layout/argument_alignment.yml | 3 - .rubocop_todo/layout/hash_alignment.yml | 1 - .rubocop_todo/layout/line_length.yml | 28 - .../layout/space_in_lambda_literal.yml | 1 - .../layout/space_inside_block_braces.yml | 1 - .../lint/missing_cop_enable_directive.yml | 4 +- .../lint/mixed_regexp_capture_types.yml | 3 +- .../lint/redundant_cop_disable_directive.yml | 16 - .../migration/background_migrations.yml | 83 + .../naming/heredoc_delimiter_naming.yml | 1 - .../rescued_exceptions_variable_name.yml | 1 - .../active_record_subtransaction_methods.yml | 106 +- .../block_given_with_explicit_block.yml | 2 - .rubocop_todo/performance/constant_regexp.yml | 1 - .rubocop_todo/performance/rubyzip.yml | 4 +- .rubocop_todo/performance/string_include.yml | 1 - .rubocop_todo/rails/file_path.yml | 2 - .../rails/lexically_scoped_action_filter.yml | 1 - .rubocop_todo/rails/mailer_name.yml | 5 - .rubocop_todo/rails/pluck.yml | 3 - .rubocop_todo/rails/redundant_foreign_key.yml | 1 - .../rails/skips_model_validations.yml | 12 - .rubocop_todo/rails/time_zone.yml | 22 - .rubocop_todo/rspec/any_instance_of.yml | 6 +- .rubocop_todo/rspec/context_wording.yml | 13 - .rubocop_todo/rspec/expect_in_hook.yml | 1 - .rubocop_todo/rspec/instance_variable.yml | 1 - .rubocop_todo/rspec/predicate_matcher.yml | 1 - .rubocop_todo/rspec/return_from_stub.yml | 1 - .rubocop_todo/rspec/verified_doubles.yml | 19 - .rubocop_todo/style/bare_percent_literals.yml | 1 - .../style/class_and_module_children.yml | 5 - .rubocop_todo/style/empty_method.yml | 2 +- .rubocop_todo/style/format_string.yml | 5 - .rubocop_todo/style/guard_clause.yml | 8 - .rubocop_todo/style/if_inside_else.yml | 1 - .rubocop_todo/style/if_unless_modifier.yml | 17 - .rubocop_todo/style/next.yml | 1 - .../style/numeric_literal_prefix.yml | 4 - .rubocop_todo/style/open_struct_use.yml | 27 +- .../style/percent_literal_delimiters.yml | 16 - .../style/redundant_interpolation.yml | 1 - .../style/redundant_regexp_escape.yml | 1 - .rubocop_todo/style/redundant_self.yml | 4 - .rubocop_todo/style/string_concatenation.yml | 3 - .../string_literals_in_interpolation.yml | 2 - .rubocop_todo/style/symbol_proc.yml | 1 - .yamllint | 40 +- CHANGELOG.md | 1059 +- GITALY_SERVER_VERSION | 2 +- GITLAB_KAS_VERSION | 2 +- GITLAB_PAGES_VERSION | 2 +- GITLAB_SHELL_VERSION | 2 +- Gemfile | 48 +- Gemfile.lock | 159 +- README.md | 2 +- VERSION | 2 +- app/assets/images/auth_buttons/gitlab_64.png | Bin 2070 -> 1622 bytes .../ext_snippet_icons/ext_snippet_icons.png | Bin 1319 -> 1334 bytes .../components/access_token_table_app.vue | 168 + .../access_tokens/components/constants.js | 61 + .../components/expires_at_field.vue | 10 +- .../components/new_access_token_app.vue | 130 + app/assets/javascripts/access_tokens/index.js | 71 +- app/assets/javascripts/activities.js | 4 +- .../components/form.vue | 249 + .../inactive_project_deletion/index.js | 36 + .../admin/users/components/user_actions.vue | 2 +- .../admin/users/components/users_table.vue | 14 +- .../components/alerts_integrations_list.vue | 18 +- .../components/value_stream_metrics.vue | 8 +- .../usage_trends/components/usage_counts.vue | 6 +- app/assets/javascripts/api.js | 18 +- app/assets/javascripts/api/projects_api.js | 11 +- .../components/recovery_codes.vue | 4 +- app/assets/javascripts/awards_handler.js | 40 +- .../batch_comments/components/draft_note.vue | 2 +- .../components/drafts_count.vue | 9 +- .../components/preview_dropdown.vue | 5 + .../batch_comments/components/review_bar.vue | 7 +- .../components/submit_dropdown.vue | 115 + .../batch_comments/services/drafts_service.js | 4 +- .../stores/modules/batch_comments/actions.js | 20 +- .../components/sandboxed_mermaid.vue | 77 + .../behaviors/markdown/render_gfm.js | 22 +- .../behaviors/markdown/render_kroki.js | 4 +- .../behaviors/markdown/render_math.js | 10 +- .../behaviors/markdown/render_mermaid.js | 2 +- .../markdown/render_sandboxed_mermaid.js | 9 +- .../blob/blob_line_permalink_updater.js | 5 +- .../blob/components/blob_header.vue | 6 + .../blob_header_default_actions.vue | 17 + .../blob/components/blob_header_filepath.vue | 4 +- app/assets/javascripts/blob/viewer/index.js | 17 +- .../boards/components/board_app.vue | 11 +- .../boards/components/board_form.vue | 29 +- .../boards/components/board_list_header.vue | 19 +- .../boards/components/boards_selector.vue | 67 +- .../graphql/board_create.mutation.graphql | 5 +- .../graphql/board_update.mutation.graphql | 5 +- app/assets/javascripts/boards/index.js | 1 - .../javascripts/boards/stores/actions.js | 31 +- .../boards/stores/mutation_types.js | 2 +- .../javascripts/boards/stores/mutations.js | 15 +- app/assets/javascripts/boards/stores/state.js | 2 +- app/assets/javascripts/breadcrumb.js | 2 +- .../components/secure_files_list.vue | 2 +- .../components/ci_variable_modal.vue | 3 +- .../components/ci_variable_settings.vue | 27 +- .../legacy_ci_environments_dropdown.vue | 81 + .../components/legacy_ci_variable_modal.vue | 426 + .../legacy_ci_variable_settings.vue | 32 + .../components/legacy_ci_variable_table.vue | 199 + .../javascripts/ci_variable_list/index.js | 63 +- .../agents/components/create_token_button.vue | 211 +- .../agents/components/create_token_modal.vue | 218 + .../agents/components/revoke_token_button.vue | 2 +- .../agents/components/token_table.vue | 100 +- .../remove_cluster_confirmation.vue | 55 +- .../clusters_list/clusters_util.js | 10 +- .../clusters_list/components/agent_token.vue | 11 +- .../clusters_list/components/clusters.vue | 10 +- .../components/install_agent_modal.vue | 7 +- .../code_navigation/utils/index.js | 4 +- .../commit/pipelines/pipelines_table.vue | 21 +- .../components/bubble_menus/code_block.vue | 159 +- .../components/toolbar_more_dropdown.vue | 34 + .../content_editor/components/top_toolbar.vue | 14 +- .../components/wrappers/code_block.vue | 79 +- .../wrappers/footnote_definition.vue | 28 + .../components/wrappers/table_cell_base.vue | 7 +- .../extensions/code_block_highlight.js | 3 +- .../content_editor/extensions/diagram.js | 22 +- .../extensions/footnote_definition.js | 27 +- .../extensions/footnote_reference.js | 15 +- .../extensions/footnotes_section.js | 5 +- .../content_editor/extensions/sourcemap.js | 18 + .../content_editor/services/asset_resolver.js | 15 +- .../services/code_block_language_loader.js | 8 +- .../content_editor/services/content_editor.js | 4 + .../services/hast_to_prosemirror_converter.js | 327 +- .../services/markdown_serializer.js | 39 +- .../services/remark_markdown_deserializer.js | 172 +- .../services/serialization_helpers.js | 222 +- .../components/custom_metrics_form.vue | 4 +- .../javascripts/custom_metrics/index.js | 4 +- .../components/path_navigation.vue | 11 +- .../components/stage_table.vue | 32 +- .../javascripts/cycle_analytics/constants.js | 1 + .../deprecated_jquery_dropdown/render.js | 8 +- .../components/delete_button.vue | 2 +- .../components/design_presentation.vue | 13 +- .../components/design_sidebar.vue | 180 +- .../components/list/item.vue | 2 +- .../components/toolbar/design_navigation.vue | 4 +- .../components/toolbar/index.vue | 12 +- .../design_management/pages/design/index.vue | 165 +- .../design_management/pages/index.vue | 12 +- app/assets/javascripts/diff.js | 3 +- .../javascripts/diffs/components/app.vue | 16 +- .../components/collapsed_files_warning.vue | 2 +- .../diffs/components/commit_item.vue | 9 +- .../diffs/components/diff_content.vue | 2 +- .../diffs/components/diff_expansion_cell.vue | 47 +- .../diffs/components/diff_file.vue | 7 +- .../diffs/components/diff_file_header.vue | 13 +- .../diffs/components/diff_line_note_form.vue | 8 +- .../diffs/components/diff_view.vue | 43 +- .../components/merge_conflict_warning.vue | 4 +- app/assets/javascripts/diffs/store/utils.js | 8 - .../extensions/source_editor_ci_schema_ext.js | 12 +- .../source_editor_markdown_livepreview_ext.js | 27 +- .../extensions/source_editor_webide_ext.js | 28 +- app/assets/javascripts/editor/schema/ci.json | 198 +- .../javascripts/editor/source_editor.js | 5 +- .../editor/source_editor_extension.js | 2 +- app/assets/javascripts/emoji/constants.js | 2 + app/assets/javascripts/emoji/index.js | 18 +- app/assets/javascripts/emoji/utils.js | 8 + .../environments/components/container.vue | 2 +- .../components/deploy_board_wrapper.vue | 2 +- .../components/environment_folder.vue | 4 +- .../components/environment_form.vue | 33 +- .../components/environments_detail_header.vue | 4 +- .../components/environments_table.vue | 2 +- .../components/new_environment_item.vue | 2 +- .../components/error_details.vue | 7 +- .../components/error_tracking_actions.vue | 2 +- .../components/error_tracking_list.vue | 2 +- .../feature_flags/components/empty_state.vue | 2 +- .../components/feature_flags.vue | 13 +- .../components/feature_flags_table.vue | 20 +- .../feature_flags/components/form.vue | 12 +- .../components/new_environments_dropdown.vue | 2 +- .../components/new_feature_flag.vue | 2 +- .../feature_flags/components/strategy.vue | 2 +- .../available_dropdown_mappings.js | 4 +- .../filtered_search/dropdown_hint.js | 4 +- .../filtered_search/dropdown_operator.js | 2 +- .../filtered_search/dropdown_user.js | 4 +- .../filtered_search/dropdown_utils.js | 2 + .../filtered_search/droplab/drop_down.js | 4 +- .../filtered_search_manager.js | 2 +- .../filtered_search_token_keys.js | 20 - .../components/frequent_items_list_item.vue | 6 +- app/assets/javascripts/gfm_auto_complete.js | 2 +- app/assets/javascripts/gl_form.js | 5 +- .../components/gcp_regions_list.vue | 2 +- .../google_cloud/components/revoke_oauth.vue | 2 +- .../components/service_accounts_list.vue | 2 +- .../javascripts/google_tag_manager/index.js | 8 +- .../issuable_timelogs.fragment.graphql | 3 + .../graphql_shared/possible_types.json | 4 + .../components/shared_runners_form.vue | 7 +- .../javascripts/group_settings/constants.js | 3 +- .../group_settings/stale_runner_cleanup.js | 3 + .../javascripts/groups/components/app.vue | 42 +- .../groups/components/empty_state.vue | 91 + .../groups/components/group_folder.vue | 2 +- .../groups/components/group_item.vue | 4 +- .../groups/components/group_name_and_path.vue | 279 + .../javascripts/groups/components/groups.vue | 7 +- .../groups/components/item_caret.vue | 4 +- .../groups/components/item_type_icon.vue | 4 +- .../javascripts/groups/create_edit_form.js | 29 + app/assets/javascripts/groups/index.js | 25 + .../settings/api/access_dropdown_api.js | 16 + .../settings/components/access_dropdown.vue | 195 + .../javascripts/groups/settings/constants.js | 3 + .../groups/settings/init_access_dropdown.js | 36 + .../commit_sidebar/editor_header.vue | 27 +- .../ide/components/commit_sidebar/form.vue | 2 +- .../ide/components/commit_sidebar/list.vue | 28 +- .../new_merge_request_option.vue | 48 +- .../components/commit_sidebar/radio_group.vue | 55 +- app/assets/javascripts/ide/components/ide.vue | 2 +- .../ide/components/ide_side_bar.vue | 6 +- .../ide/components/ide_status_bar.vue | 7 +- .../ide/components/ide_tree_list.vue | 6 +- .../components/jobs/detail/description.vue | 2 +- .../javascripts/ide/components/jobs/stage.vue | 2 +- .../ide/components/repo_editor.vue | 76 +- .../ide/components/terminal/empty_state.vue | 2 +- .../ide/components/terminal/session.vue | 2 +- .../javascripts/ide/lib/editor_options.js | 1 + app/assets/javascripts/ide/utils.js | 3 +- .../image_diff/helpers/dom_helper.js | 2 +- .../import_groups/components/import_table.vue | 54 +- .../import_groups/constants.js | 3 + .../components/import_projects_table.vue | 2 +- .../incidents/components/incidents_list.vue | 4 +- app/assets/javascripts/incidents/list.js | 1 - .../components/pagerduty_form.vue | 24 +- .../javascripts/integrations/constants.js | 36 + .../edit/components/integration_form.vue | 10 +- .../edit/components/jira_upgrade_cta.vue | 51 - .../components/sections/configuration.vue | 38 + .../edit/components/sections/trigger.vue | 26 + .../edit/components/trigger_field.vue | 46 + .../javascripts/integrations/edit/index.js | 4 +- .../components/integration_overrides.vue | 2 +- .../components/invite_members_modal.vue | 13 + .../components/invite_members_trigger.vue | 13 +- .../components/invite_modal_base.vue | 16 + .../components/user_limit_notification.vue | 33 +- .../javascripts/invite_members/constants.js | 13 +- .../issuable/components/csv_export_modal.vue | 34 +- .../issuable/components/csv_import_modal.vue | 4 + .../components/issuable_header_warnings.vue | 2 +- .../components/related_issuable_item.vue | 5 +- .../issuable/components/status_box.vue | 5 +- .../javascripts/issuable/issuable_form.js | 3 + .../popover/components/issue_popover.vue | 83 + .../popover}/components/mr_popover.vue | 35 +- .../popover}/constants.js | 0 .../javascripts/issuable/popover/index.js | 85 + .../popover/queries/issue.query.graphql | 11 + .../queries/merge_request.query.graphql | 4 +- .../issues/create_merge_request_dropdown.js | 47 +- app/assets/javascripts/issues/index.js | 4 +- .../list/components/issues_list_app.vue | 99 +- .../javascripts/issues/list/constants.js | 6 + app/assets/javascripts/issues/list/index.js | 10 + ...et_issues_counts_without_crm.query.graphql | 136 - .../get_issues_without_crm.query.graphql | 94 - app/assets/javascripts/issues/list/utils.js | 11 +- .../new/components/title_suggestions.vue | 28 +- .../issues/show/components/description.vue | 80 +- .../issues/show/components/edit_actions.vue | 2 +- .../queries/get_timeline_events.query.graphql | 21 + .../components/incidents/incident_tabs.vue | 21 +- .../incidents/timeline_events_list.vue | 73 + .../incidents/timeline_events_list_item.vue | 71 + .../incidents/timeline_events_tab.vue | 70 + .../issues/show/components/incidents/utils.js | 18 + .../issues/show/components/title.vue | 2 +- app/assets/javascripts/issues/show/index.js | 5 +- .../jira_connect/branches/pages/index.vue | 2 +- .../add_namespace_modal/groups_list.vue | 2 +- .../subscriptions/components/app.vue | 88 +- .../components/sign_in_oauth_button.vue | 2 +- .../subscriptions/components/user_link.vue | 25 +- .../pages/subscriptions_page.vue | 2 +- .../components/jira_import_app.vue | 2 +- .../components/jira_import_form.vue | 4 +- .../jobs/components/job_container_item.vue | 3 +- .../jobs/components/log/line_header.vue | 2 +- .../jobs/components/manual_variables_form.vue | 2 +- .../jobs/components/stuck_block.vue | 23 +- .../jobs/components/table/jobs_table_app.vue | 2 +- .../labels/components/promote_label_modal.vue | 2 +- app/assets/javascripts/lazy_loader.js | 9 +- app/assets/javascripts/lib/gfm/index.js | 27 +- app/assets/javascripts/lib/graphql.js | 13 +- .../javascripts/lib/utils/color_utils.js | 2 +- .../confirm_via_gl_modal.js | 2 +- app/assets/javascripts/lib/utils/dom_utils.js | 11 - app/assets/javascripts/lib/utils/forms.js | 4 +- app/assets/javascripts/lib/utils/rails_ujs.js | 4 +- .../javascripts/lib/utils/table_utility.js | 10 + .../javascripts/lib/utils/users_cache.js | 7 +- app/assets/javascripts/logo.js | 4 +- app/assets/javascripts/logs/utils.js | 21 - app/assets/javascripts/main.js | 7 + .../members/components/members_tabs.vue | 4 + .../components/table/members_table.vue | 33 +- .../components/table/role_dropdown.vue | 2 +- app/assets/javascripts/members/constants.js | 12 +- .../merge_conflict_resolver_app.vue | 4 +- app/assets/javascripts/merge_request.js | 10 +- app/assets/javascripts/merge_request_tabs.js | 3 + .../components/promote_milestone_modal.vue | 2 +- .../components/create_dashboard_modal.vue | 2 +- .../monitoring/components/dashboard.vue | 14 - .../components/dashboard_actions_menu.vue | 2 +- .../components/dashboard_header.vue | 2 +- .../components/dashboard_panel_builder.vue | 8 +- .../components/duplicate_dashboard_modal.vue | 27 +- .../monitoring/components/graph_group.vue | 2 +- .../monitoring/services/alerts_service.js | 43 - app/assets/javascripts/mr_popover/index.js | 67 - .../nav/components/responsive_header.vue | 2 +- .../notes/components/comment_field_layout.vue | 4 +- .../notes/components/comment_form.vue | 34 +- .../components/diff_discussion_header.vue | 9 +- .../notes/components/diff_with_note.vue | 11 +- .../notes/components/discussion_counter.vue | 12 +- .../components/email_participants_warning.vue | 2 +- .../notes/components/note_actions.vue | 14 +- .../notes/components/note_body.vue | 114 +- .../notes/components/note_form.vue | 2 +- .../notes/components/note_header.vue | 9 +- .../notes/components/noteable_discussion.vue | 2 +- .../notes/components/noteable_note.vue | 5 +- .../notes/components/notes_app.vue | 6 - .../components/toggle_replies_widget.vue | 2 +- app/assets/javascripts/notes/constants.js | 2 + app/assets/javascripts/notes/i18n.js | 4 +- .../javascripts/notes/stores/actions.js | 14 +- .../javascripts/notes/stores/modules/index.js | 1 + .../notes/stores/mutation_types.js | 1 + .../javascripts/notes/stores/mutations.js | 17 +- .../components/details_page/tags_list_row.vue | 5 +- .../components/list_page/cleanup_status.vue | 5 +- .../components/list_page/image_list_row.vue | 4 +- .../components/list_page/registry_header.vue | 2 +- .../explorer/constants/details.js | 2 +- .../explorer/constants/list.js | 2 + .../harbor_registry/constants/details.js | 2 +- .../harbor_registry/pages/list.vue | 3 +- .../details/components/package_files.vue | 2 +- .../list/components/infrastructure_search.vue | 2 +- .../list/components/packages_list.vue | 25 +- .../details/additional_metadata.vue | 75 +- .../details/additional_metadata_loader.vue | 30 + .../components/details/metadata/composer.vue | 10 +- .../components/details/metadata/conan.vue | 4 +- .../components/details/metadata/maven.vue | 6 +- .../components/details/metadata/nuget.vue | 14 +- .../components/details/metadata/pypi.vue | 4 +- .../components/details/package_files.vue | 10 +- .../components/details/package_history.vue | 52 +- .../details/package_history_loader.vue | 24 + .../components/list/package_search.vue | 2 +- .../components/list/packages_list.vue | 19 +- .../package_registry/constants.js | 8 + .../queries/get_package_details.query.graphql | 32 +- .../get_package_metadata.query.graphql | 39 + .../get_package_pipelines.query.graphql | 24 + .../package_registry/pages/details.vue | 27 +- .../components/dependency_proxy_settings.vue | 6 +- .../container_expiration_policy.vue | 124 + ...e => container_expiration_policy_form.vue} | 0 .../project/components/expiration_input.vue | 2 +- .../components/registry_settings_app.vue | 119 +- .../settings/project/constants.js | 4 + .../shared/components/cli_commands.vue | 2 +- .../shared/components/persisted_search.vue | 2 +- .../shared/components/registry_breadcrumb.vue | 2 +- .../payload_downloader.js | 4 +- .../application_settings/payload_previewer.js | 6 +- .../application_settings/repository/index.js | 3 + .../pages/admin/groups/edit/index.js | 2 + .../pages/admin/groups/new/index.js | 3 + .../pages/admin/impersonation_tokens/index.js | 10 +- .../pages/dashboard/todos/index/todos.js | 6 +- .../pages/groups/group_members/index.js | 22 +- .../javascripts/pages/groups/issues/index.js | 25 +- .../javascripts/pages/groups/new/index.js | 5 +- .../groups/settings/access_tokens/index.js | 8 +- .../pages/groups/settings/ci_cd/show/index.js | 2 + .../components/bulk_imports_history_app.vue | 2 +- .../components/import_error_details.vue | 2 +- .../history/components/import_history_app.vue | 2 +- .../profiles/personal_access_tokens/index.js | 10 +- .../pages/profiles/two_factor_auths/index.js | 2 +- .../graphs/components/code_coverage.vue | 11 +- .../pages/projects/incidents/show/index.js | 4 +- .../pages/projects/issues/index/index.js | 32 +- .../pages/projects/issues/show/index.js | 2 + .../merge_requests/conflicts/index.js | 2 - .../merge_requests/creations/new/compare.js | 9 +- .../creations/new/compare_autocomplete.js | 7 +- .../projects/settings/access_tokens/index.js | 8 +- .../projects/settings/branch_rules/index.js | 3 + .../integrations}/edit/index.js | 0 .../integrations/{show => index}/index.js | 0 .../settings/repository/show/index.js | 3 + .../permissions/components/settings_panel.vue | 131 +- .../projects/shared/save_project_loader.js | 16 +- .../javascripts/pages/projects/show/index.js | 2 + .../projects/static_site_editor/show/index.js | 3 - .../pages/projects/tags/index/index.js | 8 +- .../pages/projects/tags/remove_tag.js | 16 - .../pages/projects/tags/show/index.js | 9 +- .../pages/shared/nav/sidebar_tracking.js | 10 +- .../pages/users/activity_calendar.js | 2 +- .../components/add_request.vue | 34 +- .../components/performance_bar_app.vue | 4 +- .../components/request_selector.vue | 2 +- .../javascripts/performance_bar/index.js | 4 +- .../performance_bar/performance_bar_log.js | 2 +- .../services/performance_bar_service.js | 15 +- .../stores/performance_bar_store.js | 10 +- .../javascripts/persistent_user_callouts.js | 4 +- .../components/commit/commit_form.vue | 6 +- .../drawer/cards/first_pipeline_card.vue | 11 +- .../cards/pipeline_config_reference_card.vue | 43 +- .../components/editor/ci_editor_header.vue | 13 +- .../components/file_nav/branch_switcher.vue | 2 +- .../file_nav/pipeline_editor_file_nav.vue | 8 +- .../components/lint/ci_lint_results.vue | 2 +- .../components/pipeline_editor_tabs.vue | 23 +- .../components/popovers/file_tree_popover.vue | 7 +- .../components/validate/ci_validate.vue | 65 + .../javascripts/pipeline_editor/constants.js | 21 +- .../javascripts/pipeline_editor/index.js | 2 + .../pipeline_editor/pipeline_editor_home.vue | 7 +- .../{input.vue => input_wrapper.vue} | 0 .../pipeline_wizard/components/step.vue | 2 +- .../pipeline_wizard/templates/.gitkeep | 0 .../components/graph/linked_pipeline.vue | 40 +- .../components/jobs/failed_jobs_table.vue | 8 +- .../pipelines/components/jobs/jobs_app.vue | 2 +- .../deprecated_type_keyword_notification.vue | 102 - .../pipelines/components/pipeline_tabs.vue | 31 +- .../pipelines_list/pipeline_mini_graph.vue | 4 +- .../pipelines_list/pipeline_stage.vue | 43 +- .../pipelines_list/pipeline_url.vue | 3 +- .../test_reports/test_case_details.vue | 23 +- .../test_reports/test_suite_table.vue | 58 +- .../components/test_reports/test_summary.vue | 2 +- .../get_pipeline_warnings.query.graphql | 12 - .../pipelines/pipeline_details_bundle.js | 28 +- .../pipeline_details_notification.js | 31 - .../javascripts/pipelines/pipeline_tabs.js | 40 +- .../pipelines/pipeline_test_details.js | 11 +- .../account/components/update_username.vue | 5 +- app/assets/javascripts/project_select.js | 208 +- .../components/clusters_deprecation_alert.vue | 23 + .../clusters_deprecation_alert/index.js | 21 + .../projects/commit/components/form_modal.vue | 2 +- .../commits/components/author_select.vue | 2 +- .../projects/compare/components/app.vue | 4 +- .../compare/components/revision_card.vue | 10 +- .../projects/default_project_templates.js | 8 + .../pipelines/charts/components/app.vue | 12 +- .../projects/project_import_gitlab_project.js | 15 +- .../javascripts/projects/project_new.js | 161 +- .../projects/project_visibility.js | 6 +- .../components/branch_dropdown.vue | 110 + .../branch_rules/components/rule_edit.vue | 38 + .../branch_rules/mount_branch_rules.js | 26 + .../queries/branches.query.graphql | 8 + .../settings/repository/branch_rules/app.vue | 16 + .../branch_rules/mount_branch_rules.js | 13 + .../javascripts/related_issues/constants.js | 11 + .../javascripts/related_issues/index.js | 3 +- .../releases/components/app_index.vue | 2 +- .../components/release_block_header.vue | 2 +- .../fragments/release.fragment.graphql | 1 + .../release_for_editing.fragment.graphql | 1 + .../mutations/create_release.mutation.graphql | 1 + .../queries/all_releases.query.graphql | 1 + .../reports/components/summary_row.vue | 2 +- .../components/blob_content_viewer.vue | 23 +- .../components/blob_viewers/index.js | 1 + .../components/blob_viewers/sketch_viewer.vue | 31 + .../repository/components/last_commit.vue | 2 +- .../repository/components/preview/index.vue | 2 +- .../repository/components/table/index.vue | 14 +- .../repository/components/table/row.vue | 8 +- app/assets/javascripts/rest_api.js | 1 + app/assets/javascripts/right_sidebar.js | 2 +- .../admin_runner_show_app.vue | 30 +- .../admin_runners/admin_runners_app.vue | 18 +- .../javascripts/runner/admin_runners/index.js | 4 + .../components/cells/runner_status_cell.vue | 7 + .../registration/registration_dropdown.vue | 26 +- .../registration/registration_token.vue | 18 +- .../runner/components/runner_details.vue | 27 +- .../runner/components/runner_jobs.vue | 8 +- .../runner/components/runner_list.vue | 2 +- .../components/runner_list_empty_state.vue | 75 + .../runner/components/runner_projects.vue | 8 +- .../runner/components/runner_update_form.vue | 12 +- .../graphql/list/admin_runners.query.graphql | 2 +- .../graphql/list/group_runners.query.graphql | 2 +- .../graphql/list/list_item.fragment.graphql | 21 +- .../list/list_item_shared.fragment.graphql | 20 + .../runner/graphql/show/runner.query.graphql | 40 +- .../show/runner_details.fragment.graphql | 5 + .../runner_details_shared.fragment.graphql | 39 + .../group_runner_show_app.vue | 114 + .../runner/group_runner_show/index.js | 36 + .../group_runners/group_runners_app.vue | 17 +- .../javascripts/runner/group_runners/index.js | 4 + .../javascripts/runner/runner_search_utils.js | 14 + .../javascripts/search/store/actions.js | 18 +- app/assets/javascripts/search_autocomplete.js | 2 +- .../components/search_settings.vue | 2 +- .../security_configuration/components/app.vue | 28 +- .../components/constants.js | 4 - .../graphql/current_license.query.graphql | 6 - .../security_configuration/index.js | 1 + .../assignees/assignee_avatar_link.vue | 6 +- .../components/assignees/assignees.vue | 7 +- .../assignees/collapsed_assignee.vue | 2 +- .../assignees/collapsed_assignee_list.vue | 2 +- .../assignees/uncollapsed_assignee_list.vue | 2 +- .../components/attention_requested_toggle.vue | 6 +- .../sidebar_confidentiality_form.vue | 13 +- .../components/date/sidebar_date_widget.vue | 2 +- .../components/lock/edit_form_buttons.vue | 2 +- .../components/participants/participants.vue | 4 +- .../reviewers/collapsed_reviewer.vue | 2 +- .../reviewers/collapsed_reviewer_list.vue | 2 +- .../components/sidebar_dropdown_widget.vue | 2 +- .../time_tracking/collapsed_state.vue | 2 +- .../time_tracking/graphql/cache_update.js | 20 + .../mutations/delete_timelog.mutation.graphql | 5 + .../components/time_tracking/report.vue | 92 +- .../components/time_tracking/time_tracker.vue | 1 + app/assets/javascripts/sidebar/graphql.js | 8 +- .../javascripts/sidebar/mount_sidebar.js | 7 +- .../escalation_status.fragment.graphql | 4 + .../update_escalation_status.mutation.graphql | 4 +- app/assets/javascripts/sidebar/utils.js | 1 - app/assets/javascripts/single_file_diff.js | 2 +- .../static_site_editor/components/app.vue | 13 - .../components/edit_area.vue | 190 - .../components/edit_drawer.vue | 27 - .../components/edit_header.vue | 23 - .../components/edit_meta_controls.vue | 130 - .../components/edit_meta_modal.vue | 126 - .../components/front_matter_controls.vue | 57 - .../components/invalid_content_message.vue | 29 - .../components/publish_toolbar.vue | 57 - .../components/skeleton_loader.vue | 19 - .../components/submit_changes_error.vue | 24 - .../unsaved_changes_confirm_dialog.vue | 27 - .../static_site_editor/constants.js | 35 - .../static_site_editor/graphql/index.js | 47 - .../has_submitted_changes.mutation.graphql | 5 - .../submit_content_changes.mutation.graphql | 7 - .../graphql/queries/app_data.query.graphql | 17 - .../queries/saved_content_meta.query.graphql | 3 - .../queries/source_content.query.graphql | 10 - .../graphql/resolvers/file.js | 11 - .../resolvers/has_submitted_changes.js | 25 - .../resolvers/submit_content_changes.js | 47 - .../graphql/typedefs.graphql | 58 - .../static_site_editor/image_repository.js | 25 - .../javascripts/static_site_editor/index.js | 56 - .../static_site_editor/pages/home.vue | 169 - .../static_site_editor/pages/success.vue | 106 - .../rich_content_editor/constants.js | 57 - .../modals/add_image/add_image_modal.vue | 134 - .../modals/add_image/upload_image_tab.vue | 56 - .../modals/insert_video_modal.vue | 93 - .../rich_content_editor.vue | 150 - .../services/build_custom_renderer.js | 42 - .../build_html_to_markdown_renderer.js | 109 - .../services/editor_service.js | 116 - .../renderers/build_uneditable_token.js | 63 - .../renderers/render_attribute_definition.js | 7 - .../renderers/render_embedded_ruby_text.js | 9 - .../render_font_awesome_html_inline.js | 11 - .../services/renderers/render_heading.js | 6 - .../services/renderers/render_html_block.js | 23 - .../render_identifier_instance_text.js | 40 - .../renderers/render_identifier_paragraph.js | 40 - .../services/renderers/render_list_item.js | 6 - .../services/renderers/render_softbreak.js | 7 - .../services/renderers/render_utils.js | 38 - .../services/sanitize_html.js | 22 - .../rich_content_editor/toolbar_item.vue | 31 - .../static_site_editor/router/constants.js | 2 - .../static_site_editor/router/index.js | 15 - .../static_site_editor/router/routes.js | 21 - .../static_site_editor/services/formatter.js | 56 - .../services/front_matterify.js | 75 - .../services/generate_branch_name.js | 8 - .../services/image_service.js | 8 - .../services/load_source_content.js | 15 - .../services/parse_source_file.js | 46 - .../services/renderers/render_image.js | 89 - .../services/submit_content_changes.js | 145 - .../static_site_editor/services/templater.js | 89 - .../tags/components/delete_tag_modal.vue | 192 + app/assets/javascripts/tags/event_hub.js | 3 + .../javascripts/tags/init_delete_tag_modal.js | 14 + .../terraform/components/states_table.vue | 60 +- .../components/states_table_actions.vue | 10 +- .../terraform/components/terraform_list.vue | 7 +- .../graphql/fragments/state.fragment.graphql | 1 + app/assets/javascripts/terraform/index.js | 4 +- .../token_access/components/token_access.vue | 2 +- .../components/token_projects_table.vue | 6 - app/assets/javascripts/user_popovers.js | 151 +- .../components/approvals/approvals.vue | 97 +- .../approvals/approvals_summary.vue | 4 +- .../components/approvals/humanized_text.js | 23 + .../components/extensions/actions.vue | 1 + .../components/extensions/base.vue | 84 +- .../components/extensions/child_content.vue | 19 +- .../components/extensions/container.js | 10 +- .../components/extensions/index.js | 17 +- .../components/extensions/status_icon.vue | 2 +- .../components/extensions/telemetry.js | 207 + .../components/mr_collapsible_extension.vue | 2 +- .../components/mr_widget_header.vue | 100 - .../components/mr_widget_icon.vue | 2 +- .../components/mr_widget_pipeline.vue | 2 +- .../components/mr_widget_related_links.vue | 4 +- .../components/mr_widget_suggest_pipeline.vue | 2 +- .../components/states/ready_to_merge.vue | 19 +- .../components/states/work_in_progress.vue | 1 + .../mr_widget_terraform_container.vue | 6 +- .../vue_merge_request_widget/constants.js | 12 + .../extensions/accessibility/index.js | 1 + .../extensions/code_quality/index.js | 1 - .../extensions/issues.js | 3 +- .../extensions/security_reports/index.js | 10 + .../extensions/terraform/index.js | 2 +- .../extensions/test_report/index.js | 22 +- .../extensions/test_report/utils.js | 9 + .../mr_widget_options.vue | 36 +- .../stores/get_state_key.js | 4 +- .../stores/mr_widget_store.js | 14 + .../components/alert_details.vue | 10 +- .../components/sidebar/sidebar_assignees.vue | 4 +- .../vue_shared/alert_details/constants.js | 9 - .../vue_shared/alert_details/index.js | 16 +- .../vue_shared/components/ci_icon.vue | 15 +- .../vue_shared/components/clone_dropdown.vue | 2 +- .../color_select_dropdown/color_item.vue | 25 + .../color_select_root.vue | 214 + .../color_select_dropdown/constants.js | 30 + .../dropdown_contents.vue | 109 + .../dropdown_contents_color_view.vue | 53 + .../color_select_dropdown/dropdown_header.vue | 31 + .../color_select_dropdown/dropdown_value.vue | 43 + .../graphql/epic_color.query.graphql | 9 + .../epic_update_color.mutation.graphql | 9 + .../components/color_select_dropdown/utils.js | 15 + .../viewers/markdown_viewer.vue | 9 +- .../filtered_search_bar/constants.js | 16 +- .../filtered_search_bar/tokens/base_token.vue | 2 +- .../tokens/label_token.vue | 6 +- .../form/input_copy_toggle_visibility.vue | 37 +- .../vue_shared/components/markdown/header.vue | 2 +- .../components/notes/noteable_warning.vue | 6 +- .../components/notes/skeleton_note.vue | 6 +- .../components/notes/system_note.vue | 16 +- .../project_selector/project_selector.vue | 9 +- .../components/registry/registry_search.vue | 10 +- .../runner_instructions/constants.js | 2 - .../runner_instructions.vue | 22 +- .../runner_instructions_modal.vue | 123 +- .../labels_select_vue/dropdown_button.vue | 3 + .../labels_select_vue/dropdown_contents.vue | 3 + .../dropdown_contents_create_view.vue | 11 +- .../dropdown_contents_labels_view.vue | 6 +- .../labels_select_vue/dropdown_title.vue | 7 +- .../labels_select_vue/dropdown_value.vue | 3 + .../dropdown_value_collapsed.vue | 3 + .../sidebar/labels_select_vue/label_item.vue | 35 +- .../labels_select_vue/labels_select_root.vue | 22 +- .../labels_select_vue/store/getters.js | 7 +- .../labels_select_vue/store/mutations.js | 44 +- .../dropdown_contents.vue | 5 +- .../dropdown_contents_create_view.vue | 7 +- .../labels_select_widget/dropdown_header.vue | 3 +- .../labels_select_widget/dropdown_value.vue | 4 +- .../source_viewer/components/chunk_line.vue | 2 +- .../components/source_viewer/constants.js | 4 + .../components/source_viewer/plugins/index.js | 13 + .../source_viewer/plugins/wrap_comments.js | 39 + .../source_viewer/source_viewer.vue | 2 + .../upload_dropzone/upload_dropzone.vue | 4 +- .../components/usage_quotas/usage_banner.vue | 2 +- .../components/user_popover/constants.js | 1 + .../components/user_popover/user_popover.vue | 125 +- .../vue_shared/components/web_ide_link.vue | 2 +- .../javascripts/vue_shared/constants.js | 6 +- .../components/issuable_create_root.vue | 1 - .../create/components/issuable_form.vue | 59 +- .../list/components/issuable_item.vue | 7 +- .../list/components/issuable_list_root.vue | 17 +- .../vue_shared/issuable/list/constants.js | 7 + .../show/components/issuable_body.vue | 5 - .../show/components/issuable_header.vue | 12 +- .../show/components/issuable_show_root.vue | 7 - .../show/components/issuable_title.vue | 28 +- .../new_namespace/new_namespace_page.vue | 6 +- .../javascripts/whats_new/components/app.vue | 2 +- .../javascripts/whats_new/store/actions.js | 3 +- .../whats_new/utils/notification.js | 2 +- .../work_items/components/item_state.vue | 18 +- .../work_items/components/item_title.vue | 9 +- .../work_items/components/update_work_item.js | 23 + .../components/work_item_assignees.vue | 111 + .../components/work_item_description.vue | 234 + .../components/work_item_detail.vue | 53 +- .../components/work_item_detail_modal.vue | 17 +- .../components/work_item_links/index.js | 37 + .../work_item_links/work_item_links.vue | 165 + .../work_item_links/work_item_links_form.vue | 28 + .../work_items/components/work_item_state.vue | 46 +- .../work_items/components/work_item_title.vue | 50 +- .../components/work_item_weight.vue | 26 + .../javascripts/work_items/constants.js | 18 + .../local_update_work_item.mutation.graphql | 9 + .../work_items/graphql/provider.js | 84 +- .../work_items/graphql/typedefs.graphql | 36 + .../update_work_item_task.mutation.graphql | 8 + .../update_work_item_widgets.mutation.graphql | 10 + .../graphql/work_item.fragment.graphql | 7 + .../graphql/work_item.query.graphql | 16 + .../graphql/work_item_links.query.graphql | 28 + app/assets/javascripts/work_items/index.js | 4 +- .../work_items/pages/work_item_root.vue | 4 + .../stylesheets/_page_specific_files.scss | 1 - app/assets/stylesheets/components/avatar.scss | 4 - .../components/feature_highlight.scss | 26 - .../components/related_items_list.scss | 6 - .../upload_dropzone/upload_dropzone.scss | 33 +- app/assets/stylesheets/errors.scss | 4 + app/assets/stylesheets/framework.scss | 1 - app/assets/stylesheets/framework/awards.scss | 6 + app/assets/stylesheets/framework/buttons.scss | 64 +- .../framework/contextual_sidebar.scss | 16 +- app/assets/stylesheets/framework/diffs.scss | 41 +- .../stylesheets/framework/dropdowns.scss | 26 +- app/assets/stylesheets/framework/forms.scss | 5 + app/assets/stylesheets/framework/header.scss | 14 +- .../stylesheets/framework/highlight.scss | 1 - app/assets/stylesheets/framework/icons.scss | 106 +- .../stylesheets/framework/issue_box.scss | 40 - app/assets/stylesheets/framework/mixins.scss | 4 +- .../stylesheets/framework/page_title.scss | 2 - .../secondary_navigation_elements.scss | 23 +- app/assets/stylesheets/framework/sidebar.scss | 34 +- .../stylesheets/framework/timeline.scss | 2 +- .../stylesheets/framework/typography.scss | 23 +- .../stylesheets/framework/variables.scss | 14 +- app/assets/stylesheets/highlight/common.scss | 38 +- .../stylesheets/highlight/themes/dark.scss | 4 - .../stylesheets/highlight/themes/monokai.scss | 23 +- .../stylesheets/highlight/themes/none.scss | 12 +- .../highlight/themes/solarized-dark.scss | 23 +- .../highlight/themes/solarized-light.scss | 4 - .../stylesheets/highlight/white_base.scss | 13 - app/assets/stylesheets/notify_enhanced.scss | 4 - .../page_bundles/_pipeline_mixins.scss | 1 - .../stylesheets/page_bundles/build.scss | 13 - app/assets/stylesheets/page_bundles/ide.scss | 19 +- .../stylesheets/page_bundles/issues_show.scss | 28 +- .../page_bundles/jira_connect.scss | 6 - .../page_bundles/merge_requests.scss | 71 +- .../stylesheets/page_bundles/pipelines.scss | 12 +- app/assets/stylesheets/page_bundles/wiki.scss | 1 - app/assets/stylesheets/pages/commits.scss | 6 +- app/assets/stylesheets/pages/detail_page.scss | 19 +- app/assets/stylesheets/pages/groups.scss | 51 +- app/assets/stylesheets/pages/issuable.scss | 119 +- app/assets/stylesheets/pages/labels.scss | 15 - .../stylesheets/pages/merge_requests.scss | 52 +- app/assets/stylesheets/pages/note_form.scss | 27 +- app/assets/stylesheets/pages/notes.scss | 8 +- app/assets/stylesheets/pages/pages.scss | 55 - app/assets/stylesheets/pages/profile.scss | 4 - .../pages/profiles/preferences.scss | 12 +- app/assets/stylesheets/snippets.scss | 7 + .../stylesheets/startup/startup-dark.scss | 120 +- .../stylesheets/startup/startup-general.scss | 116 +- .../stylesheets/startup/startup-signin.scss | 6 +- app/assets/stylesheets/themes/_dark.scss | 1 - .../themes/dark_mode_overrides.scss | 12 + .../{theme_dark.scss => theme_gray.scss} | 2 +- .../stylesheets/themes/theme_helper.scss | 3 +- ...theme_light.scss => theme_light_gray.scss} | 10 +- app/assets/stylesheets/utilities.scss | 47 +- .../overflow_warning_component.html.haml | 2 +- .../diffs/overflow_warning_component.rb | 7 - app/components/diffs/stats_component.rb | 8 - .../pajamas/alert_component.html.haml | 9 +- app/components/pajamas/alert_component.rb | 14 +- .../pajamas/banner_component.html.haml | 23 + app/components/pajamas/banner_component.rb | 61 + .../pajamas/button_component.html.haml | 8 + app/components/pajamas/button_component.rb | 118 + .../pajamas/card_component.html.haml | 9 + app/components/pajamas/card_component.rb | 21 + .../pajamas/checkbox_component.html.haml | 6 + app/components/pajamas/checkbox_component.rb | 56 + app/components/pajamas/component.rb | 12 +- .../checkbox_radio_label_with_help_text.rb | 30 + .../concerns/checkbox_radio_options.rb | 11 + .../pajamas/radio_component.html.haml | 5 + app/components/pajamas/radio_component.rb | 51 + .../appearances_controller.rb | 1 + .../admin/application_settings_controller.rb | 6 + .../admin/broadcast_messages_controller.rb | 1 + app/controllers/admin/dashboard_controller.rb | 2 - app/controllers/admin/groups_controller.rb | 1 + app/controllers/admin/runners_controller.rb | 2 + app/controllers/admin/users_controller.rb | 2 +- app/controllers/application_controller.rb | 2 +- app/controllers/autocomplete_controller.rb | 4 +- .../clusters/clusters_controller.rb | 106 +- app/controllers/concerns/gitlab_recaptcha.rb | 3 + .../concerns/integrations/actions.rb | 2 - app/controllers/concerns/issuable_actions.rb | 3 +- app/controllers/concerns/issues_calendar.rb | 2 - .../concerns/membership_actions.rb | 4 +- app/controllers/concerns/notes_actions.rb | 42 +- .../concerns/product_analytics_tracking.rb | 11 +- .../project_stats_refresh_conflicts_guard.rb | 13 + app/controllers/concerns/snippets_actions.rb | 2 - .../concerns/sorting_preference.rb | 17 +- .../html_format_actions_support.rb | 2 + app/controllers/concerns/wiki_actions.rb | 2 +- app/controllers/concerns/zuora_csp.rb | 26 + app/controllers/confirmations_controller.rb | 2 +- .../groups/autocomplete_sources_controller.rb | 3 +- .../groups/email_campaigns_controller.rb | 1 + .../groups/group_members_controller.rb | 4 +- app/controllers/groups/runners_controller.rb | 2 + .../groups/settings/ci_cd_controller.rb | 5 + app/controllers/groups_controller.rb | 8 +- app/controllers/help_controller.rb | 26 +- app/controllers/ide_controller.rb | 5 + app/controllers/import/fogbugz_controller.rb | 14 +- app/controllers/import/gitea_controller.rb | 2 +- app/controllers/import/github_controller.rb | 2 - .../oauth_application_ids_controller.rb | 23 + app/controllers/jwks_controller.rb | 4 - .../mailgun/webhooks_controller.rb | 55 + .../mailgun/permanent_failures_controller.rb | 65 - .../oauth/authorizations_controller.rb | 17 + .../omniauth_callbacks_controller.rb | 10 + .../profiles/accounts_controller.rb | 2 +- .../profiles/active_sessions_controller.rb | 2 +- .../personal_access_tokens_controller.rb | 14 +- app/controllers/profiles_controller.rb | 5 +- .../projects/ci/pipeline_editor_controller.rb | 2 +- .../projects/commits_controller.rb | 2 +- .../projects/compare_controller.rb | 19 +- .../environments/prometheus_api_controller.rb | 1 + .../environments/sample_metrics_controller.rb | 1 + .../projects/environments_controller.rb | 6 +- .../error_tracking/base_controller.rb | 1 + .../error_tracking/projects_controller.rb | 1 + .../projects/google_cloud/base_controller.rb | 1 + .../projects/grafana_api_controller.rb | 1 + .../projects/incidents_controller.rb | 1 - app/controllers/projects/issues_controller.rb | 26 +- app/controllers/projects/jobs_controller.rb | 4 +- app/controllers/projects/logs_controller.rb | 1 + .../projects/mattermosts_controller.rb | 2 +- .../merge_requests/drafts_controller.rb | 13 + .../projects/merge_requests_controller.rb | 10 +- .../metrics/dashboards/builder_controller.rb | 1 + .../projects/metrics_dashboard_controller.rb | 1 + .../dashboards_controller.rb | 1 + .../projects/pipeline_schedules_controller.rb | 2 - .../projects/pipelines/tests_controller.rb | 4 +- .../projects/pipelines_controller.rb | 22 +- .../projects/prometheus/alerts_controller.rb | 10 +- .../projects/prometheus/metrics_controller.rb | 7 +- .../projects/releases_controller.rb | 18 +- .../projects/service_hook_logs_controller.rb | 23 - .../projects/services_controller.rb | 122 - .../settings/branch_rules_controller.rb | 15 + .../projects/settings/ci_cd_controller.rb | 10 +- .../integration_hook_logs_controller.rb | 27 + .../settings/integrations_controller.rb | 130 +- .../packages_and_registries_controller.rb | 7 +- .../settings/repository_controller.rb | 1 + .../projects/static_site_editor_controller.rb | 51 - app/controllers/projects/tags_controller.rb | 9 +- .../projects/tracings_controller.rb | 1 + .../projects/usage_quotas_controller.rb | 1 + .../projects/work_items_controller.rb | 2 + app/controllers/projects_controller.rb | 8 + app/controllers/pwa_controller.rb | 4 + .../registrations/welcome_controller.rb | 2 +- app/controllers/registrations_controller.rb | 1 + app/controllers/search_controller.rb | 3 +- app/controllers/sessions_controller.rb | 6 +- app/controllers/users/callouts_controller.rb | 1 + app/controllers/users/terms_controller.rb | 2 +- app/controllers/users_controller.rb | 7 +- app/controllers/whats_new_controller.rb | 1 + app/events/pages/page_deleted_event.rb | 16 + app/experiments/application_experiment.rb | 12 +- .../readme_advanced.md.tt | 46 +- app/finders/clusters/agents_finder.rb | 2 + app/finders/crm/contacts_finder.rb | 39 +- app/finders/crm/organizations_finder.rb | 76 + app/finders/issuable_finder.rb | 4 +- app/finders/issuable_finder/params.rb | 6 +- app/finders/issuables/label_filter.rb | 6 +- app/finders/issues_finder.rb | 14 +- app/finders/packages/pypi/packages_finder.rb | 2 + app/finders/work_items/work_items_finder.rb | 19 + app/graphql/gitlab_schema.rb | 28 +- app/graphql/mutations/base_mutation.rb | 18 +- app/graphql/mutations/ci/pipeline/destroy.rb | 13 + app/graphql/mutations/ci/runner/update.rb | 4 + .../mutations/work_items/update_arguments.rb | 21 + .../timeline_event/create.rb | 4 +- .../timeline_event/promote_from_note.rb | 3 +- .../mutations/issues/set_crm_contacts.rb | 2 +- .../mutations/merge_requests/set_draft.rb | 4 +- .../packages/cleanup/policy/update.rb | 48 + .../mutations/packages/destroy_files.rb | 54 + app/graphql/mutations/releases/create.rb | 4 + .../ci_configuration/configure_sast.rb | 2 +- .../mutations/terraform/state/delete.rb | 4 +- .../mutations/user_preferences/update.rb | 17 - app/graphql/mutations/work_items/create.rb | 3 +- .../mutations/work_items/create_from_task.rb | 2 +- app/graphql/mutations/work_items/delete.rb | 2 +- .../mutations/work_items/delete_task.rb | 3 +- app/graphql/mutations/work_items/update.rb | 13 +- .../mutations/work_items/update_task.rb | 77 + .../mutations/work_items/update_widgets.rb | 59 + app/graphql/resolvers/base_issues_resolver.rb | 7 - .../ci/runner_owner_project_resolver.rb | 65 + .../clusters/agent_tokens_resolver.rb | 2 +- .../resolvers/clusters/agents_resolver.rb | 2 +- .../concerns/issue_resolver_arguments.rb | 5 +- .../resolvers/concerns/resolves_groups.rb | 2 - .../concerns/resolves_merge_requests.rb | 1 + .../resolvers/crm/contacts_resolver.rb | 36 + .../resolvers/crm/organizations_resolver.rb | 36 + .../design_management/versions_resolver.rb | 2 - .../merge_request_pipelines_resolver.rb | 7 +- app/graphql/resolvers/milestones_resolver.rb | 23 +- .../resolvers/paginated_tree_resolver.rb | 2 +- app/graphql/resolvers/tree_resolver.rb | 2 +- app/graphql/resolvers/user_resolver.rb | 8 + app/graphql/resolvers/users_resolver.rb | 5 +- app/graphql/resolvers/work_items_resolver.rb | 60 + app/graphql/types/base_field.rb | 29 +- app/graphql/types/ci/detailed_status_type.rb | 2 +- app/graphql/types/ci/job_type.rb | 2 +- .../pipeline_merge_request_event_type_enum.rb | 19 + app/graphql/types/ci/pipeline_type.rb | 3 + app/graphql/types/ci/runner_type.rb | 27 +- app/graphql/types/ci/runner_web_url_edge.rb | 11 +- app/graphql/types/ci/status_action_type.rb | 3 +- app/graphql/types/concerns/find_closest.rb | 15 - .../customer_relations/contact_state_enum.rb | 17 + .../organization_state_enum.rb | 17 + app/graphql/types/global_id_type.rb | 3 +- app/graphql/types/group_member_type.rb | 2 +- app/graphql/types/group_type.rb | 6 +- app/graphql/types/issue_sort_enum.rb | 6 +- app/graphql/types/issue_type.rb | 7 + .../limited_countable_connection_type.rb | 26 + .../interacts_with_merge_request.rb | 10 +- app/graphql/types/milestone_type.rb | 4 + app/graphql/types/mutation_type.rb | 14 +- .../keep_duplicated_package_files_enum.rb | 25 + .../types/packages/cleanup/policy_type.rb | 23 + .../permission_types/base_permission_type.rb | 14 +- app/graphql/types/project_type.rb | 15 + app/graphql/types/query_complexity_type.rb | 4 +- app/graphql/types/query_type.rb | 10 +- app/graphql/types/release_asset_link_type.rb | 9 +- app/graphql/types/release_type.rb | 3 + app/graphql/types/terraform/state_type.rb | 4 + app/graphql/types/time_type.rb | 3 + app/graphql/types/todo_type.rb | 4 + app/graphql/types/work_item_sort_enum.rb | 11 + app/graphql/types/work_item_type.rb | 2 + .../work_items/updated_task_input_type.rb | 11 + .../types/work_items/widget_interface.rb | 28 + .../types/work_items/widget_type_enum.rb | 14 + .../widgets/description_input_type.rb | 15 + .../work_items/widgets/description_type.rb | 25 + .../work_items/widgets/hierarchy_type.rb | 30 + app/helpers/access_tokens_helper.rb | 4 +- .../application_settings/settings_helper.rb | 16 + app/helpers/application_helper.rb | 1 - app/helpers/application_settings_helper.rb | 28 + app/helpers/breadcrumbs_helper.rb | 2 +- app/helpers/ci/pipeline_editor_helper.rb | 1 + app/helpers/ci/runners_helper.rb | 8 +- app/helpers/custom_metrics_helper.rb | 2 +- app/helpers/diff_helper.rb | 27 +- app/helpers/emails_helper.rb | 2 +- app/helpers/environments_helper.rb | 3 +- app/helpers/form_helper.rb | 54 +- app/helpers/groups/crm_settings_helper.rb | 9 - app/helpers/groups/group_members_helper.rb | 15 +- app/helpers/groups_helper.rb | 34 + app/helpers/integrations_helper.rb | 10 +- app/helpers/invite_members_helper.rb | 2 +- app/helpers/issues_helper.rb | 20 +- app/helpers/jira_connect_helper.rb | 4 +- app/helpers/markup_helper.rb | 33 +- app/helpers/members_helper.rb | 2 + app/helpers/merge_requests_helper.rb | 6 +- app/helpers/nav/new_dropdown_helper.rb | 2 +- app/helpers/nav/top_nav_helper.rb | 76 +- app/helpers/nav_helper.rb | 2 +- app/helpers/notes_helper.rb | 6 +- app/helpers/projects/pipeline_helper.rb | 8 +- .../projects/project_members_helper.rb | 29 + app/helpers/projects_helper.rb | 61 +- app/helpers/search_helper.rb | 2 + app/helpers/snippets_helper.rb | 12 + app/helpers/sorting_helper.rb | 4 + app/helpers/storage_helper.rb | 30 +- app/helpers/system_note_helper.rb | 8 +- app/helpers/tags_helper.rb | 9 - app/helpers/todos_helper.rb | 25 +- app/helpers/tooling/visual_review_helper.rb | 26 + app/helpers/users_helper.rb | 2 +- app/helpers/work_items_helper.rb | 10 + app/mailers/emails/admin_notification.rb | 13 + app/mailers/emails/auto_devops.rb | 8 +- app/mailers/emails/issues.rb | 14 +- app/mailers/emails/members.rb | 21 +- app/mailers/emails/merge_requests.rb | 7 +- app/mailers/emails/pipelines.rb | 8 +- app/mailers/emails/profile.rb | 17 +- app/mailers/emails/projects.rb | 8 +- app/mailers/notify.rb | 7 + app/mailers/previews/notify_preview.rb | 4 + app/models/application_setting.rb | 7 + .../application_setting_implementation.rb | 29 + app/models/award_emoji.rb | 2 +- app/models/bulk_imports/entity.rb | 13 +- app/models/bulk_imports/export_status.rb | 17 +- .../file_transfer/project_config.rb | 9 +- app/models/bulk_imports/tracker.rb | 2 + app/models/ci/bridge.rb | 22 +- app/models/ci/build.rb | 81 +- app/models/ci/job_artifact.rb | 35 +- app/models/ci/pipeline.rb | 44 +- app/models/ci/runner.rb | 12 + app/models/ci/secure_file.rb | 2 + app/models/ci/sources/pipeline.rb | 4 +- app/models/clusters/agent.rb | 8 +- app/models/clusters/applications/runner.rb | 2 +- app/models/clusters/cluster_enabled_grant.rb | 9 + .../clusters/integrations/prometheus.rb | 18 +- app/models/commit.rb | 7 +- app/models/commit_signatures/ssh_signature.rb | 9 + app/models/compare.rb | 5 +- .../cycle_analytics/stage_event_model.rb | 7 +- app/models/concerns/as_cte.rb | 12 + app/models/concerns/async_devise_email.rb | 5 +- app/models/concerns/awardable.rb | 16 +- app/models/concerns/cache_markdown_field.rb | 7 +- app/models/concerns/ci/artifactable.rb | 2 +- app/models/concerns/enums/ci/pipeline.rb | 2 +- app/models/concerns/file_store_mounter.rb | 14 +- .../concerns/integrations/base_data_fields.rb | 29 +- .../concerns/integrations/has_data_fields.rb | 3 +- app/models/concerns/issuable.rb | 20 +- app/models/concerns/limitable.rb | 26 +- .../concerns/pg_full_text_searchable.rb | 11 + .../project_features_compatibility.rb | 4 + .../concerns/sensitive_serializable_hash.rb | 2 +- .../concerns/storage/legacy_namespace.rb | 14 - app/models/container_registry/event.rb | 2 +- app/models/customer_relations/contact.rb | 21 + app/models/customer_relations/organization.rb | 21 + app/models/deployment.rb | 77 +- app/models/environment.rb | 30 +- app/models/error_tracking/client_key.rb | 1 + app/models/error_tracking/error_event.rb | 54 +- app/models/group.rb | 19 +- app/models/hooks/project_hook.rb | 5 - app/models/hooks/web_hook.rb | 52 +- app/models/hooks/web_hook_log.rb | 13 + app/models/integration.rb | 31 +- app/models/integrations/bamboo.rb | 20 +- .../integrations/base_chat_notification.rb | 2 +- app/models/integrations/buildkite.rb | 12 +- app/models/integrations/drone_ci.rb | 8 +- app/models/integrations/field.rb | 7 +- app/models/integrations/harbor.rb | 2 +- app/models/integrations/irker.rb | 55 +- app/models/integrations/jenkins.rb | 14 +- app/models/integrations/jira.rb | 5 +- app/models/integrations/microsoft_teams.rb | 30 +- app/models/integrations/mock_ci.rb | 2 +- app/models/integrations/prometheus.rb | 2 + app/models/integrations/teamcity.rb | 10 +- .../integrations/zentao_tracker_data.rb | 13 +- app/models/issue.rb | 22 +- app/models/key.rb | 24 +- app/models/label.rb | 2 +- app/models/member.rb | 2 +- app/models/members/group_member.rb | 34 +- .../members/last_group_owner_assigner.rb | 3 +- app/models/members/project_member.rb | 16 +- app/models/merge_request.rb | 33 +- app/models/merge_request/cleanup_schedule.rb | 12 + app/models/merge_request_diff_file.rb | 6 +- app/models/namespace.rb | 64 +- .../namespace/root_storage_statistics.rb | 31 +- app/models/namespace_setting.rb | 9 +- app/models/namespaces/project_namespace.rb | 7 + app/models/namespaces/traversal/linear.rb | 10 +- .../namespaces/traversal/linear_scopes.rb | 153 +- app/models/namespaces/traversal/recursive.rb | 8 +- app/models/note.rb | 1 - app/models/packages/cleanup/policy.rb | 2 +- app/models/packages/package.rb | 17 +- app/models/project.rb | 78 +- app/models/project_feature.rb | 20 +- app/models/project_statistics.rb | 4 +- app/models/project_team.rb | 14 +- .../projects/build_artifacts_size_refresh.rb | 14 +- app/models/protected_tag.rb | 6 +- app/models/release.rb | 7 +- app/models/repository.rb | 5 +- app/models/resource_event.rb | 1 - app/models/route.rb | 10 - app/models/terraform/state.rb | 12 +- app/models/terraform/state_version.rb | 1 + app/models/time_tracking/timelog_category.rb | 35 + app/models/user.rb | 57 +- app/models/user_detail.rb | 3 + app/models/users/callout.rb | 6 +- app/models/wiki.rb | 47 +- app/models/work_item.rb | 19 + app/models/work_items/parent_link.rb | 53 + app/models/work_items/type.rb | 16 + app/models/work_items/widgets/base.rb | 25 + app/models/work_items/widgets/description.rb | 13 + app/models/work_items/widgets/hierarchy.rb | 19 + app/policies/group_policy.rb | 2 +- app/policies/issuable_policy.rb | 4 +- app/policies/issue_policy.rb | 2 +- .../packages/cleanup/policy_policy.rb | 9 + app/policies/project_policy.rb | 28 +- app/policies/work_item_policy.rb | 5 + app/presenters/blob_presenter.rb | 4 +- app/presenters/ci/pipeline_presenter.rb | 3 +- app/presenters/merge_request_presenter.rb | 14 +- .../packages/pypi/package_presenter.rb | 96 - .../packages/pypi/simple_index_presenter.rb | 50 + .../pypi/simple_package_versions_presenter.rb | 58 + .../packages/pypi/simple_presenter_base.rb | 53 + app/presenters/project_presenter.rb | 17 +- .../security/configuration_presenter.rb | 3 +- .../settings/deploy_keys_presenter.rb | 2 +- app/presenters/releases/link_presenter.rb | 12 + app/presenters/service_hook_presenter.rb | 4 +- app/presenters/snippet_blob_presenter.rb | 2 + app/serializers/analytics_issue_entity.rb | 4 + app/serializers/deploy_key_entity.rb | 39 - app/serializers/deploy_key_serializer.rb | 5 - .../deploy_keys/basic_deploy_key_entity.rb | 28 + .../basic_deploy_key_serializer.rb | 7 + .../deploy_keys/deploy_key_entity.rb | 22 + .../deploy_keys/deploy_key_serializer.rb | 7 + app/serializers/diff_file_entity.rb | 12 +- app/serializers/environment_serializer.rb | 24 +- app/serializers/integrations/event_entity.rb | 46 + .../integrations/event_serializer.rb | 7 + app/serializers/integrations/field_entity.rb | 49 + .../integrations/field_serializer.rb | 7 + app/serializers/issue_board_entity.rb | 9 + app/serializers/issue_entity.rb | 9 + app/serializers/linked_issue_entity.rb | 9 + ...merge_request_poll_cached_widget_entity.rb | 3 +- .../merge_request_poll_widget_entity.rb | 14 +- .../merge_request_widget_entity.rb | 14 - app/serializers/prometheus_alert_entity.rb | 4 - app/serializers/service_event_entity.rb | 44 - app/serializers/service_event_serializer.rb | 5 - app/serializers/service_field_entity.rb | 47 - app/serializers/service_field_serializer.rb | 5 - app/services/auto_merge/base_service.rb | 5 +- .../boards/base_items_list_service.rb | 7 +- app/services/boards/issues/list_service.rb | 2 +- .../bulk_create_integration_service.rb | 14 +- .../create_pipeline_trackers_service.rb | 68 + .../bulk_imports/file_export_service.rb | 4 + .../lfs_objects_export_service.rb | 2 + .../repository_bundle_export_service.rb | 23 + .../bulk_update_integration_service.rb | 17 +- .../destroy_all_expired_service.rb | 2 +- .../ci/job_artifacts/destroy_batch_service.rb | 37 +- .../coverage_report_service.rb | 38 +- .../destroy_all_expired_service.rb | 2 +- .../reset_registration_token_service.rb | 7 +- .../applications/schedule_update_service.rb | 40 - .../integrations/bulk_operation_hashes.rb | 31 + .../concerns/members/bulk_create_users.rb | 86 - app/services/environments/stop_service.rb | 6 +- app/services/event_create_service.rb | 18 + app/services/git/branch_push_service.rb | 1 + app/services/import/base_service.rb | 4 + .../import/bitbucket_server_service.rb | 4 - app/services/import/fogbugz_service.rb | 107 + app/services/import/github_service.rb | 4 - .../timeline_events/base_service.rb | 2 + .../timeline_events/create_service.rb | 5 +- .../timeline_events/destroy_service.rb | 1 + .../timeline_events/update_service.rb | 6 + app/services/issuable/clone/base_service.rb | 7 +- .../issuable/common_system_notes_service.rb | 2 +- app/services/issues/create_service.rb | 8 + app/services/issues/move_service.rb | 1 - .../create_service.rb | 13 +- .../markdown_content_rewriter_service.rb | 62 +- .../members/approve_access_request_service.rb | 17 +- app/services/members/base_service.rb | 13 + app/services/members/create_service.rb | 13 + app/services/members/creator_service.rb | 119 +- app/services/members/destroy_service.rb | 11 +- .../members/groups/bulk_creator_service.rb | 9 - .../members/groups/creator_service.rb | 6 + .../mailgun/process_webhook_service.rb | 39 - .../members/projects/bulk_creator_service.rb | 9 - .../members/projects/creator_service.rb | 24 + app/services/members/update_service.rb | 17 + app/services/merge_requests/base_service.rb | 22 +- app/services/merge_requests/build_service.rb | 36 +- .../merge_requests/create_pipeline_service.rb | 8 +- app/services/merge_requests/merge_service.rb | 8 + .../mergeability/run_checks_service.rb | 12 +- .../merge_requests/post_merge_service.rb | 2 +- .../merge_requests/refresh_service.rb | 10 +- .../reload_merge_head_diff_service.rb | 2 + app/services/merge_requests/update_service.rb | 12 +- .../metrics/dashboard/base_service.rb | 1 - .../dashboard/panel_preview_service.rb | 1 - .../dashboard/system_dashboard_service.rb | 3 +- app/services/note_summary.rb | 4 +- app/services/notes/copy_service.rb | 17 +- .../notification_recipients/build_service.rb | 4 - .../builder/new_release.rb | 25 - app/services/notification_service.rb | 4 +- .../packages/cleanup/update_policy_service.rb | 35 + .../packages/go/create_package_service.rb | 3 +- .../metadata/append_package_file_service.rb | 4 +- .../rubygems/create_gemspec_service.rb | 4 +- app/services/pages/delete_service.rb | 13 + .../create_acme_order_service.rb | 10 +- app/services/projects/after_rename_service.rb | 14 - .../projects/destroy_rollback_service.rb | 31 - app/services/projects/destroy_service.rb | 19 +- .../projects/import_export/export_service.rb | 7 +- .../projects/open_issues_count_service.rb | 6 +- .../projects/operations/update_service.rb | 2 +- app/services/projects/transfer_service.rb | 8 - app/services/projects/update_pages_service.rb | 8 + app/services/releases/base_service.rb | 4 + app/services/releases/create_service.rb | 2 +- app/services/repositories/base_service.rb | 12 - .../repositories/changelog_service.rb | 32 + .../repositories/destroy_rollback_service.rb | 25 - app/services/repositories/destroy_service.rb | 38 +- .../repositories/shell_destroy_service.rb | 15 - .../resource_access_tokens/create_service.rb | 10 +- .../base_change_timebox_service.rb | 2 +- .../base_synthetic_notes_builder_service.rb | 9 +- app/services/service_ping/submit_service.rb | 11 +- app/services/service_response.rb | 18 + app/services/snippets/bulk_destroy_service.rb | 14 - app/services/snippets/destroy_service.rb | 5 - .../static_site_editor/config_service.rb | 85 - .../system_notes/issuables_service.rb | 15 +- .../system_notes/merge_requests_service.rb | 2 +- .../terraform/remote_state_handler.rb | 14 +- .../terraform/states/destroy_service.rb | 34 + .../states/trigger_destroy_service.rb | 43 + app/services/two_factor/destroy_service.rb | 8 +- .../user_project_access_changed_service.rb | 6 + app/services/web_hook_service.rb | 89 +- app/services/web_hooks/destroy_service.rb | 72 +- app/services/web_hooks/log_destroy_service.rb | 19 + app/services/work_items/update_service.rb | 22 +- app/uploaders/gitlab_uploader.rb | 8 + app/uploaders/metric_image_uploader.rb | 4 + app/uploaders/object_storage.rb | 14 + .../json_schemas/web_hooks_url_variables.json | 14 + app/views/abuse_reports/new.html.haml | 4 +- app/views/admin/abuse_reports/index.html.haml | 2 +- .../application_settings/_abuse.html.haml | 2 +- .../_account_and_limit.html.haml | 2 +- .../application_settings/_ci_cd.html.haml | 4 +- .../_default_branch.html.haml | 2 +- .../_diff_limits.html.haml | 2 +- .../admin/application_settings/_eks.html.haml | 4 +- .../application_settings/_email.html.haml | 2 +- ...ernal_authorization_service_form.html.haml | 6 +- .../application_settings/_floc.html.haml | 4 +- .../_git_lfs_limits.html.haml | 2 +- .../application_settings/_gitaly.html.haml | 2 +- .../application_settings/_gitpod.html.haml | 2 +- .../application_settings/_help_page.html.haml | 2 +- .../_import_export_limits.html.haml | 2 +- .../application_settings/_ip_limits.html.haml | 2 +- .../_issue_limits.html.haml | 2 +- .../_jira_connect_application_key.html.haml | 21 + .../application_settings/_kroki.html.haml | 4 +- .../_localization.html.haml | 2 +- .../application_settings/_mailgun.html.haml | 2 +- .../_network_rate_limits.html.haml | 2 +- .../_note_limits.html.haml | 2 +- .../application_settings/_outbound.html.haml | 2 +- .../_package_registry.html.haml | 4 +- .../application_settings/_pages.html.haml | 4 +- .../_performance.html.haml | 2 +- .../_pipeline_limits.html.haml | 2 +- .../application_settings/_plantuml.html.haml | 2 +- .../_protected_paths.html.haml | 2 +- .../application_settings/_realtime.html.haml | 2 +- .../_repository_check.html.haml | 4 + .../_repository_storage.html.haml | 2 +- .../_search_limits.html.haml | 2 +- .../application_settings/_sentry.html.haml | 2 +- .../_sidekiq_job_limits.html.haml | 2 +- .../application_settings/_signin.html.haml | 2 +- .../application_settings/_signup.html.haml | 20 +- .../application_settings/_snowplow.html.haml | 2 +- .../_sourcegraph.html.haml | 4 +- .../application_settings/_terms.html.haml | 2 +- .../_third_party_offers.html.haml | 2 +- .../application_settings/_usage.html.haml | 2 +- .../_users_api_limits.html.haml | 2 +- .../_visibility_and_access.html.haml | 5 +- .../application_settings/_whats_new.html.haml | 13 +- .../application_settings/ci/_header.html.haml | 2 +- .../application_settings/ci_cd.html.haml | 6 +- .../application_settings/general.html.haml | 19 +- .../metrics_and_profiling.html.haml | 10 +- .../application_settings/network.html.haml | 28 +- .../preferences.html.haml | 16 +- .../application_settings/reporting.html.haml | 4 +- .../application_settings/repository.html.haml | 10 +- .../service_usage_data.html.haml | 12 +- app/views/admin/applications/edit.html.haml | 2 +- app/views/admin/applications/index.html.haml | 2 +- app/views/admin/applications/new.html.haml | 2 +- app/views/admin/applications/show.html.haml | 2 +- .../admin/background_jobs/show.html.haml | 2 +- .../admin/broadcast_messages/index.html.haml | 8 +- .../_security_newsletter_callout.html.haml | 10 +- app/views/admin/dashboard/index.html.haml | 48 +- app/views/admin/deploy_keys/edit.html.haml | 2 +- app/views/admin/deploy_keys/new.html.haml | 2 +- .../admin/gitaly_servers/index.html.haml | 2 +- app/views/admin/groups/_form.html.haml | 2 +- app/views/admin/groups/edit.html.haml | 2 +- app/views/admin/groups/new.html.haml | 2 +- app/views/admin/groups/show.html.haml | 4 +- app/views/admin/health_check/show.html.haml | 8 +- app/views/admin/hook_logs/show.html.haml | 7 +- app/views/admin/hooks/_form.html.haml | 2 +- app/views/admin/identities/_form.html.haml | 2 +- app/views/admin/identities/edit.html.haml | 2 +- app/views/admin/identities/index.html.haml | 2 +- app/views/admin/identities/new.html.haml | 2 +- app/views/admin/jobs/index.html.haml | 11 +- app/views/admin/labels/edit.html.haml | 2 +- app/views/admin/labels/index.html.haml | 2 +- app/views/admin/labels/new.html.haml | 2 +- app/views/admin/projects/index.html.haml | 19 +- app/views/admin/projects/show.html.haml | 8 +- app/views/admin/spam_logs/index.html.haml | 2 +- app/views/admin/topics/_form.html.haml | 2 +- app/views/admin/topics/edit.html.haml | 2 +- app/views/admin/topics/new.html.haml | 2 +- .../admin/users/_access_levels.html.haml | 19 +- app/views/admin/users/_admin_notes.html.haml | 5 +- app/views/admin/users/_form.html.haml | 58 +- app/views/admin/users/_head.html.haml | 4 +- app/views/admin/users/_users.html.haml | 2 +- app/views/admin/users/edit.html.haml | 3 +- app/views/admin/users/new.html.haml | 3 +- app/views/award_emoji/_awards_block.html.haml | 6 +- app/views/ci/variables/_header.html.haml | 2 +- app/views/ci/variables/_index.html.haml | 6 +- .../clusters/_advanced_settings.html.haml | 2 +- app/views/clusters/clusters/_banner.html.haml | 4 +- .../clusters/_deprecation_alert.html.haml | 2 +- .../_gcp_signup_offer_banner.html.haml | 4 +- app/views/dashboard/_activity_head.html.haml | 2 +- app/views/dashboard/_groups_head.html.haml | 2 +- app/views/dashboard/_projects_head.html.haml | 11 +- app/views/dashboard/_projects_nav.html.haml | 2 +- app/views/dashboard/_snippets_head.html.haml | 2 +- app/views/dashboard/issues.html.haml | 2 +- app/views/dashboard/merge_requests.html.haml | 2 +- .../dashboard/milestones/index.html.haml | 2 +- app/views/dashboard/todos/index.html.haml | 2 +- app/views/devise/confirmations/new.html.haml | 2 +- app/views/devise/registrations/new.html.haml | 1 + app/views/devise/shared/_signup_box.html.haml | 1 + .../_signup_omniauth_provider_list.haml | 4 +- .../doorkeeper/applications/edit.html.haml | 2 +- .../doorkeeper/applications/new.html.haml | 2 +- .../doorkeeper/applications/show.html.haml | 2 +- .../doorkeeper/authorizations/error.html.haml | 2 +- .../authorizations/redirect.html.haml | 2 +- .../doorkeeper/authorizations/show.html.haml | 2 +- app/views/errors/access_denied.html.haml | 2 +- app/views/explore/topics/_head.html.haml | 11 +- app/views/groups/_create_chat_team.html.haml | 15 +- .../groups/_group_admin_settings.html.haml | 12 +- .../_invite_members_side_nav_link.html.haml | 3 +- app/views/groups/_new_group_fields.html.haml | 2 +- app/views/groups/_personalize.html.haml | 6 +- .../groups/_subgroups_and_projects.html.haml | 5 +- app/views/groups/edit.html.haml | 9 +- .../groups/group_members/index.html.haml | 4 +- app/views/groups/issues.html.haml | 28 +- app/views/groups/labels/edit.html.haml | 3 +- app/views/groups/labels/index.html.haml | 8 +- app/views/groups/labels/new.html.haml | 3 +- app/views/groups/merge_requests.html.haml | 2 +- app/views/groups/milestones/_form.html.haml | 2 +- app/views/groups/milestones/edit.html.haml | 2 +- app/views/groups/milestones/new.html.haml | 2 +- app/views/groups/new.html.haml | 2 +- app/views/groups/projects.html.haml | 1 + app/views/groups/runners/_settings.html.haml | 24 +- app/views/groups/runners/edit.html.haml | 2 +- app/views/groups/runners/show.html.haml | 5 +- app/views/groups/settings/_advanced.html.haml | 4 +- app/views/groups/settings/_export.html.haml | 4 +- .../settings/_git_access_protocols.html.haml | 7 + .../groups/settings/_permissions.html.haml | 14 +- .../groups/settings/_remove_button.html.haml | 2 +- app/views/groups/settings/_transfer.html.haml | 2 +- .../settings/applications/edit.html.haml | 2 +- .../settings/applications/show.html.haml | 2 +- .../groups/settings/ci_cd/show.html.haml | 9 +- .../repository/_default_branch.html.haml | 2 +- .../groups/settings/repository/show.html.haml | 1 + app/views/groups/show.html.haml | 3 +- app/views/import/bitbucket/status.html.haml | 2 +- .../import/bitbucket_server/new.html.haml | 2 +- .../import/bitbucket_server/status.html.haml | 2 +- app/views/import/fogbugz/new.html.haml | 2 +- .../import/fogbugz/new_user_map.html.haml | 2 +- app/views/import/fogbugz/status.html.haml | 2 +- app/views/import/gitea/new.html.haml | 3 +- app/views/import/gitea/status.html.haml | 4 +- app/views/import/github/new.html.haml | 8 +- app/views/import/github/status.html.haml | 2 +- app/views/import/gitlab/status.html.haml | 2 +- .../import/gitlab_projects/new.html.haml | 2 +- app/views/import/manifest/_form.html.haml | 2 +- app/views/import/manifest/new.html.haml | 2 +- app/views/import/manifest/status.html.haml | 2 +- app/views/import/phabricator/new.html.haml | 2 +- app/views/import/shared/_errors.html.haml | 2 +- app/views/invites/show.html.haml | 2 +- .../subscriptions/index.html.haml | 6 +- .../gitlab/_keyset_paginator.html.haml | 8 +- .../kaminari/gitlab/_next_page.html.haml | 2 +- .../kaminari/gitlab/_prev_page.html.haml | 2 +- .../kaminari/gitlab/_without_count.html.haml | 4 +- app/views/layouts/_head.html.haml | 1 + app/views/layouts/_page.html.haml | 5 +- app/views/layouts/_visual_review.html.haml | 1 + app/views/layouts/application.html.haml | 1 + app/views/layouts/header/_default.html.haml | 11 +- .../_registration_enabled_callout.html.haml | 8 +- .../_storage_enforcement_banner.html.haml | 10 +- .../_collapsed_inline_list.html.haml | 4 +- app/views/layouts/notify.html.haml | 4 + app/views/layouts/service_desk.html.haml | 4 + app/views/layouts/terms.html.haml | 25 +- .../approved_merge_request_email.html.haml | 2 +- ...rge_when_pipeline_succeeds_email.html.haml | 2 +- .../unapproved_merge_request_email.html.haml | 2 +- .../notify/user_auto_banned_email.html.haml | 9 + .../notify/user_auto_banned_email.text.erb | 7 + app/views/profiles/_email_settings.html.haml | 6 +- app/views/profiles/accounts/show.html.haml | 8 +- .../profiles/chat_names/_chat_name.html.haml | 4 +- app/views/profiles/chat_names/new.html.haml | 2 +- app/views/profiles/emails/index.html.haml | 2 +- app/views/profiles/keys/_form.html.haml | 7 +- .../profiles/keys/_key_details.html.haml | 2 +- app/views/profiles/passwords/new.html.haml | 2 +- .../personal_access_tokens/index.html.haml | 12 +- app/views/profiles/preferences/show.html.haml | 15 +- app/views/profiles/show.html.haml | 20 +- .../profiles/two_factor_auths/show.html.haml | 5 +- .../_clusters_deprecation_alert.html.haml | 2 + app/views/projects/_commit_button.html.haml | 7 +- app/views/projects/_deletion_failed.html.haml | 2 +- app/views/projects/_errors.html.haml | 2 +- .../projects/_import_project_pane.html.haml | 8 +- .../projects/_invite_members_modal.html.haml | 2 +- .../_invite_members_side_nav_link.html.haml | 3 +- app/views/projects/_last_push.html.haml | 4 +- ...ge_request_merge_method_settings.html.haml | 58 +- ..._request_squash_options_settings.html.haml | 47 +- ..._request_target_project_settings.html.haml | 21 +- .../projects/_new_project_fields.html.haml | 2 +- .../projects/_service_desk_settings.html.haml | 2 +- .../projects/_visibility_modal.html.haml | 2 +- app/views/projects/activity.html.haml | 1 + app/views/projects/blob/_new_dir.html.haml | 2 +- app/views/projects/blob/_remove.html.haml | 2 +- app/views/projects/blob/_upload.html.haml | 30 - app/views/projects/blob/edit.html.haml | 4 +- app/views/projects/blob/new.html.haml | 2 +- app/views/projects/blob/show.html.haml | 3 - .../projects/branch_rules/_show.html.haml | 12 + app/views/projects/branches/new.html.haml | 5 +- .../projects/buttons/_remove_tag.html.haml | 9 +- app/views/projects/cleanup/_show.html.haml | 2 +- app/views/projects/commit/show.html.haml | 2 +- app/views/projects/commits/_commits.html.haml | 4 +- app/views/projects/compare/index.html.haml | 4 +- app/views/projects/compare/show.html.haml | 2 +- app/views/projects/confluences/show.html.haml | 2 +- .../projects/default_branch/_show.html.haml | 2 +- app/views/projects/deploy_keys/edit.html.haml | 2 +- app/views/projects/edit.html.haml | 14 +- app/views/projects/empty.html.haml | 7 +- .../projects/environments/terminal.html.haml | 2 +- app/views/projects/forks/error.html.haml | 2 +- app/views/projects/graphs/show.html.haml | 4 +- app/views/projects/hook_logs/show.html.haml | 7 +- app/views/projects/import/jira/show.html.haml | 2 +- app/views/projects/imports/new.html.haml | 2 +- app/views/projects/issuable/_show.html.haml | 2 +- .../issues/_by_email_description.html.haml | 6 - .../issues/_work_item_links.html.haml | 2 + app/views/projects/issues/edit.html.haml | 2 +- app/views/projects/issues/index.html.haml | 31 +- app/views/projects/issues/new.html.haml | 4 +- .../projects/issues/service_desk.html.haml | 8 +- .../_alert_moved_from_service_desk.html.haml | 2 +- .../{ => service_desk}/_nav_btns.html.haml | 0 .../_service_desk_empty_state.html.haml | 2 +- .../_service_desk_info_content.html.haml | 2 +- app/views/projects/jobs/index.html.haml | 2 - app/views/projects/labels/edit.html.haml | 4 +- app/views/projects/labels/index.html.haml | 13 +- app/views/projects/labels/new.html.haml | 4 +- .../projects/mattermosts/_no_teams.html.haml | 2 +- .../mattermosts/_team_selection.html.haml | 4 +- ...close_reopen_draft_report_toggle.html.haml | 25 +- .../merge_requests/_code_dropdown.html.haml | 2 +- .../projects/merge_requests/_mr_box.html.haml | 10 +- .../merge_requests/_mr_title.html.haml | 31 +- .../merge_requests/conflicts/show.html.haml | 4 +- .../creations/_new_compare.html.haml | 46 +- .../creations/_new_submit.html.haml | 6 +- .../projects/merge_requests/edit.html.haml | 2 +- .../projects/merge_requests/show.html.haml | 17 +- app/views/projects/milestones/edit.html.haml | 2 +- app/views/projects/milestones/new.html.haml | 2 +- app/views/projects/milestones/show.html.haml | 4 +- .../projects/mirrors/_mirror_repos.html.haml | 8 +- .../projects/mirrors/_ssh_host_keys.html.haml | 4 +- app/views/projects/new.html.haml | 6 +- app/views/projects/no_repo.html.haml | 2 +- app/views/projects/notes/_actions.html.haml | 13 +- .../notes/_more_actions_dropdown.html.haml | 4 +- app/views/projects/pages/_list.html.haml | 27 +- app/views/projects/pages/show.html.haml | 2 +- .../projects/pages_domains/_dns.html.haml | 4 +- .../projects/pages_domains/new.html.haml | 2 +- .../projects/pages_domains/show.html.haml | 9 +- .../pipeline_schedules/_form.html.haml | 6 +- .../pipeline_schedules/edit.html.haml | 2 +- .../pipeline_schedules/index.html.haml | 2 - .../projects/pipeline_schedules/new.html.haml | 3 +- .../projects/pipelines/_with_tabs.html.haml | 42 +- app/views/projects/pipelines/index.html.haml | 2 - app/views/projects/pipelines/new.html.haml | 2 +- app/views/projects/pipelines/show.html.haml | 1 - .../projects/project_members/index.html.haml | 13 +- .../prometheus/metrics/edit.html.haml | 2 +- .../projects/prometheus/metrics/new.html.haml | 2 +- .../shared/_index.html.haml | 4 +- .../protected_tags/shared/_index.html.haml | 4 +- .../projects/readme_templates/default.md.tt | 2 +- app/views/projects/releases/edit.html.haml | 2 + app/views/projects/runners/edit.html.haml | 2 +- .../projects/settings/_archive.html.haml | 4 +- .../settings/access_tokens/index.html.haml | 2 +- .../settings/branch_rules/index.html.haml | 6 + .../settings/ci_cd/_autodevops_form.html.haml | 24 +- .../projects/settings/ci_cd/_form.html.haml | 26 +- .../projects/settings/ci_cd/show.html.haml | 16 +- .../integrations}/_form.html.haml | 0 .../integrations}/edit.html.haml | 0 .../{show.html.haml => index.html.haml} | 0 .../operations/_alert_management.html.haml | 2 +- .../operations/_error_tracking.html.haml | 2 +- .../settings/operations/_tracing.html.haml | 2 +- .../settings/repository/show.html.haml | 2 + app/views/projects/show.html.haml | 3 +- app/views/projects/snippets/edit.html.haml | 2 +- app/views/projects/snippets/new.html.haml | 2 +- .../static_site_editor/show.html.haml | 1 - app/views/projects/tags/_tag.html.haml | 2 +- app/views/projects/tags/index.html.haml | 3 + app/views/projects/tags/new.html.haml | 16 +- app/views/projects/tags/show.html.haml | 3 + app/views/projects/tracings/show.html.haml | 2 +- .../projects/usage_quotas/index.html.haml | 10 +- app/views/projects/work_items/index.html.haml | 2 +- app/views/pwa/manifest.json.erb | 27 + .../registrations/welcome/show.html.haml | 5 - app/views/search/show.html.haml | 4 +- .../sent_notifications/unsubscribe.html.haml | 2 +- app/views/shared/_alert_info.html.haml | 7 +- .../shared/_auto_devops_callout.html.haml | 24 +- ...devops_implicitly_enabled_banner.html.haml | 6 +- app/views/shared/_broadcast_message.html.haml | 14 +- app/views/shared/_captcha_check.html.haml | 2 +- app/views/shared/_group_form.html.haml | 78 +- app/views/shared/_import_form.html.haml | 4 +- app/views/shared/_label.html.haml | 27 +- app/views/shared/_no_password.html.haml | 4 +- app/views/shared/_no_ssh.html.haml | 4 +- app/views/shared/_project_limit.html.haml | 2 +- .../_remote_mirror_update_button.html.haml | 5 +- .../shared/_service_ping_consent.html.haml | 4 +- .../shared/_sidebar_toggle_button.html.haml | 2 +- ...tor_auth_recovery_settings_check.html.haml | 10 +- .../shared/access_tokens/_form.html.haml | 5 +- app/views/shared/builds/_tabs.html.haml | 2 +- app/views/shared/deploy_keys/_form.html.haml | 2 +- app/views/shared/deploy_keys/_index.html.haml | 4 +- .../shared/deploy_tokens/_index.html.haml | 4 +- .../shared/empty_states/_wikis.html.haml | 2 +- .../errors/_gitaly_unavailable.html.haml | 2 +- .../form_elements/_description.html.haml | 33 +- .../_group_name_and_path_fields.html.haml | 5 + app/views/shared/hook_logs/_content.html.haml | 7 +- .../shared/integrations/overrides.html.haml | 2 +- .../issuable/_bulk_update_sidebar.html.haml | 6 +- app/views/shared/issuable/_form.html.haml | 46 +- .../issuable/_label_page_create.html.haml | 2 +- app/views/shared/issuable/_sidebar.html.haml | 7 +- .../shared/issuable/_status_box.html.haml | 3 +- .../issuable/form/_branch_chooser.html.haml | 14 +- .../issuable/form/_merge_params.html.haml | 5 +- .../shared/issuable/form/_metadata.html.haml | 37 +- .../_metadata_issuable_assignee.html.haml | 6 +- .../_metadata_issuable_reviewer.html.haml | 4 +- .../shared/issuable/form/_title.html.haml | 7 +- .../issuable/form/_type_selector.html.haml | 53 +- .../issue_type/_details_content.html.haml | 5 +- app/views/shared/labels/_form.html.haml | 17 +- app/views/shared/labels/_nav.html.haml | 9 +- .../members/_manage_access_button.html.haml | 2 +- .../shared/milestones/_milestone.html.haml | 9 +- .../_milestone_complete_alert.html.haml | 2 +- .../_enforcement_checkbox.html.haml | 3 +- .../cascading_settings/_lock_icon.html.haml | 7 +- app/views/shared/notes/_edit_form.html.haml | 4 +- ..._inactive_project_deletion_alert.html.haml | 7 + .../shared/projects/_search_bar.html.haml | 3 +- .../promotions/_promote_servicedesk.html.haml | 19 +- .../shared/runners/_runner_details.html.haml | 2 +- .../runners/_runner_type_alert.html.haml | 6 +- app/views/shared/snippets/_embed.html.haml | 2 +- app/views/shared/snippets/show.js.haml | 1 + app/views/shared/topics/_topic.html.haml | 5 +- app/views/shared/users/_user.html.haml | 4 +- app/views/shared/wikis/_form.html.haml | 2 +- app/views/shared/wikis/_sidebar.html.haml | 2 +- app/views/shared/wikis/diff.html.haml | 2 +- app/views/shared/wikis/edit.html.haml | 2 +- app/views/shared/wikis/history.html.haml | 2 +- app/views/shared/wikis/pages.html.haml | 2 +- app/views/snippets/edit.html.haml | 2 +- app/views/snippets/new.html.haml | 2 +- app/views/snippets/notes/_actions.html.haml | 14 +- app/views/users/unsubscribes/show.html.haml | 2 +- app/workers/all_queues.yml | 1124 +- .../single_database_worker.rb | 13 + app/workers/build_success_worker.rb | 4 +- app/workers/bulk_import_worker.rb | 2 +- app/workers/bulk_imports/pipeline_worker.rb | 112 +- app/workers/ci/archive_trace_worker.rb | 10 +- .../coverage_report_worker.rb | 2 +- .../activate_integration_worker.rb | 25 + .../applications/activate_service_worker.rb | 23 +- .../deactivate_integration_worker.rb | 39 + .../applications/deactivate_service_worker.rb | 30 +- .../concerns/limited_capacity/job_tracker.rb | 2 +- app/workers/concerns/worker_attributes.rb | 26 +- .../migration/enqueuer_worker.rb | 57 +- .../migration/guard_worker.rb | 29 +- .../ci_database_worker.rb | 6 +- .../single_database_worker.rb | 24 +- .../batched_background_migration_worker.rb | 4 - ...espace_mirrors_consistency_check_worker.rb | 4 +- ...roject_mirrors_consistency_check_worker.rb | 4 +- .../delete_container_repository_worker.rb | 37 +- app/workers/expire_job_cache_worker.rb | 22 - app/workers/expire_pipeline_cache_worker.rb | 27 - app/workers/gitlab_service_ping_worker.rb | 20 +- app/workers/integrations/execute_worker.rb | 27 + app/workers/integrations/irker_worker.rb | 193 + app/workers/irker_worker.rb | 192 +- app/workers/issue_placement_worker.rb | 71 - app/workers/issue_rebalancing_worker.rb | 56 - .../loose_foreign_keys/cleanup_worker.rb | 2 +- .../merge_requests/create_pipeline_worker.rb | 9 +- .../update_head_pipeline_worker.rb | 2 +- .../namespaceless_project_destroy_worker.rb | 42 - .../namespaces/process_sync_events_worker.rb | 2 +- app/workers/pages_transfer_worker.rb | 10 +- app/workers/pipeline_hooks_worker.rb | 1 + app/workers/pipeline_notification_worker.rb | 1 + .../project_daily_statistics_worker.rb | 20 - app/workers/project_service_worker.rb | 21 +- .../inactive_projects_deletion_cron_worker.rb | 67 +- .../projects/process_sync_events_worker.rb | 2 +- .../create_default_alerts_worker.rb | 19 - .../repository_remove_remote_worker.rb | 35 - ...edule_merge_request_cleanup_refs_worker.rb | 1 + .../terraform/states/destroy_worker.rb | 23 + app/workers/update_merge_requests_worker.rb | 8 +- app/workers/web_hooks/destroy_worker.rb | 9 +- app/workers/web_hooks/log_destroy_worker.rb | 24 + babel.config.js | 24 +- config/application.rb | 7 +- config/database.yml.decomposed-postgresql | 22 + config/database.yml.postgresql | 28 + config/database_geo.yml.postgresql | 43 - ...1654698269_merge_request_action_create.yml | 26 + .../1654698359_merge_request_action_close.yml | 26 + .../1654698407_merge_request_action_merge.yml | 26 + ...654843786_merge_request_action_comment.yml | 27 + config/feature_categories.yml | 2 +- ... => active_support_hash_digest_sha256.yml} | 8 +- ...load_environment_last_deployment_group.yml | 8 + .../development/branch_rules.yml | 8 + ... => change_response_code_merge_status.yml} | 8 +- .../changelog_commits_limitation.yml | 8 + ...=> ci_child_pipeline_coverage_reports.yml} | 8 +- ...ee.yml => ci_docker_image_pull_policy.yml} | 8 +- ...i_enforce_throttle_pipelines_creation.yml} | 8 +- ..._throttle_pipelines_creation_override.yml} | 8 +- ...les_if_comparison_with_regexp_variable.yml | 2 +- .../ci_project_mirrors_consistency_check.yml | 8 - ...ci_throttle_pipelines_creation_dry_run.yml | 8 - ...ariable_for_group_gitlab_deploy_token.yml} | 8 +- .../ci_variable_settings_graphql.yml | 8 + ... => closed_as_duplicate_of_issues_api.yml} | 10 +- ...registry_migration_phase2_capacity_40.yml} | 6 +- ...te_container_repository_worker_support.yml | 8 + ...elayed_repository_update_mirror_worker.yml | 8 + ...w.yml => deployment_hooks_skip_worker.yml} | 8 +- ...ulnerability_remediations_from_records.yml | 8 + ...bed.yml => fe_epic_board_total_weight.yml} | 10 +- ....yml => fix_sliding_list_partitioning.yml} | 8 +- .../group_ip_restrictions_allow_global.yml | 8 + .../group_level_git_protocol_control.yml | 8 + ...ited_group.yml => group_name_path_vue.yml} | 8 +- .../development/group_runner_view_ui.yml | 8 + .../import_release_authors_from_github.yml | 8 + ...with_id.yml => linear_scopes_superset.yml} | 8 +- .../development/markup_rendering_timeout.yml | 8 + ...eader.yml => mr_review_submit_comment.yml} | 6 +- ...espaces_cache_first_auto_devops_config.yml | 8 - ....yml => package_registry_access_level.yml} | 6 +- .../pages_lets_encrypt_ecdsa.yml} | 10 +- ...issue.yml => paginated_mr_discussions.yml} | 8 +- ...ts.yml => prerecord_service_ping_data.yml} | 8 +- ...ml => refactor_code_quality_extension.yml} | 10 +- .../refactor_security_extension.yml | 8 + ...affected_projects_on_group_membership.yml} | 8 +- ...ation_guard_dynamic_pre_import_timeout.yml | 8 + .../registry_migration_guard_thresholds.yml | 8 - .../development/remove_diff_header_icons.yml | 8 - ...ns.yml => rename_integrations_workers.yml} | 10 +- .../development/rendered_diffs_viewer.yml | 8 - .../development/restructured_mr_widget.yml | 2 +- ...y.yml => route_hll_to_snowplow_phase2.yml} | 10 +- ...st_proc.yml => s3_omit_multipart_urls.yml} | 8 +- ..._group_sync_retain_default_membership.yml} | 8 +- .../development/sandboxed_mermaid.yml | 8 - ...ction.yml => scan_execution_rule_mode.yml} | 10 +- .../development/seat_count_alerts.yml | 8 + ...retry_action.yml => simulate_pipeline.yml} | 8 +- ...nsistency_check.yml => ssh_banned_key.yml} | 10 +- .../standard_context_type_check.yml | 8 + .../sticky_ci_archive_trace_worker.yml | 8 + .../development/sync_traversal_ids.yml | 8 - .../update_oauth_registration_flow.yml | 8 + .../update_vuln_identifiers_flag.yml | 8 + .../updated_diff_expansion_buttons.yml | 8 - ...nt_management_oncall_notification_sent.yml | 8 - ...nd_secondary_stores_for_duplicate_jobs.yml | 8 + ...nd_secondary_stores_for_sidekiq_status.yml | 8 + ...ry_store_as_default_for_duplicate_jobs.yml | 8 + ...ry_store_as_default_for_sidekiq_status.yml | 8 + ...se_received_header_for_incoming_emails.yml | 8 - ...se_status_for_repository_update_mirror.yml | 8 + ...ds_for_ancestor_scopes_with_inner_join.yml | 8 + .../development/user_other_role_details.yml | 8 - ...n.yml => validate_release_with_author.yml} | 8 +- .../development/vsa_consistency_worker.yml | 8 - .../development/vsa_incremental_worker.yml | 8 - ...relations.yml => work_items_hierarchy.yml} | 10 +- ...e_issues_list.yml => work_items_mvc_2.yml} | 10 +- ....yml => execute_background_migrations.yml} | 8 +- config/gitlab.yml.example | 2 +- config/gitlab_loose_foreign_keys.yml | 8 + config/initializers/1_settings.rb | 7 +- config/initializers/7_prometheus_metrics.rb | 14 +- config/initializers/7_redis.rb | 2 + .../active_record_database_tasks.rb | 2 +- config/initializers/database_config.rb | 8 - config/initializers/fips.rb | 3 + .../forbid_sidekiq_in_transactions.rb | 76 +- config/initializers/mail_encoding_patch.rb | 7 + config/initializers/omniauth.rb | 9 +- config/initializers/rack_timeout.rb | 2 +- .../set_active_support_hash_digest_class.rb | 11 + config/initializers/truncato.rb | 6 + config/initializers/zz_metrics.rb | 4 +- .../004_zeitwerk.rb | 1 - config/mail_room.yml | 1 + config/metrics/aggregates/code_review.yml | 8 +- ...s_unique_visits_for_any_target_monthly.yml | 23 + ...5_action_monthly_active_users_sse_edit.yml | 4 +- ...1_ide_edit_total_unique_counts_monthly.yml | 1 - ...monthly_active_users_design_management.yml | 3 +- .../counts_28d/20210216180816_groups.yml | 2 +- .../20210216180818_users_created.yml | 2 +- .../20210216183627_omniauth_providers.yml | 9 +- .../20210216184024_g_edit_by_sse_monthly.yml | 4 +- ...e_review_category_monthly_active_users.yml | 2 +- ...xtension_category_monthly_active_users.yml | 2 +- ...code_review_group_monthly_active_users.yml | 2 +- .../counts_28d/20210520111133_total.yml | 1 + .../20210910132229_user_auth_by_provider.yml | 2 +- .../20210916080405_promoted_issues.yml | 4 +- ...18_github_import_project_start_monthly.yml | 2 +- ..._github_import_project_success_monthly.yml | 2 +- ..._github_import_project_failure_monthly.yml | 2 +- ...0525231314_unique_monthly_active_users.yml | 23 + ...line_event_total_unique_counts_monthly.yml | 32 + .../20210216174846_p_analytics_pipelines.yml | 6 +- ...20210216174850_p_analytics_valuestream.yml | 6 +- .../20210216174856_p_analytics_repo.yml | 6 +- .../20210216174858_i_analytics_cohorts.yml | 6 +- ...210216174900_i_analytics_dev_ops_score.yml | 6 +- ...210216174902_g_analytics_merge_request.yml | 6 +- ...174906_i_analytics_instance_statistics.yml | 6 +- ...analytics_unique_visits_for_any_target.yml | 44 + ...39_ide_edit_total_unique_counts_weekly.yml | 1 - .../20210216180416_i_search_total.yml | 6 +- .../20210216184022_g_edit_by_sse_weekly.yml | 4 +- ...423005644_i_analytics_dev_ops_adoption.yml | 6 +- ...code_review_group_monthly_active_users.yml | 2 +- ...e_review_category_monthly_active_users.yml | 2 +- ...xtension_category_monthly_active_users.yml | 2 +- ...iewing_analytics_group_devops_adoption.yml | 6 +- ...411_github_import_project_start_weekly.yml | 2 +- ...5_github_import_project_success_weekly.yml | 2 +- ...7_github_import_project_failure_weekly.yml | 2 +- ...1126090001_p_analytics_ci_cd_pipelines.yml | 6 +- ...p_analytics_ci_cd_deployment_frequency.yml | 6 +- ...1126090003_p_analytics_ci_cd_lead_time.yml | 6 +- ...eline_event_total_unique_counts_weekly.yml | 32 + ...analytics_unique_visits_for_any_target.yml | 21 - ...0210216180259_static_site_editor_views.yml | 8 +- ...10216180301_static_site_editor_commits.yml | 4 +- ...0303_static_site_editor_merge_requests.yml | 4 +- ...10216180441_issues_created_from_alerts.yml | 1 + .../counts_all/20210216180750_groups.yml | 2 +- .../counts_all/20210216180752_keys.yml | 2 +- .../counts_all/20210216180756_groups.yml | 2 +- .../20210216180758_users_created.yml | 2 +- ...ra_imports_total_imported_issues_count.yml | 1 + .../20210216183400_omniauth_providers.yml | 9 +- .../20210514141520_project_imports_total.yml | 1 + .../20210910132001_user_auth_by_provider.yml | 2 +- ...groups_gitlab_slack_application_active.yml | 2 +- ...ojects_gitlab_slack_application_active.yml | 2 +- ...tances_gitlab_slack_application_active.yml | 2 +- ...riting_gitlab_slack_application_active.yml | 2 +- ...riting_gitlab_slack_application_active.yml | 2 +- .../omniauth_providers_schema.json | 6 + .../20210204124904_gravatar_enabled.yml | 2 +- .../settings/20210204124906_ldap_enabled.yml | 2 +- .../20210204124910_omniauth_enabled.yml | 2 +- .../20210204124918_signup_enabled.yml | 2 +- config/object_store_settings.rb | 24 +- config/routes.rb | 11 +- config/routes/jira_connect.rb | 1 + config/routes/members.rb | 7 - config/routes/project.rb | 28 +- config/routes/repository.rb | 7 - config/settings.rb | 1 - config/sidekiq_queues.yml | 44 +- danger/roulette/Dangerfile | 37 +- ...pendency-scanning-default-java-version.yml | 2 +- .../14-10-old-search-migration-removal.yml | 2 +- ...cate-based-integration-with-kubernetes.yml | 2 +- ...geCommitMessageWithDescription-graphql.yml | 4 +- ...iontype-nonexplicit-config-deprecation.yml | 14 - data/deprecations/14-8-ci-build-variables.yml | 2 +- ...equired-pipeline-configuration-premium.yml | 2 +- ...14-8-compliance-status-check-api-field.yml | 2 +- ...commit-message-triggering-draft-status.yml | 15 - data/deprecations/14-8-request-profiling.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 +- .../15-1-deprecate-maintainer_note.yml | 17 + .../15-1-jira-github-enterprise-dvcs.yml | 16 + ...5-1-pipelinesecurityreportfinding-name.yml | 16 + ...curityreportfinding-projectfingerprint.yml | 16 + ...roject-pipeline-securityReportFindings.yml | 16 + ...ecation-vulnerability-report-tool-sort.yml | 19 + .../distribution_deprecations_14-4.yml | 2 +- .../templates/_deprecation_template.md.erb | 38 +- data/deprecations/templates/example.yml | 25 +- ...atabase-deprecate-legacy-database-conf.yml | 2 +- ...5-0-geo-remove-promote-to-primary-node.yml | 2 +- .../15_0/15-0-merge-commit-message.yml | 16 + ...0-remove-dependency-proxy-feature-flag.yml | 2 +- .../15_0/15-0-remove-versions-packagetype.yml | 2 +- ...ve_ff_push_rules_supersede_code_owners.yml | 4 +- ...r_api_new_stale_status_breaking_change.yml | 10 +- data/removals/15_0/15-0-tracing.yml | 2 +- data/removals/15_0/15-0-type.yml | 2 +- data/removals/15_0/15_0-logging.yml | 2 +- ..._0-remove-pipelines-from-version-field.yml | 2 +- .../templates/_removal_template.md.erb | 15 +- data/removals/templates/example.yml | 19 +- .../templates/YYYYMMDD0001_XX_YY.yml | 2 +- db/docs/agent_activity_events.yml | 2 +- db/docs/agent_group_authorizations.yml | 2 +- db/docs/agent_project_authorizations.yml | 2 +- db/docs/audit_events_streaming_headers.yml | 9 + db/docs/aws_roles.yml | 2 +- db/docs/ci_builds_runner_session.yml | 4 +- db/docs/ci_freeze_periods.yml | 4 +- db/docs/ci_instance_variables.yml | 2 +- db/docs/ci_job_variables.yml | 2 +- db/docs/ci_pipeline_chat_data.yml | 2 +- db/docs/ci_platform_metrics.yml | 2 +- db/docs/ci_resource_groups.yml | 2 +- db/docs/cluster_agent_tokens.yml | 2 +- db/docs/cluster_agents.yml | 2 +- db/docs/cluster_enabled_grants.yml | 9 + db/docs/cluster_groups.yml | 2 +- db/docs/cluster_platforms_kubernetes.yml | 2 +- db/docs/cluster_projects.yml | 2 +- db/docs/cluster_providers_aws.yml | 2 +- db/docs/cluster_providers_gcp.yml | 2 +- .../clusters_applications_cert_managers.yml | 2 +- db/docs/clusters_applications_crossplane.yml | 2 +- .../clusters_applications_elastic_stacks.yml | 2 +- db/docs/clusters_applications_helm.yml | 2 +- db/docs/clusters_applications_ingress.yml | 2 +- db/docs/clusters_applications_jupyter.yml | 2 +- db/docs/clusters_applications_knative.yml | 2 +- db/docs/clusters_applications_runners.yml | 2 +- db/docs/clusters_kubernetes_namespaces.yml | 2 +- db/docs/dast_profile_schedules.yml | 2 +- db/docs/dast_profiles.yml | 2 +- db/docs/dast_profiles_pipelines.yml | 2 +- db/docs/dast_scanner_profiles.yml | 2 +- db/docs/dast_scanner_profiles_builds.yml | 2 +- .../dast_site_profile_secret_variables.yml | 2 +- db/docs/dast_site_profiles.yml | 2 +- db/docs/dast_site_profiles_builds.yml | 2 +- db/docs/dast_site_profiles_pipelines.yml | 2 +- db/docs/dast_site_tokens.yml | 2 +- db/docs/dast_site_validations.yml | 2 +- db/docs/dast_sites.yml | 2 +- db/docs/deploy_keys_projects.yml | 2 +- db/docs/deploy_tokens.yml | 2 +- db/docs/deployment_approvals.yml | 4 +- db/docs/deployment_clusters.yml | 4 +- db/docs/deployment_merge_requests.yml | 4 +- db/docs/deployments.yml | 2 +- db/docs/dingtalk_tracker_data.yml | 8 + db/docs/environments.yml | 2 +- db/docs/evidences.yml | 2 +- db/docs/feature_gates.yml | 2 +- db/docs/features.yml | 2 +- db/docs/geo_lfs_object_deleted_events.yml | 8 - db/docs/group_deploy_keys.yml | 4 +- db/docs/group_deploy_keys_groups.yml | 4 +- db/docs/group_deploy_tokens.yml | 4 +- db/docs/issuable_resource_links.yml | 9 + db/docs/milestone_releases.yml | 2 +- db/docs/operations_feature_flag_scopes.yml | 2 +- db/docs/operations_feature_flags_clients.yml | 2 +- db/docs/operations_feature_flags_issues.yml | 2 +- db/docs/operations_scopes.yml | 2 +- db/docs/operations_strategies.yml | 2 +- db/docs/operations_strategies_user_lists.yml | 2 +- db/docs/operations_user_lists.yml | 2 +- db/docs/project_auto_devops.yml | 2 +- db/docs/project_ci_cd_settings.yml | 4 +- db/docs/project_deploy_tokens.yml | 4 +- .../protected_environment_approval_rules.yml | 2 +- ...ected_environment_deploy_access_levels.yml | 2 +- db/docs/protected_environments.yml | 2 +- db/docs/release_links.yml | 2 +- db/docs/releases.yml | 2 +- db/docs/serverless_domain_cluster.yml | 4 +- db/docs/ssh_signatures.yml | 11 + db/docs/subscriptions.yml | 4 +- db/docs/terraform_state_versions.yml | 2 +- db/docs/terraform_states.yml | 2 +- db/docs/timelog_categories.yml | 9 + db/docs/uploads.yml | 10 +- db/docs/users_ops_dashboard_projects.yml | 4 +- db/docs/vulnerability_state_transitions.yml | 9 + db/docs/work_item_parent_links.yml | 10 + db/fixtures/development/04_labels.rb | 2 - db/fixtures/development/12_snippets.rb | 3 +- ...backfill_taggings_for_bigint_conversion.rb | 2 + ...kfill_deployments_for_bigint_conversion.rb | 2 + ...ct_deleted_events_for_bigint_conversion.rb | 2 + ...ackfill_ci_stages_for_bigint_conversion.rb | 2 + ...ange_maintainer_note_limit_in_ci_runner.rb | 24 + ...ange_maintainer_note_limit_in_ci_runner.rb | 14 - ...stry_access_level_into_project_features.rb | 13 + ...ars_requirement_to_application_settings.rb | 10 + ...schema_to_batched_background_migrations.rb | 11 + ...hed_background_migrations_gitlab_schema.rb | 13 + ...144946_add_work_item_parent_child_table.rb | 27 + ...ions_on_gitlab_schema_and_configuration.rb | 19 + ...add_ding_talk_into_application_settings.rb | 14 + ...220513093615_add_ding_talk_tracker_data.rb | 15 + ...0220513095545_create_timelog_categories.rb | 28 + ...nect_application_id_application_setting.rb | 10 + ...nect_application_id_application_setting.rb | 13 + ...x_for_project_namespace_member_backfill.rb | 19 + ...ally_allowed_ips_to_application_setting.rb | 11 + ...lly_allowed_ips_on_application_settings.rb | 13 + ...scan_execution_schedules_to_plan_limits.rb | 11 + ...9_create_vulnerability_state_transition.rb | 18 + .../20220518183504_create_ssh_signatures.rb | 13 + ...add_projects_relation_to_ssh_signatures.rb | 15 + ...519013213_create_cluster_enabled_grants.rb | 12 + ...h_start_to_build_artifacts_size_refresh.rb | 7 + ...520030504_drop_index_namespaces_on_name.rb | 15 + ...20122755_unlock_delayed_project_removal.rb | 25 + ...105_add_keys_relation_to_ssh_signatures.rb | 15 + ...mport_tags_rate_to_application_settings.rb | 12 + ...b_hook_calls_med_and_max_to_plan_limits.rb | 8 + ...eb_hook_calls_to_plan_limits_paid_tiers.rb | 81 + ...1855_add_deleted_at_to_terraform_states.rb | 9 + ...0_create_audit_events_streaming_headers.rb | 20 + ...egistry_pre_import_tags_rate_constraint.rb | 15 + ...25082303_create_issuable_resource_links.rb | 14 + ...123825_add_raw_to_ci_pipeline_variables.rb | 9 + ...525123851_add_raw_to_ci_group_variables.rb | 9 + ...123914_add_raw_to_ci_instance_variables.rb | 9 + ...20525123940_add_raw_to_ci_job_variables.rb | 9 + ...d_raw_to_ci_pipeline_schedule_variables.rb | 9 + .../20220525124125_add_raw_to_ci_variables.rb | 9 + ...at_and_id_index_to_deployment_approvals.rb | 15 + ...add_timestamps_to_compliance_frameworks.rb | 13 + ...e_data_exported_to_application_settings.rb | 9 + ...1091804_add_semver_column_to_ci_runners.rb | 14 + ...805_add_text_limit_to_ci_runners_semver.rb | 13 + ...d_index_on_runner_id_and_semver_columns.rb | 17 + ...23501_add_vulnerability_related_columns.rb | 30 + ...20220602130306_add_namespace_type_index.rb | 15 + ..._build_report_results_build_id_sequence.rb | 13 + ...20220605170009_add_url_vars_to_web_hook.rb | 8 + ...on_code_enabled_to_application_settings.rb | 16 + ...i_pipelines_config_pipeline_id_sequence.rb | 13 + ...rtifact_states_job_artifact_id_sequence.rb | 11 + ...4_prepare_confidential_note_index_on_id.rb | 13 + ..._on_slack_integrations_with_bot_user_id.rb | 15 + .../20220610074326_add_epic_issue_weight.rb | 10 + ...t_access_protocol_to_namespace_settings.rb | 7 + ...d_has_vulnerabilities_to_cluster_agents.rb | 9 + ...dex_to_compliance_management_frameworks.rb | 17 + ...ject_id_and_has_vulnerabilities_columns.rb | 17 + .../composite_primary_keys.rb | 63 - ...0_schedule_migrate_pages_to_zip_storage.rb | 21 +- ...ackfill_events_id_for_bigint_conversion.rb | 2 + ..._payload_event_id_for_bigint_conversion.rb | 2 + ...ll_ci_build_needs_for_bigint_conversion.rb | 2 + ...backfill_conversion_of_ci_job_artifacts.rb | 2 + ...nes_source_job_id_for_bigint_conversion.rb | 2 + ...ackfill_ci_builds_for_bigint_conversion.rb | 2 + ...uild_trace_chunks_for_bigint_conversion.rb | 2 + ...ds_runner_session_for_bigint_conversion.rb | 2 + ...ld_trace_sections_for_bigint_conversion.rb | 2 + ...i_builds_metadata_for_bigint_conversion.rb | 2 + ...backfill_pk_conversion_for_self_managed.rb | 2 + ...uilds_metadata_id_for_bigint_conversion.rb | 2 + ...ld_trace_sections_for_bigint_conversion.rb | 2 + ...27113447_backfill_integrations_type_new.rb | 6 +- .../20210930211936_backfill_user_namespace.rb | 6 +- ...211026070408_backfill_issue_search_data.rb | 6 +- ...8_backfill_project_namespaces_for_group.rb | 3 +- ...kfill_namespace_id_for_namespace_routes.rb | 6 +- ...l_member_namespace_id_for_group_members.rb | 6 +- ...dule_delete_invalid_epic_issues_revised.rb | 27 + ...e_nullify_orphan_runner_id_on_ci_builds.rb | 6 +- ...1093434_backfill_all_project_namespaces.rb | 3 +- .../20220302114046_backfill_group_features.rb | 4 +- ...27_finalize_project_namespaces_backfill.rb | 2 + ...ackfill_namespace_id_for_project_routes.rb | 4 +- ...5436_schedule_backfill_project_settings.rb | 6 +- ...9_schedule_purging_stale_security_scans.rb | 32 + ...18180958_remove_integrations_properties.rb | 9 + ..._up_fix_merge_request_diff_commit_users.rb | 2 +- ...out_validation_to_requirements_issue_id.rb | 20 + ...schedule_populate_requirements_issue_id.rb | 34 + ...0121338_remove_threat_monitoring_alerts.rb | 15 + ...expirable_unknown_artifacts_for_removal.rb | 17 + ...expirable_unknown_artifacts_for_removal.rb | 17 + ..._web_hooks_web_hook_logs_web_hook_id_fk.rb | 50 + ...3043344_reschedule_expire_o_auth_tokens.rb | 8 +- ...le_backfill_project_member_namespace_id.rb | 29 + ...pliance_management_frameworks_regulated.rb | 11 + ...inalize_routes_backfilling_for_projects.rb | 22 + ..._confidential_notes_index_synchronously.rb | 15 + ...33753_migrate_free_user_cap_remediation.rb | 11 + ...add_index_to_error_tracking_client_keys.rb | 20 + ...5133_bulk_insert_cluster_enabled_grants.rb | 46 + ...cense_available_for_non_public_projects.rb | 31 + ...3171107_drop_deploy_tokens_token_column.rb | 20 + ...alize_backfill_null_note_discussion_ids.rb | 23 + .../20220524080944_cleanup_orphaned_routes.rb | 29 + ...ove_notes_null_discussion_id_temp_index.rb | 15 + ...6_prepare_job_artifact_project_id_index.rb | 13 + ...on_created_at_cluster_id_and_project_id.rb | 18 + ...ll_integrations_enable_ssl_verification.rb | 15 + ...ll_integrations_enable_ssl_verification.rb | 18 + ...40_migrate_project_service_worker_queue.rb | 11 + ...220525165334_migrate_irker_worker_queue.rb | 11 + ...grate_cluster_integration_worker_queues.rb | 17 + ...geo_lfs_object_deleted_event_references.rb | 29 + ...ove_geo_lfs_object_deleted_events_table.rb | 17 + ..._for_vulnerability_reads_location_image.rb | 27 + ...7_add_project_id_index_to_job_artifacts.rb | 15 + ...82653_add_traversal_id_type_group_index.rb | 15 + ...ndex_for_vulnerability_state_transition.rb | 19 + ...20220531024142_track_clusters_deletions.rb | 15 + ...move_clusters_deployments_cluster_id_fk.rb | 29 + ...233600_remove_sse_usage_data_from_redis.rb | 15 + ...233_finalize_backfill_issue_search_data.rb | 22 + ...t_feature_package_registry_access_level.rb | 23 + ...923_prepare_index_for_open_issues_count.rb | 13 + ...cascade_on_namespace_id_on_routes_table.rb | 41 + ..._null_constraint_on_routes_namespace_id.rb | 13 + ...20607140222_remove_invalid_integrations.rb | 22 + ...emove_deployment_clusters_cluster_id_fk.rb | 29 + ...40_add_index_on_available_pypi_packages.rb | 18 + ...1_create_confidential_notes_index_on_id.rb | 19 + ...ndex_issues_on_project_id_and_closed_at.rb | 20 + ...move_ci_secure_files_permissions_column.rb | 11 + ...7073407_add_index_for_open_issues_count.rb | 15 + db/schema_migrations/20220128103042 | 1 + db/schema_migrations/20220314094841 | 1 + db/schema_migrations/20220329092245 | 1 + db/schema_migrations/20220407163559 | 1 + db/schema_migrations/20220418180958 | 1 + db/schema_migrations/20220503035221 | 1 + db/schema_migrations/20220503035437 | 1 + db/schema_migrations/20220506123922 | 1 + db/schema_migrations/20220506124021 | 1 + db/schema_migrations/20220510121338 | 1 + db/schema_migrations/20220510192117 | 1 + db/schema_migrations/20220511144946 | 1 + db/schema_migrations/20220511212620 | 1 + db/schema_migrations/20220512020500 | 1 + db/schema_migrations/20220512190659 | 1 + db/schema_migrations/20220513093614 | 1 + db/schema_migrations/20220513093615 | 1 + db/schema_migrations/20220513095545 | 1 + db/schema_migrations/20220513114706 | 1 + db/schema_migrations/20220513114850 | 1 + db/schema_migrations/20220516054002 | 1 + db/schema_migrations/20220516054011 | 1 + db/schema_migrations/20220516092207 | 1 + db/schema_migrations/20220516100652 | 1 + db/schema_migrations/20220516103353 | 1 + db/schema_migrations/20220516123101 | 1 + db/schema_migrations/20220516201245 | 1 + db/schema_migrations/20220517101119 | 1 + db/schema_migrations/20220517133753 | 1 + db/schema_migrations/20220517182529 | 1 + db/schema_migrations/20220518102414 | 1 + db/schema_migrations/20220518183504 | 1 + db/schema_migrations/20220518183548 | 1 + db/schema_migrations/20220519013213 | 1 + db/schema_migrations/20220519045133 | 1 + db/schema_migrations/20220519141345 | 1 + db/schema_migrations/20220520030504 | 1 + db/schema_migrations/20220520040416 | 1 + db/schema_migrations/20220520122755 | 1 + db/schema_migrations/20220520143105 | 1 + db/schema_migrations/20220520144821 | 1 + db/schema_migrations/20220523030804 | 1 + db/schema_migrations/20220523030805 | 1 + db/schema_migrations/20220523171107 | 1 + db/schema_migrations/20220524021855 | 1 + db/schema_migrations/20220524074947 | 1 + db/schema_migrations/20220524080944 | 1 + db/schema_migrations/20220524081955 | 1 + db/schema_migrations/20220524132416 | 1 + db/schema_migrations/20220524141800 | 1 + db/schema_migrations/20220524191259 | 1 + db/schema_migrations/20220524202158 | 1 + db/schema_migrations/20220525082303 | 1 + db/schema_migrations/20220525123825 | 1 + db/schema_migrations/20220525123851 | 1 + db/schema_migrations/20220525123914 | 1 + db/schema_migrations/20220525123940 | 1 + db/schema_migrations/20220525124104 | 1 + db/schema_migrations/20220525124125 | 1 + db/schema_migrations/20220525131557 | 1 + db/schema_migrations/20220525131624 | 1 + db/schema_migrations/20220525141540 | 1 + db/schema_migrations/20220525165334 | 1 + db/schema_migrations/20220525172001 | 1 + db/schema_migrations/20220526042017 | 1 + db/schema_migrations/20220526044516 | 1 + db/schema_migrations/20220530044712 | 1 + db/schema_migrations/20220530074027 | 1 + db/schema_migrations/20220530082653 | 1 + db/schema_migrations/20220530103023 | 1 + db/schema_migrations/20220530104431 | 1 + db/schema_migrations/20220530170915 | 1 + db/schema_migrations/20220531024142 | 1 + db/schema_migrations/20220531024143 | 1 + db/schema_migrations/20220531100920 | 1 + db/schema_migrations/20220531233600 | 1 + db/schema_migrations/20220601040233 | 1 + db/schema_migrations/20220601091804 | 1 + db/schema_migrations/20220601091805 | 1 + db/schema_migrations/20220601101800 | 1 + db/schema_migrations/20220601223501 | 1 + db/schema_migrations/20220602070502 | 1 + db/schema_migrations/20220602111923 | 1 + db/schema_migrations/20220602130306 | 1 + db/schema_migrations/20220603095158 | 1 + db/schema_migrations/20220605170009 | 1 + db/schema_migrations/20220606060825 | 1 + db/schema_migrations/20220606060850 | 1 + db/schema_migrations/20220607011733 | 1 + db/schema_migrations/20220607095219 | 1 + db/schema_migrations/20220607115703 | 1 + db/schema_migrations/20220607140222 | 1 + db/schema_migrations/20220608114734 | 1 + db/schema_migrations/20220609150626 | 1 + db/schema_migrations/20220609195803 | 1 + db/schema_migrations/20220610074326 | 1 + db/schema_migrations/20220610125248 | 1 + db/schema_migrations/20220610223040 | 1 + db/schema_migrations/20220613095911 | 1 + db/schema_migrations/20220614095912 | 1 + db/schema_migrations/20220615091059 | 1 + db/schema_migrations/20220615105811 | 1 + db/schema_migrations/20220616092541 | 1 + db/schema_migrations/20220616222253 | 1 + db/schema_migrations/20220617073407 | 1 + db/structure.sql | 471 +- doc/.vale/gitlab/BadPlurals.yml | 3 +- doc/.vale/gitlab/EOLWhitespace.yml | 13 + doc/.vale/gitlab/OutdatedVersions.yml | 1 + doc/.vale/gitlab/Substitutions.yml | 2 +- doc/.vale/gitlab/Uppercase.yml | 35 +- doc/.vale/gitlab/spelling-exceptions.txt | 3 +- .../application_settings_cache.md | 8 +- doc/administration/audit_event_streaming.md | 50 +- doc/administration/audit_events.md | 9 +- doc/administration/auditor_users.md | 2 +- doc/administration/auth/authentiq.md | 2 +- doc/administration/auth/cognito.md | 10 +- doc/administration/auth/index.md | 23 +- doc/administration/auth/jwt.md | 2 +- .../auth/ldap/google_secure_ldap.md | 10 +- doc/administration/auth/ldap/index.md | 2 +- .../auth/ldap/ldap-troubleshooting.md | 4 +- doc/administration/auth/oidc.md | 2 +- doc/administration/auth/smartcard.md | 6 + doc/administration/compliance.md | 8 +- doc/administration/configure.md | 6 +- doc/administration/consul.md | 4 +- doc/administration/docs_self_host.md | 197 +- doc/administration/encrypted_configuration.md | 2 +- doc/administration/environment_variables.md | 4 +- .../external_pipeline_validation.md | 4 +- doc/administration/feature_flags.md | 2 +- doc/administration/file_hooks.md | 2 +- .../background_verification.md | 2 +- .../disaster_recovery/bring_primary_back.md | 10 +- .../geo/disaster_recovery/index.md | 12 +- .../geo/disaster_recovery/planned_failover.md | 8 +- .../runbooks/planned_failover_multi_node.md | 2 +- .../runbooks/planned_failover_single_node.md | 2 +- doc/administration/geo/glossary.md | 2 +- doc/administration/geo/index.md | 13 +- .../geo/replication/configuration.md | 4 +- .../geo/replication/datatypes.md | 61 +- .../geo/replication/disable_geo.md | 2 +- .../geo/replication/docker_registry.md | 6 +- doc/administration/geo/replication/faq.md | 10 +- .../geo/replication/geo_validation_tests.md | 20 +- .../geo/replication/location_aware_git_url.md | 16 +- .../geo/replication/multiple_servers.md | 2 +- .../geo/replication/object_storage.md | 14 +- .../geo/replication/remove_geo_site.md | 4 +- .../geo/replication/security_review.md | 2 +- .../geo/replication/troubleshooting.md | 32 +- doc/administration/geo/replication/tuning.md | 10 +- ...eo_sites.md => upgrading_the_geo_sites.md} | 28 +- doc/administration/geo/replication/usage.md | 8 +- ...pdates.md => version_specific_upgrades.md} | 130 +- .../geo/secondary_proxy/index.md | 20 +- .../location_aware_external_url.md | 2 +- doc/administration/geo/setup/database.md | 10 +- .../geo/setup/external_database.md | 10 +- doc/administration/geo/setup/index.md | 4 +- doc/administration/gitaly/configure_gitaly.md | 84 +- doc/administration/gitaly/faq.md | 90 +- doc/administration/gitaly/index.md | 62 +- doc/administration/gitaly/monitoring.md | 5 +- doc/administration/gitaly/praefect.md | 68 +- doc/administration/gitaly/recovery.md | 20 +- doc/administration/gitaly/troubleshooting.md | 11 +- doc/administration/housekeeping.md | 2 +- .../inactive_project_deletion.md | 47 +- doc/administration/incoming_email.md | 5 +- doc/administration/index.md | 10 +- doc/administration/instance_limits.md | 83 +- doc/administration/integration/kroki.md | 4 +- doc/administration/integration/mailgun.md | 27 +- doc/administration/lfs/index.md | 4 +- doc/administration/libravatar.md | 2 +- doc/administration/load_balancer.md | 2 +- doc/administration/logs.md | 15 +- doc/administration/maintenance_mode/index.md | 30 +- .../gitlab_self_monitoring_project/index.md | 8 +- doc/administration/monitoring/index.md | 2 +- doc/administration/monitoring/ip_allowlist.md | 57 + doc/administration/monitoring/ip_whitelist.md | 60 +- .../monitoring/performance/performance_bar.md | 18 +- .../monitoring/prometheus/index.md | 15 +- .../monitoring/prometheus/puma_exporter.md | 32 +- .../monitoring/prometheus/web_exporter.md | 53 + doc/administration/nfs.md | 2 +- doc/administration/object_storage.md | 46 +- .../operations/extra_sidekiq_processes.md | 2 +- .../operations/extra_sidekiq_routing.md | 14 +- .../operations/filesystem_benchmarking.md | 2 +- doc/administration/operations/index.md | 2 +- .../operations/moving_repositories.md | 15 +- doc/administration/operations/puma.md | 18 +- .../operations/rails_console.md | 2 +- .../operations/sidekiq_memory_killer.md | 2 +- .../operations/ssh_certificates.md | 4 +- .../package_information/defaults.md | 4 +- .../package_information/deprecation_policy.md | 2 +- .../package_information/index.md | 14 +- .../package_information/licensing.md | 2 +- .../package_information/omnibus_packages.md | 2 +- .../postgresql_versions.md | 5 +- .../package_information/signed_packages.md | 2 +- .../package_information/supported_os.md | 35 +- .../packages/container_registry.md | 61 +- doc/administration/packages/index.md | 2 +- doc/administration/pages/index.md | 133 +- doc/administration/pages/source.md | 2 +- doc/administration/polling.md | 2 +- .../postgresql/database_load_balancing.md | 20 +- doc/administration/postgresql/external.md | 2 +- doc/administration/postgresql/index.md | 4 +- doc/administration/postgresql/pgbouncer.md | 8 +- .../postgresql/replication_and_failover.md | 4 +- doc/administration/postgresql/standalone.md | 2 +- doc/administration/pseudonymizer.md | 2 +- doc/administration/raketasks/check.md | 2 +- doc/administration/raketasks/geo.md | 4 +- doc/administration/raketasks/github_import.md | 4 +- doc/administration/raketasks/maintenance.md | 2 +- .../raketasks/project_import_export.md | 2 +- doc/administration/raketasks/smtp.md | 2 +- doc/administration/raketasks/storage.md | 2 +- .../raketasks/uploads/migrate.md | 2 +- .../raketasks/uploads/sanitize.md | 2 +- doc/administration/read_only_gitlab.md | 2 +- doc/administration/redis/index.md | 2 +- .../redis/replication_and_failover.md | 6 +- .../replication_and_failover_external.md | 4 +- doc/administration/redis/standalone.md | 2 +- doc/administration/redis/troubleshooting.md | 2 +- .../reference_architectures/10k_users.md | 92 +- .../reference_architectures/1k_users.md | 8 +- .../reference_architectures/25k_users.md | 86 +- .../reference_architectures/2k_users.md | 44 +- .../reference_architectures/3k_users.md | 82 +- .../reference_architectures/50k_users.md | 88 +- .../reference_architectures/5k_users.md | 84 +- .../reference_architectures/index.md | 6 +- .../troubleshooting.md | 2 +- .../reply_by_email_postfix_setup.md | 2 +- .../repository_storage_paths.md | 2 +- doc/administration/restart_gitlab.md | 4 +- doc/administration/server_hooks.md | 2 +- doc/administration/sidekiq.md | 6 +- doc/administration/sidekiq_health_check.md | 2 +- doc/administration/smime_signing_email.md | 2 +- doc/administration/system_hooks.md | 2 +- doc/administration/timezone.md | 2 +- doc/administration/troubleshooting/debug.md | 4 +- doc/administration/troubleshooting/defcon.md | 2 +- .../troubleshooting/diagnostics_tools.md | 2 +- .../troubleshooting/elasticsearch.md | 21 +- .../gitlab_rails_cheat_sheet.md | 20 +- doc/administration/troubleshooting/index.md | 2 +- .../troubleshooting/kubernetes_cheat_sheet.md | 2 +- .../troubleshooting/linux_cheat_sheet.md | 2 +- .../troubleshooting/log_parsing.md | 2 +- .../navigating_gitlab_via_rails_console.md | 2 +- .../troubleshooting/postgresql.md | 16 +- doc/administration/troubleshooting/sidekiq.md | 2 +- doc/administration/troubleshooting/ssl.md | 2 +- .../troubleshooting/test_environments.md | 25 +- .../troubleshooting/tracing_correlation_id.md | 4 +- doc/administration/uploads.md | 2 +- doc/administration/whats-new.md | 2 +- doc/api/access_requests.md | 6 +- doc/api/admin_sidekiq_queues.md | 2 +- doc/api/broadcast_messages.md | 12 +- doc/api/bulk_imports.md | 8 +- doc/api/cluster_agents.md | 10 +- doc/api/commits.md | 2 +- doc/api/deploy_keys.md | 66 +- doc/api/dora4_project_analytics.md | 49 +- doc/api/environments.md | 21 +- doc/api/feature_flags.md | 2 +- doc/api/features.md | 8 +- doc/api/geo_nodes.md | 2 +- doc/api/graphql/audit_report.md | 2 +- doc/api/graphql/custom_emoji.md | 2 +- doc/api/graphql/index.md | 4 +- doc/api/graphql/reference/index.md | 630 +- doc/api/graphql/sample_issue_boards.md | 2 +- doc/api/graphql/users_example.md | 2 +- doc/api/group_access_tokens.md | 5 +- doc/api/group_protected_environments.md | 8 +- doc/api/group_repository_storage_moves.md | 2 +- doc/api/group_wikis.md | 2 +- doc/api/groups.md | 24 +- doc/api/index.md | 11 +- doc/api/instance_clusters.md | 2 +- doc/api/invitations.md | 6 +- doc/api/issue_links.md | 100 + doc/api/issues.md | 33 +- doc/api/license.md | 4 +- doc/api/lint.md | 2 +- doc/api/managed_licenses.md | 4 +- doc/api/merge_requests.md | 229 +- doc/api/merge_trains.md | 2 +- doc/api/oauth2.md | 10 + doc/api/packages/conan.md | 8 +- doc/api/packages/pypi.md | 90 +- doc/api/personal_access_tokens.md | 23 + doc/api/pipeline_triggers.md | 97 +- doc/api/pipelines.md | 13 +- doc/api/project_access_tokens.md | 22 +- doc/api/project_clusters.md | 6 +- doc/api/project_import_export.md | 29 +- doc/api/project_repository_storage_moves.md | 2 +- doc/api/project_snippets.md | 4 +- doc/api/projects.md | 2 +- doc/api/protected_environments.md | 8 +- doc/api/releases/index.md | 1 + doc/api/releases/links.md | 12 +- doc/api/repositories.md | 7 +- doc/api/runners.md | 10 +- doc/api/search.md | 82 +- doc/api/secure_files.md | 2 +- doc/api/settings.md | 14 +- doc/api/sidekiq_metrics.md | 2 +- doc/api/snippet_repository_storage_moves.md | 2 +- doc/api/suggestions.md | 2 +- doc/api/templates/gitlab_ci_ymls.md | 6 +- doc/api/usage_data.md | 8 +- doc/api/wikis.md | 2 +- .../decomposition_partitioning_comparison.png | Bin 0 -> 33212 bytes .../blueprints/ci_data_decay/index.md | 22 + .../ci_data_decay/pipeline_partitioning.md | 478 + doc/architecture/blueprints/ci_scale/index.md | 6 +- .../database/scalability/patterns/index.md | 2 +- .../scalability/patterns/read_mostly.md | 4 +- .../scalability/patterns/time_decay.md | 14 +- .../database_scaling/size-limits.md | 19 +- .../blueprints/database_testing/index.md | 5 +- .../blueprints/runner_scaling/index.md | 16 +- .../bitbucket_integration.md | 4 +- .../github_integration.md | 2 +- .../img/bitbucket_app_password.png | Bin 31488 -> 21335 bytes .../img/bitbucket_webhook.png | Bin 26142 -> 24759 bytes .../img/external_repository.png | Bin 22832 -> 0 bytes doc/ci/ci_cd_for_external_repos/index.md | 8 +- .../cloud_deployment/ecs/deploy_to_aws_ecs.md | 253 + .../cloud_deployment/ecs/quick_start_guide.md | 253 +- doc/ci/cloud_deployment/index.md | 377 +- doc/ci/cloud_services/google_cloud/index.md | 4 +- doc/ci/directed_acyclic_graph/index.md | 2 +- doc/ci/docker/using_docker_build.md | 68 +- doc/ci/docker/using_docker_images.md | 4 +- doc/ci/enable_or_disable_ci.md | 48 +- doc/ci/environments/environments_dashboard.md | 4 +- doc/ci/environments/incremental_rollouts.md | 2 +- doc/ci/environments/index.md | 2 +- doc/ci/environments/protected_environments.md | 40 +- doc/ci/img/ecs_dashboard_v12_9.png | Bin 39298 -> 0 bytes doc/ci/index.md | 2 +- doc/ci/jobs/ci_job_token.md | 11 +- doc/ci/jobs/index.md | 8 +- doc/ci/metrics_reports.md | 2 +- doc/ci/pipeline_editor/index.md | 8 +- doc/ci/pipelines/cicd_minutes.md | 17 +- doc/ci/pipelines/index.md | 17 +- doc/ci/pipelines/job_artifacts.md | 7 +- doc/ci/pipelines/merge_trains.md | 2 +- doc/ci/pipelines/parent_child_pipelines.md | 3 + doc/ci/pipelines/pipeline_efficiency.md | 2 +- doc/ci/pipelines/settings.md | 41 +- doc/ci/quick_start/index.md | 8 +- doc/ci/review_apps/index.md | 2 +- doc/ci/runners/configure_runners.md | 197 +- doc/ci/runners/index.md | 10 +- doc/ci/runners/runners_scope.md | 53 +- doc/ci/runners/saas/linux_saas_runner.md | 4 +- doc/ci/runners/saas/macos/codesigning.md | 6 +- doc/ci/runners/saas/macos_saas_runner.md | 11 +- doc/ci/secure_files/index.md | 51 +- doc/ci/services/index.md | 2 +- doc/ci/services/postgres.md | 2 +- .../{ => testing}/img/junit_test_report.png | Bin .../pipelines_junit_test_report_v13_10.png | Bin ...s_junit_test_report_with_errors_v13_10.png | Bin doc/ci/testing/index.md | 35 + doc/ci/testing/unit_test_report_examples.md | 266 + doc/ci/testing/unit_test_reports.md | 165 + doc/ci/troubleshooting.md | 28 +- doc/ci/unit_test_reports.md | 398 +- doc/ci/variables/index.md | 13 +- doc/ci/variables/predefined_variables.md | 6 +- .../variables/where_variables_can_be_used.md | 42 +- doc/ci/yaml/artifacts_reports.md | 13 +- doc/ci/yaml/index.md | 204 +- doc/ci/yaml/yaml_optimization.md | 25 +- doc/cloud_seed/index.md | 2 +- doc/development/adding_database_indexes.md | 20 +- doc/development/adding_service_component.md | 4 +- doc/development/api_graphql_styleguide.md | 246 +- doc/development/application_limits.md | 22 +- doc/development/application_slis/index.md | 4 +- doc/development/architecture.md | 6 +- doc/development/audit_event_guide/index.md | 11 + doc/development/backend/ruby_style_guide.md | 2 +- doc/development/build_test_package.md | 2 +- doc/development/cached_queries.md | 4 +- doc/development/cascading_settings.md | 18 +- doc/development/changelog.md | 2 +- .../cicd/img/pipeline_wizard_sample_step1.png | Bin 0 -> 111572 bytes .../cicd/img/pipeline_wizard_sample_step2.png | Bin 0 -> 63127 bytes .../cicd/img/pipeline_wizard_sample_step3.png | Bin 0 -> 62711 bytes doc/development/cicd/index.md | 6 + doc/development/cicd/pipeline_wizard.md | 229 + doc/development/cicd/schema.md | 4 +- doc/development/code_review.md | 67 +- doc/development/contributing/design.md | 4 +- doc/development/contributing/index.md | 32 +- .../contributing/merge_request_workflow.md | 6 +- doc/development/contributing/verify/index.md | 68 +- doc/development/creating_enums.md | 4 +- .../add_foreign_key_to_existing_column.md | 2 +- .../avoiding_downtime_in_migrations.md | 21 +- .../database/background_migrations.md | 32 +- .../database/batched_background_migrations.md | 39 +- .../database/client_side_connection_pool.md | 2 +- .../database/constraint_naming_convention.md | 2 +- doc/development/database/database_lab.md | 2 +- .../database/database_migration_pipeline.md | 2 +- .../database/database_reviewer_guidelines.md | 4 +- .../database/dbcheck-migrations-job.md | 2 +- .../database/deleting_migrations.md | 2 +- .../database/efficient_in_operator_queries.md | 46 +- doc/development/database/index.md | 2 +- doc/development/database/keyset_pagination.md | 4 +- .../database/layout_and_access_patterns.md | 2 +- .../database/loose_foreign_keys.md | 58 +- .../database/maintenance_operations.md | 2 +- .../migrations_for_multiple_databases.md | 35 +- .../database/multiple_databases.md | 34 +- .../database/not_null_constraints.md | 18 +- .../database/pagination_guidelines.md | 36 +- .../pagination_performance_guidelines.md | 30 +- .../database/post_deployment_migrations.md | 2 +- .../database/rename_database_tables.md | 4 +- .../database/setting_multiple_values.md | 2 +- .../strings_and_the_text_data_type.md | 18 +- .../database/table_partitioning.md | 51 +- .../database/transaction_guidelines.md | 10 +- doc/development/database_debugging.md | 14 +- doc/development/database_query_comments.md | 6 +- doc/development/database_review.md | 42 +- doc/development/db_dump.md | 2 +- .../img/deprecation_removal_process.png | Bin 0 -> 53890 bytes .../deprecation_guidelines/index.md | 28 +- doc/development/developing_with_solargraph.md | 2 +- doc/development/distributed_tracing.md | 4 +- .../documentation/feature_flags.md | 24 +- doc/development/documentation/index.md | 65 + .../documentation/restful_api_styleguide.md | 44 +- .../site_architecture/global_nav.md | 2 +- .../documentation/site_architecture/index.md | 10 +- doc/development/documentation/structure.md | 52 +- .../documentation/styleguide/index.md | 70 +- .../documentation/styleguide/word_list.md | 26 + doc/development/documentation/testing.md | 28 +- doc/development/documentation/versions.md | 18 +- doc/development/elasticsearch.md | 10 +- doc/development/event_store.md | 4 +- .../experiment_code_reviews.md | 2 +- .../experiment_guide/experiment_rollout.md | 10 +- .../implementing_experiments.md | 28 +- doc/development/experiment_guide/index.md | 8 +- .../experiment_guide/testing_experiments.md | 8 +- doc/development/export_csv.md | 2 +- doc/development/fe_guide/emojis.md | 4 + doc/development/fe_guide/frontend_faq.md | 12 +- doc/development/fe_guide/graphql.md | 14 +- doc/development/fe_guide/haml.md | 47 +- .../fe_guide/registry_architecture.md | 2 +- doc/development/fe_guide/security.md | 4 +- doc/development/fe_guide/storybook.md | 2 +- doc/development/fe_guide/style/javascript.md | 26 +- doc/development/fe_guide/vue.md | 2 +- doc/development/feature_flags/controls.md | 21 +- doc/development/feature_flags/index.md | 12 +- doc/development/fips_compliance.md | 77 +- doc/development/foreign_keys.md | 24 +- doc/development/gemfile.md | 5 +- doc/development/geo.md | 22 +- doc/development/geo/framework.md | 6 +- .../specification_guide/index.md | 251 +- doc/development/go_guide/index.md | 7 +- doc/development/graphql_guide/batchloader.md | 86 +- doc/development/graphql_guide/pagination.md | 2 +- doc/development/hash_indexes.md | 2 +- doc/development/i18n/proofreader.md | 5 +- doc/development/image_scaling.md | 2 +- .../insert_into_tables_in_batches.md | 26 +- doc/development/integrations/index.md | 2 +- doc/development/integrations/jenkins.md | 4 +- doc/development/integrations/jira_connect.md | 20 +- doc/development/integrations/secure.md | 26 +- .../secure_partner_integration.md | 5 +- doc/development/internal_api/index.md | 70 +- .../iterating_tables_in_batches.md | 24 +- .../licensed_feature_availability.md | 10 +- doc/development/logging.md | 2 +- doc/development/maintenance_mode.md | 2 +- .../merge_request_concepts/index.md | 4 +- doc/development/migration_style_guide.md | 44 +- .../new_fe_guide/modules/widget_extensions.md | 25 + doc/development/omnibus.md | 2 +- doc/development/ordering_table_columns.md | 16 +- doc/development/packages.md | 305 +- doc/development/packages/index.md | 25 + .../packages/new_format_development.md | 302 + doc/development/packages/settings.md | 82 + doc/development/packages/structure.md | 79 + doc/development/pages/index.md | 238 + doc/development/permissions.md | 8 +- doc/development/pipelines.md | 58 +- .../product_qualified_lead_guide/index.md | 4 +- doc/development/project_templates.md | 139 +- doc/development/query_count_limits.md | 2 +- doc/development/query_performance.md | 10 +- doc/development/query_recorder.md | 19 +- doc/development/rails_initializers.md | 4 +- doc/development/rails_update.md | 1 + doc/development/rake_tasks.md | 2 +- doc/development/redis.md | 18 +- doc/development/redis/new_redis_instance.md | 32 +- doc/development/refactoring_guide/index.md | 2 +- doc/development/reference_processing.md | 2 +- doc/development/routing.md | 2 +- doc/development/ruby3_gotchas.md | 25 + doc/development/scalability.md | 9 +- doc/development/secure_coding_guidelines.md | 15 +- doc/development/serializing_data.md | 21 +- doc/development/service_ping/implement.md | 34 +- doc/development/service_ping/index.md | 2 +- .../service_ping/metrics_dictionary.md | 6 +- .../service_ping/metrics_instrumentation.md | 98 +- doc/development/shell_commands.md | 2 +- doc/development/sidekiq/logging.md | 2 +- doc/development/sidekiq/worker_attributes.md | 5 + doc/development/single_table_inheritance.md | 2 +- doc/development/snowplow/implementation.md | 5 +- doc/development/snowplow/index.md | 15 +- doc/development/snowplow/infrastructure.md | 101 + doc/development/sql.md | 32 +- doc/development/swapping_tables.md | 14 +- .../testing_guide/best_practices.md | 37 +- .../testing_guide/contract/consumer_tests.md | 308 + .../testing_guide/contract/index.md | 39 + .../testing_guide/contract/provider_tests.md | 177 + .../end_to_end/beginners_guide.md | 6 +- .../end_to_end/best_practices.md | 52 +- .../capybara_to_chemlab_migration_guide.md | 4 +- .../testing_guide/end_to_end/feature_flags.md | 26 +- .../testing_guide/end_to_end/page_objects.md | 2 +- .../testing_guide/end_to_end/resources.md | 2 +- .../end_to_end/rspec_metadata_tests.md | 5 +- ...unning_tests_that_require_special_setup.md | 10 +- .../end_to_end/troubleshooting.md | 4 +- doc/development/testing_guide/index.md | 4 + doc/development/testing_guide/review_apps.md | 22 +- .../testing_guide/testing_levels.md | 1 - .../understanding_explain_plans.md | 44 +- .../uploads/working_with_uploads.md | 19 +- .../verifying_database_capabilities.md | 4 +- doc/development/windows.md | 20 +- doc/development/work_items.md | 22 +- doc/development/workhorse/configuration.md | 106 +- doc/development/workhorse/gitlab_features.md | 6 +- doc/downgrade_ee_to_ce/index.md | 4 +- doc/drawers/advanced_search_syntax.md | 41 + doc/gitlab-basics/start-using-git.md | 4 +- doc/index.md | 2 +- doc/install/aws/eks_clusters_aws.md | 2 +- doc/install/aws/gitlab_hybrid_on_aws.md | 12 +- doc/install/aws/gitlab_sre_for_aws.md | 2 +- doc/install/aws/index.md | 2 +- doc/install/aws/manual_install_aws.md | 174 +- doc/install/azure/index.md | 6 +- doc/install/cloud_native/index.md | 2 +- doc/install/digitaloceandocker.md | 153 +- doc/install/docker.md | 24 +- doc/install/google_cloud_platform/index.md | 4 +- doc/install/index.md | 3 +- doc/install/installation.md | 22 +- doc/install/next_steps.md | 4 +- doc/install/openshift_and_gitlab/index.md | 2 +- doc/install/relative_url.md | 2 +- doc/install/requirements.md | 16 +- .../advanced_search/elasticsearch.md | 857 + .../elasticsearch_troubleshooting.md | 274 + .../img/limit_namespace_filter.png | Bin .../img/limit_namespaces_projects_options.png | Bin doc/integration/arkose.md | 77 + doc/integration/auth0.md | 2 +- doc/integration/bitbucket.md | 2 +- doc/integration/elasticsearch.md | 1115 +- doc/integration/facebook.md | 2 +- doc/integration/gitpod.md | 2 +- doc/integration/google.md | 4 +- doc/integration/index.md | 12 +- doc/integration/jenkins.md | 2 +- doc/integration/jira/dvcs.md | 17 +- doc/integration/jira/index.md | 19 +- doc/integration/jira/issues.md | 7 +- doc/integration/kerberos.md | 6 +- doc/integration/mattermost/index.md | 4 +- doc/integration/omniauth.md | 12 +- doc/integration/salesforce.md | 8 +- doc/integration/saml.md | 15 +- doc/integration/twitter.md | 2 +- doc/integration/vault.md | 6 +- doc/operations/feature_flags.md | 2 +- doc/operations/incident_management/alerts.md | 2 +- .../incident_management/incidents.md | 30 +- .../incident_management/integrations.md | 25 +- doc/operations/incident_management/paging.md | 6 +- doc/operations/metrics/alerts.md | 45 +- doc/operations/metrics/dashboards/develop.md | 8 +- doc/operations/metrics/dashboards/index.md | 16 +- doc/operations/metrics/dashboards/settings.md | 8 +- doc/operations/metrics/embed.md | 4 +- doc/operations/metrics/embed_grafana.md | 6 +- doc/operations/metrics/index.md | 2 +- doc/operations/tracing.md | 2 +- doc/policy/alpha-beta-support.md | 2 +- doc/policy/maintenance.md | 2 +- doc/push_rules/push_rules.md | 11 - doc/raketasks/backup_restore.md | 94 +- doc/raketasks/cleanup.md | 2 +- doc/raketasks/import.md | 2 +- doc/raketasks/index.md | 4 +- doc/raketasks/list_repos.md | 2 +- doc/raketasks/sidekiq_job_migration.md | 2 +- doc/raketasks/user_management.md | 2 +- doc/raketasks/web_hooks.md | 2 +- doc/security/crime_vulnerability.md | 4 +- doc/security/rate_limits.md | 21 +- doc/security/ssh_keys_restrictions.md | 19 + doc/subscriptions/bronze_starter.md | 6 +- doc/subscriptions/gitlab_com/index.md | 14 +- doc/subscriptions/gitlab_dedicated/index.md | 36 +- doc/subscriptions/index.md | 89 +- doc/subscriptions/self_managed/index.md | 20 +- .../cloud_deployments/auto_devops_with_ec2.md | 36 + .../cloud_deployments/auto_devops_with_ecs.md | 38 + .../cloud_deployments/auto_devops_with_gke.md | 331 + .../img/guide_base_domain_v12_3.png | Bin .../img/guide_create_project_v12_3.png | Bin .../img/guide_enable_autodevops_v12_3.png | Bin .../img/guide_environments_v12_3.png | Bin .../img/guide_ide_commit_v12_3.png | Bin .../guide_merge_request_review_app_v12_3.png | Bin .../img/guide_merge_request_v12_3.png | Bin .../img/guide_pipeline_stages_v13_0.png | Bin .../img/guide_project_landing_page_v12_10.png | Bin .../img/guide_project_template_v12_3.png | Bin doc/topics/autodevops/customize.md | 5 +- doc/topics/autodevops/index.md | 13 +- .../multiple_clusters_auto_devops.md | 3 +- doc/topics/autodevops/prepare_deployment.md | 2 +- doc/topics/autodevops/quick_start_guide.md | 334 +- doc/topics/autodevops/requirements.md | 55 +- doc/topics/git/feature_branch_development.md | 6 +- doc/topics/git/feature_branching.md | 2 +- doc/topics/git/git_rebase.md | 2 +- doc/topics/git/lfs/index.md | 14 +- doc/topics/git/lfs/migrate_to_git_lfs.md | 4 +- doc/topics/git/partial_clone.md | 2 +- doc/topics/gitlab_flow.md | 2 +- doc/topics/offline/index.md | 2 +- doc/topics/offline/quick_start_guide.md | 4 +- doc/topics/set_up_organization.md | 2 +- doc/tutorials/index.md | 2 +- .../move_personal_project_to_a_group.md | 95 + doc/update/deprecations.md | 882 +- doc/update/index.md | 228 +- doc/update/mysql_to_postgresql.md | 2 +- doc/update/package/convert_to_ee.md | 2 +- doc/update/package/downgrade.md | 2 +- doc/update/package/index.md | 35 +- doc/update/patch_versions.md | 4 +- doc/update/plan_your_upgrade.md | 12 +- doc/update/removals.md | 733 +- doc/update/restore_after_failure.md | 2 +- doc/update/upgrading_from_ce_to_ee.md | 4 +- doc/update/upgrading_from_source.md | 19 +- .../upgrading_postgresql_using_slony.md | 2 +- doc/update/with_downtime.md | 329 + doc/update/zero_downtime.md | 119 +- doc/user/admin_area/appearance.md | 22 +- doc/user/admin_area/broadcast_messages.md | 4 +- .../admin_area/custom_project_templates.md | 2 +- doc/user/admin_area/geo_nodes.md | 2 +- doc/user/admin_area/index.md | 47 +- doc/user/admin_area/license.md | 4 +- doc/user/admin_area/license_file.md | 13 + .../admin_area/merge_requests_approvals.md | 4 +- doc/user/admin_area/moderate_users.md | 38 +- .../monitoring/background_migrations.md | 2 +- .../admin_area/monitoring/health_check.md | 8 +- doc/user/admin_area/reporting/spamcheck.md | 2 +- .../settings/account_and_limit_settings.md | 18 +- .../settings/continuous_integration.md | 21 +- doc/user/admin_area/settings/floc.md | 2 +- doc/user/admin_area/settings/index.md | 4 +- .../project_integration_management.md | 12 +- .../rate_limit_on_pipelines_creation.md | 1 + .../settings/rate_limit_on_users_api.md | 2 +- doc/user/admin_area/settings/terms.md | 2 +- .../admin_area/settings/usage_statistics.md | 2 +- .../visibility_and_access_controls.md | 108 +- doc/user/analytics/ci_cd_analytics.md | 37 +- .../time_to_restore_service_charts_v15_1.png | Bin 0 -> 86137 bytes doc/user/analytics/index.md | 12 +- doc/user/analytics/value_stream_analytics.md | 7 +- .../api_fuzzing/create_har_files.md | 4 +- .../application_security/api_fuzzing/index.md | 18 +- .../cluster_image_scanning/index.md | 324 +- .../configuration/index.md | 4 +- .../container_scanning/index.md | 4 +- .../coverage_fuzzing/index.md | 6 +- .../dast/browser_based.md | 2 +- .../dast/checks/1004.1.md | 2 +- .../application_security/dast/checks/16.7.md | 42 + .../application_security/dast/checks/200.1.md | 3 +- .../application_security/dast/checks/209.1.md | 43 + .../application_security/dast/checks/319.1.md | 37 + .../application_security/dast/checks/352.1.md | 41 + .../application_security/dast/checks/359.1.md | 6 +- .../application_security/dast/checks/359.2.md | 8 +- .../application_security/dast/checks/548.1.md | 2 +- .../application_security/dast/checks/598.2.md | 2 +- .../application_security/dast/checks/598.3.md | 2 +- .../application_security/dast/checks/601.1.md | 34 + .../application_security/dast/checks/index.md | 5 + .../dast/dast_troubleshooting.md | 10 + doc/user/application_security/dast/index.md | 33 +- .../application_security/dast_api/index.md | 33 +- .../dependency_list/index.md | 2 +- .../dependency_scanning/index.md | 106 +- doc/user/application_security/index.md | 130 +- .../application_security/policies/index.md | 4 + .../policies/scan-execution-policies.md | 10 +- .../policies/scan-result-policies.md | 2 +- .../application_security/sast/analyzers.md | 66 +- doc/user/application_security/sast/index.md | 39 +- .../secret_detection/index.md | 5 +- .../security_dashboard/index.md | 8 +- .../application_security/terminology/index.md | 100 + .../vulnerabilities/index.md | 112 +- .../vulnerabilities/severities.md | 6 +- .../vulnerability_report/index.md | 8 +- doc/user/asciidoc.md | 14 +- doc/user/clusters/agent/ci_cd_workflow.md | 4 + doc/user/clusters/agent/gitops.md | 8 +- doc/user/clusters/agent/index.md | 3 + doc/user/clusters/agent/install/index.md | 103 +- doc/user/clusters/agent/vulnerabilities.md | 11 +- doc/user/clusters/create/index.md | 1 + doc/user/clusters/crossplane.md | 2 +- doc/user/clusters/environments.md | 2 +- doc/user/clusters/integrations.md | 4 +- .../clusters/management_project_template.md | 2 +- .../compliance/compliance_report/index.md | 2 +- doc/user/crm/index.md | 14 +- doc/user/discussions/index.md | 2 +- doc/user/free_user_limit.md | 2 +- doc/user/gitlab_com/index.md | 39 +- .../group/contribution_analytics/index.md | 2 +- doc/user/group/custom_project_templates.md | 2 +- ...earch_v14_7.png => epics_filter_v14_7.png} | Bin doc/user/group/epics/manage_epics.md | 40 +- doc/user/group/img/restrict-by-email.gif | Bin 149735 -> 0 bytes doc/user/group/img/restrict-by-ip.gif | Bin 147080 -> 0 bytes doc/user/group/import/index.md | 122 +- doc/user/group/index.md | 70 +- .../group/saml_sso/group_managed_accounts.md | 119 +- doc/user/group/saml_sso/group_sync.md | 161 + doc/user/group/saml_sso/index.md | 186 +- doc/user/group/saml_sso/scim_setup.md | 4 +- .../group/settings/group_access_tokens.md | 13 +- doc/user/group/settings/import_export.md | 29 +- .../group/value_stream_analytics/index.md | 7 +- .../clusters/connect/img/variables_civo.png | Bin 0 -> 74744 bytes .../infrastructure/clusters/connect/index.md | 5 - .../clusters/connect/new_civo_cluster.md | 137 + .../clusters/connect/new_eks_cluster.md | 4 +- .../clusters/connect/new_gke_cluster.md | 12 +- .../clusters/migrate_to_gitlab_agent.md | 2 +- doc/user/infrastructure/iac/index.md | 48 +- .../infrastructure/iac/terraform_state.md | 38 +- .../infrastructure/iac/troubleshooting.md | 17 +- doc/user/markdown.md | 8 +- doc/user/operations_dashboard/index.md | 8 +- doc/user/packages/container_registry/index.md | 32 +- ...reduce_container_registry_data_transfer.md | 4 +- .../reduce_container_registry_storage.md | 4 +- doc/user/packages/generic_packages/index.md | 13 + doc/user/packages/go_proxy/index.md | 2 +- doc/user/packages/helm_repository/index.md | 4 +- .../packages/infrastructure_registry/index.md | 12 +- doc/user/packages/maven_repository/index.md | 2 +- doc/user/packages/npm_registry/index.md | 2 +- doc/user/packages/nuget_repository/index.md | 4 +- doc/user/packages/package_registry/index.md | 8 +- .../reduce_package_registry_storage.md | 2 +- .../terraform_module_registry/index.md | 26 +- doc/user/permissions.md | 20 +- .../account/two_factor_authentication.md | 20 +- doc/user/profile/index.md | 21 +- doc/user/profile/personal_access_tokens.md | 5 + doc/user/profile/preferences.md | 2 +- doc/user/project/clusters/add_eks_clusters.md | 24 +- doc/user/project/clusters/add_gke_clusters.md | 6 +- .../project/clusters/add_remove_clusters.md | 4 +- .../clusters/gitlab_managed_clusters.md | 6 +- .../project/clusters/kubernetes_pod_logs.md | 6 +- doc/user/project/clusters/runbooks/index.md | 14 +- doc/user/project/code_owners.md | 2 +- doc/user/project/deploy_boards.md | 6 +- doc/user/project/deploy_tokens/index.md | 9 +- doc/user/project/description_templates.md | 18 +- doc/user/project/highlighting.md | 2 +- .../img/time_tracking_report_v13_12.png | Bin 13073 -> 0 bytes .../img/time_tracking_report_v15_1.png | Bin 0 -> 31669 bytes doc/user/project/import/cvs.md | 2 +- doc/user/project/import/gitlab_com.md | 4 +- .../img/import_projects_from_repo_url.png | Bin 50149 -> 0 bytes doc/user/project/import/jira.md | 6 +- doc/user/project/import/manifest.md | 8 +- doc/user/project/import/repo_by_url.md | 20 +- doc/user/project/integrations/bugzilla.md | 2 +- .../integrations/discord_notifications.md | 2 +- doc/user/project/integrations/harbor.md | 4 +- .../integrations/pipeline_status_emails.md | 3 + .../prometheus_library/nginx_ingress.md | 2 +- doc/user/project/integrations/redmine.md | 2 +- doc/user/project/integrations/slack.md | 2 +- doc/user/project/integrations/webex_teams.md | 2 +- .../project/integrations/webhook_events.md | 17 +- doc/user/project/integrations/webhooks.md | 7 +- doc/user/project/integrations/youtrack.md | 2 +- doc/user/project/integrations/zentao.md | 13 +- doc/user/project/issue_board.md | 18 +- .../project/issues/confidential_issues.md | 7 +- doc/user/project/issues/csv_import.md | 2 +- doc/user/project/issues/design_management.md | 4 +- .../issues}/img/issue_search_by_id_v15_0.png | Bin .../img/turn_off_confidentiality_v15_1.png | Bin 0 -> 20524 bytes .../img/turn_on_confidentiality_v15_1.png | Bin 0 -> 37584 bytes doc/user/project/issues/index.md | 2 +- doc/user/project/issues/managing_issues.md | 70 +- .../issues/multiple_assignees_for_issues.md | 2 +- doc/user/project/issues/related_issues.md | 2 +- doc/user/project/labels.md | 11 +- doc/user/project/members/index.md | 5 +- .../merge_requests/accessibility_testing.md | 4 +- .../project/merge_requests/approvals/index.md | 16 +- .../project/merge_requests/approvals/rules.md | 4 + .../merge_requests/approvals/settings.md | 2 +- .../merge_requests/cherry_pick_changes.md | 8 +- .../project/merge_requests/code_quality.md | 60 +- .../merge_requests/commit_templates.md | 4 +- doc/user/project/merge_requests/csv_export.md | 2 +- doc/user/project/merge_requests/drafts.md | 21 +- .../project/merge_requests/getting_started.md | 31 +- .../img/ff_merge_rebase_v14_9.png | Bin 6552 -> 0 bytes ...ilter_approved_by_merge_requests_v14_6.png | Bin .../filter_approver_merge_requests_v14_6.png | Bin ...filtering_merge_requests_by_date_v14_6.png | Bin ...ng_merge_requests_by_environment_v14_6.png | Bin doc/user/project/merge_requests/index.md | 129 +- .../merge_when_pipeline_succeeds.md | 23 +- .../project/merge_requests/methods/index.md | 27 +- .../project/merge_requests/revert_changes.md | 2 +- .../project/merge_requests/reviews/index.md | 14 +- .../merge_requests/reviews/suggestions.md | 4 + .../test_coverage_visualization.md | 52 +- .../testing_and_reports_in_merge_requests.md | 42 +- .../milestones/burndown_and_burnup_charts.md | 6 +- .../img/burndown_and_burnup_charts_v13_6.png | Bin 55865 -> 0 bytes .../img/burndown_and_burnup_charts_v15_1.png | Bin 0 -> 34450 bytes .../milestones/img/burndown_chart_v13_6.png | Bin 48403 -> 0 bytes .../milestones/img/burndown_chart_v15_1.png | Bin 0 -> 20287 bytes .../milestones/img/burnup_chart_v13_6.png | Bin 29283 -> 0 bytes .../milestones/img/burnup_chart_v15_1.png | Bin 0 -> 21144 bytes doc/user/project/milestones/index.md | 18 +- .../dns_concepts.md | 14 +- .../index.md | 46 +- .../lets_encrypt_integration.md | 12 +- .../ssl_tls_concepts.md | 4 +- .../pages_new_project_template.md | 8 +- doc/user/project/pages/introduction.md | 10 +- .../project/pages/pages_access_control.md | 6 +- doc/user/project/pages/redirects.md | 2 +- doc/user/project/protected_branches.md | 4 +- doc/user/project/protected_tags.md | 22 +- doc/user/project/quick_actions.md | 3 +- doc/user/project/releases/index.md | 133 +- .../project/repository/branches/default.md | 2 +- doc/user/project/repository/branches/index.md | 4 +- doc/user/project/repository/csv.md | 2 +- doc/user/project/repository/git_blame.md | 2 +- .../repository/jupyter_notebooks/index.md | 4 - .../repository/managing_large_repositories.md | 10 +- doc/user/project/repository/mirror/index.md | 2 +- doc/user/project/repository/mirror/pull.md | 6 +- doc/user/project/repository/push_rules.md | 21 +- doc/user/project/repository/web_editor.md | 16 +- doc/user/project/service_desk.md | 2 +- doc/user/project/settings/import_export.md | 16 +- doc/user/project/settings/index.md | 157 +- .../project/settings/project_access_tokens.md | 6 +- doc/user/project/time_tracking.md | 22 +- doc/user/project/web_ide/index.md | 28 +- doc/user/project/wiki/index.md | 2 +- doc/user/project/working_with_projects.md | 31 +- doc/user/search/advanced_search.md | 31 +- .../global_search/advanced_search_syntax.md | 6 +- doc/user/search/img/basic_search_results.png | Bin 19901 -> 0 bytes .../search/img/basic_search_results_v15_1.png | Bin 0 -> 52267 bytes doc/user/search/img/basic_search_v14_4.png | Bin 8344 -> 0 bytes doc/user/search/img/basic_search_v15_1.png | Bin 0 -> 10995 bytes .../img/code_search_git_blame_v14_9.png | Bin 13872 -> 0 bytes .../img/code_search_git_blame_v15_1.png | Bin 0 -> 20655 bytes doc/user/search/img/dashboard_links_v14_6.png | Bin 1792 -> 0 bytes .../search/img/issues_mrs_shortcut_v14_6.png | Bin 5535 -> 0 bytes doc/user/search/img/multiple_assignees.png | Bin 18897 -> 0 bytes doc/user/search/img/search_issues_board.png | Bin 82113 -> 0 bytes doc/user/search/index.md | 305 +- doc/user/tasks.md | 29 +- doc/user/todos.md | 8 + doc/user/upgrade_email_bypass.md | 2 +- doc/user/usage_quotas.md | 4 +- fixtures/emojis/intents.json | 16 + .../glfm_canonical_examples.txt | 37 +- .../glfm_example_normalizations.yml | 27 + .../glfm_example_status.yml | 27 +- glfm_specification/output/spec.txt | 31 +- jest.config.base.js | 10 +- lefthook.yml | 5 + lib/api/api.rb | 4 +- lib/api/appearance.rb | 1 + lib/api/avatar.rb | 2 +- lib/api/badges.rb | 4 +- lib/api/broadcast_messages.rb | 1 + lib/api/bulk_imports.rb | 2 +- lib/api/ci/job_artifacts.rb | 10 +- lib/api/ci/jobs.rb | 7 +- lib/api/ci/pipelines.rb | 4 + lib/api/ci/runner.rb | 2 +- lib/api/ci/secure_files.rb | 2 +- lib/api/clusters/agent_tokens.rb | 12 +- lib/api/clusters/agents.rb | 8 +- lib/api/entities/ci/job_request/image.rb | 2 + lib/api/entities/ci/job_request/service.rb | 5 +- lib/api/entities/hook.rb | 3 + lib/api/entities/issue.rb | 10 + .../personal_access_token_with_details.rb | 13 + lib/api/entities/releases/link.rb | 11 +- lib/api/entities/wiki_page.rb | 10 +- lib/api/environments.rb | 11 +- lib/api/error_tracking/client_keys.rb | 1 + lib/api/error_tracking/collector.rb | 1 + lib/api/error_tracking/project_settings.rb | 1 + lib/api/features.rb | 13 +- lib/api/groups.rb | 2 +- lib/api/helpers.rb | 39 +- ...project_stats_refresh_conflicts_helpers.rb | 15 + lib/api/helpers/projects_helpers.rb | 1 - lib/api/helpers/sse_helpers.rb | 16 - .../jira_connect/subscriptions.rb | 2 +- lib/api/integrations/slack/events.rb | 40 + .../slack/events/url_verification.rb | 22 + lib/api/integrations/slack/request.rb | 51 + lib/api/internal/base.rb | 12 + lib/api/internal/mail_room.rb | 6 +- lib/api/internal/workhorse.rb | 37 + lib/api/issue_links.rb | 16 + lib/api/merge_requests.rb | 9 +- lib/api/metrics/dashboard/annotations.rb | 1 + lib/api/metrics/user_starred_dashboards.rb | 1 + lib/api/namespaces.rb | 5 +- lib/api/personal_access_tokens.rb | 8 + lib/api/projects_relation_builder.rb | 2 - lib/api/pypi_packages.rb | 114 +- lib/api/release/links.rb | 5 + lib/api/releases.rb | 3 +- lib/api/terraform/modules/v1/packages.rb | 4 +- lib/api/terraform/state.rb | 8 +- lib/api/user_counts.rb | 1 + lib/api/users.rb | 34 +- lib/api/wikis.rb | 15 +- lib/atlassian/jira_connect/client.rb | 2 + lib/backup/manager.rb | 109 +- lib/backup/repositories.rb | 33 +- .../references/commit_reference_filter.rb | 7 +- .../references/issue_reference_filter.rb | 8 + .../merge_request_reference_filter.rb | 16 +- lib/banzai/filter/syntax_highlight_filter.rb | 1 + lib/bulk_imports/groups/stage.rb | 18 +- .../pipelines/design_bundle_pipeline.rb | 71 + .../pipelines/project_attributes_pipeline.rb | 50 +- .../projects/pipelines/releases_pipeline.rb | 16 + .../pipelines/repository_bundle_pipeline.rb | 71 + lib/bulk_imports/projects/stage.rb | 26 + lib/bulk_imports/stage.rb | 3 - .../repository_redirect_url_constrainer.rb | 10 +- lib/container_registry/base_client.rb | 4 +- lib/container_registry/migration.rb | 15 +- lib/error_tracking/stacktrace_builder.rb | 61 + lib/feature.rb | 30 +- .../numbers_instrumentation_class.rb.template | 19 + .../gitlab/usage_metric_generator.rb | 11 +- .../aggregated/records_fetcher.rb | 6 +- lib/gitlab/analytics/unique_visits.rb | 35 - lib/gitlab/application_context.rb | 23 +- lib/gitlab/application_rate_limiter.rb | 7 +- lib/gitlab/audit/unauthenticated_author.rb | 4 + lib/gitlab/auth/o_auth/user.rb | 15 +- ...t_feature_package_registry_access_level.rb | 43 + .../backfill_project_member_namespace_id.rb | 37 + .../cleanup_orphaned_routes.rb | 102 + .../delete_invalid_epic_issues.rb | 14 + .../fix_merge_request_diff_commit_users.rb | 137 +- .../migrate_pages_to_zip_storage.rb | 5 +- .../nullify_orphan_runner_id_on_ci_builds.rb | 10 +- .../purge_stale_security_scans.rb | 32 + ...cense_available_for_non_public_projects.rb | 24 + lib/gitlab/base_doorkeeper_controller.rb | 3 + .../project_creator.rb | 2 +- lib/gitlab/checks/changes_access.rb | 20 +- lib/gitlab/checks/single_change_access.rb | 3 +- lib/gitlab/checks/tag_check.rb | 15 +- lib/gitlab/ci/build/image.rb | 3 +- lib/gitlab/ci/config/entry/image.rb | 31 +- lib/gitlab/ci/config/entry/pull_policy.rb | 34 + lib/gitlab/ci/config/entry/rules/rule.rb | 21 +- .../ci/config/entry/rules/rule/changes.rb | 23 + lib/gitlab/ci/config/external/file/local.rb | 4 +- lib/gitlab/ci/config/external/file/project.rb | 4 +- lib/gitlab/ci/config/external/file/remote.rb | 4 +- .../ci/config/external/file/template.rb | 4 +- lib/gitlab/ci/jwt.rb | 6 +- .../security/validators/schema_validator.rb | 10 +- .../ci/pipeline/chain/limit/rate_limit.rb | 26 +- .../ci/pipeline/chain/validate/external.rb | 4 +- ...coverage_reports.rb => coverage_report.rb} | 6 +- .../ci/reports/coverage_report_generator.rb | 53 + lib/gitlab/ci/runner_upgrade_check.rb | 24 +- lib/gitlab/ci/templates/Crystal.gitlab-ci.yml | 2 +- .../ci/templates/Deploy-ECS.gitlab-ci.yml | 4 +- lib/gitlab/ci/templates/Django.gitlab-ci.yml | 2 +- lib/gitlab/ci/templates/Elixir.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 +- lib/gitlab/ci/templates/Laravel.gitlab-ci.yml | 2 +- lib/gitlab/ci/templates/Nodejs.gitlab-ci.yml | 2 +- lib/gitlab/ci/templates/PHP.gitlab-ci.yml | 2 +- lib/gitlab/ci/templates/Ruby.gitlab-ci.yml | 2 +- lib/gitlab/ci/templates/Rust.gitlab-ci.yml | 2 +- .../Security/Coverage-Fuzzing.gitlab-ci.yml | 4 +- .../DAST-On-Demand-API-Scan.gitlab-ci.yml | 12 +- .../Security/DAST.latest.gitlab-ci.yml | 7 +- .../Security/Secure-Binaries.gitlab-ci.yml | 8 +- .../ci/templates/Terraform.gitlab-ci.yml | 2 +- .../ci/templates/Terraform/Base.gitlab-ci.yml | 2 +- lib/gitlab/ci/trace.rb | 4 +- lib/gitlab/ci/trace/archive.rb | 4 +- lib/gitlab/config/entry/node.rb | 4 + .../content_security_policy/config_loader.rb | 6 + lib/gitlab/daemon.rb | 16 +- lib/gitlab/data_builder/pipeline.rb | 24 +- lib/gitlab/database.rb | 17 +- .../background_migration/batched_migration.rb | 27 +- .../batched_migration_runner.rb | 5 +- lib/gitlab/database/batch_count.rb | 12 +- lib/gitlab/database/batch_counter.rb | 3 + lib/gitlab/database/consistency_checker.rb | 6 +- lib/gitlab/database/gitlab_schema.rb | 8 +- lib/gitlab/database/gitlab_schemas.yml | 14 +- .../database/load_balancing/configuration.rb | 59 +- .../load_balancing/connection_proxy.rb | 1 + .../database/load_balancing/load_balancer.rb | 20 +- .../sidekiq_client_middleware.rb | 15 +- lib/gitlab/database/migration.rb | 1 + lib/gitlab/database/migration_helpers.rb | 25 +- .../migration_helpers/announce_database.rb | 23 + .../restrict_gitlab_schema.rb | 7 +- .../batched_background_migration_helpers.rb | 83 +- .../reestablished_connection_stack.rb | 6 +- .../database/partitioning/monthly_strategy.rb | 4 + .../partitioning/partition_manager.rb | 13 +- .../partitioning/sliding_list_strategy.rb | 53 +- .../query_analyzers/gitlab_schemas_metrics.rb | 8 +- .../restrict_allowed_schemas.rb | 2 +- lib/gitlab/database/shared_model.rb | 9 + lib/gitlab/devise_failure.rb | 2 + lib/gitlab/diff/custom_diff.rb | 89 - lib/gitlab/diff/file.rb | 10 +- lib/gitlab/diff/line.rb | 2 +- .../diff/rendered/notebook/diff_file.rb | 87 +- .../rendered/notebook/diff_file_helper.rb | 108 + lib/gitlab/email/receiver.rb | 20 +- lib/gitlab/email/reply_parser.rb | 22 +- lib/gitlab/error_tracking.rb | 35 +- lib/gitlab/error_tracking/logger.rb | 7 + lib/gitlab/event_store/subscriber.rb | 1 + lib/gitlab/event_store/subscription.rb | 3 +- lib/gitlab/fips.rb | 10 +- lib/gitlab/fogbugz_import/project_creator.rb | 13 +- .../form_builders/gitlab_ui_form_builder.rb | 80 +- lib/gitlab/gfm/reference_rewriter.rb | 21 +- lib/gitlab/gfm/uploads_rewriter.rb | 16 +- lib/gitlab/git.rb | 7 +- lib/gitlab/git/cross_repo_comparer.rb | 2 +- lib/gitlab/git/diff.rb | 2 +- lib/gitlab/git/repository.rb | 4 +- lib/gitlab/git_access.rb | 56 +- lib/gitlab/git_access_project.rb | 2 + lib/gitlab/git_access_snippet.rb | 13 +- lib/gitlab/git_access_wiki.rb | 30 +- lib/gitlab/gitaly_client/commit_service.rb | 47 +- lib/gitlab/gitaly_client/operation_service.rb | 40 +- .../github_import/importer/issue_importer.rb | 8 + .../importer/releases_importer.rb | 20 +- lib/gitlab/gon_helper.rb | 2 - .../loggers/queue_duration_logger.rb | 15 +- .../graphql/authorize/authorize_resource.rb | 16 +- .../board/issues_connection_extension.rb | 2 +- lib/gitlab/graphql/deprecation.rb | 28 +- lib/gitlab/graphql/generic_tracing.rb | 8 + .../graphql/loaders/batch_model_loader.rb | 15 +- lib/gitlab/graphql/markdown_field.rb | 4 +- lib/gitlab/graphql/present/field_extension.rb | 1 + .../query_analyzers/ast/logger_analyzer.rb | 88 + .../query_analyzers/ast/recursion_analyzer.rb | 78 + .../query_analyzers/logger_analyzer.rb | 84 - .../query_analyzers/recursion_analyzer.rb | 62 - lib/gitlab/hash_digest/facade.rb | 29 + lib/gitlab/highlight.rb | 9 +- lib/gitlab/hook_data/merge_request_builder.rb | 2 +- lib/gitlab/i18n.rb | 18 +- lib/gitlab/import_export/lfs_saver.rb | 6 +- .../import_export/project/import_export.yml | 2 + lib/gitlab/import_sources.rb | 22 +- ...ctive_projects_deletion_warning_tracker.rb | 25 + lib/gitlab/instrumentation_helper.rb | 5 + lib/gitlab/kubernetes/kube_client.rb | 44 +- lib/gitlab/legacy_github_import/importer.rb | 4 + lib/gitlab/mailgun/webhook_processors/base.rb | 20 + .../webhook_processors/failure_logger.rb | 36 + .../webhook_processors/member_invites.rb | 48 + lib/gitlab/markdown_cache.rb | 2 +- lib/gitlab/memory/jemalloc.rb | 88 + .../dashboard/stages/alerts_inserter.rb | 41 - .../metrics/samplers/database_sampler.rb | 2 +- lib/gitlab/metrics/sli.rb | 12 +- lib/gitlab/middleware/compressed_json.rb | 3 +- lib/gitlab/object_hierarchy.rb | 28 + lib/gitlab/pages_transfer.rb | 38 - lib/gitlab/patch/database_config.rb | 66 +- .../project_stats_refresh_conflicts_logger.rb | 34 + lib/gitlab/project_template.rb | 3 + lib/gitlab/protocol_access.rb | 38 +- lib/gitlab/quick_actions/commit_actions.rb | 2 +- lib/gitlab/quick_actions/issuable_actions.rb | 34 +- lib/gitlab/quick_actions/issue_actions.rb | 48 +- .../issue_and_merge_request_actions.rb | 36 +- .../quick_actions/merge_request_actions.rb | 60 +- lib/gitlab/quick_actions/relate_actions.rb | 2 +- lib/gitlab/rack_attack.rb | 4 +- lib/gitlab/redis/duplicate_jobs.rb | 30 + lib/gitlab/redis/multi_store.rb | 300 + lib/gitlab/redis/sidekiq_status.rb | 24 + lib/gitlab/regex.rb | 13 +- lib/gitlab/render_timeout.rb | 14 + lib/gitlab/service_desk_email.rb | 6 + lib/gitlab/sidekiq_logging/logs_jobs.rb | 6 +- .../sidekiq_logging/structured_logger.rb | 17 +- .../duplicate_jobs/duplicate_job.rb | 25 +- .../strategies/until_executed.rb | 5 + .../worker_context/client.rb | 17 +- .../worker_context/server.rb | 4 +- lib/gitlab/sidekiq_status.rb | 20 +- lib/gitlab/sql/cte.rb | 8 +- lib/gitlab/ssh/signature.rb | 74 + lib/gitlab/ssh_public_key.rb | 27 + .../static_site_editor/config/file_config.rb | 42 - .../config/file_config/entry/global.rb | 39 - .../file_config/entry/image_upload_path.rb | 26 - .../config/file_config/entry/mount.rb | 39 - .../config/file_config/entry/mounts.rb | 33 - .../entry/static_site_generator.rb | 26 - .../config/generated_config.rb | 70 - lib/gitlab/themes.rb | 4 +- lib/gitlab/tracking/standard_context.rb | 14 + lib/gitlab/updated_notes_paginator.rb | 74 - .../count_imported_projects_total_metric.rb | 40 + .../instrumentations/count_issues_metric.rb | 2 + .../instrumentations/database_metric.rb | 2 +- .../issues_created_from_alerts_metric.rb | 30 + ...ues_with_alert_management_alerts_metric.rb | 24 + .../issues_with_prometheus_alert_events.rb | 24 + ...th_self_managed_prometheus_alert_events.rb | 24 + ...orts_total_imported_issues_count_metric.rb | 15 + .../instrumentations/numbers_metric.rb | 60 + .../unique_active_users_metric.rb | 29 + lib/gitlab/usage/metrics/name_suggestion.rb | 2 + lib/gitlab/usage/metrics/query.rb | 36 +- lib/gitlab/usage_data.rb | 78 +- lib/gitlab/usage_data_counters.rb | 1 - .../editor_unique_counter.rb | 9 - .../known_events/code_review_events.yml | 4 + .../known_events/common.yml | 19 +- .../known_events/quickactions.yml | 4 + .../merge_request_activity_unique_counter.rb | 4 + .../static_site_editor_counter.rb | 16 - lib/gitlab/usage_data_queries.rb | 10 + lib/gitlab/utils/usage_data.rb | 9 + lib/gitlab/web_hooks/rate_limiter.rb | 70 + lib/object_storage/direct_upload.rb | 5 +- .../ci_configuration/sast_build_action.rb | 24 +- lib/service_ping/build_payload.rb | 2 - lib/service_ping/permit_data_categories.rb | 2 - .../groups/menus/customer_relations_menu.rb | 4 +- lib/sidebars/projects/menus/settings_menu.rb | 7 +- lib/support/systemd/gitlab-sidekiq.service | 1 - {qa => lib}/tasks/contracts.rake | 29 +- lib/tasks/gitlab/db.rake | 16 +- .../rollback/bump_ci_sequences.rake | 68 + lib/tasks/gitlab/db/lock_writes.rake | 119 + lib/tasks/gitlab/db/validate_config.rake | 79 +- lib/tasks/gitlab/pages.rake | 54 - lib/tasks/gitlab/tw/codeowners.rake | 27 +- lib/tasks/migrate/composite_primary_keys.rake | 17 - lib/tasks/rubocop.rake | 2 +- locale/am_ET/gitlab.po | 3041 +- locale/ar_SA/gitlab.po | 3097 +- locale/as_IN/gitlab.po | 3041 +- locale/az_AZ/gitlab.po | 3041 +- locale/ba_RU/gitlab.po | 3027 +- locale/bg/gitlab.po | 3041 +- locale/bn_BD/gitlab.po | 3041 +- locale/bn_IN/gitlab.po | 3041 +- locale/br_FR/gitlab.po | 3083 +- locale/bs_BA/gitlab.po | 3057 +- locale/ca_ES/gitlab.po | 3041 +- locale/cs_CZ/gitlab.po | 3069 +- locale/cy_GB/gitlab.po | 3097 +- locale/da_DK/gitlab.po | 3085 +- locale/de/gitlab.po | 3097 +- locale/el_GR/gitlab.po | 3041 +- locale/eo/gitlab.po | 3041 +- locale/es/gitlab.po | 3081 +- locale/et_EE/gitlab.po | 3041 +- locale/fa_IR/gitlab.po | 3041 +- locale/fi_FI/gitlab.po | 3041 +- locale/fil_PH/gitlab.po | 3041 +- locale/fr/gitlab.po | 3045 +- locale/gitlab.pot | 1584 +- locale/gl_ES/gitlab.po | 3041 +- locale/he_IL/gitlab.po | 3071 +- locale/hi_IN/gitlab.po | 3041 +- locale/hr_HR/gitlab.po | 3055 +- locale/hu_HU/gitlab.po | 3041 +- locale/hy_AM/gitlab.po | 3041 +- locale/id_ID/gitlab.po | 3027 +- locale/ig_NG/gitlab.po | 3027 +- locale/is_IS/gitlab.po | 3041 +- locale/it/gitlab.po | 3041 +- locale/ja/gitlab.po | 3403 +- locale/ka_GE/gitlab.po | 3041 +- locale/kab/gitlab.po | 3041 +- locale/ko/gitlab.po | 3047 +- locale/ku_TR/gitlab.po | 3041 +- locale/ky_KG/gitlab.po | 3041 +- locale/lt_LT/gitlab.po | 3069 +- locale/mk_MK/gitlab.po | 3041 +- locale/ml_IN/gitlab.po | 3041 +- locale/mn_MN/gitlab.po | 3041 +- locale/nb_NO/gitlab.po | 3081 +- locale/nl_NL/gitlab.po | 3041 +- locale/or_IN/gitlab.po | 3041 +- locale/pa_IN/gitlab.po | 3041 +- locale/pl_PL/gitlab.po | 3077 +- locale/pt_BR/gitlab.po | 4499 +- locale/pt_PT/gitlab.po | 3047 +- locale/ro_RO/gitlab.po | 10697 ++-- locale/ru/gitlab.po | 3111 +- locale/si_LK/gitlab.po | 3095 +- locale/sk_SK/gitlab.po | 3069 +- locale/sl_SI/gitlab.po | 3069 +- locale/sq_AL/gitlab.po | 3041 +- locale/sr_CS/gitlab.po | 3055 +- locale/sr_SP/gitlab.po | 3055 +- locale/sv_SE/gitlab.po | 3041 +- locale/sw_KE/gitlab.po | 3041 +- locale/ta_IN/gitlab.po | 3041 +- locale/th_TH/gitlab.po | 46005 ++++++++++++++++ locale/tr_TR/gitlab.po | 3059 +- locale/uk/gitlab.po | 3177 +- locale/ur_PK/gitlab.po | 3041 +- locale/uz_UZ/gitlab.po | 3041 +- locale/vi_VN/gitlab.po | 3027 +- locale/zh_CN/gitlab.po | 3885 +- locale/zh_HK/gitlab.po | 3027 +- locale/zh_TW/gitlab.po | 3035 +- package.json | 35 +- patches/@rails+ujs+6.1.4-7.patch | 16 + public/-/pwa-icons/logo-192.png | Bin 0 -> 1855 bytes public/-/pwa-icons/logo-512.png | Bin 0 -> 3620 bytes public/-/pwa-icons/maskable-logo.png | Bin 0 -> 9126 bytes public/robots.txt | 1 + qa/.gitignore | 1 - qa/Dockerfile | 14 +- qa/Gemfile | 4 +- qa/Gemfile.lock | 49 +- qa/README.md | 146 +- .../consumer/endpoints/merge_request.js | 42 - qa/contracts/consumer/specs/diffs.spec.js | 35 - .../consumer/specs/discussions.spec.js | 35 - qa/contracts/consumer/specs/metadata.spec.js | 35 - qa/contracts/provider/environments/base.rb | 24 - qa/contracts/provider/environments/local.rb | 12 - qa/contracts/provider/spec/diffs_helper.rb | 17 - .../provider/spec/discussions_helper.rb | 17 - qa/contracts/provider/spec/metadata_helper.rb | 17 - qa/contracts/provider/spec_helper.rb | 22 - .../page/group/settings/usage_quotas.rb | 19 +- qa/qa/flow/purchase.rb | 5 +- qa/qa/mobile/page/profile/menu.rb | 26 - qa/qa/mobile/page/sub_menus/common.rb | 4 +- qa/qa/page/base.rb | 4 +- qa/qa/page/component/access_tokens.rb | 14 +- qa/qa/page/component/invite_members_modal.rb | 2 +- qa/qa/page/component/snippet.rb | 9 +- qa/qa/page/group/show.rb | 6 +- qa/qa/page/issuable/new.rb | 2 + qa/qa/page/merge_request/show.rb | 25 +- qa/qa/page/profile/emails.rb | 9 +- qa/qa/page/profile/menu.rb | 2 +- qa/qa/page/project/branches/show.rb | 7 +- qa/qa/page/project/issue/index.rb | 6 - qa/qa/page/project/members.rb | 2 +- qa/qa/page/project/new.rb | 2 +- qa/qa/page/project/pipeline/show.rb | 35 +- qa/qa/page/project/pipeline_editor/show.rb | 1 - qa/qa/page/project/registry/show.rb | 8 +- qa/qa/page/project/settings/access_tokens.rb | 1 + qa/qa/page/project/settings/advanced.rb | 12 +- qa/qa/page/project/settings/ci_variables.rb | 4 +- qa/qa/page/project/settings/merge_request.rb | 2 +- qa/qa/page/project/web_ide/edit.rb | 2 +- qa/qa/resource/api_fabricator.rb | 2 +- qa/qa/resource/base.rb | 8 +- qa/qa/resource/members.rb | 6 +- qa/qa/resource/project.rb | 14 +- qa/qa/resource/runner.rb | 8 +- qa/qa/runtime/env.rb | 8 - qa/qa/runtime/feature.rb | 18 +- qa/qa/runtime/logger.rb | 8 +- qa/qa/runtime/namespace.rb | 2 +- qa/qa/service/docker_run/base.rb | 4 +- qa/qa/service/docker_run/gitlab_runner.rb | 15 +- qa/qa/service/praefect_manager.rb | 5 +- qa/qa/service/shellout.rb | 45 +- .../gitlab_migration_large_project_spec.rb | 4 +- .../gitlab_migration_release_spec.rb | 16 +- .../api/1_manage/project_access_token_spec.rb | 4 +- .../1_manage/user_inherited_access_spec.rb | 176 + ...ce_with_forward_pipeline_variables_spec.rb | 97 +- .../performance_bar_spec.rb | 7 +- .../service_ping_default_enabled_spec.rb | 7 +- .../service_ping_disabled_spec.rb | 7 +- .../1_manage/group/transfer_project_spec.rb | 2 +- .../1_manage/project/dashboard_images_spec.rb | 8 +- .../personal_project_permissions_spec.rb | 22 +- .../project/project_access_token_spec.rb | 5 +- .../user/user_inherited_access_spec.rb | 109 + .../email/trigger_email_notification_spec.rb | 2 +- .../2_plan/issue/create_issue_spec.rb | 9 - .../issue/custom_issue_template_spec.rb | 2 +- .../issue/filter_issue_comments_spec.rb | 2 +- .../2_plan/issue/jira_issue_import_spec.rb | 2 +- .../2_plan/issue/real_time_assignee_spec.rb | 2 +- .../merge_merge_request_from_fork_spec.rb | 6 +- .../merge_when_pipeline_succeeds_spec.rb | 88 +- .../rebase_merge_request_spec.rb | 18 +- .../file/file_with_unusual_name_spec.rb | 6 +- .../copy_snippet_file_contents_spec.rb | 24 +- .../snippet/create_project_snippet_spec.rb | 6 +- .../web_ide/open_fork_in_web_ide_spec.rb | 4 +- ...en_forward_pipeline_variables_true_spec.rb | 21 +- ...n_forward_pipeline_variables_false_spec.rb | 26 +- .../pipeline/multi-project_pipelines_spec.rb | 113 - ...d_pipelines_dependent_relationship_spec.rb | 136 - .../4_verify/pipeline/trigger_matrix_spec.rb | 2 +- .../testing/endpoint_coverage_spec.rb | 92 + .../container_registry_omnibus_spec.rb | 5 +- .../container_registry_spec.rb | 3 +- .../generic_repository_spec.rb | 2 +- .../npm/npm_instance_level_spec.rb | 1 - .../nuget/nuget_project_level_spec.rb | 66 +- .../features/sanity/feature_flags_spec.rb | 71 + .../variable_inheritance_shared_context.rb | 23 +- qa/qa/specs/helpers/feature_flag.rb | 10 +- qa/qa/specs/runner.rb | 3 +- qa/qa/specs/spec_helper.rb | 14 + qa/qa/support/api.rb | 19 +- qa/qa/support/knapsack_report.rb | 8 +- qa/qa/support/matchers/eventually_matcher.rb | 2 +- qa/qa/support/page/logging.rb | 53 +- qa/qa/support/page_error_checker.rb | 54 +- qa/qa/support/wait_for_requests.rb | 12 +- qa/qa/tools/delete_projects.rb | 10 +- qa/qa/tools/delete_subgroups.rb | 10 +- qa/qa/tools/delete_test_snippets.rb | 7 +- qa/qa/tools/test_resources_handler.rb | 39 +- qa/spec/git/repository_spec.rb | 2 + qa/spec/resource/base_spec.rb | 12 +- qa/spec/runtime/env_spec.rb | 21 - qa/spec/runtime/feature_spec.rb | 73 +- qa/spec/runtime/logger_spec.rb | 2 +- qa/spec/service/shellout_spec.rb | 58 + qa/spec/specs/helpers/feature_flag_spec.rb | 22 + qa/spec/specs/runner_spec.rb | 52 +- qa/spec/support/page_error_checker_spec.rb | 68 +- qa/spec/support/wait_for_requests_spec.rb | 16 - qa/tasks/knapsack.rake | 12 +- qa/tmp/.gitignore | 3 + rubocop/cop/gitlab/namespaced_class.rb | 2 +- .../cop/migration/background_migrations.rb | 28 + rubocop/cop/migration/migration_record.rb | 8 +- rubocop/cop/static_translation_definition.rb | 125 +- rubocop/formatter/todo_formatter.rb | 46 +- rubocop/rubocop-migrations.yml | 41 +- rubocop/rubocop-usage-data.yml | 1 + rubocop/todo_dir.rb | 63 +- scripts/frontend/postinstall.js | 6 + scripts/glfm/run-snapshot-tests.sh | 36 + scripts/lib/glfm/render_static_html.rb | 48 +- scripts/lib/glfm/update_example_snapshots.rb | 115 +- scripts/license-check.sh | 32 + scripts/lint-doc.sh | 4 +- scripts/lint-yaml.sh | 10 + scripts/prepare_build.sh | 12 +- scripts/review_apps/review-apps.sh | 9 + scripts/static-analysis | 2 +- scripts/utils.sh | 4 +- scripts/verify-tff-mapping | 4 +- spec/commands/sidekiq_cluster/cli_spec.rb | 21 +- .../pajamas/alert_component_spec.rb | 18 +- .../pajamas/banner_component_spec.rb | 169 + .../pajamas/button_component_spec.rb | 273 + .../components/pajamas/card_component_spec.rb | 80 + .../pajamas/checkbox_component_spec.rb | 130 + spec/components/pajamas/component_spec.rb | 17 + ...heckbox_radio_label_with_help_text_spec.rb | 110 + .../concerns/checkbox_radio_options_spec.rb | 32 + .../pajamas/radio_component_spec.rb | 126 + spec/config/object_store_settings_spec.rb | 76 + {qa => spec}/contracts/.gitignore | 0 spec/contracts/README.md | 15 + spec/contracts/consumer/.eslintrc.yml | 7 + {qa => spec}/contracts/consumer/.node-version | 0 spec/contracts/consumer/babel.config.json | 3 + .../endpoints/project/merge_requests.js | 34 + .../merge_request/diffs_batch.fixture.js | 20 +- .../merge_request/diffs_metadata.fixture.js | 16 +- .../merge_request}/discussions.fixture.js | 12 +- {qa => spec}/contracts/consumer/package.json | 11 +- .../specs/project/merge_request/show.spec.js | 112 + ...ow-merge_request_diffs_batch_endpoint.json | 7 +- ...merge_request_diffs_metadata_endpoint.json | 9 +- ...ow-merge_request_discussions_endpoint.json | 5 +- spec/contracts/provider/environments/test.rb | 15 + .../provider/helpers/users_helper.rb | 7 + .../merge_request/diffs_batch_helper.rb | 16 + .../merge_request/diffs_metadata_helper.rb | 16 + .../merge_request/discussions_helper.rb | 16 + spec/contracts/provider/spec_helper.rb | 39 + .../merge_request/diffs_batch_state.rb | 18 + .../merge_request/diffs_metadata_state.rb | 18 + .../merge_request/discussions_state.rb | 17 + .../admin/clusters_controller_spec.rb | 57 - .../admin/integrations_controller_spec.rb | 2 +- .../application_controller_spec.rb | 4 - .../autocomplete_controller_spec.rb | 2 + spec/controllers/chaos_controller_spec.rb | 4 +- .../concerns/sorting_preference_spec.rb | 44 +- .../confirmations_controller_spec.rb | 23 +- spec/controllers/graphql_controller_spec.rb | 11 +- .../groups/clusters_controller_spec.rb | 136 - .../groups/group_members_controller_spec.rb | 28 +- .../settings/integrations_controller_spec.rb | 2 +- spec/controllers/groups_controller_spec.rb | 24 +- spec/controllers/help_controller_spec.rb | 29 +- .../import/fogbugz_controller_spec.rb | 36 +- .../import/github_controller_spec.rb | 13 - spec/controllers/metrics_controller_spec.rb | 4 +- .../oauth/authorizations_controller_spec.rb | 18 + .../omniauth_callbacks_controller_spec.rb | 32 +- spec/controllers/passwords_controller_spec.rb | 23 +- .../personal_access_tokens_controller_spec.rb | 25 +- .../autocomplete_sources_controller_spec.rb | 12 - .../projects/clusters_controller_spec.rb | 144 - .../projects/commits_controller_spec.rb | 8 + .../projects/compare_controller_spec.rb | 27 +- .../projects/environments_controller_spec.rb | 11 - .../projects/import/jira_controller_spec.rb | 2 +- .../projects/incidents_controller_spec.rb | 1 - .../projects/issues_controller_spec.rb | 99 +- .../projects/jobs_controller_spec.rb | 114 +- .../projects/mattermosts_controller_spec.rb | 2 +- .../merge_requests/drafts_controller_spec.rb | 32 + .../merge_requests_controller_spec.rb | 8 +- .../projects/notes_controller_spec.rb | 94 - .../pipelines/tests_controller_spec.rb | 12 - .../projects/pipelines_controller_spec.rb | 12 + .../project_members_controller_spec.rb | 83 +- .../prometheus/alerts_controller_spec.rb | 106 - .../prometheus/metrics_controller_spec.rb | 6 +- .../projects/releases_controller_spec.rb | 23 +- .../projects/services_controller_spec.rb | 356 - .../settings/ci_cd_controller_spec.rb | 13 - .../integration_hook_logs_controller_spec.rb} | 5 +- .../settings/integrations_controller_spec.rb | 384 +- .../static_site_editor_controller_spec.rb | 101 - .../projects/tags_controller_spec.rb | 10 +- .../registrations/welcome_controller_spec.rb | 5 + .../registrations_controller_spec.rb | 23 +- .../repositories/git_http_controller_spec.rb | 13 - spec/controllers/sessions_controller_spec.rb | 25 +- spec/db/migration_spec.rb | 2 +- spec/db/schema_spec.rb | 16 +- spec/events/pages/page_deleted_event_spec.rb | 34 + .../application_experiment_spec.rb | 21 +- spec/factories/alert_management/alerts.rb | 4 - spec/factories/application_settings.rb | 4 + spec/factories/ci/builds.rb | 18 +- spec/factories/clusters/applications/helm.rb | 13 +- .../clusters/cluster_enabled_grant.rb | 7 + .../commit_signature/ssh_signature.rb | 10 + spec/factories/commits.rb | 9 +- spec/factories/container_repositories.rb | 9 +- spec/factories/deployments.rb | 2 +- spec/factories/environments.rb | 2 +- .../batched_migrations.rb | 1 + .../incident_management/timeline_events.rb | 9 + spec/factories/issues.rb | 7 + spec/factories/merge_requests.rb | 6 +- spec/factories/plan_limits.rb | 6 +- spec/factories/project_members.rb | 5 +- spec/factories/projects.rb | 6 +- spec/factories/releases.rb | 6 +- spec/factories/sequences.rb | 1 - spec/factories/terraform/state.rb | 4 + .../time_tracking/timelog_categories.rb | 9 + spec/factories/work_items.rb | 5 + spec/factories/work_items/parent_links.rb | 21 + spec/fast_spec_helper.rb | 7 + .../admin/admin_disables_two_factor_spec.rb | 7 +- spec/features/admin/admin_groups_spec.rb | 11 +- spec/features/admin/admin_hook_logs_spec.rb | 14 + spec/features/admin/admin_hooks_spec.rb | 7 +- spec/features/admin/admin_labels_spec.rb | 9 +- spec/features/admin/admin_runners_spec.rb | 91 +- spec/features/admin/admin_settings_spec.rb | 14 +- .../admin_users_impersonation_tokens_spec.rb | 5 +- .../admin_uses_repository_checks_spec.rb | 6 +- spec/features/admin/users/user_spec.rb | 3 +- spec/features/admin/users/users_spec.rb | 10 +- spec/features/boards/boards_spec.rb | 1 - .../clusters/cluster_detail_page_spec.rb | 14 - spec/features/clusters/create_agent_spec.rb | 1 + spec/features/commits_spec.rb | 3 - spec/features/dashboard/todos/todos_spec.rb | 3 +- spec/features/group_variables_spec.rb | 14 +- spec/features/groups/clusters/user_spec.rb | 4 +- spec/features/groups/empty_states_spec.rb | 2 - spec/features/groups/group_runners_spec.rb | 54 +- .../import_export/connect_instance_spec.rb | 2 +- spec/features/groups/issues_spec.rb | 49 +- .../groups/members/leave_group_spec.rb | 4 +- spec/features/groups/navbar_spec.rb | 9 +- .../groups/settings/access_tokens_spec.rb | 3 +- spec/features/groups/show_spec.rb | 52 + ..._users_dropdowns_in_issuables_list_spec.rb | 47 +- spec/features/groups_spec.rb | 15 +- .../features/incidents/incidents_list_spec.rb | 13 - spec/features/issuables/issuable_list_spec.rb | 2 - spec/features/issue_rebalancing_spec.rb | 4 - .../filtered_search/dropdown_assignee_spec.rb | 4 - .../filtered_search/dropdown_author_spec.rb | 2 - .../filtered_search/dropdown_base_spec.rb | 2 - .../filtered_search/dropdown_emoji_spec.rb | 2 - .../filtered_search/dropdown_hint_spec.rb | 2 - .../filtered_search/dropdown_label_spec.rb | 2 - .../dropdown_milestone_spec.rb | 2 - .../filtered_search/dropdown_release_spec.rb | 2 - .../filtered_search/filter_issues_spec.rb | 1 - .../filtered_search/recent_searches_spec.rb | 2 - .../issues/filtered_search/search_bar_spec.rb | 1 - .../filtered_search/visual_tokens_spec.rb | 1 - spec/features/issues/incident_issue_spec.rb | 62 + spec/features/issues/issue_detail_spec.rb | 10 +- spec/features/issues/rss_spec.rb | 4 - .../user_bulk_edits_issues_labels_spec.rb | 4 - .../issues/user_bulk_edits_issues_spec.rb | 4 - .../issues/user_comments_on_issue_spec.rb | 14 +- .../issues/user_creates_issue_spec.rb | 4 - .../issues/user_filters_issues_spec.rb | 2 - .../issues/user_sees_breadcrumb_links_spec.rb | 2 - .../features/issues/user_sorts_issues_spec.rb | 2 - spec/features/labels_hierarchy_spec.rb | 2 - spec/features/markdown/math_spec.rb | 20 + spec/features/markdown/mermaid_spec.rb | 361 - .../merge_request/batch_comments_spec.rb | 369 +- .../merge_request/user_awards_emoji_spec.rb | 11 +- .../user_comments_on_diff_spec.rb | 1 - .../user_creates_merge_request_spec.rb | 3 +- .../user_posts_diff_notes_spec.rb | 2 +- .../merge_request/user_posts_notes_spec.rb | 3 +- .../user_resolves_conflicts_spec.rb | 17 - .../user_sees_avatar_on_diff_notes_spec.rb | 1 - .../user_sees_deployment_widget_spec.rb | 6 +- .../user_sees_discussions_spec.rb | 2 +- .../merge_request/user_sees_versions_spec.rb | 1 + ...views_user_status_on_merge_request_spec.rb | 10 - .../user_sorts_merge_requests_spec.rb | 2 - spec/features/milestone_spec.rb | 10 +- spec/features/nav/top_nav_responsive_spec.rb | 2 +- spec/features/nav/top_nav_tooltip_spec.rb | 24 + spec/features/oauth_registration_spec.rb | 91 + spec/features/profile_spec.rb | 19 +- .../features/profiles/active_sessions_spec.rb | 10 +- .../profiles/oauth_applications_spec.rb | 11 +- .../profiles/personal_access_tokens_spec.rb | 44 +- .../profiles/user_visits_profile_spec.rb | 4 + spec/features/project_variables_spec.rb | 42 +- .../branches/user_deletes_branch_spec.rb | 6 +- spec/features/projects/ci/editor_spec.rb | 10 +- spec/features/projects/clusters/gcp_spec.rb | 4 +- spec/features/projects/clusters/user_spec.rb | 4 +- .../comments/user_deletes_comments_spec.rb | 6 +- .../commit/user_comments_on_commit_spec.rb | 7 +- .../projects/commits/multi_view_diff_spec.rb | 132 +- .../projects/container_registry_spec.rb | 2 +- .../projects/environments/environment_spec.rb | 10 +- .../environments/environments_spec.rb | 2 - .../projects/features_visibility_spec.rb | 2 +- .../projects/hook_logs/user_reads_log_spec.rb | 73 +- .../user_activates_issue_tracker_spec.rb | 6 +- .../integrations/user_activates_jira_spec.rb | 8 +- ...activates_mattermost_slash_command_spec.rb | 2 +- ...user_activates_slack_notifications_spec.rb | 2 +- ...user_activates_slack_slash_command_spec.rb | 12 +- .../user_uses_inherited_settings_spec.rb | 2 +- .../projects/jobs/user_browses_job_spec.rb | 9 +- spec/features/projects/jobs_spec.rb | 8 +- .../projects/members/manage_members_spec.rb | 50 +- .../members/member_leaves_project_spec.rb | 4 +- .../members/user_requests_access_spec.rb | 5 +- spec/features/projects/new_project_spec.rb | 47 +- .../projects/pages/user_adds_domain_spec.rb | 7 +- .../user_edits_lets_encrypt_settings_spec.rb | 9 +- .../pages/user_edits_settings_spec.rb | 5 +- .../projects/pipeline_schedules_spec.rb | 10 +- .../pipelines/legacy_pipeline_spec.rb | 198 + .../projects/pipelines/pipeline_spec.rb | 58 +- .../projects/pipelines/pipelines_spec.rb | 1 - .../releases/user_views_edit_release_spec.rb | 4 +- .../projects/settings/access_tokens_spec.rb | 77 +- .../settings/branch_rules_settings_spec.rb | 47 + .../settings/packages_settings_spec.rb | 24 +- .../settings/repository_settings_spec.rb | 35 +- .../user_searches_in_settings_spec.rb | 1 - spec/features/promotion_spec.rb | 2 +- .../files/user_replaces_files_spec.rb | 93 - .../notes_on_personal_snippets_spec.rb | 8 +- .../snippets/user_creates_snippet_spec.rb | 1 - .../tags/developer_deletes_tag_spec.rb | 17 +- .../maintainer_deletes_protected_tag_spec.rb | 62 + spec/features/triggers_spec.rb | 5 +- spec/features/user_sorts_things_spec.rb | 2 - spec/features/users/signup_spec.rb | 1 + spec/features/users/zuora_csp_spec.rb | 20 + spec/finders/crm/contacts_finder_spec.rb | 96 +- spec/finders/crm/organizations_finder_spec.rb | 132 + spec/finders/issues_finder_spec.rb | 1448 +- .../packages/pypi/packages_finder_spec.rb | 112 +- .../work_items/work_items_finder_spec.rb | 10 + spec/fixtures/api/schemas/entities/issue.json | 1 + .../api/schemas/entities/issue_board.json | 1 + .../api/schemas/external_validation.json | 8 +- .../schemas/public_api/v4/system_hook.json | 8 +- .../emails/service_desk_reference_headers.eml | 31 + .../service_desk_reply_illegal_utf8.eml | 26 + .../glfm/example_snapshots/examples_index.yml | 1285 +- spec/fixtures/glfm/example_snapshots/html.yml | 3526 +- .../glfm/example_snapshots/markdown.yml | 1290 +- .../example_snapshots/prosemirror_json.yml | 2285 +- .../campfire/rooms.json | 0 .../campfire/rooms2.json | 0 .../sample_numbers_metric.rb | 19 + .../markdown_golden_master_examples.yml | 37 +- .../gl-secret-detection-report.json | 2 +- .../master/gl-sast-missing-scanner.json | 2 +- .../master/gl-secret-detection-report.json | 2 +- .../frontend/__helpers__/dl_locator_helper.js | 28 + spec/frontend/__helpers__/emoji.js | 10 + .../__helpers__/init_vue_mr_page_helper.js | 18 +- .../matchers/to_have_sprite_icon.js | 2 +- .../components/access_token_table_app_spec.js | 241 + .../components/expires_at_field_spec.js | 33 +- .../components/new_access_token_app_spec.js | 169 + spec/frontend/access_tokens/index_spec.js | 216 +- .../components/form_spec.js | 148 + spec/frontend/admin/users/index_spec.js | 8 +- .../components/usage_counts_spec.js | 4 +- spec/frontend/api_spec.js | 29 +- .../two_factor_auth/index_spec.js | 4 +- spec/frontend/awards_handler_spec.js | 29 + .../components/submit_dropdown_spec.js | 69 + .../modules/batch_comments/actions_spec.js | 10 + .../behaviors/markdown/render_mermaid_spec.js | 25 - spec/frontend/blob/blob_file_dropzone_spec.js | 49 - .../blob_header_filepath_spec.js.snap | 4 +- .../blob_header_default_actions_spec.js | 8 + .../blob/components/table_contents_spec.js | 4 +- spec/frontend/blob/csv/csv_viewer_spec.js | 10 +- spec/frontend/blob/viewer/index_spec.js | 6 +- .../boards/components/board_column_spec.js | 5 - .../boards/components/board_form_spec.js | 38 +- .../boards/components/boards_selector_spec.js | 36 +- spec/frontend/boards/mock_data.js | 36 +- spec/frontend/boards/stores/actions_spec.js | 38 +- spec/frontend/boards/stores/mutations_spec.js | 26 +- .../components/lock_popovers_spec.js | 10 +- ...> legacy_ci_environments_dropdown_spec.js} | 4 +- ...ec.js => legacy_ci_variable_modal_spec.js} | 9 +- ...js => legacy_ci_variable_settings_spec.js} | 4 +- ...ec.js => legacy_ci_variable_table_spec.js} | 4 +- .../components/create_token_button_spec.js | 250 +- .../components/create_token_modal_spec.js | 223 + .../agents/components/token_table_spec.js | 6 +- .../remove_cluster_confirmation_spec.js.snap | 191 +- .../remove_cluster_confirmation_spec.js | 22 +- .../components/agent_token_spec.js | 10 +- .../clusters_list/components/clusters_spec.js | 19 +- .../components/install_agent_modal_spec.js | 7 +- .../code_navigation/store/actions_spec.js | 12 +- spec/frontend/confirm_modal_spec.js | 6 +- .../toolbar_link_button_spec.js.snap | 16 +- .../bubble_menus/code_block_spec.js | 157 +- .../components/toolbar_more_dropdown_spec.js | 54 + .../components/top_toolbar_spec.js | 29 +- .../components/wrappers/code_block_spec.js | 85 +- .../wrappers/footnote_definition_spec.js | 30 + .../extensions/footnote_definition_spec.js | 7 + .../remark_markdown_processing_spec.js | 959 +- .../services/asset_resolver_spec.js | 10 + .../code_block_language_loader_spec.js | 15 +- .../services/markdown_serializer_spec.js | 86 +- .../components/custom_metrics_form_spec.js | 2 +- .../cycle_analytics/path_navigation_spec.js | 6 +- .../cycle_analytics/stage_table_spec.js | 23 +- .../value_stream_metrics_spec.js | 6 +- .../components/design_presentation_spec.js | 1 + .../components/design_sidebar_spec.js | 1 + .../design_navigation_spec.js.snap | 4 +- .../toolbar/__snapshots__/index_spec.js.snap | 2 +- .../pages/__snapshots__/index_spec.js.snap | 2 +- .../design/__snapshots__/index_spec.js.snap | 23 +- .../pages/design/index_spec.js | 21 +- .../design_management/pages/index_spec.js | 20 + .../frontend/design_management/router_spec.js | 2 + .../diffs/components/commit_item_spec.js | 2 - .../components/diff_expansion_cell_spec.js | 11 +- .../diffs/components/diff_file_header_spec.js | 11 - .../components/diff_line_note_form_spec.js | 10 + .../diffs/components/diff_view_spec.js | 16 - spec/frontend/diffs/store/utils_spec.js | 7 - spec/frontend/editor/helpers.js | 6 + .../editor/schema/ci/ci_schema_spec.js | 1 + .../editor/source_editor_extension_spec.js | 1 + ...ce_editor_markdown_livepreview_ext_spec.js | 67 +- spec/frontend/editor/source_editor_spec.js | 29 +- .../editor/source_editor_webide_ext_spec.js | 55 + spec/frontend/emoji/index_spec.js | 119 +- spec/frontend/emoji/utils_spec.js | 15 + .../environments/deploy_board_wrapper_spec.js | 4 +- .../environments/environment_folder_spec.js | 4 +- .../environments/new_environment_item_spec.js | 4 +- .../components/app_spec.js | 2 +- .../components/new_feature_flag_spec.js | 2 +- .../fixtures/{services.rb => integrations.rb} | 6 +- ...s_service.rb => prometheus_integration.rb} | 6 +- spec/frontend/fixtures/runner.rb | 6 + .../frequent_items_list_item_spec.js | 2 +- .../frontend/google_tag_manager/index_spec.js | 24 + spec/frontend/groups/components/app_spec.js | 68 +- .../groups/components/empty_state_spec.js | 78 + .../components/group_name_and_path_spec.js | 347 + .../groups/components/item_caret_spec.js | 4 +- .../helpers/startup_css_helper_spec.js | 7 +- .../commit_sidebar/editor_header_spec.js | 2 +- .../new_merge_request_option_spec.js | 222 +- .../ide/components/ide_side_bar_spec.js | 4 +- .../ide/components/ide_status_bar_spec.js | 2 + .../jobs/__snapshots__/stage_spec.js.snap | 2 +- .../jobs/detail/description_spec.js | 6 + .../ide/components/repo_editor_spec.js | 264 +- .../components/import_table_spec.js | 8 +- .../components/incidents_list_spec.js | 15 - .../__snapshots__/pagerduty_form_spec.js.snap | 4 +- .../components/pagerduty_form_spec.js | 4 +- .../components/jira_issues_fields_spec.js | 1 - .../edit/components/jira_upgrade_cta_spec.js | 31 - .../components/sections/configuration_spec.js | 57 + .../edit/components/sections/trigger_spec.js | 38 + .../edit/components/trigger_field_spec.js | 71 + spec/frontend/integrations/edit/mock_data.js | 5 +- .../components/invite_members_trigger_spec.js | 20 +- .../components/invite_modal_base_spec.js | 24 + .../user_limit_notification_spec.js | 34 +- .../components/csv_export_modal_spec.js | 32 +- .../components/csv_import_modal_spec.js | 4 + .../popover/components/issue_popover_spec.js | 81 + .../popover/components/mr_popover_spec.js | 119 + .../popover}/index_spec.js | 19 +- .../create_merge_request_dropdown_spec.js | 4 +- .../list/components/issues_list_app_spec.js | 120 +- spec/frontend/issues/list/utils_spec.js | 24 +- .../show/components/description_spec.js | 5 +- .../incidents/incident_tabs_spec.js | 24 +- .../show/components/incidents/mock_data.js | 72 + .../timeline_events_list_item_spec.js | 87 + .../incidents/timeline_events_list_spec.js | 87 + .../incidents/timeline_events_tab_spec.js | 105 + .../show/components/incidents/utils_spec.js | 31 + .../components/sign_in_oauth_button_spec.js | 11 +- .../components/user_link_spec.js | 45 +- .../log/collapsible_section_spec.js | 4 +- .../jobs/components/log/line_header_spec.js | 8 +- spec/frontend/jobs/components/log/log_spec.js | 8 +- .../labels/delete_label_modal_spec.js | 6 +- spec/frontend/lazy_loader_spec.js | 4 +- spec/frontend/lib/gfm/index_spec.js | 90 +- spec/frontend/lib/utils/dom_utils_spec.js | 34 +- spec/frontend/lib/utils/forms_spec.js | 4 +- spec/frontend/lib/utils/rails_ujs_spec.js | 78 + spec/frontend/lib/utils/table_utility_spec.js | 7 + spec/frontend/lib/utils/users_cache_spec.js | 27 +- spec/frontend/logs/utils_spec.js | 38 - .../members/components/members_tabs_spec.js | 14 + .../components/table/members_table_spec.js | 31 +- spec/frontend/members/index_spec.js | 2 +- spec/frontend/members/utils_spec.js | 2 +- .../merge_conflict_resolver_app_spec.js | 2 +- spec/frontend/merge_request_tabs_spec.js | 22 + .../dashboard_template_spec.js.snap | 2 +- .../monitoring/components/graph_group_spec.js | 18 +- spec/frontend/monitoring/fixture_data.js | 3 +- .../__snapshots__/mr_popover_spec.js.snap | 91 - spec/frontend/mr_popover/mr_popover_spec.js | 80 - .../nav/components/responsive_header_spec.js | 4 +- spec/frontend/notebook/cells/markdown_spec.js | 4 +- .../components/comment_field_layout_spec.js | 4 +- .../notes/components/comment_form_spec.js | 32 +- .../notes/components/note_body_spec.js | 35 +- .../notes/components/note_header_spec.js | 16 +- .../components/noteable_discussion_spec.js | 19 +- .../notes/components/notes_app_spec.js | 4 +- spec/frontend/notes/mock_data.js | 10 +- spec/frontend/notes/stores/actions_spec.js | 34 +- spec/frontend/notes/stores/mutation_spec.js | 12 + .../details_page/tags_list_row_spec.js | 3 +- .../list_page/cleanup_status_spec.js | 20 +- .../list_page/image_list_row_spec.js | 3 +- .../list_page/registry_header_spec.js | 2 +- .../details/components/package_files_spec.js | 6 +- .../components/infrastructure_search_spec.js | 4 +- .../details/additional_metadata_spec.js | 84 +- .../details/metadata/composer_spec.js | 10 +- .../components/details/metadata/conan_spec.js | 10 +- .../components/details/metadata/maven_spec.js | 12 +- .../components/details/metadata/nuget_spec.js | 32 +- .../components/details/metadata/pypi_spec.js | 9 +- .../components/details/package_files_spec.js | 8 +- .../details/package_history_spec.js | 88 +- .../components/list/packages_search_spec.js | 4 +- .../package_registry/mock_data.js | 52 + .../package_registry/pages/details_spec.js | 41 +- .../dependency_proxy_settings_spec.js | 12 - ...ainer_expiration_policy_form_spec.js.snap} | 12 +- ... container_expiration_policy_form_spec.js} | 4 +- .../container_expiration_policy_spec.js | 167 + .../components/registry_settings_app_spec.js | 160 +- .../registry_breadcrumb_spec.js.snap | 4 +- .../components/persisted_search_spec.js | 4 +- .../components/interval_pattern_input_spec.js | 2 +- .../components/settings_panel_spec.js | 109 +- .../components/add_request_spec.js | 28 +- spec/frontend/performance_bar/index_spec.js | 12 +- .../services/performance_bar_service_spec.js | 12 + .../stores/performance_bar_store_spec.js | 9 +- .../drawer/cards/first_pipeline_card_spec.js | 27 +- .../pipeline_config_reference_card_spec.js | 48 +- .../editor/ci_editor_header_spec.js | 33 +- .../file-nav/pipeline_editor_file_nav_spec.js | 40 +- .../components/pipeline_editor_tabs_spec.js | 93 +- .../components/validate/ci_validate_spec.js | 40 + .../pipeline_editor_home_spec.js | 130 +- .../{input_spec.js => input_wrapper_spec.js} | 2 +- .../pipeline_wizard/components/step_spec.js | 2 +- .../components/widgets_spec.js | 2 +- .../components/pipeline_tabs_spec.js | 46 +- .../pipelines_list/pipeline_stage_spec.js | 37 + .../pipelines/graph/linked_pipeline_spec.js | 379 +- ...precated_type_keyword_notification_spec.js | 146 - spec/frontend/pipelines/pipeline_tabs_spec.js | 95 + .../test_reports/test_case_details_spec.js | 21 +- .../test_reports/test_suite_table_spec.js | 13 +- .../components/update_username_spec.js | 2 +- .../clusters_deprecation_alert_spec.js | 45 + .../compare/components/revision_card_spec.js | 8 +- .../new_project_push_tip_popover_spec.js | 2 +- .../pipelines/charts/components/app_spec.js | 30 +- spec/frontend/projects/project_new_spec.js | 92 +- .../branch_rules/branch_dropdown_spec.js | 101 + .../settings/branch_rules/rule_edit_spec.js | 49 + .../repository/branch_rules/app_spec.js | 18 + .../prometheus_metrics/custom_metrics_spec.js | 4 +- .../prometheus_metrics_spec.js | 2 +- .../components/blob_content_viewer_spec.js | 16 +- .../blob_viewers/sketch_viewer_spec.js | 32 + .../components/new_directory_modal_spec.js | 2 +- .../repository/components/table/index_spec.js | 4 +- .../admin_runner_show_app_spec.js | 64 +- .../admin_runners/admin_runners_app_spec.js | 26 +- .../runner_status_popover_spec.js.snap | 2 +- .../cells/runner_status_cell_spec.js | 17 +- .../registration_dropdown_spec.js | 16 +- .../registration/registration_token_spec.js | 1 + .../runner/components/runner_details_spec.js | 70 +- .../runner/components/runner_jobs_spec.js | 4 +- .../runner_list_empty_state_spec.js | 76 + .../runner/components/runner_projects_spec.js | 4 +- .../group_runners/group_runners_app_spec.js | 10 +- spec/frontend/runner/mock_data.js | 5 +- .../runner/runner_search_utils_spec.js | 20 +- spec/frontend/search/store/actions_spec.js | 19 +- spec/frontend/search_autocomplete_spec.js | 2 +- .../components/app_spec.js | 96 +- .../security_configuration/mock_data.js | 9 - .../assignees/assignee_avatar_link_spec.js | 24 + .../assignees/sidebar_editable_item_spec.js | 2 +- .../attention_requested_toggle_spec.js | 12 +- .../sidebar_confidentiality_content_spec.js | 4 +- .../sidebar_confidentiality_form_spec.js | 2 +- .../sidebar_escalation_status_spec.js | 7 +- .../components/time_tracking/mock_data.js | 28 +- .../components/time_tracking/report_spec.js | 86 +- .../static_site_editor/components/app_spec.js | 34 - .../components/edit_area_spec.js | 264 - .../components/edit_drawer_spec.js | 67 - .../components/edit_header_spec.js | 38 - .../components/edit_meta_controls_spec.js | 115 - .../components/edit_meta_modal_spec.js | 172 - .../components/front_matter_controls_spec.js | 71 - .../invalid_content_message_spec.js | 23 - .../components/publish_toolbar_spec.js | 92 - .../components/submit_changes_error_spec.js | 48 - .../unsaved_changes_confirm_dialog_spec.js | 44 - .../graphql/resolvers/file_spec.js | 25 - .../resolvers/has_submitted_changes_spec.js | 27 - .../resolvers/submit_content_changes_spec.js | 37 - spec/frontend/static_site_editor/mock_data.js | 91 - .../static_site_editor/pages/home_spec.js | 301 - .../static_site_editor/pages/success_spec.js | 131 - .../editor_service_spec.js | 214 - .../modals/add_image/add_image_modal_spec.js | 77 - .../modals/add_image/upload_image_tab_spec.js | 41 - .../modals/insert_video_modal_spec.js | 44 - .../rich_content_editor_integration_spec.js | 69 - .../rich_content_editor_spec.js | 222 - .../services/build_custom_renderer_spec.js | 32 - .../build_html_to_markdown_renderer_spec.js | 218 - .../renderers/build_uneditable_token_spec.js | 88 - .../services/renderers/mock_data.js | 54 - .../render_attribute_definition_spec.js | 25 - .../renderers/render_embedded_ruby_spec.js | 24 - .../render_font_awesome_html_inline_spec.js | 33 - .../services/renderers/render_heading_spec.js | 12 - .../renderers/render_html_block_spec.js | 37 - .../render_identifier_instance_text_spec.js | 55 - .../render_identifier_paragraph_spec.js | 84 - .../renderers/render_list_item_spec.js | 12 - .../renderers/render_softbreak_spec.js | 23 - .../services/renderers/render_utils_spec.js | 109 - .../services/sanitize_html_spec.js | 11 - .../rich_content_editor/toolbar_item_spec.js | 57 - .../services/formatter_spec.js | 39 - .../services/front_matterify_spec.js | 54 - .../services/generate_branch_name_spec.js | 22 - .../services/load_source_content_spec.js | 36 - .../services/parse_source_file_spec.js | 101 - .../services/renderers/render_image_spec.js | 96 - .../services/submit_content_changes_spec.js | 261 - .../services/templater_spec.js | 112 - .../tags/components/delete_tag_modal_spec.js | 138 + .../tags/init_delete_tag_modal_spec.js | 23 + .../components/states_table_actions_spec.js | 1 + .../terraform/components/states_table_spec.js | 41 +- .../components/terraform_list_spec.js | 4 + spec/frontend/user_popovers_spec.js | 143 +- spec/frontend/users_select/test_helper.js | 8 +- .../components/approvals/approvals_spec.js | 50 +- .../approvals/humanized_text_spec.js | 18 + .../components/extensions/index_spec.js | 2 +- .../mr_collapsible_extension_spec.js | 8 +- .../components/mr_widget_header_spec.js | 176 - .../mr_widget_suggest_pipeline_spec.js | 2 +- .../states/mr_widget_merged_spec.js | 4 +- .../states/mr_widget_ready_to_merge_spec.js | 42 +- .../mr_widget_terraform_container_spec.js | 8 +- .../extensions/test_report/index_spec.js | 17 + .../extentions/terraform/index_spec.js | 24 +- .../vue_mr_widget/mr_widget_options_spec.js | 244 +- .../frontend/vue_mr_widget/test_extensions.js | 51 +- .../alert_details/alert_details_spec.js | 22 - .../__snapshots__/clone_dropdown_spec.js.snap | 120 +- .../vue_shared/components/ci_icon_spec.js | 48 + .../color_select_dropdown/color_item_spec.js | 35 + .../color_select_root_spec.js | 192 + .../dropdown_contents_color_view_spec.js | 43 + .../dropdown_contents_spec.js | 113 + .../dropdown_header_spec.js | 40 + .../dropdown_value_spec.js | 46 + .../color_select_dropdown/mock_data.js | 30 + .../components/confidentiality_badge_spec.js | 4 +- .../viewers/markdown_viewer_spec.js | 5 +- .../tokens/label_token_spec.js | 2 +- .../form/input_copy_toggle_visibility_spec.js | 69 +- .../noteable_warning_spec.js.snap | 4 +- .../components/notes/system_note_spec.js | 10 +- .../components/papa_parse_alert_spec.js | 4 +- .../registry/registry_search_spec.js | 6 +- .../runner_instructions_modal_spec.js | 282 +- .../runner_instructions_spec.js | 24 +- .../dropdown_contents_labels_view_spec.js | 7 +- .../labels_select_vue/label_item_spec.js | 28 +- .../labels_select_root_spec.js | 65 +- .../labels_select_vue/store/getters_spec.js | 45 +- .../labels_select_vue/store/mutations_spec.js | 26 +- .../source_viewer/plugins/index_spec.js | 14 + .../plugins/wrap_comments_spec.js | 29 + .../source_viewer/source_viewer_spec.js | 6 + .../upload_dropzone_spec.js.snap | 30 +- .../list/components/issuable_item_spec.js | 35 +- .../components/issuable_list_root_spec.js | 9 +- .../show/components/issuable_body_spec.js | 1 - .../show/components/issuable_header_spec.js | 4 +- .../components/issuable_show_root_spec.js | 3 - .../show/components/issuable_title_spec.js | 15 +- .../vue_shared/issuable/show/mock_data.js | 1 - .../work_items/components/item_title_spec.js | 2 +- .../components/work_item_assignees_spec.js | 93 + .../components/work_item_description_spec.js | 222 + .../components/work_item_detail_modal_spec.js | 12 +- .../work_item_links/work_item_links_spec.js | 88 + .../components/work_item_state_spec.js | 14 +- .../components/work_item_title_spec.js | 37 +- .../components/work_item_weight_spec.js | 47 + spec/frontend/work_items/mock_data.js | 151 + .../work_items/pages/work_item_detail_spec.js | 103 +- .../work_items/pages/work_item_root_spec.js | 2 + .../content_editor_integration_spec.js | 26 + .../ide/helpers/ide_helper.js | 8 +- spec/graphql/features/authorization_spec.rb | 76 +- spec/graphql/gitlab_schema_spec.rb | 11 +- .../boards/issues/issue_move_list_spec.rb | 4 +- .../graphql/mutations/branches/create_spec.rb | 7 +- .../mutations/ci/runner/update_spec.rb | 14 +- .../clusters/agent_tokens/create_spec.rb | 4 +- .../mutations/clusters/agents/create_spec.rb | 4 +- .../mutations/clusters/agents/delete_spec.rb | 4 +- spec/graphql/mutations/commits/create_spec.rb | 4 +- .../contacts/create_spec.rb | 11 - .../contacts/update_spec.rb | 11 - .../organizations/create_spec.rb | 11 - .../organizations/update_spec.rb | 11 - .../timeline_event/create_spec.rb | 3 +- .../timeline_event/promote_from_note_spec.rb | 3 +- .../issues/set_escalation_status_spec.rb | 10 - .../release_asset_links/create_spec.rb | 2 +- .../base_security_analyzer_spec.rb | 4 +- .../mutations/terraform/state/delete_spec.rb | 10 +- .../mutations/work_items/update_task_spec.rb | 40 + .../work_items/update_widgets_spec.rb | 58 + .../alert_management/alert_resolver_spec.rb | 2 +- .../board_list_issues_resolver_spec.rb | 2 +- .../resolvers/board_lists_resolver_spec.rb | 4 +- .../resolvers/ci/config_resolver_spec.rb | 2 +- .../ci/group_runners_resolver_spec.rb | 5 +- .../resolvers/ci/jobs_resolver_spec.rb | 7 +- .../resolvers/ci/runners_resolver_spec.rb | 5 +- .../concerns/caching_array_resolver_spec.rb | 4 +- .../concerns/resolves_groups_spec.rb | 2 - .../container_repositories_resolver_spec.rb | 5 +- ...container_repository_tags_resolver_spec.rb | 5 +- .../resolvers/crm/contacts_resolver_spec.rb | 92 + .../crm/organizations_resolver_spec.rb | 88 + .../versions_resolver_spec.rb | 10 +- .../resolvers/group_labels_resolver_spec.rb | 2 +- .../group_milestones_resolver_spec.rb | 12 +- .../resolvers/group_packages_resolver_spec.rb | 9 +- .../timeline_events_resolver_spec.rb | 3 +- .../issue_status_counts_resolver_spec.rb | 2 +- .../graphql/resolvers/issues_resolver_spec.rb | 34 +- .../resolvers/merge_requests_resolver_spec.rb | 4 +- .../namespace_projects_resolver_spec.rb | 2 +- .../resolvers/packages_base_resolver_spec.rb | 2 +- .../project_milestones_resolver_spec.rb | 58 +- .../project_packages_resolver_spec.rb | 10 +- .../resolvers/releases_resolver_spec.rb | 2 +- spec/graphql/resolvers/user_resolver_spec.rb | 37 +- .../resolvers/users/groups_resolver_spec.rb | 2 +- spec/graphql/resolvers/users_resolver_spec.rb | 14 +- .../resolvers/work_items_resolver_spec.rb | 190 + .../subscriptions/issuable_updated_spec.rb | 3 +- spec/graphql/types/base_edge_spec.rb | 1 - spec/graphql/types/base_field_spec.rb | 86 + spec/graphql/types/base_object_spec.rb | 1 - .../types/ci/detailed_status_type_spec.rb | 6 +- ...line_merge_request_event_type_enum_spec.rb | 14 + spec/graphql/types/ci/pipeline_type_spec.rb | 2 +- spec/graphql/types/ci/runner_type_spec.rb | 2 +- .../types/ci/status_action_type_spec.rb | 8 +- spec/graphql/types/issue_type_spec.rb | 10 +- .../limited_countable_connection_type_spec.rb | 11 + ...keep_duplicated_package_files_enum_spec.rb | 15 + .../packages/cleanup/policy_type_spec.rb | 26 + spec/graphql/types/project_type_spec.rb | 36 +- .../types/terraform/state_type_spec.rb | 3 +- spec/graphql/types/time_type_spec.rb | 5 +- spec/graphql/types/todo_type_spec.rb | 14 +- spec/graphql/types/user_type_spec.rb | 8 +- spec/graphql/types/work_item_type_spec.rb | 13 +- .../types/work_items/widget_interface_spec.rb | 37 + .../types/work_items/widget_type_enum_spec.rb | 13 + .../widgets/description_type_spec.rb | 11 + .../work_items/widgets/hierarchy_type_spec.rb | 11 + spec/helpers/access_tokens_helper_spec.rb | 8 + .../settings_helper_spec.rb | 34 + .../helpers/ci/pipeline_editor_helper_spec.rb | 14 +- spec/helpers/ci/runners_helper_spec.rb | 16 +- spec/helpers/diff_helper_spec.rb | 21 + spec/helpers/emails_helper_spec.rb | 28 +- spec/helpers/environments_helper_spec.rb | 3 +- spec/helpers/form_helper_spec.rb | 50 +- .../groups/crm_settings_helper_spec.rb | 47 - .../groups/group_members_helper_spec.rb | 50 +- spec/helpers/groups_helper_spec.rb | 85 + spec/helpers/issues_helper_spec.rb | 39 + spec/helpers/jira_connect_helper_spec.rb | 2 +- spec/helpers/markup_helper_spec.rb | 27 + spec/helpers/nav/new_dropdown_helper_spec.rb | 2 +- spec/helpers/nav/top_nav_helper_spec.rb | 113 +- spec/helpers/notes_helper_spec.rb | 4 - spec/helpers/operations_helper_spec.rb | 2 +- spec/helpers/preferences_helper_spec.rb | 2 +- spec/helpers/projects/pipeline_helper_spec.rb | 8 +- .../projects/project_members_helper_spec.rb | 26 + spec/helpers/projects_helper_spec.rb | 196 + .../routing/pseudonymization_helper_spec.rb | 3 +- spec/helpers/search_helper_spec.rb | 24 +- spec/helpers/snippets_helper_spec.rb | 27 + spec/helpers/sorting_helper_spec.rb | 6 + spec/helpers/storage_helper_spec.rb | 27 +- spec/helpers/todos_helper_spec.rb | 16 +- .../tooling/visual_review_helper_spec.rb | 25 + .../forbid_sidekiq_in_transactions_spec.rb | 61 +- spec/initializers/mail_encoding_patch_spec.rb | 34 +- spec/initializers/omniauth_spec.rb | 31 +- ...t_active_support_hash_digest_class_spec.rb | 9 + .../validate_database_config_spec.rb | 3 - .../api/entities/ci/job_request/image_spec.rb | 16 +- ...personal_access_token_with_details_spec.rb | 29 + spec/lib/api/entities/wiki_page_spec.rb | 17 + ...ct_stats_refresh_conflicts_helpers_spec.rb | 49 + spec/lib/api/helpers/sse_helpers_spec.rb | 44 - spec/lib/api/helpers_spec.rb | 249 +- .../slack/events/url_verification_spec.rb | 11 + .../lib/atlassian/jira_connect/client_spec.rb | 39 +- spec/lib/backup/manager_spec.rb | 55 +- spec/lib/backup/repositories_spec.rb | 96 +- .../references/issue_reference_filter_spec.rb | 22 +- .../merge_request_reference_filter_spec.rb | 11 +- .../filter/syntax_highlight_filter_spec.rb | 10 +- spec/lib/bulk_imports/groups/stage_spec.rb | 93 +- .../pipelines/design_bundle_pipeline_spec.rb | 171 + .../project_attributes_pipeline_spec.rb | 84 +- .../pipelines/releases_pipeline_spec.rb | 40 +- .../repository_bundle_pipeline_spec.rb | 169 + spec/lib/bulk_imports/projects/stage_spec.rb | 77 +- spec/lib/container_registry/migration_spec.rb | 61 +- .../error_tracking/stacktrace_builder_spec.rb | 95 + .../gitlab/usage_metric_generator_spec.rb | 28 + .../aggregated/records_fetcher_spec.rb | 20 + .../cycle_analytics/records_fetcher_spec.rb | 31 +- spec/lib/gitlab/asciidoc_spec.rb | 6 +- .../audit/unauthenticated_author_spec.rb | 6 + spec/lib/gitlab/auth/o_auth/user_spec.rb | 44 + ...ill_namespace_id_for_project_route_spec.rb | 4 +- ...ture_package_registry_access_level_spec.rb | 124 + ...ckfill_project_member_namespace_id_spec.rb | 104 + .../cleanup_orphaned_routes_spec.rb | 80 + .../encrypt_integration_properties_spec.rb | 2 +- ...ix_merge_request_diff_commit_users_spec.rb | 297 +- .../migrate_pages_to_zip_storage_spec.rb | 43 - ..._available_for_non_public_projects_spec.rb | 54 + .../bitbucket_server_import/importer_spec.rb | 2 +- spec/lib/gitlab/checks/changes_access_spec.rb | 40 +- .../checks/single_change_access_spec.rb | 16 +- spec/lib/gitlab/checks/tag_check_spec.rb | 29 +- spec/lib/gitlab/ci/build/image_spec.rb | 9 +- spec/lib/gitlab/ci/config/entry/image_spec.rb | 66 +- .../ci/config/entry/pull_policy_spec.rb | 87 + .../config/entry/rules/rule/changes_spec.rb | 81 + .../gitlab/ci/config/entry/rules/rule_spec.rb | 10 +- .../gitlab/ci/config/external/mapper_spec.rb | 25 +- spec/lib/gitlab/ci/jwt_spec.rb | 14 +- .../ci/parsers/coverage/sax_document_spec.rb | 2 +- .../parsers/security/secret_detection_spec.rb | 2 +- .../pipeline/chain/limit/rate_limit_spec.rb | 75 +- .../ci/pipeline/quota/deployments_spec.rb | 3 +- .../reports/coverage_report_generator_spec.rb | 104 + ...eports_spec.rb => coverage_report_spec.rb} | 16 +- .../gitlab/ci/runner_upgrade_check_spec.rb | 15 +- spec/lib/gitlab/ci/status/build/play_spec.rb | 7 +- .../gitlab/ci/status/build/scheduled_spec.rb | 5 +- spec/lib/gitlab/ci/trace/archive_spec.rb | 73 +- spec/lib/gitlab/ci/variables/builder_spec.rb | 2 + spec/lib/gitlab/ci/yaml_processor_spec.rb | 47 +- .../config_loader_spec.rb | 10 + spec/lib/gitlab/daemon_spec.rb | 37 + spec/lib/gitlab/data_builder/pipeline_spec.rb | 39 +- .../batched_migration_runner_spec.rb | 7 +- .../batched_migration_spec.rb | 85 +- spec/lib/gitlab/database/batch_count_spec.rb | 54 + .../lib/gitlab/database/each_database_spec.rb | 6 +- .../lib/gitlab/database/gitlab_schema_spec.rb | 6 +- .../load_balancing/configuration_spec.rb | 61 +- .../load_balancing/connection_proxy_spec.rb | 55 +- .../load_balancing/load_balancer_spec.rb | 40 - .../database/load_balancing/setup_spec.rb | 153 +- .../sidekiq_client_middleware_spec.rb | 4 + .../transaction_leaking_spec.rb | 81 + .../announce_database_spec.rb | 31 + .../gitlab/database/migration_helpers_spec.rb | 46 +- .../background_migration_helpers_spec.rb | 2 +- ...tched_background_migration_helpers_spec.rb | 218 +- .../reestablished_connection_stack_spec.rb | 2 +- .../test_batched_background_runner_spec.rb | 17 +- .../partitioning/partition_manager_spec.rb | 34 +- .../sliding_list_strategy_spec.rb | 68 +- .../gitlab_schemas_metrics_spec.rb | 73 +- spec/lib/gitlab/database/shared_model_spec.rb | 13 + .../create_group_spec.rb | 1 + spec/lib/gitlab/database_spec.rb | 30 +- spec/lib/gitlab/diff/custom_diff_spec.rb | 115 - spec/lib/gitlab/diff/file_spec.rb | 38 +- .../notebook/diff_file_helper_spec.rb | 134 + .../diff/rendered/notebook/diff_file_spec.rb | 29 +- .../handler/service_desk_handler_spec.rb | 10 +- .../email/message/repository_push_spec.rb | 2 +- spec/lib/gitlab/email/receiver_spec.rb | 58 +- spec/lib/gitlab/email/reply_parser_spec.rb | 67 + .../email/service_desk_receiver_spec.rb | 12 + spec/lib/gitlab/error_tracking/logger_spec.rb | 21 + spec/lib/gitlab/event_store/store_spec.rb | 18 +- .../fogbugz_import/project_creator_spec.rb | 9 +- .../gitlab_ui_form_builder_spec.rb | 275 +- .../lib/gitlab/gfm/reference_rewriter_spec.rb | 3 +- spec/lib/gitlab/gfm/uploads_rewriter_spec.rb | 22 +- spec/lib/gitlab/git_access_snippet_spec.rb | 10 +- spec/lib/gitlab/git_access_spec.rb | 2 +- spec/lib/gitlab/git_access_wiki_spec.rb | 36 +- .../gitaly_client/commit_service_spec.rb | 115 +- .../gitaly_client/operation_service_spec.rb | 230 +- .../importer/issue_importer_spec.rb | 56 +- .../importer/releases_importer_spec.rb | 72 +- .../loggers/queue_duration_logger_spec.rb | 12 +- .../authorize/authorize_resource_spec.rb | 32 + .../lib/gitlab/graphql/markdown_field_spec.rb | 40 +- .../graphql/negatable_arguments_spec.rb | 4 +- .../keyset/connection_generic_keyset_spec.rb | 4 +- .../pagination/keyset/connection_spec.rb | 4 +- .../graphql/present/field_extension_spec.rb | 17 - .../ast/logger_analyzer_spec.rb | 51 + .../ast/recursion_analyzer_spec.rb | 72 + .../query_analyzers/logger_analyzer_spec.rb | 49 - .../graphql/tracers/logger_tracer_spec.rb | 6 +- spec/lib/gitlab/hash_digest/facade_spec.rb | 36 + spec/lib/gitlab/highlight_spec.rb | 15 +- spec/lib/gitlab/import_export/all_models.yml | 7 + .../gitlab/import_export/lfs_saver_spec.rb | 12 + .../import_export/safe_model_attributes.yml | 5 + spec/lib/gitlab/import_sources_spec.rb | 24 +- ..._projects_deletion_warning_tracker_spec.rb | 46 +- .../lib/gitlab/instrumentation_helper_spec.rb | 8 + .../gitlab/jira_import/base_importer_spec.rb | 2 +- .../jira_import/issues_importer_spec.rb | 2 +- .../jira_import/labels_importer_spec.rb | 2 +- spec/lib/gitlab/jira_import_spec.rb | 2 +- .../lib/gitlab/kubernetes/kube_client_spec.rb | 100 +- .../legacy_github_import/importer_spec.rb | 22 - spec/lib/gitlab/mail_room/mail_room_spec.rb | 2 + .../webhook_processors/failure_logger_spec.rb | 92 + .../webhook_processors/member_invites_spec.rb | 74 + spec/lib/gitlab/memory/jemalloc_spec.rb | 121 + .../metrics/dashboard/processor_spec.rb | 38 - .../metrics/samplers/database_sampler_spec.rb | 4 +- spec/lib/gitlab/metrics/sli_spec.rb | 58 +- .../gitlab/middleware/compressed_json_spec.rb | 9 +- spec/lib/gitlab/pages_transfer_spec.rb | 157 - spec/lib/gitlab/patch/database_config_spec.rb | 3 - ...ect_stats_refresh_conflicts_logger_spec.rb | 67 + spec/lib/gitlab/project_template_spec.rb | 13 +- spec/lib/gitlab/protocol_access_spec.rb | 50 + spec/lib/gitlab/rack_attack_spec.rb | 4 +- spec/lib/gitlab/redis/duplicate_jobs_spec.rb | 94 + spec/lib/gitlab/redis/multi_store_spec.rb | 924 + spec/lib/gitlab/redis/sidekiq_status_spec.rb | 68 + spec/lib/gitlab/regex_requires_app_spec.rb | 90 + spec/lib/gitlab/regex_spec.rb | 120 +- spec/lib/gitlab/render_timeout_spec.rb | 25 + spec/lib/gitlab/seeder_spec.rb | 2 +- spec/lib/gitlab/service_desk_email_spec.rb | 6 + .../sidekiq_logging/structured_logger_spec.rb | 22 +- .../duplicate_jobs/duplicate_job_spec.rb | 715 +- .../strategies/until_executed_spec.rb | 30 +- .../worker_context/client_spec.rb | 22 +- spec/lib/gitlab/sidekiq_status_spec.rb | 233 +- spec/lib/gitlab/slash_commands/deploy_spec.rb | 2 +- spec/lib/gitlab/sql/cte_spec.rb | 19 +- spec/lib/gitlab/ssh/signature_spec.rb | 227 + spec/lib/gitlab/ssh_public_key_spec.rb | 101 + .../config/file_config/entry/global_spec.rb | 245 - .../entry/image_upload_path_spec.rb | 38 - .../config/file_config/entry/mount_spec.rb | 101 - .../config/file_config/entry/mounts_spec.rb | 53 - .../entry/static_site_generator_spec.rb | 50 - .../config/file_config_spec.rb | 87 - .../config/generated_config_spec.rb | 127 - spec/lib/gitlab/subscription_portal_spec.rb | 46 +- spec/lib/gitlab/themes_spec.rb | 4 +- .../gitlab/tracking/standard_context_spec.rb | 28 + .../gitlab/updated_notes_paginator_spec.rb | 57 - .../count_imported_projects_metric_spec.rb | 29 +- ...unt_imported_projects_total_metric_spec.rb | 62 + ...total_imported_issues_count_metric_spec.rb | 15 + .../instrumentations/numbers_metric_spec.rb | 75 + .../unique_active_users_metric_spec.rb | 31 + .../usage/metrics/name_suggestion_spec.rb | 12 +- .../names_suggestions/generator_spec.rb | 3 +- spec/lib/gitlab/usage/metrics/query_spec.rb | 6 + .../gitlab/usage/service_ping_report_spec.rb | 5 + .../code_review_events_spec.rb | 3 +- .../editor_unique_counter_spec.rb | 12 - .../static_site_editor_counter_spec.rb | 14 - spec/lib/gitlab/usage_data_counters_spec.rb | 4 +- spec/lib/gitlab/usage_data_metrics_spec.rb | 5 +- spec/lib/gitlab/usage_data_queries_spec.rb | 21 + spec/lib/gitlab/usage_data_spec.rb | 122 +- spec/lib/gitlab/utils/usage_data_spec.rb | 31 + .../lib/gitlab/web_hooks/rate_limiter_spec.rb | 123 + spec/lib/marginalia_spec.rb | 2 +- spec/lib/object_storage/direct_upload_spec.rb | 98 +- .../sast_build_action_spec.rb | 80 +- spec/lib/service_ping/build_payload_spec.rb | 31 +- .../permit_data_categories_spec.rb | 20 +- .../mailers/emails/admin_notification_spec.rb | 53 + spec/mailers/notify_spec.rb | 2 +- ...ckfill_project_member_namespace_id_spec.rb | 29 + ...ix_merge_request_diff_commit_users_spec.rb | 16 - ...a_to_batched_background_migrations_spec.rb | 34 + ...tic_iterations_cadences_start_date_spec.rb | 3 +- ...hooks_web_hook_logs_web_hook_id_fk_spec.rb | 33 + ..._available_for_non_public_projects_spec.rb | 63 + ...07_drop_deploy_tokens_token_column_spec.rb | 22 + ..._backfill_null_note_discussion_ids_spec.rb | 34 + ...ok_calls_to_plan_limits_paid_tiers_spec.rb | 101 + ...bulk_insert_cluster_enabled_grants_spec.rb | 85 + ...tegrations_enable_ssl_verification_spec.rb | 35 + .../cleanup_orphaned_routes_spec.rb | 30 + ...ze_routes_backfilling_for_projects_spec.rb | 72 + ...ture_package_registry_access_level_spec.rb | 24 + .../remove_invalid_integrations_spec.rb | 31 + ...ll_contraint_on_title_from_sprints_spec.rb | 2 +- ...edule_migrate_pages_to_zip_storage_spec.rb | 46 - ...ule_populate_requirements_issue_id_spec.rb | 79 + ...edule_purging_stale_security_scans_spec.rb | 69 + spec/models/application_setting_spec.rb | 43 +- spec/models/bulk_imports/entity_spec.rb | 26 +- .../models/bulk_imports/export_status_spec.rb | 99 +- .../file_transfer/project_config_spec.rb | 2 +- spec/models/bulk_imports/tracker_spec.rb | 2 +- spec/models/ci/bridge_spec.rb | 33 +- spec/models/ci/build_spec.rb | 266 +- spec/models/ci/job_artifact_spec.rb | 40 +- spec/models/ci/namespace_mirror_spec.rb | 5 +- spec/models/ci/pipeline_spec.rb | 178 +- spec/models/ci/runner_spec.rb | 62 +- spec/models/ci/secure_file_spec.rb | 15 + spec/models/ci/sources/pipeline_spec.rb | 2 +- spec/models/clusters/agent_spec.rb | 53 +- .../clusters/cluster_enabled_grant_spec.rb | 7 + spec/models/clusters/cluster_spec.rb | 4 + .../clusters/integrations/prometheus_spec.rb | 38 +- .../commit_signatures/gpg_signature_spec.rb | 87 +- .../commit_signatures/ssh_signature_spec.rb | 38 + .../x509_commit_signature_spec.rb | 28 +- spec/models/commit_spec.rb | 10 +- spec/models/compare_spec.rb | 15 + spec/models/concerns/as_cte_spec.rb | 40 + .../concerns/cache_markdown_field_spec.rb | 10 + spec/models/concerns/ci/artifactable_spec.rb | 4 +- .../integrations/has_data_fields_spec.rb | 88 +- spec/models/concerns/issuable_spec.rb | 8 - spec/models/concerns/limitable_spec.rb | 4 +- .../concerns/pg_full_text_searchable_spec.rb | 11 + .../project_features_compatibility_spec.rb | 2 +- .../sensitive_serializable_hash_spec.rb | 26 +- spec/models/container_registry/event_spec.rb | 14 +- spec/models/container_repository_spec.rb | 14 - .../models/customer_relations/contact_spec.rb | 95 + .../customer_relations/organization_spec.rb | 79 + spec/models/data_list_spec.rb | 2 +- spec/models/deployment_cluster_spec.rb | 7 + spec/models/deployment_spec.rb | 283 +- spec/models/environment_spec.rb | 52 +- .../models/error_tracking/error_event_spec.rb | 44 +- spec/{ => models}/factories_spec.rb | 4 +- spec/models/group_spec.rb | 106 +- spec/models/hooks/project_hook_spec.rb | 9 - spec/models/hooks/service_hook_spec.rb | 8 - spec/models/hooks/system_hook_spec.rb | 8 - spec/models/hooks/web_hook_log_spec.rb | 56 + spec/models/hooks/web_hook_spec.rb | 104 +- spec/models/integration_spec.rb | 99 +- spec/models/integrations/campfire_spec.rb | 4 +- spec/models/integrations/field_spec.rb | 21 +- spec/models/integrations/harbor_spec.rb | 10 + spec/models/integrations/irker_spec.rb | 36 +- .../integrations/issue_tracker_data_spec.rb | 8 +- spec/models/integrations/jira_spec.rb | 55 + .../integrations/jira_tracker_data_spec.rb | 8 +- spec/models/integrations/prometheus_spec.rb | 11 + .../integrations/zentao_tracker_data_spec.rb | 6 +- spec/models/issue_spec.rb | 68 +- spec/models/key_spec.rb | 151 + spec/models/members/group_member_spec.rb | 141 + .../members/last_group_owner_assigner_spec.rb | 13 + spec/models/members/project_member_spec.rb | 24 + .../merge_request/cleanup_schedule_spec.rb | 35 + spec/models/merge_request_diff_file_spec.rb | 8 + spec/models/merge_request_spec.rb | 216 +- spec/models/milestone_spec.rb | 6 +- .../namespace/root_storage_statistics_spec.rb | 13 + spec/models/namespace_setting_spec.rb | 1 + spec/models/namespace_spec.rb | 258 +- spec/models/packages/cleanup/policy_spec.rb | 2 +- spec/models/packages/package_spec.rb | 20 + spec/models/plan_limits_spec.rb | 3 + ...access_level_in_projects_preloader_spec.rb | 13 +- spec/models/project_feature_spec.rb | 50 +- spec/models/project_group_link_spec.rb | 6 + spec/models/project_spec.rb | 241 +- spec/models/project_statistics_spec.rb | 26 +- .../build_artifacts_size_refresh_spec.rb | 59 +- spec/models/protected_tag_spec.rb | 52 + spec/models/release_spec.rb | 26 + spec/models/remote_mirror_spec.rb | 2 - spec/models/repository_spec.rb | 47 +- spec/models/route_spec.rb | 51 +- spec/models/terraform/state_spec.rb | 18 - spec/models/terraform/state_version_spec.rb | 1 + .../time_tracking/timelog_category_spec.rb | 59 + spec/models/user_spec.rb | 33 +- spec/models/users/callout_spec.rb | 12 + spec/models/work_item_spec.rb | 31 + spec/models/work_items/parent_link_spec.rb | 66 + spec/models/work_items/type_spec.rb | 11 +- spec/models/work_items/widgets/base_spec.rb | 19 + .../work_items/widgets/description_spec.rb | 25 + .../work_items/widgets/hierarchy_spec.rb | 52 + spec/policies/blob_policy_spec.rb | 7 +- spec/policies/group_policy_spec.rb | 13 - spec/policies/project_policy_spec.rb | 159 +- spec/policies/work_item_policy_spec.rb | 6 + spec/presenters/blob_presenter_spec.rb | 49 - .../merge_request_presenter_spec.rb | 40 +- .../pypi/simple_index_presenter_spec.rb | 68 + ...simple_package_versions_presenter_spec.rb} | 21 +- spec/presenters/project_presenter_spec.rb | 39 +- .../releases/link_presenter_spec.rb | 31 + .../presenters/service_hook_presenter_spec.rb | 4 +- .../presenters/web_hook_log_presenter_spec.rb | 4 +- .../background_migrations_controller_spec.rb | 6 +- .../admin/batched_jobs_controller_spec.rb | 2 +- spec/requests/api/bulk_imports_spec.rb | 4 +- spec/requests/api/ci/job_artifacts_spec.rb | 90 +- spec/requests/api/ci/jobs_spec.rb | 123 +- spec/requests/api/ci/pipelines_spec.rb | 12 + .../api/ci/runner/jobs_request_post_spec.rb | 41 +- .../api/clusters/agent_tokens_spec.rb | 4 +- spec/requests/api/clusters/agents_spec.rb | 18 +- spec/requests/api/environments_spec.rb | 27 +- .../api/error_tracking/collector_spec.rb | 21 +- spec/requests/api/features_spec.rb | 133 +- spec/requests/api/graphql/ci/jobs_spec.rb | 77 + spec/requests/api/graphql/ci/runner_spec.rb | 143 +- spec/requests/api/graphql/ci/runners_spec.rb | 49 +- .../api/graphql/gitlab_schema_spec.rb | 2 +- spec/requests/api/graphql/issue/issue_spec.rb | 23 + spec/requests/api/graphql/milestone_spec.rb | 136 +- .../mutations/ci/pipeline_destroy_spec.rb | 17 + .../container_repository/destroy_tags_spec.rb | 2 +- .../design_management/delete_spec.rb | 2 +- .../timeline_event/create_spec.rb | 2 +- .../timeline_event/destroy_spec.rb | 2 +- .../timeline_event/promote_from_note_spec.rb | 2 +- .../mutations/issues/set_crm_contacts_spec.rb | 12 - .../issues/set_escalation_status_spec.rb | 8 - .../jira_import/import_users_spec.rb | 2 +- .../mutations/jira_import/start_spec.rb | 2 +- .../dashboard/annotations/create_spec.rb | 2 - .../notes/reposition_image_diff_note_spec.rb | 10 +- .../packages/cleanup/policy/update_spec.rb | 109 + .../mutations/packages/destroy_files_spec.rb | 103 + .../graphql/mutations/releases/create_spec.rb | 20 +- .../mutations/user_preferences/update_spec.rb | 22 - .../mutations/work_items/update_task_spec.rb | 101 + .../work_items/update_widgets_spec.rb | 78 + .../timeline_events_spec.rb | 2 +- .../api/graphql/project/issues_spec.rb | 12 + .../project/merge_request/pipelines_spec.rb | 69 +- .../api/graphql/project/milestones_spec.rb | 21 + .../project/packages_cleanup_policy_spec.rb | 79 + .../api/graphql/project/work_items_spec.rb | 121 + .../graphql/terraform/state/delete_spec.rb | 8 +- .../user/starred_projects_query_spec.rb | 21 +- spec/requests/api/graphql/work_item_spec.rb | 142 +- spec/requests/api/graphql_spec.rb | 8 +- spec/requests/api/groups_spec.rb | 20 - .../jira_connect/subscriptions_spec.rb | 1 + .../api/integrations/slack/events_spec.rb | 112 + spec/requests/api/integrations_spec.rb | 54 +- spec/requests/api/internal/base_spec.rb | 58 + spec/requests/api/internal/mail_room_spec.rb | 53 +- spec/requests/api/internal/workhorse_spec.rb | 42 + spec/requests/api/invitations_spec.rb | 17 +- spec/requests/api/issue_links_spec.rb | 81 + spec/requests/api/issues/issues_spec.rb | 65 + spec/requests/api/markdown_snapshot_spec.rb | 11 + spec/requests/api/members_spec.rb | 124 +- spec/requests/api/merge_requests_spec.rb | 83 +- spec/requests/api/namespaces_spec.rb | 18 + .../api/personal_access_tokens_spec.rb | 55 + spec/requests/api/project_attributes.yml | 1 + spec/requests/api/project_hooks_spec.rb | 4 + spec/requests/api/projects_spec.rb | 7 + spec/requests/api/pypi_packages_spec.rb | 65 +- spec/requests/api/release/links_spec.rb | 76 + spec/requests/api/releases_spec.rb | 17 + spec/requests/api/system_hooks_spec.rb | 37 +- .../api/terraform/modules/v1/packages_spec.rb | 382 +- spec/requests/api/terraform/state_spec.rb | 64 +- spec/requests/api/users_spec.rb | 105 + spec/requests/api/wikis_spec.rb | 18 + spec/requests/git_http_spec.rb | 10 + .../groups/crm/contacts_controller_spec.rb | 8 - .../crm/organizations_controller_spec.rb | 8 - spec/requests/ide_controller_spec.rb | 25 + .../oauth_application_ids_controller_spec.rb | 42 + .../mailgun/webhooks_controller_spec.rb | 149 + .../members/mailgun/permanent_failure_spec.rb | 128 - .../oauth/authorizations_controller_spec.rb | 76 + spec/requests/oauth/tokens_controller_spec.rb | 5 +- spec/requests/openid_connect_spec.rb | 2 +- .../projects/environments_controller_spec.rb | 36 + .../projects/issue_links_controller_spec.rb | 5 +- .../merge_requests_controller_spec.rb | 64 + spec/requests/pwa_controller_spec.rb | 9 + spec/requests/robots_txt_spec.rb | 3 + spec/routing/project_routing_spec.rb | 61 +- .../migration/background_migrations_spec.rb | 41 + .../cop/migration/migration_record_spec.rb | 56 +- .../cop/static_translation_definition_spec.rb | 54 +- spec/rubocop/formatter/todo_formatter_spec.rb | 9 +- spec/rubocop/todo_dir_spec.rb | 6 - .../lib/glfm/update_example_snapshots_spec.rb | 483 +- .../analytics_issue_entity_spec.rb | 25 + .../basic_deploy_key_entity_spec.rb} | 18 +- .../deploy_keys/deploy_key_entity_spec.rb | 51 + spec/serializers/deployment_entity_spec.rb | 12 +- spec/serializers/diff_file_entity_spec.rb | 33 + .../environment_serializer_spec.rb | 23 +- .../event_entity_spec.rb} | 12 +- .../field_entity_spec.rb} | 32 +- spec/serializers/issue_board_entity_spec.rb | 6 + spec/serializers/issue_entity_spec.rb | 6 + .../issue_sidebar_basic_entity_spec.rb | 10 - .../linked_project_issue_entity_spec.rb | 16 + .../merge_request_poll_widget_entity_spec.rb | 36 + .../merge_request_widget_entity_spec.rb | 40 - .../prometheus_alert_entity_spec.rb | 4 - .../alerts/update_service_spec.rb | 8 - .../bulk_create_integration_service_spec.rb | 44 +- .../create_pipeline_trackers_service_spec.rb | 168 + .../bulk_imports/file_export_service_spec.rb | 41 +- .../lfs_objects_export_service_spec.rb | 12 + .../repository_bundle_export_service_spec.rb | 46 + .../bulk_update_integration_service_spec.rb | 30 +- .../ci/abort_pipelines_service_spec.rb | 23 - .../ci/after_requeue_job_service_spec.rb | 45 + .../rate_limit_spec.rb | 6 +- .../ci/create_pipeline_service_spec.rb | 11 +- .../destroy_all_expired_service_spec.rb | 10 + .../destroy_batch_service_spec.rb | 131 +- .../coverage_report_service_spec.rb | 32 +- .../ci/process_sync_events_service_spec.rb | 5 +- .../schedule_update_service_spec.rb | 63 - .../deployments/create_service_spec.rb | 37 +- .../update_environment_service_spec.rb | 4 +- spec/services/emails/confirm_service_spec.rb | 6 +- .../environments/auto_stop_service_spec.rb | 2 +- .../environments/stop_service_spec.rb | 60 +- spec/services/event_create_service_spec.rb | 80 +- spec/services/git/branch_push_service_spec.rb | 2 +- spec/services/import/fogbugz_service_spec.rb | 150 + .../prepare_update_service_spec.rb | 8 - .../timeline_events/create_service_spec.rb | 30 + .../timeline_events/destroy_service_spec.rb | 16 +- .../timeline_events/update_service_spec.rb | 13 + .../integrations/propagate_service_spec.rb | 2 +- spec/services/issues/create_service_spec.rb | 45 + spec/services/issues/move_service_spec.rb | 14 - spec/services/issues/update_service_spec.rb | 8 - .../create_service_spec.rb | 46 +- .../jira_import/start_import_service_spec.rb | 2 +- .../jira_import/users_importer_spec.rb | 2 +- .../markdown_content_rewriter_service_spec.rb | 83 +- .../approve_access_request_service_spec.rb | 55 +- spec/services/members/create_service_spec.rb | 12 + spec/services/members/creator_service_spec.rb | 4 +- spec/services/members/destroy_service_spec.rb | 42 +- .../groups/bulk_creator_service_spec.rb | 10 - .../members/groups/creator_service_spec.rb | 16 +- spec/services/members/invite_service_spec.rb | 15 +- .../mailgun/process_webhook_service_spec.rb | 42 - .../projects/bulk_creator_service_spec.rb | 10 - .../members/projects/creator_service_spec.rb | 16 +- spec/services/members/update_service_spec.rb | 76 +- .../merge_requests/build_service_spec.rb | 104 + .../create_pipeline_service_spec.rb | 13 + .../merge_requests/create_service_spec.rb | 6 +- .../merge_requests/merge_service_spec.rb | 9 +- .../mergeability/run_checks_service_spec.rb | 22 +- .../merge_requests/post_merge_service_spec.rb | 26 - .../merge_requests/refresh_service_spec.rb | 34 +- .../dashboard/panel_preview_service_spec.rb | 1 - spec/services/notes/copy_service_spec.rb | 28 +- spec/services/notes/create_service_spec.rb | 4 +- .../build_service_spec.rb | 10 +- spec/services/notification_service_spec.rb | 27 +- .../cleanup/update_policy_service_spec.rb | 105 + .../go/create_package_service_spec.rb | 16 + .../append_package_file_service_spec.rb | 21 +- .../rubygems/create_gemspec_service_spec.rb | 13 + spec/services/pages/delete_service_spec.rb | 6 + .../create_acme_order_service_spec.rb | 10 +- .../projects/after_rename_service_spec.rb | 34 - .../projects/autocomplete_service_spec.rb | 1 - .../projects/destroy_rollback_service_spec.rb | 46 - .../services/projects/destroy_service_spec.rb | 57 +- ..._artifacts_size_statistics_service_spec.rb | 13 +- .../projects/transfer_service_spec.rb | 12 - .../projects/update_pages_service_spec.rb | 19 + .../quick_actions/interpret_service_spec.rb | 174 +- spec/services/releases/create_service_spec.rb | 21 +- .../repositories/changelog_service_spec.rb | 48 +- .../destroy_rollback_service_spec.rb | 85 - .../repositories/destroy_service_spec.rb | 74 +- .../shell_destroy_service_spec.rb | 26 - .../create_service_spec.rb | 40 +- spec/services/service_response_spec.rb | 75 + .../snippets/bulk_destroy_service_spec.rb | 55 +- .../services/snippets/destroy_service_spec.rb | 13 - .../static_site_editor/config_service_spec.rb | 126 - .../terraform/remote_state_handler_spec.rb | 40 +- .../terraform/states/destroy_service_spec.rb | 36 + .../states/trigger_destroy_service_spec.rb | 45 + ...ser_project_access_changed_service_spec.rb | 13 + spec/services/web_hook_service_spec.rb | 201 +- .../web_hooks/destroy_service_spec.rb | 80 +- .../web_hooks/log_destroy_service_spec.rb | 56 + .../work_items/update_service_spec.rb | 15 +- spec/spec_helper.rb | 18 +- spec/support/factory_bot.rb | 1 + spec/support/graphql/field_inspection.rb | 2 +- spec/support/graphql/field_selection.rb | 8 +- spec/support/graphql/resolver_factories.rb | 4 +- spec/support/helpers/callouts_test_helper.rb | 9 + .../countries_controller_test_helper.rb | 9 + spec/support/helpers/doc_url_helper.rb | 21 + .../helpers/emails_helper_test_helper.rb | 9 + spec/support/helpers/form_builder_helpers.rb | 13 + spec/support/helpers/gitaly_setup.rb | 14 +- spec/support/helpers/graphql_helpers.rb | 155 +- ..._helper.rb => jira_integration_helpers.rb} | 20 +- spec/support/helpers/kubernetes_helpers.rb | 37 +- spec/support/helpers/login_helpers.rb | 8 + .../support/helpers/namespaces_test_helper.rb | 4 + spec/support/helpers/next_instance_of.rb | 2 +- spec/support/helpers/project_helpers.rb | 4 +- .../helpers/project_template_test_helper.rb | 17 + .../helpers/search_settings_helpers.rb | 2 +- spec/support/helpers/stub_method_calls.rb | 66 + .../helpers/subscription_portal_helper.rb | 13 + spec/support/helpers/test_env.rb | 2 +- .../background_migrations_matchers.rb | 6 +- spec/support/matchers/exceed_query_limit.rb | 92 +- .../integrations_shared_context.rb | 40 +- .../finders/issues_finder_shared_contexts.rb | 26 +- .../work_items_finder_shared_contexts.rb | 79 + .../structured_logger_shared_context.rb | 18 +- .../markdown_snapshot_shared_examples.rb | 64 + .../navbar_structure_context.rb | 4 +- .../policies/project_policy_shared_context.rb | 2 +- .../multiple_issue_boards_shared_examples.rb | 10 +- .../components/pajamas_shared_examples.rb | 13 + ...environments_controller_shared_examples.rb | 17 - ...ubish_import_controller_shared_examples.rb | 13 + .../features/2fa_shared_examples.rb | 4 +- .../features/access_tokens_shared_examples.rb | 6 +- .../cascading_settings_shared_examples.rb | 3 +- .../container_registry_shared_examples.rb | 5 +- .../content_editor_shared_examples.rb | 70 + ...user_dropdown_behaviors_shared_examples.rb | 23 - .../features/runners_shared_examples.rb | 16 +- .../features/sidebar_shared_examples.rb | 5 +- .../finders/issues_finder_shared_examples.rb | 1471 + .../graphql/members_shared_examples.rb | 6 +- ...agement_timeline_events_shared_examples.rb | 1 + .../ci_configuration_shared_examples.rb | 6 +- ...amples.rb => n_plus_one_query_examples.rb} | 0 .../packages_resolvers_shared_examples.rb | 12 +- ...tlab_style_deprecations_shared_examples.rb | 8 +- .../integrations/integration_settings_form.rb | 28 +- .../lib/gitlab/ci/ci_trace_shared_examples.rb | 4 +- ...lished_connection_stack_shared_examples.rb | 2 +- .../lib/gitlab/event_store_shared_examples.rb | 2 + ...lti_store_feature_flags_shared_examples.rb | 51 + .../application_setting_shared_examples.rb | 12 +- .../commit_signature_shared_examples.rb | 51 + .../concerns/limitable_shared_examples.rb | 24 + .../base_data_fields_shared_examples.rb | 51 + .../models/member_shared_examples.rb | 347 +- .../members_notifications_shared_example.rb | 12 + .../models/wiki_shared_examples.rb | 8 - .../namespaces/traversal_scope_examples.rb | 22 + ...stics_refresh_conflicts_shared_examples.rb | 21 + .../api/pypi_packages_shared_examples.rb | 56 + ...onments_controller_spec_shared_examples.rb | 18 + .../environment_serializer_shared_examples.rb | 10 +- .../alert_management_shared_examples.rb | 2 +- .../items_list_service_shared_examples.rb | 40 +- .../views/pagination_shared_examples.rb | 35 + ...ground_migration_worker_shared_examples.rb | 272 +- ...ground_migration_worker_shared_examples.rb | 44 +- .../workers/idempotency_shared_examples.rb | 14 +- .../helpers/stub_method_calls_spec.rb | 107 + .../exceed_query_limit_helpers_spec.rb | 8 +- .../gitlab/background_migrations_rake_spec.rb | 2 +- spec/tasks/gitlab/backup_rake_spec.rb | 2 +- .../rollback/bump_ci_sequences_rake_spec.rb | 103 + spec/tasks/gitlab/db/lock_writes_rake_spec.rb | 177 + .../gitlab/db/validate_config_rake_spec.rb | 41 + spec/tasks/gitlab/db_rake_spec.rb | 17 +- spec/tasks/gitlab/pages_rake_spec.rb | 80 - spec/tasks/rubocop_rake_spec.rb | 11 +- spec/tooling/danger/datateam_spec.rb | 14 + spec/tooling/danger/project_helper_spec.rb | 10 +- .../lib/tooling/find_codeowners_spec.rb | 107 +- .../lib/tooling/test_map_generator_spec.rb | 14 +- spec/tooling/quality/test_level_spec.rb | 43 +- spec/uploaders/gitlab_uploader_spec.rb | 6 + spec/uploaders/metric_image_uploader_spec.rb | 11 + spec/uploaders/object_storage_spec.rb | 44 + .../_repository_check.html.haml_spec.rb | 75 + .../general.html.haml_spec.rb | 29 + .../layouts/application.html.haml_spec.rb | 29 + ...ervice_desk_info_content.html.haml_spec.rb | 2 +- .../integrations}/edit.html.haml_spec.rb | 2 +- .../projects/tags/index.html.haml_spec.rb | 33 +- ...e_project_deletion_alert.html.haml_spec.rb | 54 + spec/workers/build_success_worker_spec.rb | 17 +- .../bulk_imports/pipeline_worker_spec.rb | 142 +- spec/workers/ci/archive_trace_worker_spec.rb | 28 + ...esource_from_resource_group_worker_spec.rb | 2 +- ...rb => activate_integration_worker_spec.rb} | 21 +- ... => deactivate_integration_worker_spec.rb} | 31 +- .../wait_for_uninstall_app_worker_spec.rb | 4 +- spec/workers/concerns/cronjob_queue_spec.rb | 32 +- .../limited_capacity/job_tracker_spec.rb | 2 +- .../concerns/worker_attributes_spec.rb | 116 +- .../migration/enqueuer_worker_spec.rb | 882 +- .../migration/guard_worker_spec.rb | 106 +- .../ci_database_worker_spec.rb | 2 +- ...atched_background_migration_worker_spec.rb | 2 +- ...e_mirrors_consistency_check_worker_spec.rb | 29 +- ...t_mirrors_consistency_check_worker_spec.rb | 29 +- ...delete_container_repository_worker_spec.rb | 124 +- spec/workers/deployments/hooks_worker_spec.rb | 8 +- .../environments/auto_stop_worker_spec.rb | 2 +- spec/workers/every_sidekiq_worker_spec.rb | 15 +- spec/workers/expire_job_cache_worker_spec.rb | 31 - .../expire_pipeline_cache_worker_spec.rb | 38 - .../stage/import_issues_worker_spec.rb | 2 +- .../stage/import_labels_worker_spec.rb | 2 +- .../gitlab_service_ping_worker_spec.rb | 56 +- .../execute_worker_spec.rb} | 24 +- .../{ => integrations}/irker_worker_spec.rb | 22 +- spec/workers/issue_placement_worker_spec.rb | 151 - spec/workers/issue_rebalancing_worker_spec.rb | 104 - .../loose_foreign_keys/cleanup_worker_spec.rb | 8 +- .../create_pipeline_worker_spec.rb | 37 +- .../update_head_pipeline_worker_spec.rb | 28 +- ...mespaceless_project_destroy_worker_spec.rb | 77 - spec/workers/pages_transfer_worker_spec.rb | 38 - spec/workers/pipeline_hooks_worker_spec.rb | 10 + .../pipeline_notification_worker_spec.rb | 14 + .../project_daily_statistics_worker_spec.rb | 35 - ...tive_projects_deletion_cron_worker_spec.rb | 48 +- .../create_default_alerts_worker_spec.rb | 13 - .../repository_remove_remote_worker_spec.rb | 48 - ..._merge_request_cleanup_refs_worker_spec.rb | 6 + .../terraform/states/destroy_worker_spec.rb | 30 + .../update_merge_requests_worker_spec.rb | 49 +- .../deactivate_dormant_users_worker_spec.rb | 9 +- spec/workers/web_hooks/destroy_worker_spec.rb | 23 +- .../web_hooks/log_destroy_worker_spec.rb | 86 + tests.yml | 2 +- tooling/config/CODEOWNERS.yml | 91 +- tooling/danger/datateam.rb | 15 +- tooling/danger/project_helper.rb | 8 +- tooling/lib/tooling/find_codeowners.rb | 32 +- tooling/quality/test_level.rb | 9 +- .../cluster_management.tar.gz | Bin 14169 -> 14184 bytes .../learn_gitlab_ultimate.tar.gz | Bin 115092 -> 115431 bytes vendor/project_templates/middleman.tar.gz | Bin 10917 -> 10935 bytes vendor/project_templates/pelican.tar.gz | Bin 0 -> 43159 bytes .../tencent_serverless_framework.tar.gz | Bin 119482 -> 119709 bytes .../cmd/gitlab-resize-image/png/reader.go | 3 +- .../gitlab-resize-image/png/reader_test.go | 5 +- workhorse/config_test.go | 84 +- workhorse/gitaly_test.go | 3 +- workhorse/go.mod | 98 +- workhorse/go.sum | 293 +- workhorse/internal/api/api.go | 46 +- workhorse/internal/api/block_test.go | 4 +- workhorse/internal/artifacts/entry_test.go | 14 +- workhorse/internal/badgateway/roundtripper.go | 4 +- .../internal/badgateway/roundtripper_test.go | 4 +- workhorse/internal/config/config.go | 1 + workhorse/internal/git/archive.go | 3 +- workhorse/internal/git/archive_test.go | 4 +- workhorse/internal/git/upload-pack_test.go | 8 +- workhorse/internal/helper/helpers.go | 6 +- workhorse/internal/helper/tempfile.go | 3 +- workhorse/internal/helper/writeafterreader.go | 3 +- .../internal/helper/writeafterreader_test.go | 7 +- workhorse/internal/httprs/httprs.go | 3 +- workhorse/internal/httprs/httprs_test.go | 11 +- .../imageresizer/image_resizer_test.go | 10 +- .../internal/lsif_transformer/parser/cache.go | 5 +- .../lsif_transformer/parser/cache_test.go | 6 +- .../internal/lsif_transformer/parser/docs.go | 4 +- .../lsif_transformer/parser/docs_test.go | 6 +- .../lsif_transformer/parser/hovers.go | 9 +- .../lsif_transformer/parser/hovers_test.go | 2 +- .../lsif_transformer/parser/parser.go | 11 +- .../lsif_transformer/parser/parser_test.go | 7 +- .../parser/performance_test.go | 5 +- .../lsif_transformer/parser/ranges.go | 8 +- .../lsif_transformer/parser/ranges_test.go | 2 +- .../lsif_transformer/parser/references.go | 8 +- .../parser/references_test.go | 4 +- workhorse/internal/secret/jwt.go | 2 +- workhorse/internal/secret/secret.go | 4 +- .../contentprocessor/contentprocessor_test.go | 3 +- workhorse/internal/senddata/writer_test.go | 3 +- workhorse/internal/sendfile/sendfile.go | 3 +- workhorse/internal/sendfile/sendfile_test.go | 15 +- workhorse/internal/sendurl/sendurl_test.go | 3 +- workhorse/internal/staticpages/deploy_page.go | 4 +- .../internal/staticpages/deploy_page_test.go | 15 +- workhorse/internal/staticpages/error_pages.go | 4 +- .../internal/staticpages/error_pages_test.go | 39 +- .../internal/staticpages/servefile_test.go | 25 +- workhorse/internal/testhelper/gitaly.go | 6 +- workhorse/internal/testhelper/testhelper.go | 9 +- .../internal/upload/artifacts_store_test.go | 25 +- .../internal/upload/artifacts_upload_test.go | 17 +- .../internal/upload/artifacts_uploader.go | 65 +- workhorse/internal/upload/body_uploader.go | 6 +- .../internal/upload/body_uploader_test.go | 5 +- .../upload/destination/destination.go | 25 +- .../upload/destination/destination_test.go | 54 +- .../destination/filestore/filestore_test.go | 5 +- .../objectstore/gocloud_object_test.go | 3 +- .../destination/objectstore/multipart.go | 9 +- .../destination/objectstore/multipart_test.go | 4 +- .../upload/destination/objectstore/object.go | 3 +- .../destination/objectstore/s3_object_test.go | 18 +- .../destination/objectstore/s3_session.go | 7 +- .../objectstore/test/gocloud_stub.go | 12 +- .../objectstore/test/objectstore_stub.go | 24 +- .../destination/objectstore/test/s3_stub.go | 10 +- .../upload/destination/reader_test.go | 4 +- .../upload/destination/upload_opts.go | 2 - .../upload/destination/upload_opts_test.go | 3 +- workhorse/internal/upload/exif.go | 91 + workhorse/internal/upload/exif/exif_test.go | 7 +- .../internal/upload/multipart_uploader.go | 31 +- workhorse/internal/upload/rewrite.go | 183 +- .../internal/upload/saved_file_tracker.go | 14 +- .../internal/upload/skip_rails_authorizer.go | 22 - workhorse/internal/upload/uploads.go | 11 +- workhorse/internal/upload/uploads_test.go | 146 +- workhorse/internal/upstream/handlers_test.go | 6 +- .../roundtripper/roundtripper_test.go | 4 +- workhorse/internal/upstream/routes.go | 2 +- workhorse/internal/upstream/upstream_test.go | 3 +- workhorse/internal/utils/svg/README.md | 4 +- .../internal/zipartifacts/metadata_test.go | 7 +- workhorse/logging.go | 5 +- workhorse/main.go | 18 +- workhorse/main_test.go | 11 +- workhorse/proxy_test.go | 4 +- workhorse/sendfile_test.go | 8 +- workhorse/upload_test.go | 28 +- yarn.lock | 1948 +- 5217 files changed, 265254 insertions(+), 151321 deletions(-) create mode 100644 .gitlab/issue_templates/Service Ping reporting and monitoring.md create mode 100644 .rubocop_todo/cop/static_translation_definition.yml create mode 100644 .rubocop_todo/fips/md5.yml create mode 100644 .rubocop_todo/fips/open_ssl.yml create mode 100644 .rubocop_todo/fips/sha1.yml delete mode 100644 .rubocop_todo/graphql/ordered_arguments.yml create mode 100644 .rubocop_todo/migration/background_migrations.yml delete mode 100644 .rubocop_todo/rails/mailer_name.yml create mode 100644 app/assets/javascripts/access_tokens/components/access_token_table_app.vue create mode 100644 app/assets/javascripts/access_tokens/components/constants.js create mode 100644 app/assets/javascripts/access_tokens/components/new_access_token_app.vue create mode 100644 app/assets/javascripts/admin/application_settings/inactive_project_deletion/components/form.vue create mode 100644 app/assets/javascripts/admin/application_settings/inactive_project_deletion/index.js create mode 100644 app/assets/javascripts/batch_comments/components/submit_dropdown.vue create mode 100644 app/assets/javascripts/behaviors/components/sandboxed_mermaid.vue create mode 100644 app/assets/javascripts/ci_variable_list/components/legacy_ci_environments_dropdown.vue create mode 100644 app/assets/javascripts/ci_variable_list/components/legacy_ci_variable_modal.vue create mode 100644 app/assets/javascripts/ci_variable_list/components/legacy_ci_variable_settings.vue create mode 100644 app/assets/javascripts/ci_variable_list/components/legacy_ci_variable_table.vue create mode 100644 app/assets/javascripts/clusters/agents/components/create_token_modal.vue create mode 100644 app/assets/javascripts/content_editor/components/toolbar_more_dropdown.vue create mode 100644 app/assets/javascripts/content_editor/components/wrappers/footnote_definition.vue create mode 100644 app/assets/javascripts/emoji/utils.js create mode 100644 app/assets/javascripts/group_settings/stale_runner_cleanup.js create mode 100644 app/assets/javascripts/groups/components/empty_state.vue create mode 100644 app/assets/javascripts/groups/components/group_name_and_path.vue create mode 100644 app/assets/javascripts/groups/create_edit_form.js create mode 100644 app/assets/javascripts/groups/settings/api/access_dropdown_api.js create mode 100644 app/assets/javascripts/groups/settings/components/access_dropdown.vue create mode 100644 app/assets/javascripts/groups/settings/constants.js create mode 100644 app/assets/javascripts/groups/settings/init_access_dropdown.js delete mode 100644 app/assets/javascripts/integrations/edit/components/jira_upgrade_cta.vue create mode 100644 app/assets/javascripts/integrations/edit/components/sections/configuration.vue create mode 100644 app/assets/javascripts/integrations/edit/components/sections/trigger.vue create mode 100644 app/assets/javascripts/integrations/edit/components/trigger_field.vue create mode 100644 app/assets/javascripts/issuable/popover/components/issue_popover.vue rename app/assets/javascripts/{mr_popover => issuable/popover}/components/mr_popover.vue (77%) rename app/assets/javascripts/{mr_popover => issuable/popover}/constants.js (100%) create mode 100644 app/assets/javascripts/issuable/popover/index.js create mode 100644 app/assets/javascripts/issuable/popover/queries/issue.query.graphql rename app/assets/javascripts/{mr_popover => issuable/popover}/queries/merge_request.query.graphql (67%) delete mode 100644 app/assets/javascripts/issues/list/queries/get_issues_counts_without_crm.query.graphql delete mode 100644 app/assets/javascripts/issues/list/queries/get_issues_without_crm.query.graphql create mode 100644 app/assets/javascripts/issues/show/components/incidents/graphql/queries/get_timeline_events.query.graphql create mode 100644 app/assets/javascripts/issues/show/components/incidents/timeline_events_list.vue create mode 100644 app/assets/javascripts/issues/show/components/incidents/timeline_events_list_item.vue create mode 100644 app/assets/javascripts/issues/show/components/incidents/timeline_events_tab.vue create mode 100644 app/assets/javascripts/issues/show/components/incidents/utils.js delete mode 100644 app/assets/javascripts/monitoring/services/alerts_service.js delete mode 100644 app/assets/javascripts/mr_popover/index.js create mode 100644 app/assets/javascripts/packages_and_registries/package_registry/components/details/additional_metadata_loader.vue create mode 100644 app/assets/javascripts/packages_and_registries/package_registry/components/details/package_history_loader.vue create mode 100644 app/assets/javascripts/packages_and_registries/package_registry/graphql/queries/get_package_metadata.query.graphql create mode 100644 app/assets/javascripts/packages_and_registries/package_registry/graphql/queries/get_package_pipelines.query.graphql create mode 100644 app/assets/javascripts/packages_and_registries/settings/project/components/container_expiration_policy.vue rename app/assets/javascripts/packages_and_registries/settings/project/components/{settings_form.vue => container_expiration_policy_form.vue} (100%) create mode 100644 app/assets/javascripts/pages/admin/application_settings/repository/index.js create mode 100644 app/assets/javascripts/pages/projects/settings/branch_rules/index.js rename app/assets/javascripts/pages/projects/{services => settings/integrations}/edit/index.js (100%) rename app/assets/javascripts/pages/projects/settings/integrations/{show => index}/index.js (100%) delete mode 100644 app/assets/javascripts/pages/projects/static_site_editor/show/index.js delete mode 100644 app/assets/javascripts/pages/projects/tags/remove_tag.js create mode 100644 app/assets/javascripts/pipeline_editor/components/validate/ci_validate.vue rename app/assets/javascripts/pipeline_wizard/components/{input.vue => input_wrapper.vue} (100%) create mode 100644 app/assets/javascripts/pipeline_wizard/templates/.gitkeep delete mode 100644 app/assets/javascripts/pipelines/components/notification/deprecated_type_keyword_notification.vue delete mode 100644 app/assets/javascripts/pipelines/graphql/queries/get_pipeline_warnings.query.graphql delete mode 100644 app/assets/javascripts/pipelines/pipeline_details_notification.js create mode 100644 app/assets/javascripts/projects/clusters_deprecation_alert/components/clusters_deprecation_alert.vue create mode 100644 app/assets/javascripts/projects/clusters_deprecation_alert/index.js create mode 100644 app/assets/javascripts/projects/settings/branch_rules/components/branch_dropdown.vue create mode 100644 app/assets/javascripts/projects/settings/branch_rules/components/rule_edit.vue create mode 100644 app/assets/javascripts/projects/settings/branch_rules/mount_branch_rules.js create mode 100644 app/assets/javascripts/projects/settings/branch_rules/queries/branches.query.graphql create mode 100644 app/assets/javascripts/projects/settings/repository/branch_rules/app.vue create mode 100644 app/assets/javascripts/projects/settings/repository/branch_rules/mount_branch_rules.js create mode 100644 app/assets/javascripts/repository/components/blob_viewers/sketch_viewer.vue create mode 100644 app/assets/javascripts/runner/components/runner_list_empty_state.vue create mode 100644 app/assets/javascripts/runner/graphql/list/list_item_shared.fragment.graphql create mode 100644 app/assets/javascripts/runner/graphql/show/runner_details.fragment.graphql create mode 100644 app/assets/javascripts/runner/graphql/show/runner_details_shared.fragment.graphql create mode 100644 app/assets/javascripts/runner/group_runner_show/group_runner_show_app.vue create mode 100644 app/assets/javascripts/runner/group_runner_show/index.js delete mode 100644 app/assets/javascripts/security_configuration/graphql/current_license.query.graphql create mode 100644 app/assets/javascripts/sidebar/components/time_tracking/graphql/cache_update.js create mode 100644 app/assets/javascripts/sidebar/components/time_tracking/graphql/mutations/delete_timelog.mutation.graphql create mode 100644 app/assets/javascripts/sidebar/queries/escalation_status.fragment.graphql delete mode 100644 app/assets/javascripts/sidebar/utils.js delete mode 100644 app/assets/javascripts/static_site_editor/components/app.vue delete mode 100644 app/assets/javascripts/static_site_editor/components/edit_area.vue delete mode 100644 app/assets/javascripts/static_site_editor/components/edit_drawer.vue delete mode 100644 app/assets/javascripts/static_site_editor/components/edit_header.vue delete mode 100644 app/assets/javascripts/static_site_editor/components/edit_meta_controls.vue delete mode 100644 app/assets/javascripts/static_site_editor/components/edit_meta_modal.vue delete mode 100644 app/assets/javascripts/static_site_editor/components/front_matter_controls.vue delete mode 100644 app/assets/javascripts/static_site_editor/components/invalid_content_message.vue delete mode 100644 app/assets/javascripts/static_site_editor/components/publish_toolbar.vue delete mode 100644 app/assets/javascripts/static_site_editor/components/skeleton_loader.vue delete mode 100644 app/assets/javascripts/static_site_editor/components/submit_changes_error.vue delete mode 100644 app/assets/javascripts/static_site_editor/components/unsaved_changes_confirm_dialog.vue delete mode 100644 app/assets/javascripts/static_site_editor/constants.js delete mode 100644 app/assets/javascripts/static_site_editor/graphql/index.js delete mode 100644 app/assets/javascripts/static_site_editor/graphql/mutations/has_submitted_changes.mutation.graphql delete mode 100644 app/assets/javascripts/static_site_editor/graphql/mutations/submit_content_changes.mutation.graphql delete mode 100644 app/assets/javascripts/static_site_editor/graphql/queries/app_data.query.graphql delete mode 100644 app/assets/javascripts/static_site_editor/graphql/queries/saved_content_meta.query.graphql delete mode 100644 app/assets/javascripts/static_site_editor/graphql/queries/source_content.query.graphql delete mode 100644 app/assets/javascripts/static_site_editor/graphql/resolvers/file.js delete mode 100644 app/assets/javascripts/static_site_editor/graphql/resolvers/has_submitted_changes.js delete mode 100644 app/assets/javascripts/static_site_editor/graphql/resolvers/submit_content_changes.js delete mode 100644 app/assets/javascripts/static_site_editor/graphql/typedefs.graphql delete mode 100644 app/assets/javascripts/static_site_editor/image_repository.js delete mode 100644 app/assets/javascripts/static_site_editor/index.js delete mode 100644 app/assets/javascripts/static_site_editor/pages/home.vue delete mode 100644 app/assets/javascripts/static_site_editor/pages/success.vue delete mode 100644 app/assets/javascripts/static_site_editor/rich_content_editor/constants.js delete mode 100644 app/assets/javascripts/static_site_editor/rich_content_editor/modals/add_image/add_image_modal.vue delete mode 100644 app/assets/javascripts/static_site_editor/rich_content_editor/modals/add_image/upload_image_tab.vue delete mode 100644 app/assets/javascripts/static_site_editor/rich_content_editor/modals/insert_video_modal.vue delete mode 100644 app/assets/javascripts/static_site_editor/rich_content_editor/rich_content_editor.vue delete mode 100644 app/assets/javascripts/static_site_editor/rich_content_editor/services/build_custom_renderer.js delete mode 100644 app/assets/javascripts/static_site_editor/rich_content_editor/services/build_html_to_markdown_renderer.js delete mode 100644 app/assets/javascripts/static_site_editor/rich_content_editor/services/editor_service.js delete mode 100644 app/assets/javascripts/static_site_editor/rich_content_editor/services/renderers/build_uneditable_token.js delete mode 100644 app/assets/javascripts/static_site_editor/rich_content_editor/services/renderers/render_attribute_definition.js delete mode 100644 app/assets/javascripts/static_site_editor/rich_content_editor/services/renderers/render_embedded_ruby_text.js delete mode 100644 app/assets/javascripts/static_site_editor/rich_content_editor/services/renderers/render_font_awesome_html_inline.js delete mode 100644 app/assets/javascripts/static_site_editor/rich_content_editor/services/renderers/render_heading.js delete mode 100644 app/assets/javascripts/static_site_editor/rich_content_editor/services/renderers/render_html_block.js delete mode 100644 app/assets/javascripts/static_site_editor/rich_content_editor/services/renderers/render_identifier_instance_text.js delete mode 100644 app/assets/javascripts/static_site_editor/rich_content_editor/services/renderers/render_identifier_paragraph.js delete mode 100644 app/assets/javascripts/static_site_editor/rich_content_editor/services/renderers/render_list_item.js delete mode 100644 app/assets/javascripts/static_site_editor/rich_content_editor/services/renderers/render_softbreak.js delete mode 100644 app/assets/javascripts/static_site_editor/rich_content_editor/services/renderers/render_utils.js delete mode 100644 app/assets/javascripts/static_site_editor/rich_content_editor/services/sanitize_html.js delete mode 100644 app/assets/javascripts/static_site_editor/rich_content_editor/toolbar_item.vue delete mode 100644 app/assets/javascripts/static_site_editor/router/constants.js delete mode 100644 app/assets/javascripts/static_site_editor/router/index.js delete mode 100644 app/assets/javascripts/static_site_editor/router/routes.js delete mode 100644 app/assets/javascripts/static_site_editor/services/formatter.js delete mode 100644 app/assets/javascripts/static_site_editor/services/front_matterify.js delete mode 100644 app/assets/javascripts/static_site_editor/services/generate_branch_name.js delete mode 100644 app/assets/javascripts/static_site_editor/services/image_service.js delete mode 100644 app/assets/javascripts/static_site_editor/services/load_source_content.js delete mode 100644 app/assets/javascripts/static_site_editor/services/parse_source_file.js delete mode 100644 app/assets/javascripts/static_site_editor/services/renderers/render_image.js delete mode 100644 app/assets/javascripts/static_site_editor/services/submit_content_changes.js delete mode 100644 app/assets/javascripts/static_site_editor/services/templater.js create mode 100644 app/assets/javascripts/tags/components/delete_tag_modal.vue create mode 100644 app/assets/javascripts/tags/event_hub.js create mode 100644 app/assets/javascripts/tags/init_delete_tag_modal.js create mode 100644 app/assets/javascripts/vue_merge_request_widget/components/approvals/humanized_text.js create mode 100644 app/assets/javascripts/vue_merge_request_widget/components/extensions/telemetry.js delete mode 100644 app/assets/javascripts/vue_merge_request_widget/components/mr_widget_header.vue create mode 100644 app/assets/javascripts/vue_merge_request_widget/extensions/security_reports/index.js create mode 100644 app/assets/javascripts/vue_shared/components/color_select_dropdown/color_item.vue create mode 100644 app/assets/javascripts/vue_shared/components/color_select_dropdown/color_select_root.vue create mode 100644 app/assets/javascripts/vue_shared/components/color_select_dropdown/constants.js create mode 100644 app/assets/javascripts/vue_shared/components/color_select_dropdown/dropdown_contents.vue create mode 100644 app/assets/javascripts/vue_shared/components/color_select_dropdown/dropdown_contents_color_view.vue create mode 100644 app/assets/javascripts/vue_shared/components/color_select_dropdown/dropdown_header.vue create mode 100644 app/assets/javascripts/vue_shared/components/color_select_dropdown/dropdown_value.vue create mode 100644 app/assets/javascripts/vue_shared/components/color_select_dropdown/graphql/epic_color.query.graphql create mode 100644 app/assets/javascripts/vue_shared/components/color_select_dropdown/graphql/epic_update_color.mutation.graphql create mode 100644 app/assets/javascripts/vue_shared/components/color_select_dropdown/utils.js create mode 100644 app/assets/javascripts/vue_shared/components/source_viewer/plugins/index.js create mode 100644 app/assets/javascripts/vue_shared/components/source_viewer/plugins/wrap_comments.js create mode 100644 app/assets/javascripts/vue_shared/components/user_popover/constants.js create mode 100644 app/assets/javascripts/work_items/components/update_work_item.js create mode 100644 app/assets/javascripts/work_items/components/work_item_assignees.vue create mode 100644 app/assets/javascripts/work_items/components/work_item_description.vue create mode 100644 app/assets/javascripts/work_items/components/work_item_links/index.js create mode 100644 app/assets/javascripts/work_items/components/work_item_links/work_item_links.vue create mode 100644 app/assets/javascripts/work_items/components/work_item_links/work_item_links_form.vue create mode 100644 app/assets/javascripts/work_items/components/work_item_weight.vue create mode 100644 app/assets/javascripts/work_items/graphql/local_update_work_item.mutation.graphql create mode 100644 app/assets/javascripts/work_items/graphql/typedefs.graphql create mode 100644 app/assets/javascripts/work_items/graphql/update_work_item_task.mutation.graphql create mode 100644 app/assets/javascripts/work_items/graphql/update_work_item_widgets.mutation.graphql create mode 100644 app/assets/javascripts/work_items/graphql/work_item_links.query.graphql delete mode 100644 app/assets/stylesheets/framework/issue_box.scss delete mode 100644 app/assets/stylesheets/pages/pages.scss rename app/assets/stylesheets/themes/{theme_dark.scss => theme_gray.scss} (92%) rename app/assets/stylesheets/themes/{theme_light.scss => theme_light_gray.scss} (91%) create mode 100644 app/components/pajamas/banner_component.html.haml create mode 100644 app/components/pajamas/banner_component.rb create mode 100644 app/components/pajamas/button_component.html.haml create mode 100644 app/components/pajamas/button_component.rb create mode 100644 app/components/pajamas/card_component.html.haml create mode 100644 app/components/pajamas/card_component.rb create mode 100644 app/components/pajamas/checkbox_component.html.haml create mode 100644 app/components/pajamas/checkbox_component.rb create mode 100644 app/components/pajamas/concerns/checkbox_radio_label_with_help_text.rb create mode 100644 app/components/pajamas/concerns/checkbox_radio_options.rb create mode 100644 app/components/pajamas/radio_component.html.haml create mode 100644 app/components/pajamas/radio_component.rb create mode 100644 app/controllers/concerns/project_stats_refresh_conflicts_guard.rb create mode 100644 app/controllers/concerns/zuora_csp.rb create mode 100644 app/controllers/jira_connect/oauth_application_ids_controller.rb create mode 100644 app/controllers/mailgun/webhooks_controller.rb delete mode 100644 app/controllers/members/mailgun/permanent_failures_controller.rb delete mode 100644 app/controllers/projects/service_hook_logs_controller.rb delete mode 100644 app/controllers/projects/services_controller.rb create mode 100644 app/controllers/projects/settings/branch_rules_controller.rb create mode 100644 app/controllers/projects/settings/integration_hook_logs_controller.rb delete mode 100644 app/controllers/projects/static_site_editor_controller.rb create mode 100644 app/events/pages/page_deleted_event.rb create mode 100644 app/finders/crm/organizations_finder.rb create mode 100644 app/finders/work_items/work_items_finder.rb create mode 100644 app/graphql/mutations/concerns/mutations/work_items/update_arguments.rb create mode 100644 app/graphql/mutations/packages/cleanup/policy/update.rb create mode 100644 app/graphql/mutations/packages/destroy_files.rb create mode 100644 app/graphql/mutations/work_items/update_task.rb create mode 100644 app/graphql/mutations/work_items/update_widgets.rb create mode 100644 app/graphql/resolvers/ci/runner_owner_project_resolver.rb create mode 100644 app/graphql/resolvers/crm/contacts_resolver.rb create mode 100644 app/graphql/resolvers/crm/organizations_resolver.rb create mode 100644 app/graphql/resolvers/work_items_resolver.rb create mode 100644 app/graphql/types/ci/pipeline_merge_request_event_type_enum.rb delete mode 100644 app/graphql/types/concerns/find_closest.rb create mode 100644 app/graphql/types/customer_relations/contact_state_enum.rb create mode 100644 app/graphql/types/customer_relations/organization_state_enum.rb create mode 100644 app/graphql/types/limited_countable_connection_type.rb create mode 100644 app/graphql/types/packages/cleanup/keep_duplicated_package_files_enum.rb create mode 100644 app/graphql/types/packages/cleanup/policy_type.rb create mode 100644 app/graphql/types/work_item_sort_enum.rb create mode 100644 app/graphql/types/work_items/updated_task_input_type.rb create mode 100644 app/graphql/types/work_items/widget_interface.rb create mode 100644 app/graphql/types/work_items/widget_type_enum.rb create mode 100644 app/graphql/types/work_items/widgets/description_input_type.rb create mode 100644 app/graphql/types/work_items/widgets/description_type.rb create mode 100644 app/graphql/types/work_items/widgets/hierarchy_type.rb create mode 100644 app/helpers/admin/application_settings/settings_helper.rb delete mode 100644 app/helpers/groups/crm_settings_helper.rb create mode 100644 app/helpers/tooling/visual_review_helper.rb create mode 100644 app/helpers/work_items_helper.rb create mode 100644 app/models/clusters/cluster_enabled_grant.rb create mode 100644 app/models/commit_signatures/ssh_signature.rb create mode 100644 app/models/concerns/as_cte.rb create mode 100644 app/models/time_tracking/timelog_category.rb create mode 100644 app/models/work_items/parent_link.rb create mode 100644 app/models/work_items/widgets/base.rb create mode 100644 app/models/work_items/widgets/description.rb create mode 100644 app/models/work_items/widgets/hierarchy.rb create mode 100644 app/policies/packages/cleanup/policy_policy.rb delete mode 100644 app/presenters/packages/pypi/package_presenter.rb create mode 100644 app/presenters/packages/pypi/simple_index_presenter.rb create mode 100644 app/presenters/packages/pypi/simple_package_versions_presenter.rb create mode 100644 app/presenters/packages/pypi/simple_presenter_base.rb create mode 100644 app/presenters/releases/link_presenter.rb delete mode 100644 app/serializers/deploy_key_entity.rb delete mode 100644 app/serializers/deploy_key_serializer.rb create mode 100644 app/serializers/deploy_keys/basic_deploy_key_entity.rb create mode 100644 app/serializers/deploy_keys/basic_deploy_key_serializer.rb create mode 100644 app/serializers/deploy_keys/deploy_key_entity.rb create mode 100644 app/serializers/deploy_keys/deploy_key_serializer.rb create mode 100644 app/serializers/integrations/event_entity.rb create mode 100644 app/serializers/integrations/event_serializer.rb create mode 100644 app/serializers/integrations/field_entity.rb create mode 100644 app/serializers/integrations/field_serializer.rb delete mode 100644 app/serializers/service_event_entity.rb delete mode 100644 app/serializers/service_event_serializer.rb delete mode 100644 app/serializers/service_field_entity.rb delete mode 100644 app/serializers/service_field_serializer.rb create mode 100644 app/services/bulk_imports/create_pipeline_trackers_service.rb create mode 100644 app/services/bulk_imports/repository_bundle_export_service.rb delete mode 100644 app/services/clusters/applications/schedule_update_service.rb create mode 100644 app/services/concerns/integrations/bulk_operation_hashes.rb delete mode 100644 app/services/concerns/members/bulk_create_users.rb create mode 100644 app/services/import/fogbugz_service.rb delete mode 100644 app/services/members/groups/bulk_creator_service.rb delete mode 100644 app/services/members/mailgun/process_webhook_service.rb delete mode 100644 app/services/members/projects/bulk_creator_service.rb delete mode 100644 app/services/notification_recipients/builder/new_release.rb create mode 100644 app/services/packages/cleanup/update_policy_service.rb delete mode 100644 app/services/projects/destroy_rollback_service.rb delete mode 100644 app/services/repositories/destroy_rollback_service.rb delete mode 100644 app/services/repositories/shell_destroy_service.rb delete mode 100644 app/services/static_site_editor/config_service.rb create mode 100644 app/services/terraform/states/destroy_service.rb create mode 100644 app/services/terraform/states/trigger_destroy_service.rb create mode 100644 app/services/web_hooks/log_destroy_service.rb create mode 100644 app/validators/json_schemas/web_hooks_url_variables.json create mode 100644 app/views/admin/application_settings/_jira_connect_application_key.html.haml create mode 100644 app/views/groups/settings/_git_access_protocols.html.haml create mode 100644 app/views/layouts/_visual_review.html.haml create mode 100644 app/views/notify/user_auto_banned_email.html.haml create mode 100644 app/views/notify/user_auto_banned_email.text.erb create mode 100644 app/views/projects/_clusters_deprecation_alert.html.haml delete mode 100644 app/views/projects/blob/_upload.html.haml create mode 100644 app/views/projects/branch_rules/_show.html.haml delete mode 100644 app/views/projects/issues/_by_email_description.html.haml create mode 100644 app/views/projects/issues/_work_item_links.html.haml rename app/views/projects/issues/{ => service_desk}/_alert_moved_from_service_desk.html.haml (87%) rename app/views/projects/issues/{ => service_desk}/_nav_btns.html.haml (100%) rename app/views/projects/issues/{ => service_desk}/_service_desk_empty_state.html.haml (96%) rename app/views/projects/issues/{ => service_desk}/_service_desk_info_content.html.haml (94%) create mode 100644 app/views/projects/settings/branch_rules/index.html.haml rename app/views/projects/{services => settings/integrations}/_form.html.haml (100%) rename app/views/projects/{services => settings/integrations}/edit.html.haml (100%) rename app/views/projects/settings/integrations/{show.html.haml => index.html.haml} (100%) delete mode 100644 app/views/projects/static_site_editor/show.html.haml create mode 100644 app/views/pwa/manifest.json.erb create mode 100644 app/views/shared/groups/_group_name_and_path_fields.html.haml create mode 100644 app/views/shared/projects/_inactive_project_deletion_alert.html.haml create mode 100644 app/workers/clusters/applications/activate_integration_worker.rb create mode 100644 app/workers/clusters/applications/deactivate_integration_worker.rb delete mode 100644 app/workers/expire_job_cache_worker.rb delete mode 100644 app/workers/expire_pipeline_cache_worker.rb create mode 100644 app/workers/integrations/execute_worker.rb create mode 100644 app/workers/integrations/irker_worker.rb delete mode 100644 app/workers/issue_placement_worker.rb delete mode 100644 app/workers/issue_rebalancing_worker.rb delete mode 100644 app/workers/namespaceless_project_destroy_worker.rb delete mode 100644 app/workers/project_daily_statistics_worker.rb delete mode 100644 app/workers/prometheus/create_default_alerts_worker.rb delete mode 100644 app/workers/repository_remove_remote_worker.rb create mode 100644 app/workers/terraform/states/destroy_worker.rb create mode 100644 app/workers/web_hooks/log_destroy_worker.rb delete mode 100644 config/database_geo.yml.postgresql create mode 100644 config/events/1654698269_merge_request_action_create.yml create mode 100644 config/events/1654698359_merge_request_action_close.yml create mode 100644 config/events/1654698407_merge_request_action_merge.yml create mode 100644 config/events/1654843786_merge_request_action_comment.yml rename config/feature_flags/development/{ci_owned_runners_unnest_index.yml => active_support_hash_digest_sha256.yml} (70%) create mode 100644 config/feature_flags/development/batch_load_environment_last_deployment_group.yml create mode 100644 config/feature_flags/development/branch_rules.yml rename config/feature_flags/development/{paginated_notes.yml => change_response_code_merge_status.yml} (70%) create mode 100644 config/feature_flags/development/changelog_commits_limitation.yml rename config/feature_flags/development/{ci_test_report_artifacts_expired.yml => ci_child_pipeline_coverage_reports.yml} (71%) rename config/feature_flags/development/{pipeline_editor_file_tree.yml => ci_docker_image_pull_policy.yml} (73%) rename config/feature_flags/development/{ci_owned_runners_cross_joins_fix.yml => ci_enforce_throttle_pipelines_creation.yml} (70%) rename config/feature_flags/development/{ci_throttle_pipelines_creation.yml => ci_enforce_throttle_pipelines_creation_override.yml} (68%) delete mode 100644 config/feature_flags/development/ci_project_mirrors_consistency_check.yml delete mode 100644 config/feature_flags/development/ci_throttle_pipelines_creation_dry_run.yml rename config/feature_flags/development/{ci_trigger_forward_variables.yml => ci_variable_for_group_gitlab_deploy_token.yml} (69%) create mode 100644 config/feature_flags/development/ci_variable_settings_graphql.yml rename config/feature_flags/development/{bootstrap_confirmation_modals.yml => closed_as_duplicate_of_issues_api.yml} (62%) rename config/feature_flags/development/{container_registry_migration_phase2_enqueuer_loop.yml => container_registry_migration_phase2_capacity_40.yml} (69%) create mode 100644 config/feature_flags/development/container_registry_migration_phase2_delete_container_repository_worker_support.yml create mode 100644 config/feature_flags/development/delayed_repository_update_mirror_worker.yml rename config/feature_flags/development/{slack_app_use_v2_flow.yml => deployment_hooks_skip_worker.yml} (72%) create mode 100644 config/feature_flags/development/enable_vulnerability_remediations_from_records.yml rename config/feature_flags/development/{omit_epic_subscribed.yml => fe_epic_board_total_weight.yml} (65%) rename config/feature_flags/development/{force_no_sharing_primary_model.yml => fix_sliding_list_partitioning.yml} (71%) create mode 100644 config/feature_flags/development/group_ip_restrictions_allow_global.yml create mode 100644 config/feature_flags/development/group_level_git_protocol_control.yml rename config/feature_flags/development/{group_member_inherited_group.yml => group_name_path_vue.yml} (71%) create mode 100644 config/feature_flags/development/group_runner_view_ui.yml create mode 100644 config/feature_flags/development/import_release_authors_from_github.yml rename config/feature_flags/development/{replace_order_by_created_at_with_id.yml => linear_scopes_superset.yml} (70%) create mode 100644 config/feature_flags/development/markup_rendering_timeout.yml rename config/feature_flags/development/{updated_mr_header.yml => mr_review_submit_comment.yml} (54%) delete mode 100644 config/feature_flags/development/namespaces_cache_first_auto_devops_config.yml rename config/feature_flags/development/{container_registry_migration_phase2_enqueue_twice.yml => package_registry_access_level.yml} (72%) rename config/feature_flags/{undefined/gitaly_replace_wiki_create_page.yml => development/pages_lets_encrypt_ecdsa.yml} (64%) rename config/feature_flags/development/{async_mr_close_issue.yml => paginated_mr_discussions.yml} (73%) rename config/feature_flags/development/{filter_quarantined_commits.yml => prerecord_service_ping_data.yml} (67%) rename config/feature_flags/development/{failed_jobs_tab_vue.yml => refactor_code_quality_extension.yml} (63%) create mode 100644 config/feature_flags/development/refactor_security_extension.yml rename config/feature_flags/development/{container_registry_project_statistics.yml => refresh_authorizations_via_affected_projects_on_group_membership.yml} (61%) create mode 100644 config/feature_flags/development/registry_migration_guard_dynamic_pre_import_timeout.yml delete mode 100644 config/feature_flags/development/registry_migration_guard_thresholds.yml delete mode 100644 config/feature_flags/development/remove_diff_header_icons.yml rename config/feature_flags/development/{incident_escalations.yml => rename_integrations_workers.yml} (62%) delete mode 100644 config/feature_flags/development/rendered_diffs_viewer.yml rename config/feature_flags/development/{ci_jwt_signing_key.yml => route_hll_to_snowplow_phase2.yml} (60%) rename config/feature_flags/development/{omniauth_initializer_fullhost_proc.yml => s3_omit_multipart_urls.yml} (69%) rename config/feature_flags/development/{group_projects_api_preload_groups.yml => saml_group_sync_retain_default_membership.yml} (71%) delete mode 100644 config/feature_flags/development/sandboxed_mermaid.yml rename config/feature_flags/development/{container_security_policy_selection.yml => scan_execution_rule_mode.yml} (63%) create mode 100644 config/feature_flags/development/seat_count_alerts.yml rename config/feature_flags/development/{downstream_retry_action.yml => simulate_pipeline.yml} (74%) rename config/feature_flags/development/{ci_namespace_mirrors_consistency_check.yml => ssh_banned_key.yml} (60%) create mode 100644 config/feature_flags/development/standard_context_type_check.yml create mode 100644 config/feature_flags/development/sticky_ci_archive_trace_worker.yml delete mode 100644 config/feature_flags/development/sync_traversal_ids.yml create mode 100644 config/feature_flags/development/update_oauth_registration_flow.yml create mode 100644 config/feature_flags/development/update_vuln_identifiers_flag.yml delete mode 100644 config/feature_flags/development/updated_diff_expansion_buttons.yml delete mode 100644 config/feature_flags/development/usage_data_i_incident_management_oncall_notification_sent.yml create mode 100644 config/feature_flags/development/use_primary_and_secondary_stores_for_duplicate_jobs.yml create mode 100644 config/feature_flags/development/use_primary_and_secondary_stores_for_sidekiq_status.yml create mode 100644 config/feature_flags/development/use_primary_store_as_default_for_duplicate_jobs.yml create mode 100644 config/feature_flags/development/use_primary_store_as_default_for_sidekiq_status.yml delete mode 100644 config/feature_flags/development/use_received_header_for_incoming_emails.yml create mode 100644 config/feature_flags/development/use_status_for_repository_update_mirror.yml create mode 100644 config/feature_flags/development/use_traversal_ids_for_ancestor_scopes_with_inner_join.yml delete mode 100644 config/feature_flags/development/user_other_role_details.yml rename config/feature_flags/development/{remove_sha_from_releases_json.yml => validate_release_with_author.yml} (71%) delete mode 100644 config/feature_flags/development/vsa_consistency_worker.yml delete mode 100644 config/feature_flags/development/vsa_incremental_worker.yml rename config/feature_flags/development/{customer_relations.yml => work_items_hierarchy.yml} (66%) rename config/feature_flags/development/{vue_issues_list.yml => work_items_mvc_2.yml} (67%) rename config/feature_flags/ops/{execute_batched_migrations_on_schedule_ci_database.yml => execute_background_migrations.yml} (51%) create mode 100644 config/initializers/fips.rb create mode 100644 config/initializers/set_active_support_hash_digest_class.rb create mode 100644 config/initializers/truncato.rb create mode 100644 config/metrics/counts_28d/20220525231314_unique_monthly_active_users.yml create mode 100644 config/metrics/counts_28d/20220615103718_incident_management_timeline_event_total_unique_counts_monthly.yml rename config/metrics/{counts_all => counts_7d}/20210216174846_p_analytics_pipelines.yml (79%) rename config/metrics/{counts_all => counts_7d}/20210216174850_p_analytics_valuestream.yml (79%) rename config/metrics/{counts_all => counts_7d}/20210216174856_p_analytics_repo.yml (80%) rename config/metrics/{counts_all => counts_7d}/20210216174858_i_analytics_cohorts.yml (79%) rename config/metrics/{counts_all => counts_7d}/20210216174900_i_analytics_dev_ops_score.yml (78%) rename config/metrics/{counts_all => counts_7d}/20210216174902_g_analytics_merge_request.yml (79%) rename config/metrics/{counts_all => counts_7d}/20210216174906_i_analytics_instance_statistics.yml (77%) create mode 100644 config/metrics/counts_7d/20210216174908_analytics_unique_visits_for_any_target.yml rename config/metrics/{counts_all => counts_7d}/20210216180416_i_search_total.yml (81%) rename config/metrics/{counts_all => counts_7d}/20210423005644_i_analytics_dev_ops_adoption.yml (78%) rename config/metrics/{counts_all => counts_7d}/20210428142406_users_viewing_analytics_group_devops_adoption.yml (79%) rename config/metrics/{counts_all => counts_7d}/20211126090001_p_analytics_ci_cd_pipelines.yml (82%) rename config/metrics/{counts_all => counts_7d}/20211126090002_p_analytics_ci_cd_deployment_frequency.yml (81%) rename config/metrics/{counts_all => counts_7d}/20211126090003_p_analytics_ci_cd_lead_time.yml (82%) create mode 100644 config/metrics/counts_7d/20220615103711_incident_management_timeline_event_total_unique_counts_weekly.yml delete mode 100644 config/metrics/counts_all/20210216174908_analytics_unique_visits_for_any_target.yml rename config/metrics/{counts_7d => counts_all}/20210916100524_groups_gitlab_slack_application_active.yml (97%) rename config/metrics/{counts_7d => counts_all}/20210916101641_projects_gitlab_slack_application_active.yml (97%) rename config/metrics/{counts_7d => counts_all}/20210916101837_instances_gitlab_slack_application_active.yml (97%) rename config/metrics/{counts_7d => counts_all}/20210917040700_groups_inheriting_gitlab_slack_application_active.yml (97%) rename config/metrics/{counts_7d => counts_all}/20210917040956_projects_inheriting_gitlab_slack_application_active.yml (97%) create mode 100644 config/metrics/objects_schemas/omniauth_providers_schema.json delete mode 100644 config/routes/members.rb delete mode 100644 data/deprecations/14-5-runner-s3-authenticationtype-nonexplicit-config-deprecation.yml delete mode 100644 data/deprecations/14-8-remove-support-for-fixup-in-commit-message-triggering-draft-status.yml create mode 100644 data/deprecations/15-1-deprecate-maintainer_note.yml create mode 100644 data/deprecations/15-1-jira-github-enterprise-dvcs.yml create mode 100644 data/deprecations/15-1-pipelinesecurityreportfinding-name.yml create mode 100644 data/deprecations/15-1-pipelinesecurityreportfinding-projectfingerprint.yml create mode 100644 data/deprecations/15-1-project-pipeline-securityReportFindings.yml create mode 100644 data/deprecations/15-3-deprecation-vulnerability-report-tool-sort.yml create mode 100644 data/removals/15_0/15-0-merge-commit-message.yml create mode 100644 db/docs/audit_events_streaming_headers.yml create mode 100644 db/docs/cluster_enabled_grants.yml create mode 100644 db/docs/dingtalk_tracker_data.yml delete mode 100644 db/docs/geo_lfs_object_deleted_events.yml create mode 100644 db/docs/issuable_resource_links.yml create mode 100644 db/docs/ssh_signatures.yml create mode 100644 db/docs/timelog_categories.yml create mode 100644 db/docs/vulnerability_state_transitions.yml create mode 100644 db/docs/work_item_parent_links.yml create mode 100644 db/migrate/20220221102333_change_maintainer_note_limit_in_ci_runner.rb delete mode 100644 db/migrate/20220221102333_change_maintenance_note_limit_in_ci_runner.rb db/migrate/20220221102333_change_maintainer_note_limit_in_ci_runner.rb create mode 100644 db/migrate/20220314094841_add_package_registry_access_level_into_project_features.rb create mode 100644 db/migrate/20220329092245_add_password_chars_requirement_to_application_settings.rb create mode 100644 db/migrate/20220503035221_add_gitlab_schema_to_batched_background_migrations.rb create mode 100644 db/migrate/20220503035437_add_text_limit_to_batched_background_migrations_gitlab_schema.rb create mode 100644 db/migrate/20220511144946_add_work_item_parent_child_table.rb create mode 100644 db/migrate/20220512020500_index_batched_migrations_on_gitlab_schema_and_configuration.rb create mode 100644 db/migrate/20220513093614_add_ding_talk_into_application_settings.rb create mode 100644 db/migrate/20220513093615_add_ding_talk_tracker_data.rb create mode 100644 db/migrate/20220513095545_create_timelog_categories.rb create mode 100644 db/migrate/20220513114706_add_jira_connect_application_id_application_setting.rb create mode 100644 db/migrate/20220513114850_add_text_limit_to_jira_connect_application_id_application_setting.rb create mode 100644 db/migrate/20220516054002_temp_index_for_project_namespace_member_backfill.rb create mode 100644 db/migrate/20220516092207_add_globally_allowed_ips_to_application_setting.rb create mode 100644 db/migrate/20220516123101_add_text_limit_to_globally_allowed_ips_on_application_settings.rb create mode 100644 db/migrate/20220516201245_add_security_policy_scan_execution_schedules_to_plan_limits.rb create mode 100644 db/migrate/20220517182529_create_vulnerability_state_transition.rb create mode 100644 db/migrate/20220518183504_create_ssh_signatures.rb create mode 100644 db/migrate/20220518183548_add_projects_relation_to_ssh_signatures.rb create mode 100644 db/migrate/20220519013213_create_cluster_enabled_grants.rb create mode 100644 db/migrate/20220519141345_add_job_artifact_id_on_refresh_start_to_build_artifacts_size_refresh.rb create mode 100644 db/migrate/20220520030504_drop_index_namespaces_on_name.rb create mode 100644 db/migrate/20220520122755_unlock_delayed_project_removal.rb create mode 100644 db/migrate/20220520143105_add_keys_relation_to_ssh_signatures.rb create mode 100644 db/migrate/20220520144821_add_registry_migration_pre_import_tags_rate_to_application_settings.rb create mode 100644 db/migrate/20220523030804_add_web_hook_calls_med_and_max_to_plan_limits.rb create mode 100644 db/migrate/20220523030805_add_web_hook_calls_to_plan_limits_paid_tiers.rb create mode 100644 db/migrate/20220524021855_add_deleted_at_to_terraform_states.rb create mode 100644 db/migrate/20220524141800_create_audit_events_streaming_headers.rb create mode 100644 db/migrate/20220524191259_add_application_settings_container_registry_pre_import_tags_rate_constraint.rb create mode 100644 db/migrate/20220525082303_create_issuable_resource_links.rb create mode 100644 db/migrate/20220525123825_add_raw_to_ci_pipeline_variables.rb create mode 100644 db/migrate/20220525123851_add_raw_to_ci_group_variables.rb create mode 100644 db/migrate/20220525123914_add_raw_to_ci_instance_variables.rb create mode 100644 db/migrate/20220525123940_add_raw_to_ci_job_variables.rb create mode 100644 db/migrate/20220525124104_add_raw_to_ci_pipeline_schedule_variables.rb create mode 100644 db/migrate/20220525124125_add_raw_to_ci_variables.rb create mode 100644 db/migrate/20220530103023_add_created_at_and_id_index_to_deployment_approvals.rb create mode 100644 db/migrate/20220530104431_add_timestamps_to_compliance_frameworks.rb create mode 100644 db/migrate/20220531100920_add_license_usage_data_exported_to_application_settings.rb create mode 100644 db/migrate/20220601091804_add_semver_column_to_ci_runners.rb create mode 100644 db/migrate/20220601091805_add_text_limit_to_ci_runners_semver.rb create mode 100644 db/migrate/20220601101800_add_index_on_runner_id_and_semver_columns.rb create mode 100644 db/migrate/20220601223501_add_vulnerability_related_columns.rb create mode 100644 db/migrate/20220602130306_add_namespace_type_index.rb create mode 100644 db/migrate/20220603095158_drop_ci_build_report_results_build_id_sequence.rb create mode 100644 db/migrate/20220605170009_add_url_vars_to_web_hook.rb create mode 100644 db/migrate/20220607011733_add_phone_verification_code_enabled_to_application_settings.rb create mode 100644 db/migrate/20220607095219_drop_ci_pipelines_config_pipeline_id_sequence.rb create mode 100644 db/migrate/20220607115703_drop_ci_job_artifact_states_job_artifact_id_sequence.rb create mode 100644 db/migrate/20220608114734_prepare_confidential_note_index_on_id.rb create mode 100644 db/migrate/20220609150626_add_partial_index_on_slack_integrations_with_bot_user_id.rb create mode 100644 db/migrate/20220610074326_add_epic_issue_weight.rb create mode 100644 db/migrate/20220610125248_add_enabled_git_access_protocol_to_namespace_settings.rb create mode 100644 db/migrate/20220614095912_add_has_vulnerabilities_to_cluster_agents.rb create mode 100644 db/migrate/20220615091059_add_created_at_index_to_compliance_management_frameworks.rb create mode 100644 db/migrate/20220615105811_add_index_on_clusters_agent_project_id_and_has_vulnerabilities_columns.rb delete mode 100644 db/optional_migrations/composite_primary_keys.rb create mode 100644 db/post_migrate/20220128103042_schedule_delete_invalid_epic_issues_revised.rb create mode 100644 db/post_migrate/20220407163559_schedule_purging_stale_security_scans.rb create mode 100644 db/post_migrate/20220418180958_remove_integrations_properties.rb create mode 100644 db/post_migrate/20220506123922_add_not_null_constraint_without_validation_to_requirements_issue_id.rb create mode 100644 db/post_migrate/20220506124021_schedule_populate_requirements_issue_id.rb create mode 100644 db/post_migrate/20220510121338_remove_threat_monitoring_alerts.rb create mode 100644 db/post_migrate/20220510192117_index_expirable_unknown_artifacts_for_removal.rb create mode 100644 db/post_migrate/20220511212620_add_index_on_expirable_unknown_artifacts_for_removal.rb create mode 100644 db/post_migrate/20220512190659_remove_web_hooks_web_hook_logs_web_hook_id_fk.rb create mode 100644 db/post_migrate/20220516054011_schedule_backfill_project_member_namespace_id.rb create mode 100644 db/post_migrate/20220516100652_drop_compliance_management_frameworks_regulated.rb create mode 100644 db/post_migrate/20220516103353_finalize_routes_backfilling_for_projects.rb create mode 100644 db/post_migrate/20220517101119_create_confidential_notes_index_synchronously.rb create mode 100644 db/post_migrate/20220517133753_migrate_free_user_cap_remediation.rb create mode 100644 db/post_migrate/20220518102414_add_index_to_error_tracking_client_keys.rb create mode 100644 db/post_migrate/20220519045133_bulk_insert_cluster_enabled_grants.rb create mode 100644 db/post_migrate/20220520040416_schedule_set_legacy_open_source_license_available_for_non_public_projects.rb create mode 100644 db/post_migrate/20220523171107_drop_deploy_tokens_token_column.rb create mode 100644 db/post_migrate/20220524074947_finalize_backfill_null_note_discussion_ids.rb create mode 100644 db/post_migrate/20220524080944_cleanup_orphaned_routes.rb create mode 100644 db/post_migrate/20220524081955_remove_notes_null_discussion_id_temp_index.rb create mode 100644 db/post_migrate/20220524132416_prepare_job_artifact_project_id_index.rb create mode 100644 db/post_migrate/20220524202158_drop_index_on_deployments_on_created_at_cluster_id_and_project_id.rb create mode 100644 db/post_migrate/20220525131557_cleanup_backfill_integrations_enable_ssl_verification.rb create mode 100644 db/post_migrate/20220525131624_drop_temporary_index_for_backfill_integrations_enable_ssl_verification.rb create mode 100644 db/post_migrate/20220525141540_migrate_project_service_worker_queue.rb create mode 100644 db/post_migrate/20220525165334_migrate_irker_worker_queue.rb create mode 100644 db/post_migrate/20220525172001_migrate_cluster_integration_worker_queues.rb create mode 100644 db/post_migrate/20220526042017_remove_geo_lfs_object_deleted_event_references.rb create mode 100644 db/post_migrate/20220526044516_remove_geo_lfs_object_deleted_events_table.rb create mode 100644 db/post_migrate/20220530044712_add_index_for_vulnerability_reads_location_image.rb create mode 100644 db/post_migrate/20220530074027_add_project_id_index_to_job_artifacts.rb create mode 100644 db/post_migrate/20220530082653_add_traversal_id_type_group_index.rb create mode 100644 db/post_migrate/20220530170915_add_index_for_vulnerability_state_transition.rb create mode 100644 db/post_migrate/20220531024142_track_clusters_deletions.rb create mode 100644 db/post_migrate/20220531024143_remove_clusters_deployments_cluster_id_fk.rb create mode 100644 db/post_migrate/20220531233600_remove_sse_usage_data_from_redis.rb create mode 100644 db/post_migrate/20220601040233_finalize_backfill_issue_search_data.rb create mode 100644 db/post_migrate/20220602070502_queue_backfill_project_feature_package_registry_access_level.rb create mode 100644 db/post_migrate/20220602111923_prepare_index_for_open_issues_count.rb create mode 100644 db/post_migrate/20220606060825_set_on_delete_cascade_on_namespace_id_on_routes_table.rb create mode 100644 db/post_migrate/20220606060850_add_not_null_constraint_on_routes_namespace_id.rb create mode 100644 db/post_migrate/20220607140222_remove_invalid_integrations.rb create mode 100644 db/post_migrate/20220609195803_remove_deployment_clusters_cluster_id_fk.rb create mode 100644 db/post_migrate/20220610223040_add_index_on_available_pypi_packages.rb create mode 100644 db/post_migrate/20220613095911_create_confidential_notes_index_on_id.rb create mode 100644 db/post_migrate/20220616092541_prepare_index_issues_on_project_id_and_closed_at.rb create mode 100644 db/post_migrate/20220616222253_remove_ci_secure_files_permissions_column.rb create mode 100644 db/post_migrate/20220617073407_add_index_for_open_issues_count.rb create mode 100644 db/schema_migrations/20220128103042 create mode 100644 db/schema_migrations/20220314094841 create mode 100644 db/schema_migrations/20220329092245 create mode 100644 db/schema_migrations/20220407163559 create mode 100644 db/schema_migrations/20220418180958 create mode 100644 db/schema_migrations/20220503035221 create mode 100644 db/schema_migrations/20220503035437 create mode 100644 db/schema_migrations/20220506123922 create mode 100644 db/schema_migrations/20220506124021 create mode 100644 db/schema_migrations/20220510121338 create mode 100644 db/schema_migrations/20220510192117 create mode 100644 db/schema_migrations/20220511144946 create mode 100644 db/schema_migrations/20220511212620 create mode 100644 db/schema_migrations/20220512020500 create mode 100644 db/schema_migrations/20220512190659 create mode 100644 db/schema_migrations/20220513093614 create mode 100644 db/schema_migrations/20220513093615 create mode 100644 db/schema_migrations/20220513095545 create mode 100644 db/schema_migrations/20220513114706 create mode 100644 db/schema_migrations/20220513114850 create mode 100644 db/schema_migrations/20220516054002 create mode 100644 db/schema_migrations/20220516054011 create mode 100644 db/schema_migrations/20220516092207 create mode 100644 db/schema_migrations/20220516100652 create mode 100644 db/schema_migrations/20220516103353 create mode 100644 db/schema_migrations/20220516123101 create mode 100644 db/schema_migrations/20220516201245 create mode 100644 db/schema_migrations/20220517101119 create mode 100644 db/schema_migrations/20220517133753 create mode 100644 db/schema_migrations/20220517182529 create mode 100644 db/schema_migrations/20220518102414 create mode 100644 db/schema_migrations/20220518183504 create mode 100644 db/schema_migrations/20220518183548 create mode 100644 db/schema_migrations/20220519013213 create mode 100644 db/schema_migrations/20220519045133 create mode 100644 db/schema_migrations/20220519141345 create mode 100644 db/schema_migrations/20220520030504 create mode 100644 db/schema_migrations/20220520040416 create mode 100644 db/schema_migrations/20220520122755 create mode 100644 db/schema_migrations/20220520143105 create mode 100644 db/schema_migrations/20220520144821 create mode 100644 db/schema_migrations/20220523030804 create mode 100644 db/schema_migrations/20220523030805 create mode 100644 db/schema_migrations/20220523171107 create mode 100644 db/schema_migrations/20220524021855 create mode 100644 db/schema_migrations/20220524074947 create mode 100644 db/schema_migrations/20220524080944 create mode 100644 db/schema_migrations/20220524081955 create mode 100644 db/schema_migrations/20220524132416 create mode 100644 db/schema_migrations/20220524141800 create mode 100644 db/schema_migrations/20220524191259 create mode 100644 db/schema_migrations/20220524202158 create mode 100644 db/schema_migrations/20220525082303 create mode 100644 db/schema_migrations/20220525123825 create mode 100644 db/schema_migrations/20220525123851 create mode 100644 db/schema_migrations/20220525123914 create mode 100644 db/schema_migrations/20220525123940 create mode 100644 db/schema_migrations/20220525124104 create mode 100644 db/schema_migrations/20220525124125 create mode 100644 db/schema_migrations/20220525131557 create mode 100644 db/schema_migrations/20220525131624 create mode 100644 db/schema_migrations/20220525141540 create mode 100644 db/schema_migrations/20220525165334 create mode 100644 db/schema_migrations/20220525172001 create mode 100644 db/schema_migrations/20220526042017 create mode 100644 db/schema_migrations/20220526044516 create mode 100644 db/schema_migrations/20220530044712 create mode 100644 db/schema_migrations/20220530074027 create mode 100644 db/schema_migrations/20220530082653 create mode 100644 db/schema_migrations/20220530103023 create mode 100644 db/schema_migrations/20220530104431 create mode 100644 db/schema_migrations/20220530170915 create mode 100644 db/schema_migrations/20220531024142 create mode 100644 db/schema_migrations/20220531024143 create mode 100644 db/schema_migrations/20220531100920 create mode 100644 db/schema_migrations/20220531233600 create mode 100644 db/schema_migrations/20220601040233 create mode 100644 db/schema_migrations/20220601091804 create mode 100644 db/schema_migrations/20220601091805 create mode 100644 db/schema_migrations/20220601101800 create mode 100644 db/schema_migrations/20220601223501 create mode 100644 db/schema_migrations/20220602070502 create mode 100644 db/schema_migrations/20220602111923 create mode 100644 db/schema_migrations/20220602130306 create mode 100644 db/schema_migrations/20220603095158 create mode 100644 db/schema_migrations/20220605170009 create mode 100644 db/schema_migrations/20220606060825 create mode 100644 db/schema_migrations/20220606060850 create mode 100644 db/schema_migrations/20220607011733 create mode 100644 db/schema_migrations/20220607095219 create mode 100644 db/schema_migrations/20220607115703 create mode 100644 db/schema_migrations/20220607140222 create mode 100644 db/schema_migrations/20220608114734 create mode 100644 db/schema_migrations/20220609150626 create mode 100644 db/schema_migrations/20220609195803 create mode 100644 db/schema_migrations/20220610074326 create mode 100644 db/schema_migrations/20220610125248 create mode 100644 db/schema_migrations/20220610223040 create mode 100644 db/schema_migrations/20220613095911 create mode 100644 db/schema_migrations/20220614095912 create mode 100644 db/schema_migrations/20220615091059 create mode 100644 db/schema_migrations/20220615105811 create mode 100644 db/schema_migrations/20220616092541 create mode 100644 db/schema_migrations/20220616222253 create mode 100644 db/schema_migrations/20220617073407 create mode 100644 doc/.vale/gitlab/EOLWhitespace.yml rename doc/administration/geo/replication/{updating_the_geo_sites.md => upgrading_the_geo_sites.md} (65%) rename doc/administration/geo/replication/{version_specific_updates.md => version_specific_upgrades.md} (78%) create mode 100644 doc/administration/monitoring/ip_allowlist.md create mode 100644 doc/administration/monitoring/prometheus/web_exporter.md create mode 100644 doc/architecture/blueprints/ci_data_decay/decomposition_partitioning_comparison.png create mode 100644 doc/architecture/blueprints/ci_data_decay/pipeline_partitioning.md delete mode 100644 doc/ci/ci_cd_for_external_repos/img/external_repository.png create mode 100644 doc/ci/cloud_deployment/ecs/deploy_to_aws_ecs.md delete mode 100644 doc/ci/img/ecs_dashboard_v12_9.png rename doc/ci/{ => testing}/img/junit_test_report.png (100%) rename doc/ci/{ => testing}/img/pipelines_junit_test_report_v13_10.png (100%) rename doc/ci/{ => testing}/img/pipelines_junit_test_report_with_errors_v13_10.png (100%) create mode 100644 doc/ci/testing/index.md create mode 100644 doc/ci/testing/unit_test_report_examples.md create mode 100644 doc/ci/testing/unit_test_reports.md create mode 100644 doc/development/cicd/img/pipeline_wizard_sample_step1.png create mode 100644 doc/development/cicd/img/pipeline_wizard_sample_step2.png create mode 100644 doc/development/cicd/img/pipeline_wizard_sample_step3.png create mode 100644 doc/development/cicd/pipeline_wizard.md create mode 100644 doc/development/deprecation_guidelines/img/deprecation_removal_process.png create mode 100644 doc/development/packages/index.md create mode 100644 doc/development/packages/new_format_development.md create mode 100644 doc/development/packages/settings.md create mode 100644 doc/development/packages/structure.md create mode 100644 doc/development/pages/index.md create mode 100644 doc/development/snowplow/infrastructure.md create mode 100644 doc/development/testing_guide/contract/consumer_tests.md create mode 100644 doc/development/testing_guide/contract/index.md create mode 100644 doc/development/testing_guide/contract/provider_tests.md create mode 100644 doc/drawers/advanced_search_syntax.md create mode 100644 doc/integration/advanced_search/elasticsearch.md create mode 100644 doc/integration/advanced_search/elasticsearch_troubleshooting.md rename doc/integration/{ => advanced_search}/img/limit_namespace_filter.png (100%) rename doc/integration/{ => advanced_search}/img/limit_namespaces_projects_options.png (100%) create mode 100644 doc/integration/arkose.md delete mode 100644 doc/push_rules/push_rules.md create mode 100644 doc/topics/autodevops/cloud_deployments/auto_devops_with_ec2.md create mode 100644 doc/topics/autodevops/cloud_deployments/auto_devops_with_ecs.md create mode 100644 doc/topics/autodevops/cloud_deployments/auto_devops_with_gke.md rename doc/topics/autodevops/{ => cloud_deployments}/img/guide_base_domain_v12_3.png (100%) rename doc/topics/autodevops/{ => cloud_deployments}/img/guide_create_project_v12_3.png (100%) rename doc/topics/autodevops/{ => cloud_deployments}/img/guide_enable_autodevops_v12_3.png (100%) rename doc/topics/autodevops/{ => cloud_deployments}/img/guide_environments_v12_3.png (100%) rename doc/topics/autodevops/{ => cloud_deployments}/img/guide_ide_commit_v12_3.png (100%) rename doc/topics/autodevops/{ => cloud_deployments}/img/guide_merge_request_review_app_v12_3.png (100%) rename doc/topics/autodevops/{ => cloud_deployments}/img/guide_merge_request_v12_3.png (100%) rename doc/topics/autodevops/{ => cloud_deployments}/img/guide_pipeline_stages_v13_0.png (100%) rename doc/topics/autodevops/{ => cloud_deployments}/img/guide_project_landing_page_v12_10.png (100%) rename doc/topics/autodevops/{ => cloud_deployments}/img/guide_project_template_v12_3.png (100%) create mode 100644 doc/tutorials/move_personal_project_to_a_group.md create mode 100644 doc/update/with_downtime.md create mode 100644 doc/user/analytics/img/time_to_restore_service_charts_v15_1.png create mode 100644 doc/user/application_security/dast/checks/16.7.md create mode 100644 doc/user/application_security/dast/checks/209.1.md create mode 100644 doc/user/application_security/dast/checks/319.1.md create mode 100644 doc/user/application_security/dast/checks/352.1.md create mode 100644 doc/user/application_security/dast/checks/601.1.md rename doc/user/group/epics/img/{epics_search_v14_7.png => epics_filter_v14_7.png} (100%) delete mode 100644 doc/user/group/img/restrict-by-email.gif delete mode 100644 doc/user/group/img/restrict-by-ip.gif create mode 100644 doc/user/group/saml_sso/group_sync.md create mode 100644 doc/user/infrastructure/clusters/connect/img/variables_civo.png create mode 100644 doc/user/infrastructure/clusters/connect/new_civo_cluster.md delete mode 100644 doc/user/project/img/time_tracking_report_v13_12.png create mode 100644 doc/user/project/img/time_tracking_report_v15_1.png delete mode 100644 doc/user/project/import/img/import_projects_from_repo_url.png rename doc/user/{search => project/issues}/img/issue_search_by_id_v15_0.png (100%) create mode 100644 doc/user/project/issues/img/turn_off_confidentiality_v15_1.png create mode 100644 doc/user/project/issues/img/turn_on_confidentiality_v15_1.png delete mode 100644 doc/user/project/merge_requests/img/ff_merge_rebase_v14_9.png rename doc/user/{search => project/merge_requests}/img/filter_approved_by_merge_requests_v14_6.png (100%) rename doc/user/{search => project/merge_requests}/img/filter_approver_merge_requests_v14_6.png (100%) rename doc/user/{search => project/merge_requests}/img/filtering_merge_requests_by_date_v14_6.png (100%) rename doc/user/{search => project/merge_requests}/img/filtering_merge_requests_by_environment_v14_6.png (100%) delete mode 100644 doc/user/project/milestones/img/burndown_and_burnup_charts_v13_6.png create mode 100644 doc/user/project/milestones/img/burndown_and_burnup_charts_v15_1.png delete mode 100644 doc/user/project/milestones/img/burndown_chart_v13_6.png create mode 100644 doc/user/project/milestones/img/burndown_chart_v15_1.png delete mode 100644 doc/user/project/milestones/img/burnup_chart_v13_6.png create mode 100644 doc/user/project/milestones/img/burnup_chart_v15_1.png delete mode 100644 doc/user/search/img/basic_search_results.png create mode 100644 doc/user/search/img/basic_search_results_v15_1.png delete mode 100644 doc/user/search/img/basic_search_v14_4.png create mode 100644 doc/user/search/img/basic_search_v15_1.png delete mode 100644 doc/user/search/img/code_search_git_blame_v14_9.png create mode 100644 doc/user/search/img/code_search_git_blame_v15_1.png delete mode 100644 doc/user/search/img/dashboard_links_v14_6.png delete mode 100644 doc/user/search/img/issues_mrs_shortcut_v14_6.png delete mode 100644 doc/user/search/img/multiple_assignees.png delete mode 100644 doc/user/search/img/search_issues_board.png create mode 100644 fixtures/emojis/intents.json create mode 100644 glfm_specification/input/gitlab_flavored_markdown/glfm_example_normalizations.yml create mode 100644 lib/api/entities/personal_access_token_with_details.rb create mode 100644 lib/api/helpers/project_stats_refresh_conflicts_helpers.rb delete mode 100644 lib/api/helpers/sse_helpers.rb create mode 100644 lib/api/integrations/slack/events.rb create mode 100644 lib/api/integrations/slack/events/url_verification.rb create mode 100644 lib/api/integrations/slack/request.rb create mode 100644 lib/api/internal/workhorse.rb create mode 100644 lib/bulk_imports/projects/pipelines/design_bundle_pipeline.rb create mode 100644 lib/bulk_imports/projects/pipelines/repository_bundle_pipeline.rb create mode 100644 lib/error_tracking/stacktrace_builder.rb create mode 100644 lib/generators/gitlab/usage_metric/templates/numbers_instrumentation_class.rb.template delete mode 100644 lib/gitlab/analytics/unique_visits.rb create mode 100644 lib/gitlab/background_migration/backfill_project_feature_package_registry_access_level.rb create mode 100644 lib/gitlab/background_migration/backfill_project_member_namespace_id.rb create mode 100644 lib/gitlab/background_migration/cleanup_orphaned_routes.rb create mode 100644 lib/gitlab/background_migration/delete_invalid_epic_issues.rb create mode 100644 lib/gitlab/background_migration/purge_stale_security_scans.rb create mode 100644 lib/gitlab/background_migration/set_legacy_open_source_license_available_for_non_public_projects.rb create mode 100644 lib/gitlab/ci/config/entry/pull_policy.rb create mode 100644 lib/gitlab/ci/config/entry/rules/rule/changes.rb rename lib/gitlab/ci/reports/{coverage_reports.rb => coverage_report.rb} (90%) create mode 100644 lib/gitlab/ci/reports/coverage_report_generator.rb create mode 100644 lib/gitlab/database/migration_helpers/announce_database.rb delete mode 100644 lib/gitlab/diff/custom_diff.rb create mode 100644 lib/gitlab/diff/rendered/notebook/diff_file_helper.rb create mode 100644 lib/gitlab/graphql/query_analyzers/ast/logger_analyzer.rb create mode 100644 lib/gitlab/graphql/query_analyzers/ast/recursion_analyzer.rb delete mode 100644 lib/gitlab/graphql/query_analyzers/logger_analyzer.rb delete mode 100644 lib/gitlab/graphql/query_analyzers/recursion_analyzer.rb create mode 100644 lib/gitlab/hash_digest/facade.rb create mode 100644 lib/gitlab/mailgun/webhook_processors/base.rb create mode 100644 lib/gitlab/mailgun/webhook_processors/failure_logger.rb create mode 100644 lib/gitlab/mailgun/webhook_processors/member_invites.rb create mode 100644 lib/gitlab/memory/jemalloc.rb delete mode 100644 lib/gitlab/metrics/dashboard/stages/alerts_inserter.rb delete mode 100644 lib/gitlab/pages_transfer.rb create mode 100644 lib/gitlab/project_stats_refresh_conflicts_logger.rb create mode 100644 lib/gitlab/redis/duplicate_jobs.rb create mode 100644 lib/gitlab/redis/multi_store.rb create mode 100644 lib/gitlab/redis/sidekiq_status.rb create mode 100644 lib/gitlab/render_timeout.rb create mode 100644 lib/gitlab/ssh/signature.rb delete mode 100644 lib/gitlab/static_site_editor/config/file_config.rb delete mode 100644 lib/gitlab/static_site_editor/config/file_config/entry/global.rb delete mode 100644 lib/gitlab/static_site_editor/config/file_config/entry/image_upload_path.rb delete mode 100644 lib/gitlab/static_site_editor/config/file_config/entry/mount.rb delete mode 100644 lib/gitlab/static_site_editor/config/file_config/entry/mounts.rb delete mode 100644 lib/gitlab/static_site_editor/config/file_config/entry/static_site_generator.rb delete mode 100644 lib/gitlab/static_site_editor/config/generated_config.rb delete mode 100644 lib/gitlab/updated_notes_paginator.rb create mode 100644 lib/gitlab/usage/metrics/instrumentations/count_imported_projects_total_metric.rb create mode 100644 lib/gitlab/usage/metrics/instrumentations/issues_created_from_alerts_metric.rb create mode 100644 lib/gitlab/usage/metrics/instrumentations/issues_with_alert_management_alerts_metric.rb create mode 100644 lib/gitlab/usage/metrics/instrumentations/issues_with_prometheus_alert_events.rb create mode 100644 lib/gitlab/usage/metrics/instrumentations/issues_with_self_managed_prometheus_alert_events.rb create mode 100644 lib/gitlab/usage/metrics/instrumentations/jira_imports_total_imported_issues_count_metric.rb create mode 100644 lib/gitlab/usage/metrics/instrumentations/numbers_metric.rb create mode 100644 lib/gitlab/usage/metrics/instrumentations/unique_active_users_metric.rb delete mode 100644 lib/gitlab/usage_data_counters/static_site_editor_counter.rb create mode 100644 lib/gitlab/web_hooks/rate_limiter.rb rename {qa => lib}/tasks/contracts.rake (54%) create mode 100644 lib/tasks/gitlab/db/decomposition/rollback/bump_ci_sequences.rake create mode 100644 lib/tasks/gitlab/db/lock_writes.rake delete mode 100644 lib/tasks/migrate/composite_primary_keys.rake create mode 100644 locale/th_TH/gitlab.po create mode 100644 patches/@rails+ujs+6.1.4-7.patch create mode 100644 public/-/pwa-icons/logo-192.png create mode 100644 public/-/pwa-icons/logo-512.png create mode 100644 public/-/pwa-icons/maskable-logo.png delete mode 100644 qa/contracts/consumer/endpoints/merge_request.js delete mode 100644 qa/contracts/consumer/specs/diffs.spec.js delete mode 100644 qa/contracts/consumer/specs/discussions.spec.js delete mode 100644 qa/contracts/consumer/specs/metadata.spec.js delete mode 100644 qa/contracts/provider/environments/base.rb delete mode 100644 qa/contracts/provider/environments/local.rb delete mode 100644 qa/contracts/provider/spec/diffs_helper.rb delete mode 100644 qa/contracts/provider/spec/discussions_helper.rb delete mode 100644 qa/contracts/provider/spec/metadata_helper.rb delete mode 100644 qa/contracts/provider/spec_helper.rb delete mode 100644 qa/qa/mobile/page/profile/menu.rb create mode 100644 qa/qa/specs/features/api/1_manage/user_inherited_access_spec.rb rename qa/qa/specs/features/browser_ui/{14_non_devops => 14_product_intelligence}/performance_bar_spec.rb (85%) rename qa/qa/specs/features/browser_ui/{14_non_devops => 14_product_intelligence}/service_ping_default_enabled_spec.rb (77%) rename qa/qa/specs/features/browser_ui/{14_non_devops => 14_product_intelligence}/service_ping_disabled_spec.rb (77%) create mode 100644 qa/qa/specs/features/browser_ui/1_manage/user/user_inherited_access_spec.rb delete mode 100644 qa/qa/specs/features/browser_ui/4_verify/pipeline/multi-project_pipelines_spec.rb delete mode 100644 qa/qa/specs/features/browser_ui/4_verify/pipeline/parent_child_pipelines_dependent_relationship_spec.rb create mode 100644 qa/qa/specs/features/browser_ui/4_verify/testing/endpoint_coverage_spec.rb create mode 100644 qa/qa/specs/features/sanity/feature_flags_spec.rb create mode 100644 qa/spec/service/shellout_spec.rb create mode 100644 qa/tmp/.gitignore create mode 100644 rubocop/cop/migration/background_migrations.rb create mode 100755 scripts/glfm/run-snapshot-tests.sh create mode 100755 scripts/license-check.sh create mode 100755 scripts/lint-yaml.sh create mode 100644 spec/components/pajamas/banner_component_spec.rb create mode 100644 spec/components/pajamas/button_component_spec.rb create mode 100644 spec/components/pajamas/card_component_spec.rb create mode 100644 spec/components/pajamas/checkbox_component_spec.rb create mode 100644 spec/components/pajamas/concerns/checkbox_radio_label_with_help_text_spec.rb create mode 100644 spec/components/pajamas/concerns/checkbox_radio_options_spec.rb create mode 100644 spec/components/pajamas/radio_component_spec.rb rename {qa => spec}/contracts/.gitignore (100%) create mode 100644 spec/contracts/README.md create mode 100644 spec/contracts/consumer/.eslintrc.yml rename {qa => spec}/contracts/consumer/.node-version (100%) create mode 100644 spec/contracts/consumer/babel.config.json create mode 100644 spec/contracts/consumer/endpoints/project/merge_requests.js rename qa/contracts/consumer/fixtures/diffs.fixture.js => spec/contracts/consumer/fixtures/project/merge_request/diffs_batch.fixture.js (85%) rename qa/contracts/consumer/fixtures/metadata.fixture.js => spec/contracts/consumer/fixtures/project/merge_request/diffs_metadata.fixture.js (90%) rename {qa/contracts/consumer/fixtures => spec/contracts/consumer/fixtures/project/merge_request}/discussions.fixture.js (91%) rename {qa => spec}/contracts/consumer/package.json (64%) create mode 100644 spec/contracts/consumer/specs/project/merge_request/show.spec.js rename qa/contracts/contracts/merge_request_page-merge_request_diffs_endpoint.json => spec/contracts/contracts/project/merge_request/show/mergerequest#show-merge_request_diffs_batch_endpoint.json (96%) rename qa/contracts/contracts/merge_request_page-merge_request_metadata_endpoint.json => spec/contracts/contracts/project/merge_request/show/mergerequest#show-merge_request_diffs_metadata_endpoint.json (96%) rename qa/contracts/contracts/merge_request_page-merge_request_discussions_endpoint.json => spec/contracts/contracts/project/merge_request/show/mergerequest#show-merge_request_discussions_endpoint.json (97%) create mode 100644 spec/contracts/provider/environments/test.rb create mode 100644 spec/contracts/provider/helpers/users_helper.rb create mode 100644 spec/contracts/provider/pact_helpers/project/merge_request/diffs_batch_helper.rb create mode 100644 spec/contracts/provider/pact_helpers/project/merge_request/diffs_metadata_helper.rb create mode 100644 spec/contracts/provider/pact_helpers/project/merge_request/discussions_helper.rb create mode 100644 spec/contracts/provider/spec_helper.rb create mode 100644 spec/contracts/provider/states/project/merge_request/diffs_batch_state.rb create mode 100644 spec/contracts/provider/states/project/merge_request/diffs_metadata_state.rb create mode 100644 spec/contracts/provider/states/project/merge_request/discussions_state.rb delete mode 100644 spec/controllers/projects/services_controller_spec.rb rename spec/controllers/projects/{service_hook_logs_controller_spec.rb => settings/integration_hook_logs_controller_spec.rb} (89%) delete mode 100644 spec/controllers/projects/static_site_editor_controller_spec.rb create mode 100644 spec/events/pages/page_deleted_event_spec.rb create mode 100644 spec/factories/clusters/cluster_enabled_grant.rb create mode 100644 spec/factories/commit_signature/ssh_signature.rb create mode 100644 spec/factories/time_tracking/timelog_categories.rb create mode 100644 spec/factories/work_items/parent_links.rb delete mode 100644 spec/features/markdown/mermaid_spec.rb create mode 100644 spec/features/nav/top_nav_tooltip_spec.rb create mode 100644 spec/features/oauth_registration_spec.rb create mode 100644 spec/features/projects/settings/branch_rules_settings_spec.rb delete mode 100644 spec/features/refactor_blob_viewer_disabled/projects/files/user_replaces_files_spec.rb create mode 100644 spec/features/tags/maintainer_deletes_protected_tag_spec.rb create mode 100644 spec/features/users/zuora_csp_spec.rb create mode 100644 spec/finders/crm/organizations_finder_spec.rb create mode 100644 spec/finders/work_items/work_items_finder_spec.rb create mode 100644 spec/fixtures/emails/service_desk_reference_headers.eml create mode 100644 spec/fixtures/emails/service_desk_reply_illegal_utf8.eml rename spec/fixtures/{project_services => integrations}/campfire/rooms.json (100%) rename spec/fixtures/{project_services => integrations}/campfire/rooms2.json (100%) create mode 100644 spec/fixtures/lib/generators/gitlab/usage_metric_generator/sample_numbers_metric.rb create mode 100644 spec/frontend/__helpers__/dl_locator_helper.js create mode 100644 spec/frontend/access_tokens/components/access_token_table_app_spec.js create mode 100644 spec/frontend/access_tokens/components/new_access_token_app_spec.js create mode 100644 spec/frontend/admin/application_settings/inactive_project_deletion/components/form_spec.js create mode 100644 spec/frontend/batch_comments/components/submit_dropdown_spec.js delete mode 100644 spec/frontend/behaviors/markdown/render_mermaid_spec.js delete mode 100644 spec/frontend/blob/blob_file_dropzone_spec.js rename spec/frontend/ci_variable_list/components/{ci_environments_dropdown_spec.js => legacy_ci_environments_dropdown_spec.js} (95%) rename spec/frontend/ci_variable_list/components/{ci_variable_modal_spec.js => legacy_ci_variable_modal_spec.js} (97%) rename spec/frontend/ci_variable_list/components/{ci_variable_settings_spec.js => legacy_ci_variable_settings_spec.js} (84%) rename spec/frontend/ci_variable_list/components/{ci_variable_table_spec.js => legacy_ci_variable_table_spec.js} (93%) create mode 100644 spec/frontend/clusters/agents/components/create_token_modal_spec.js create mode 100644 spec/frontend/content_editor/components/toolbar_more_dropdown_spec.js create mode 100644 spec/frontend/content_editor/components/wrappers/footnote_definition_spec.js create mode 100644 spec/frontend/content_editor/extensions/footnote_definition_spec.js create mode 100644 spec/frontend/editor/source_editor_webide_ext_spec.js create mode 100644 spec/frontend/emoji/utils_spec.js rename spec/frontend/fixtures/{services.rb => integrations.rb} (76%) rename spec/frontend/fixtures/{prometheus_service.rb => prometheus_integration.rb} (74%) create mode 100644 spec/frontend/groups/components/empty_state_spec.js create mode 100644 spec/frontend/groups/components/group_name_and_path_spec.js delete mode 100644 spec/frontend/integrations/edit/components/jira_upgrade_cta_spec.js create mode 100644 spec/frontend/integrations/edit/components/sections/configuration_spec.js create mode 100644 spec/frontend/integrations/edit/components/sections/trigger_spec.js create mode 100644 spec/frontend/integrations/edit/components/trigger_field_spec.js create mode 100644 spec/frontend/issuable/popover/components/issue_popover_spec.js create mode 100644 spec/frontend/issuable/popover/components/mr_popover_spec.js rename spec/frontend/{mr_popover => issuable/popover}/index_spec.js (57%) create mode 100644 spec/frontend/issues/show/components/incidents/mock_data.js create mode 100644 spec/frontend/issues/show/components/incidents/timeline_events_list_item_spec.js create mode 100644 spec/frontend/issues/show/components/incidents/timeline_events_list_spec.js create mode 100644 spec/frontend/issues/show/components/incidents/timeline_events_tab_spec.js create mode 100644 spec/frontend/issues/show/components/incidents/utils_spec.js create mode 100644 spec/frontend/lib/utils/rails_ujs_spec.js delete mode 100644 spec/frontend/logs/utils_spec.js delete mode 100644 spec/frontend/mr_popover/__snapshots__/mr_popover_spec.js.snap delete mode 100644 spec/frontend/mr_popover/mr_popover_spec.js rename spec/frontend/packages_and_registries/settings/project/settings/components/__snapshots__/{settings_form_spec.js.snap => container_expiration_policy_form_spec.js.snap} (74%) rename spec/frontend/packages_and_registries/settings/project/settings/components/{settings_form_spec.js => container_expiration_policy_form_spec.js} (99%) create mode 100644 spec/frontend/packages_and_registries/settings/project/settings/components/container_expiration_policy_spec.js create mode 100644 spec/frontend/pipeline_editor/components/validate/ci_validate_spec.js rename spec/frontend/pipeline_wizard/components/{input_spec.js => input_wrapper_spec.js} (97%) delete mode 100644 spec/frontend/pipelines/notification/deprecated_type_keyword_notification_spec.js create mode 100644 spec/frontend/pipelines/pipeline_tabs_spec.js create mode 100644 spec/frontend/projects/clusters_deprecation_slert/components/clusters_deprecation_alert_spec.js create mode 100644 spec/frontend/projects/settings/branch_rules/branch_dropdown_spec.js create mode 100644 spec/frontend/projects/settings/branch_rules/rule_edit_spec.js create mode 100644 spec/frontend/projects/settings/repository/branch_rules/app_spec.js create mode 100644 spec/frontend/repository/components/blob_viewers/sketch_viewer_spec.js create mode 100644 spec/frontend/runner/components/runner_list_empty_state_spec.js delete mode 100644 spec/frontend/static_site_editor/components/app_spec.js delete mode 100644 spec/frontend/static_site_editor/components/edit_area_spec.js delete mode 100644 spec/frontend/static_site_editor/components/edit_drawer_spec.js delete mode 100644 spec/frontend/static_site_editor/components/edit_header_spec.js delete mode 100644 spec/frontend/static_site_editor/components/edit_meta_controls_spec.js delete mode 100644 spec/frontend/static_site_editor/components/edit_meta_modal_spec.js delete mode 100644 spec/frontend/static_site_editor/components/front_matter_controls_spec.js delete mode 100644 spec/frontend/static_site_editor/components/invalid_content_message_spec.js delete mode 100644 spec/frontend/static_site_editor/components/publish_toolbar_spec.js delete mode 100644 spec/frontend/static_site_editor/components/submit_changes_error_spec.js delete mode 100644 spec/frontend/static_site_editor/components/unsaved_changes_confirm_dialog_spec.js delete mode 100644 spec/frontend/static_site_editor/graphql/resolvers/file_spec.js delete mode 100644 spec/frontend/static_site_editor/graphql/resolvers/has_submitted_changes_spec.js delete mode 100644 spec/frontend/static_site_editor/graphql/resolvers/submit_content_changes_spec.js delete mode 100644 spec/frontend/static_site_editor/mock_data.js delete mode 100644 spec/frontend/static_site_editor/pages/home_spec.js delete mode 100644 spec/frontend/static_site_editor/pages/success_spec.js delete mode 100644 spec/frontend/static_site_editor/rich_content_editor/editor_service_spec.js delete mode 100644 spec/frontend/static_site_editor/rich_content_editor/modals/add_image/add_image_modal_spec.js delete mode 100644 spec/frontend/static_site_editor/rich_content_editor/modals/add_image/upload_image_tab_spec.js delete mode 100644 spec/frontend/static_site_editor/rich_content_editor/modals/insert_video_modal_spec.js delete mode 100644 spec/frontend/static_site_editor/rich_content_editor/rich_content_editor_integration_spec.js delete mode 100644 spec/frontend/static_site_editor/rich_content_editor/rich_content_editor_spec.js delete mode 100644 spec/frontend/static_site_editor/rich_content_editor/services/build_custom_renderer_spec.js delete mode 100644 spec/frontend/static_site_editor/rich_content_editor/services/build_html_to_markdown_renderer_spec.js delete mode 100644 spec/frontend/static_site_editor/rich_content_editor/services/renderers/build_uneditable_token_spec.js delete mode 100644 spec/frontend/static_site_editor/rich_content_editor/services/renderers/mock_data.js delete mode 100644 spec/frontend/static_site_editor/rich_content_editor/services/renderers/render_attribute_definition_spec.js delete mode 100644 spec/frontend/static_site_editor/rich_content_editor/services/renderers/render_embedded_ruby_spec.js delete mode 100644 spec/frontend/static_site_editor/rich_content_editor/services/renderers/render_font_awesome_html_inline_spec.js delete mode 100644 spec/frontend/static_site_editor/rich_content_editor/services/renderers/render_heading_spec.js delete mode 100644 spec/frontend/static_site_editor/rich_content_editor/services/renderers/render_html_block_spec.js delete mode 100644 spec/frontend/static_site_editor/rich_content_editor/services/renderers/render_identifier_instance_text_spec.js delete mode 100644 spec/frontend/static_site_editor/rich_content_editor/services/renderers/render_identifier_paragraph_spec.js delete mode 100644 spec/frontend/static_site_editor/rich_content_editor/services/renderers/render_list_item_spec.js delete mode 100644 spec/frontend/static_site_editor/rich_content_editor/services/renderers/render_softbreak_spec.js delete mode 100644 spec/frontend/static_site_editor/rich_content_editor/services/renderers/render_utils_spec.js delete mode 100644 spec/frontend/static_site_editor/rich_content_editor/services/sanitize_html_spec.js delete mode 100644 spec/frontend/static_site_editor/rich_content_editor/toolbar_item_spec.js delete mode 100644 spec/frontend/static_site_editor/services/formatter_spec.js delete mode 100644 spec/frontend/static_site_editor/services/front_matterify_spec.js delete mode 100644 spec/frontend/static_site_editor/services/generate_branch_name_spec.js delete mode 100644 spec/frontend/static_site_editor/services/load_source_content_spec.js delete mode 100644 spec/frontend/static_site_editor/services/parse_source_file_spec.js delete mode 100644 spec/frontend/static_site_editor/services/renderers/render_image_spec.js delete mode 100644 spec/frontend/static_site_editor/services/submit_content_changes_spec.js delete mode 100644 spec/frontend/static_site_editor/services/templater_spec.js create mode 100644 spec/frontend/tags/components/delete_tag_modal_spec.js create mode 100644 spec/frontend/tags/init_delete_tag_modal_spec.js create mode 100644 spec/frontend/vue_mr_widget/components/approvals/humanized_text_spec.js delete mode 100644 spec/frontend/vue_mr_widget/components/mr_widget_header_spec.js create mode 100644 spec/frontend/vue_shared/components/color_select_dropdown/color_item_spec.js create mode 100644 spec/frontend/vue_shared/components/color_select_dropdown/color_select_root_spec.js create mode 100644 spec/frontend/vue_shared/components/color_select_dropdown/dropdown_contents_color_view_spec.js create mode 100644 spec/frontend/vue_shared/components/color_select_dropdown/dropdown_contents_spec.js create mode 100644 spec/frontend/vue_shared/components/color_select_dropdown/dropdown_header_spec.js create mode 100644 spec/frontend/vue_shared/components/color_select_dropdown/dropdown_value_spec.js create mode 100644 spec/frontend/vue_shared/components/color_select_dropdown/mock_data.js create mode 100644 spec/frontend/vue_shared/components/source_viewer/plugins/index_spec.js create mode 100644 spec/frontend/vue_shared/components/source_viewer/plugins/wrap_comments_spec.js create mode 100644 spec/frontend/work_items/components/work_item_assignees_spec.js create mode 100644 spec/frontend/work_items/components/work_item_description_spec.js create mode 100644 spec/frontend/work_items/components/work_item_links/work_item_links_spec.js create mode 100644 spec/frontend/work_items/components/work_item_weight_spec.js create mode 100644 spec/graphql/mutations/work_items/update_task_spec.rb create mode 100644 spec/graphql/mutations/work_items/update_widgets_spec.rb create mode 100644 spec/graphql/resolvers/crm/contacts_resolver_spec.rb create mode 100644 spec/graphql/resolvers/crm/organizations_resolver_spec.rb create mode 100644 spec/graphql/resolvers/work_items_resolver_spec.rb create mode 100644 spec/graphql/types/ci/pipeline_merge_request_event_type_enum_spec.rb create mode 100644 spec/graphql/types/limited_countable_connection_type_spec.rb create mode 100644 spec/graphql/types/packages/cleanup/keep_duplicated_package_files_enum_spec.rb create mode 100644 spec/graphql/types/packages/cleanup/policy_type_spec.rb create mode 100644 spec/graphql/types/work_items/widget_interface_spec.rb create mode 100644 spec/graphql/types/work_items/widget_type_enum_spec.rb create mode 100644 spec/graphql/types/work_items/widgets/description_type_spec.rb create mode 100644 spec/graphql/types/work_items/widgets/hierarchy_type_spec.rb create mode 100644 spec/helpers/admin/application_settings/settings_helper_spec.rb delete mode 100644 spec/helpers/groups/crm_settings_helper_spec.rb create mode 100644 spec/helpers/tooling/visual_review_helper_spec.rb create mode 100644 spec/initializers/set_active_support_hash_digest_class_spec.rb create mode 100644 spec/lib/api/entities/personal_access_token_with_details_spec.rb create mode 100644 spec/lib/api/helpers/project_stats_refresh_conflicts_helpers_spec.rb delete mode 100644 spec/lib/api/helpers/sse_helpers_spec.rb create mode 100644 spec/lib/api/integrations/slack/events/url_verification_spec.rb create mode 100644 spec/lib/bulk_imports/projects/pipelines/design_bundle_pipeline_spec.rb create mode 100644 spec/lib/bulk_imports/projects/pipelines/repository_bundle_pipeline_spec.rb create mode 100644 spec/lib/error_tracking/stacktrace_builder_spec.rb create mode 100644 spec/lib/gitlab/background_migration/backfill_project_feature_package_registry_access_level_spec.rb create mode 100644 spec/lib/gitlab/background_migration/backfill_project_member_namespace_id_spec.rb create mode 100644 spec/lib/gitlab/background_migration/cleanup_orphaned_routes_spec.rb delete mode 100644 spec/lib/gitlab/background_migration/migrate_pages_to_zip_storage_spec.rb create mode 100644 spec/lib/gitlab/background_migration/set_legacy_open_source_license_available_for_non_public_projects_spec.rb create mode 100644 spec/lib/gitlab/ci/config/entry/pull_policy_spec.rb create mode 100644 spec/lib/gitlab/ci/config/entry/rules/rule/changes_spec.rb create mode 100644 spec/lib/gitlab/ci/reports/coverage_report_generator_spec.rb rename spec/lib/gitlab/ci/reports/{coverage_reports_spec.rb => coverage_report_spec.rb} (82%) create mode 100644 spec/lib/gitlab/database/load_balancing/transaction_leaking_spec.rb create mode 100644 spec/lib/gitlab/database/migration_helpers/announce_database_spec.rb delete mode 100644 spec/lib/gitlab/diff/custom_diff_spec.rb create mode 100644 spec/lib/gitlab/diff/rendered/notebook/diff_file_helper_spec.rb create mode 100644 spec/lib/gitlab/error_tracking/logger_spec.rb create mode 100644 spec/lib/gitlab/graphql/query_analyzers/ast/logger_analyzer_spec.rb create mode 100644 spec/lib/gitlab/graphql/query_analyzers/ast/recursion_analyzer_spec.rb delete mode 100644 spec/lib/gitlab/graphql/query_analyzers/logger_analyzer_spec.rb create mode 100644 spec/lib/gitlab/hash_digest/facade_spec.rb create mode 100644 spec/lib/gitlab/mailgun/webhook_processors/failure_logger_spec.rb create mode 100644 spec/lib/gitlab/mailgun/webhook_processors/member_invites_spec.rb create mode 100644 spec/lib/gitlab/memory/jemalloc_spec.rb delete mode 100644 spec/lib/gitlab/pages_transfer_spec.rb create mode 100644 spec/lib/gitlab/project_stats_refresh_conflicts_logger_spec.rb create mode 100644 spec/lib/gitlab/protocol_access_spec.rb create mode 100644 spec/lib/gitlab/redis/duplicate_jobs_spec.rb create mode 100644 spec/lib/gitlab/redis/multi_store_spec.rb create mode 100644 spec/lib/gitlab/redis/sidekiq_status_spec.rb create mode 100644 spec/lib/gitlab/regex_requires_app_spec.rb create mode 100644 spec/lib/gitlab/render_timeout_spec.rb create mode 100644 spec/lib/gitlab/ssh/signature_spec.rb delete mode 100644 spec/lib/gitlab/static_site_editor/config/file_config/entry/global_spec.rb delete mode 100644 spec/lib/gitlab/static_site_editor/config/file_config/entry/image_upload_path_spec.rb delete mode 100644 spec/lib/gitlab/static_site_editor/config/file_config/entry/mount_spec.rb delete mode 100644 spec/lib/gitlab/static_site_editor/config/file_config/entry/mounts_spec.rb delete mode 100644 spec/lib/gitlab/static_site_editor/config/file_config/entry/static_site_generator_spec.rb delete mode 100644 spec/lib/gitlab/static_site_editor/config/file_config_spec.rb delete mode 100644 spec/lib/gitlab/static_site_editor/config/generated_config_spec.rb delete mode 100644 spec/lib/gitlab/updated_notes_paginator_spec.rb create mode 100644 spec/lib/gitlab/usage/metrics/instrumentations/count_imported_projects_total_metric_spec.rb create mode 100644 spec/lib/gitlab/usage/metrics/instrumentations/jira_imports_total_imported_issues_count_metric_spec.rb create mode 100644 spec/lib/gitlab/usage/metrics/instrumentations/numbers_metric_spec.rb create mode 100644 spec/lib/gitlab/usage/metrics/instrumentations/unique_active_users_metric_spec.rb delete mode 100644 spec/lib/gitlab/usage_data_counters/static_site_editor_counter_spec.rb create mode 100644 spec/lib/gitlab/web_hooks/rate_limiter_spec.rb create mode 100644 spec/migrations/20220416054011_schedule_backfill_project_member_namespace_id_spec.rb create mode 100644 spec/migrations/20220503035221_add_gitlab_schema_to_batched_background_migrations_spec.rb create mode 100644 spec/migrations/20220512190659_remove_web_hooks_web_hook_logs_web_hook_id_fk_spec.rb create mode 100644 spec/migrations/20220520040416_schedule_set_legacy_open_source_license_available_for_non_public_projects_spec.rb create mode 100644 spec/migrations/20220523171107_drop_deploy_tokens_token_column_spec.rb create mode 100644 spec/migrations/20220524074947_finalize_backfill_null_note_discussion_ids_spec.rb create mode 100644 spec/migrations/add_web_hook_calls_to_plan_limits_paid_tiers_spec.rb create mode 100644 spec/migrations/bulk_insert_cluster_enabled_grants_spec.rb create mode 100644 spec/migrations/cleanup_backfill_integrations_enable_ssl_verification_spec.rb create mode 100644 spec/migrations/cleanup_orphaned_routes_spec.rb create mode 100644 spec/migrations/finalize_routes_backfilling_for_projects_spec.rb create mode 100644 spec/migrations/queue_backfill_project_feature_package_registry_access_level_spec.rb create mode 100644 spec/migrations/remove_invalid_integrations_spec.rb delete mode 100644 spec/migrations/schedule_migrate_pages_to_zip_storage_spec.rb create mode 100644 spec/migrations/schedule_populate_requirements_issue_id_spec.rb create mode 100644 spec/migrations/schedule_purging_stale_security_scans_spec.rb create mode 100644 spec/models/clusters/cluster_enabled_grant_spec.rb create mode 100644 spec/models/commit_signatures/ssh_signature_spec.rb create mode 100644 spec/models/concerns/as_cte_spec.rb rename spec/{ => models}/factories_spec.rb (96%) create mode 100644 spec/models/time_tracking/timelog_category_spec.rb create mode 100644 spec/models/work_items/parent_link_spec.rb create mode 100644 spec/models/work_items/widgets/base_spec.rb create mode 100644 spec/models/work_items/widgets/description_spec.rb create mode 100644 spec/models/work_items/widgets/hierarchy_spec.rb create mode 100644 spec/presenters/packages/pypi/simple_index_presenter_spec.rb rename spec/presenters/packages/pypi/{package_presenter_spec.rb => simple_package_versions_presenter_spec.rb} (70%) create mode 100644 spec/presenters/releases/link_presenter_spec.rb create mode 100644 spec/requests/api/graphql/mutations/packages/cleanup/policy/update_spec.rb create mode 100644 spec/requests/api/graphql/mutations/packages/destroy_files_spec.rb create mode 100644 spec/requests/api/graphql/mutations/work_items/update_task_spec.rb create mode 100644 spec/requests/api/graphql/mutations/work_items/update_widgets_spec.rb create mode 100644 spec/requests/api/graphql/project/packages_cleanup_policy_spec.rb create mode 100644 spec/requests/api/graphql/project/work_items_spec.rb create mode 100644 spec/requests/api/integrations/slack/events_spec.rb create mode 100644 spec/requests/api/internal/workhorse_spec.rb create mode 100644 spec/requests/api/markdown_snapshot_spec.rb create mode 100644 spec/requests/jira_connect/oauth_application_ids_controller_spec.rb create mode 100644 spec/requests/mailgun/webhooks_controller_spec.rb delete mode 100644 spec/requests/members/mailgun/permanent_failure_spec.rb create mode 100644 spec/requests/oauth/authorizations_controller_spec.rb create mode 100644 spec/requests/projects/environments_controller_spec.rb create mode 100644 spec/rubocop/cop/migration/background_migrations_spec.rb rename spec/serializers/{deploy_key_entity_spec.rb => deploy_keys/basic_deploy_key_entity_spec.rb} (87%) create mode 100644 spec/serializers/deploy_keys/deploy_key_entity_spec.rb rename spec/serializers/{service_event_entity_spec.rb => integrations/event_entity_spec.rb} (74%) rename spec/serializers/{service_field_entity_spec.rb => integrations/field_entity_spec.rb} (72%) create mode 100644 spec/services/bulk_imports/create_pipeline_trackers_service_spec.rb create mode 100644 spec/services/bulk_imports/repository_bundle_export_service_spec.rb delete mode 100644 spec/services/clusters/applications/schedule_update_service_spec.rb create mode 100644 spec/services/import/fogbugz_service_spec.rb delete mode 100644 spec/services/members/groups/bulk_creator_service_spec.rb delete mode 100644 spec/services/members/mailgun/process_webhook_service_spec.rb delete mode 100644 spec/services/members/projects/bulk_creator_service_spec.rb create mode 100644 spec/services/packages/cleanup/update_policy_service_spec.rb delete mode 100644 spec/services/projects/destroy_rollback_service_spec.rb delete mode 100644 spec/services/repositories/destroy_rollback_service_spec.rb delete mode 100644 spec/services/repositories/shell_destroy_service_spec.rb delete mode 100644 spec/services/static_site_editor/config_service_spec.rb create mode 100644 spec/services/terraform/states/destroy_service_spec.rb create mode 100644 spec/services/terraform/states/trigger_destroy_service_spec.rb create mode 100644 spec/services/web_hooks/log_destroy_service_spec.rb create mode 100644 spec/support/helpers/callouts_test_helper.rb create mode 100644 spec/support/helpers/countries_controller_test_helper.rb create mode 100644 spec/support/helpers/doc_url_helper.rb create mode 100644 spec/support/helpers/emails_helper_test_helper.rb create mode 100644 spec/support/helpers/form_builder_helpers.rb rename spec/support/helpers/{jira_service_helper.rb => jira_integration_helpers.rb} (91%) create mode 100644 spec/support/helpers/project_template_test_helper.rb create mode 100644 spec/support/helpers/stub_method_calls.rb create mode 100644 spec/support/helpers/subscription_portal_helper.rb create mode 100644 spec/support/shared_contexts/finders/work_items_finder_shared_contexts.rb create mode 100644 spec/support/shared_contexts/markdown_snapshot_shared_examples.rb create mode 100644 spec/support/shared_examples/components/pajamas_shared_examples.rb delete mode 100644 spec/support/shared_examples/features/issuables_user_dropdown_behaviors_shared_examples.rb create mode 100644 spec/support/shared_examples/finders/issues_finder_shared_examples.rb rename spec/support/shared_examples/graphql/{projects/merge_request_n_plus_one_query_examples.rb => n_plus_one_query_examples.rb} (100%) create mode 100644 spec/support/shared_examples/lib/gitlab/redis/multi_store_feature_flags_shared_examples.rb create mode 100644 spec/support/shared_examples/models/commit_signature_shared_examples.rb create mode 100644 spec/support/shared_examples/models/integrations/base_data_fields_shared_examples.rb create mode 100644 spec/support/shared_examples/requests/api/project_statistics_refresh_conflicts_shared_examples.rb create mode 100644 spec/support/shared_examples/requests/projects/environments_controller_spec_shared_examples.rb create mode 100644 spec/support/shared_examples/views/pagination_shared_examples.rb create mode 100644 spec/support_specs/helpers/stub_method_calls_spec.rb create mode 100644 spec/tasks/gitlab/db/decomposition/rollback/bump_ci_sequences_rake_spec.rb create mode 100644 spec/tasks/gitlab/db/lock_writes_rake_spec.rb create mode 100644 spec/uploaders/metric_image_uploader_spec.rb create mode 100644 spec/views/admin/application_settings/_repository_check.html.haml_spec.rb rename spec/views/projects/{services => settings/integrations}/edit.html.haml_spec.rb (90%) create mode 100644 spec/views/shared/projects/_inactive_project_deletion_alert.html.haml_spec.rb rename spec/workers/clusters/applications/{activate_service_worker_spec.rb => activate_integration_worker_spec.rb} (69%) rename spec/workers/clusters/applications/{deactivate_service_worker_spec.rb => deactivate_integration_worker_spec.rb} (66%) delete mode 100644 spec/workers/expire_job_cache_worker_spec.rb delete mode 100644 spec/workers/expire_pipeline_cache_worker_spec.rb rename spec/workers/{project_service_worker_spec.rb => integrations/execute_worker_spec.rb} (54%) rename spec/workers/{ => integrations}/irker_worker_spec.rb (84%) delete mode 100644 spec/workers/issue_placement_worker_spec.rb delete mode 100644 spec/workers/issue_rebalancing_worker_spec.rb delete mode 100644 spec/workers/namespaceless_project_destroy_worker_spec.rb delete mode 100644 spec/workers/pages_transfer_worker_spec.rb delete mode 100644 spec/workers/project_daily_statistics_worker_spec.rb delete mode 100644 spec/workers/prometheus/create_default_alerts_worker_spec.rb delete mode 100644 spec/workers/repository_remove_remote_worker_spec.rb create mode 100644 spec/workers/terraform/states/destroy_worker_spec.rb create mode 100644 spec/workers/web_hooks/log_destroy_worker_spec.rb create mode 100644 vendor/project_templates/pelican.tar.gz create mode 100644 workhorse/internal/upload/exif.go delete mode 100644 workhorse/internal/upload/skip_rails_authorizer.go diff --git a/.eslintignore b/.eslintignore index b7769ef897..1d069e1938 100644 --- a/.eslintignore +++ b/.eslintignore @@ -9,4 +9,3 @@ /sitespeed-result/ /fixtures/**/*.graphql spec/fixtures/**/*.graphql -**/contracts/consumer/ diff --git a/.eslintrc.yml b/.eslintrc.yml index 1dec5db472..7505d864e6 100644 --- a/.eslintrc.yml +++ b/.eslintrc.yml @@ -26,6 +26,12 @@ rules: - _links import/no-unresolved: - error + - ignore: + # In FOSS, these import paths are rewritten using + # NormalModuleReplacementPlugin, which import/no-unresolved doesn't + # consider. See + # https://gitlab.com/gitlab-org/gitlab/-/merge_requests/89831. + - '^(ee|jh)_component/' # Disabled for now, to make the airbnb-base 12.1.0 -> 13.1.0 update smoother no-else-return: - error @@ -108,6 +114,8 @@ rules: message: 'Migrate to GlSkeletonLoader, or import GlDeprecatedSkeletonLoading.' # See https://gitlab.com/gitlab-org/gitlab/-/issues/360551 vue/multi-word-component-names: off + unicorn/prefer-dom-node-dataset: + - error overrides: - files: - '{,ee/,jh/}spec/frontend*/**/*' diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 7b2918b705..9225f04ad7 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -44,6 +44,7 @@ workflow: # For the 2-hourly scheduled pipelines, we set specific variables. - if: '$CI_COMMIT_BRANCH == $CI_DEFAULT_BRANCH && $CI_PIPELINE_SOURCE == "schedule" && $FREQUENCY == "2-hourly"' variables: + RUBY_VERSION: "2.7" CRYSTALBALL: "true" # For `$CI_DEFAULT_BRANCH` branch, create a pipeline (this includes on schedules, pushes, merges, etc.). - if: '$CI_COMMIT_BRANCH == $CI_DEFAULT_BRANCH' @@ -59,11 +60,12 @@ workflow: variables: PG_VERSION: "12" - DEFAULT_CI_IMAGE: "${REGISTRY_HOST}/${REGISTRY_GROUP}/gitlab-build-images:debian-${DEBIAN_VERSION}-ruby-2.7.patched-golang-1.16-git-2.33-lfs-2.9-chrome-97-node-16.14-yarn-1.22-postgresql-${PG_VERSION}-graphicsmagick-1.3.36" + DEFAULT_CI_IMAGE: "${REGISTRY_HOST}/${REGISTRY_GROUP}/gitlab-build-images/debian-${DEBIAN_VERSION}-ruby-${RUBY_VERSION}.patched-golang-1.17-node-16.14-postgresql-${PG_VERSION}:git-2.36-lfs-2.9-chrome-${CHROME_VERSION}-yarn-1.22-graphicsmagick-1.3.36" RAILS_ENV: "test" NODE_ENV: "test" BUNDLE_WITHOUT: "production:development" BUNDLE_INSTALL_FLAGS: "--jobs=$(nproc) --retry=3 --quiet" + BUNDLE_FROZEN: "true" # we override the max_old_space_size to prevent OOM errors NODE_OPTIONS: --max_old_space_size=3584 GIT_DEPTH: "20" @@ -72,6 +74,9 @@ variables: GIT_SUBMODULE_STRATEGY: "none" GET_SOURCES_ATTEMPTS: "3" DEBIAN_VERSION: "bullseye" + CHROME_VERSION: "101" + DOCKER_VERSION: "20.10.14" + RUBY_VERSION: "2.7" TMP_TEST_FOLDER: "${CI_PROJECT_DIR}/tmp/tests" GITLAB_WORKHORSE_FOLDER: "gitlab-workhorse" @@ -88,7 +93,6 @@ variables: ES_JAVA_OPTS: "-Xms256m -Xmx256m" ELASTIC_URL: "http://elastic:changeme@elasticsearch:9200" - DOCKER_VERSION: "20.10.1" CACHE_CLASSES: "true" CHECK_PRECOMPILED_ASSETS: "true" FF_USE_FASTZIP: "true" diff --git a/.gitlab/CODEOWNERS b/.gitlab/CODEOWNERS index 8b64c81f0f..64955d67e3 100644 --- a/.gitlab/CODEOWNERS +++ b/.gitlab/CODEOWNERS @@ -137,7 +137,7 @@ Dangerfile @gl-quality/eng-prod /app/assets/javascripts/notes @viktomas @jboyson @iamphill @thomasrandolph /app/assets/javascripts/merge_conflicts @viktomas @jboyson @iamphill @thomasrandolph /app/assets/javascripts/mr_notes @viktomas @jboyson @iamphill @thomasrandolph -/app/assets/javascripts/mr_popover @viktomas @jboyson @iamphill @thomasrandolph +/app/assets/javascripts/issuable/popover @viktomas @jboyson @iamphill @thomasrandolph /app/assets/javascripts/vue_merge_request_widget @viktomas @jboyson @iamphill @thomasrandolph /app/assets/javascripts/merge_request.js @viktomas @jboyson @iamphill @thomasrandolph /app/assets/javascripts/merge_request_tabs.js @viktomas @jboyson @iamphill @thomasrandolph @@ -175,8 +175,21 @@ Dangerfile @gl-quality/eng-prod ^[Workhorse] /workhorse/ @jacobvosmaer-gitlab @nick.thomas @nolith @patrickbajao -^[Application Security] +[Application Security] +/app/assets/javascripts/lib/dompurify.js @gitlab-com/gl-security/appsec +/app/assets/javascripts/gfm_auto_complete.js @gitlab-com/gl-security/appsec +/ee/app/assets/javascripts/gfm_auto_complete.js @gitlab-com/gl-security/appsec +/app/validators/addressable_url_validator.rb @gitlab-com/gl-security/appsec +/app/validators/public_url_validator.rb @gitlab-com/gl-security/appsec +/config/initializers/content_security_policy.rb @gitlab-com/gl-security/appsec /lib/gitlab/content_security_policy/ @gitlab-com/gl-security/appsec +/lib/gitlab/http.rb @gitlab-com/gl-security/appsec +/lib/gitlab/http_connection_adapter.rb @gitlab-com/gl-security/appsec +/lib/gitlab/sanitizers @gitlab-com/gl-security/appsec +/lib/gitlab/untrusted_regexp.rb @gitlab-com/gl-security/appsec +/lib/gitlab/url_blocker.rb @gitlab-com/gl-security/appsec +/lib/gitlab/url_blockers/ @gitlab-com/gl-security/appsec +/lib/gitlab/utils.rb @gitlab-com/gl-security/appsec ^[Gitaly] lib/gitlab/git_access.rb @proglottis @toon @zj-gitlab @@ -218,7 +231,7 @@ lib/gitlab/checks/** @proglottis @toon @zj-gitlab /doc/administration/index.md @axil /doc/administration/instance_limits.md @axil /doc/administration/instance_review.md @kpaizee -/doc/administration/integration/kroki.md @kpaizee +/doc/administration/integration/kroki.md @msedlakjakubowski /doc/administration/integration/mailgun.md @kpaizee /doc/administration/integration/plantuml.md @aqualls /doc/administration/integration/terminal.md @kpaizee @@ -559,7 +572,7 @@ lib/gitlab/checks/** @proglottis @toon @zj-gitlab /doc/development/new_fe_guide/tips.md @sselhorn /doc/development/omnibus.md @axil /doc/development/ordering_table_columns.md @aqualls -/doc/development/packages.md @claytoncornell +/doc/development/packages/ @claytoncornell /doc/development/permissions.md @eread /doc/development/policies.md @eread /doc/development/product_qualified_lead_guide/index.md @kpaizee @@ -591,6 +604,7 @@ lib/gitlab/checks/** @proglottis @toon @zj-gitlab /doc/gitlab-basics/ @aqualls /doc/install/ @axil /doc/integration/ @kpaizee +/doc/integration/advanced_search/ @sselhorn /doc/integration/elasticsearch.md @sselhorn /doc/integration/gitpod.md @aqualls /doc/integration/kerberos.md @eread @@ -619,6 +633,7 @@ lib/gitlab/checks/** @proglottis @toon @zj-gitlab /doc/topics/offline/index.md @axil /doc/topics/offline/quick_start_guide.md @axil /doc/topics/plan_and_track.md @msedlakjakubowski +/doc/tutorials/ @kpaizee /doc/update/ @axil /doc/update/mysql_to_postgresql.md @aqualls /doc/update/upgrading_postgresql_using_slony.md @aqualls @@ -770,7 +785,6 @@ lib/gitlab/checks/** @proglottis @toon @zj-gitlab /doc/user/project/settings/import_export.md @eread /doc/user/project/settings/index.md @fneill /doc/user/project/settings/project_access_tokens.md @eread -/doc/user/project/static_site_editor/index.md @aqualls /doc/user/project/time_tracking.md @msedlakjakubowski /doc/user/project/web_ide/index.md @aqualls /doc/user/project/wiki/group.md @aqualls @@ -780,7 +794,7 @@ lib/gitlab/checks/** @proglottis @toon @zj-gitlab /doc/user/reserved_names.md @fneill /doc/user/search/advanced_search.md @sselhorn /doc/user/search/global_search/advanced_search_syntax.md @sselhorn -/doc/user/search/index.md @aqualls +/doc/user/search/index.md @sselhorn /doc/user/shortcuts.md @aqualls /doc/user/snippets.md @aqualls /doc/user/ssh.md @eread @@ -790,35 +804,34 @@ lib/gitlab/checks/** @proglottis @toon @zj-gitlab /doc/user/workspace/index.md @fneill [Authentication and Authorization] -/app/assets/javascripts/access_tokens @gitlab-org/manage/authentication-and-authorization +/app/assets/javascripts/access_tokens/ @gitlab-org/manage/authentication-and-authorization /app/assets/javascripts/alerts_settings/graphql/mutations/reset_http_token.mutation.graphql @gitlab-org/manage/authentication-and-authorization -/app/assets/javascripts/authentication @gitlab-org/manage/authentication-and-authorization +/app/assets/javascripts/authentication/ @gitlab-org/manage/authentication-and-authorization /app/assets/javascripts/ide/components/shared/tokened_input.vue @gitlab-org/manage/authentication-and-authorization /app/assets/javascripts/invite_members/components/members_token_select.vue @gitlab-org/manage/authentication-and-authorization -/app/assets/javascripts/logs/components/tokens @gitlab-org/manage/authentication-and-authorization -/app/assets/javascripts/packages_and_registries/package_registry/components/list/tokens @gitlab-org/manage/authentication-and-authorization -/app/assets/javascripts/pages/admin/impersonation_tokens @gitlab-org/manage/authentication-and-authorization -/app/assets/javascripts/pages/groups/settings/access_tokens @gitlab-org/manage/authentication-and-authorization -/app/assets/javascripts/pages/ldap @gitlab-org/manage/authentication-and-authorization -/app/assets/javascripts/pages/oauth @gitlab-org/manage/authentication-and-authorization -/app/assets/javascripts/pages/omniauth_callbacks @gitlab-org/manage/authentication-and-authorization -/app/assets/javascripts/pages/profiles/password_prompt @gitlab-org/manage/authentication-and-authorization -/app/assets/javascripts/pages/profiles/personal_access_tokens @gitlab-org/manage/authentication-and-authorization -/app/assets/javascripts/pages/profiles/two_factor_auths @gitlab-org/manage/authentication-and-authorization -/app/assets/javascripts/pages/projects/settings/access_tokens @gitlab-org/manage/authentication-and-authorization +/app/assets/javascripts/logs/components/tokens/ @gitlab-org/manage/authentication-and-authorization +/app/assets/javascripts/packages_and_registries/package_registry/components/list/tokens/ @gitlab-org/manage/authentication-and-authorization +/app/assets/javascripts/pages/admin/impersonation_tokens/ @gitlab-org/manage/authentication-and-authorization +/app/assets/javascripts/pages/groups/settings/access_tokens/ @gitlab-org/manage/authentication-and-authorization +/app/assets/javascripts/pages/ldap/ @gitlab-org/manage/authentication-and-authorization +/app/assets/javascripts/pages/oauth/ @gitlab-org/manage/authentication-and-authorization +/app/assets/javascripts/pages/omniauth_callbacks/ @gitlab-org/manage/authentication-and-authorization +/app/assets/javascripts/pages/profiles/password_prompt/ @gitlab-org/manage/authentication-and-authorization +/app/assets/javascripts/pages/profiles/personal_access_tokens/ @gitlab-org/manage/authentication-and-authorization +/app/assets/javascripts/pages/profiles/two_factor_auths/ @gitlab-org/manage/authentication-and-authorization +/app/assets/javascripts/pages/projects/settings/access_tokens/ @gitlab-org/manage/authentication-and-authorization /app/assets/javascripts/pages/sessions/new/oauth_remember_me.js @gitlab-org/manage/authentication-and-authorization /app/assets/javascripts/pipelines/components/pipelines_list/tokens/constants.js @gitlab-org/manage/authentication-and-authorization /app/assets/javascripts/pipelines/components/pipelines_list/tokens/pipeline_branch_name_token.vue @gitlab-org/manage/authentication-and-authorization /app/assets/javascripts/pipelines/components/pipelines_list/tokens/pipeline_source_token.vue @gitlab-org/manage/authentication-and-authorization /app/assets/javascripts/pipelines/components/pipelines_list/tokens/pipeline_status_token.vue @gitlab-org/manage/authentication-and-authorization /app/assets/javascripts/pipelines/components/pipelines_list/tokens/pipeline_tag_name_token.vue @gitlab-org/manage/authentication-and-authorization -/app/assets/javascripts/projects/settings/topics/components @gitlab-org/manage/authentication-and-authorization +/app/assets/javascripts/projects/settings/topics/components/ @gitlab-org/manage/authentication-and-authorization /app/assets/javascripts/related_issues/components/issue_token.vue @gitlab-org/manage/authentication-and-authorization /app/assets/javascripts/runner/components/registration/registration_token.vue @gitlab-org/manage/authentication-and-authorization /app/assets/javascripts/runner/components/registration/registration_token_reset_dropdown_item.vue @gitlab-org/manage/authentication-and-authorization -/app/assets/javascripts/runner/components/search_tokens @gitlab-org/manage/authentication-and-authorization -/app/assets/javascripts/static_site_editor/rich_content_editor/services/renderers/build_uneditable_token.js @gitlab-org/manage/authentication-and-authorization -/app/assets/javascripts/token_access/components @gitlab-org/manage/authentication-and-authorization +/app/assets/javascripts/runner/components/search_tokens/ @gitlab-org/manage/authentication-and-authorization +/app/assets/javascripts/token_access/components/ @gitlab-org/manage/authentication-and-authorization /app/assets/javascripts/token_access/index.js @gitlab-org/manage/authentication-and-authorization /app/assets/stylesheets/page_bundles/profile_two_factor_auth.scss @gitlab-org/manage/authentication-and-authorization /app/controllers/admin/impersonation_tokens_controller.rb @gitlab-org/manage/authentication-and-authorization @@ -833,8 +846,8 @@ lib/gitlab/checks/** @proglottis @toon @zj-gitlab /app/controllers/concerns/snippet_authorizations.rb @gitlab-org/manage/authentication-and-authorization /app/controllers/concerns/workhorse_authorization.rb @gitlab-org/manage/authentication-and-authorization /app/controllers/groups/settings/access_tokens_controller.rb @gitlab-org/manage/authentication-and-authorization -/app/controllers/ldap @gitlab-org/manage/authentication-and-authorization -/app/controllers/oauth @gitlab-org/manage/authentication-and-authorization +/app/controllers/ldap/ @gitlab-org/manage/authentication-and-authorization +/app/controllers/oauth/ @gitlab-org/manage/authentication-and-authorization /app/controllers/omniauth_callbacks_controller.rb @gitlab-org/manage/authentication-and-authorization /app/controllers/passwords_controller.rb @gitlab-org/manage/authentication-and-authorization /app/controllers/profiles/passwords_controller.rb @gitlab-org/manage/authentication-and-authorization @@ -842,7 +855,7 @@ lib/gitlab/checks/** @proglottis @toon @zj-gitlab /app/controllers/profiles/two_factor_auths_controller.rb @gitlab-org/manage/authentication-and-authorization /app/controllers/profiles/webauthn_registrations_controller.rb @gitlab-org/manage/authentication-and-authorization /app/controllers/projects/settings/access_tokens_controller.rb @gitlab-org/manage/authentication-and-authorization -/app/finders/groups/projects_requiring_authorizations_refresh @gitlab-org/manage/authentication-and-authorization +/app/finders/groups/projects_requiring_authorizations_refresh/ @gitlab-org/manage/authentication-and-authorization /app/finders/personal_access_tokens_finder.rb @gitlab-org/manage/authentication-and-authorization /app/helpers/access_tokens_helper.rb @gitlab-org/manage/authentication-and-authorization /app/helpers/auth_helper.rb @gitlab-org/manage/authentication-and-authorization @@ -851,7 +864,7 @@ lib/gitlab/checks/** @proglottis @toon @zj-gitlab /app/models/concerns/mirror_authentication.rb @gitlab-org/manage/authentication-and-authorization /app/models/concerns/select_for_project_authorization.rb @gitlab-org/manage/authentication-and-authorization /app/models/concerns/token_authenticatable.rb @gitlab-org/manage/authentication-and-authorization -/app/models/concerns/token_authenticatable_strategies @gitlab-org/manage/authentication-and-authorization +/app/models/concerns/token_authenticatable_strategies/ @gitlab-org/manage/authentication-and-authorization /app/models/oauth_access_grant.rb @gitlab-org/manage/authentication-and-authorization /app/models/oauth_access_token.rb @gitlab-org/manage/authentication-and-authorization /app/models/personal_access_token.rb @gitlab-org/manage/authentication-and-authorization @@ -860,22 +873,22 @@ lib/gitlab/checks/** @proglottis @toon @zj-gitlab /app/models/webauthn_registration.rb @gitlab-org/manage/authentication-and-authorization /app/policies/personal_access_token_policy.rb @gitlab-org/manage/authentication-and-authorization /app/services/access_token_validation_service.rb @gitlab-org/manage/authentication-and-authorization -/app/services/auth @gitlab-org/manage/authentication-and-authorization -/app/services/authorized_project_update @gitlab-org/manage/authentication-and-authorization +/app/services/auth/ @gitlab-org/manage/authentication-and-authorization +/app/services/authorized_project_update/ @gitlab-org/manage/authentication-and-authorization /app/services/chat_names/authorize_user_service.rb @gitlab-org/manage/authentication-and-authorization -/app/services/personal_access_tokens @gitlab-org/manage/authentication-and-authorization +/app/services/personal_access_tokens/ @gitlab-org/manage/authentication-and-authorization /app/services/projects/move_project_authorizations_service.rb @gitlab-org/manage/authentication-and-authorization -/app/services/resource_access_tokens @gitlab-org/manage/authentication-and-authorization +/app/services/resource_access_tokens/ @gitlab-org/manage/authentication-and-authorization /app/services/todos/destroy/unauthorized_features_service.rb @gitlab-org/manage/authentication-and-authorization /app/services/users/authorized_build_service.rb @gitlab-org/manage/authentication-and-authorization /app/services/users/authorized_create_service.rb @gitlab-org/manage/authentication-and-authorization /app/services/users/refresh_authorized_projects_service.rb @gitlab-org/manage/authentication-and-authorization -/app/services/webauthn @gitlab-org/manage/authentication-and-authorization +/app/services/webauthn/ @gitlab-org/manage/authentication-and-authorization /app/validators/json_schemas/cluster_agent_authorization_configuration.json @gitlab-org/manage/authentication-and-authorization /app/views/admin/application_settings/_external_authorization_service_form.html.haml @gitlab-org/manage/authentication-and-authorization -/app/views/admin/impersonation_tokens @gitlab-org/manage/authentication-and-authorization -/app/views/authentication @gitlab-org/manage/authentication-and-authorization -/app/views/ci/token_access @gitlab-org/manage/authentication-and-authorization +/app/views/admin/impersonation_tokens/ @gitlab-org/manage/authentication-and-authorization +/app/views/authentication/ @gitlab-org/manage/authentication-and-authorization +/app/views/ci/token_access/ @gitlab-org/manage/authentication-and-authorization /app/views/dashboard/projects/_zero_authorized_projects.html.haml @gitlab-org/manage/authentication-and-authorization /app/views/devise/mailer/password_change.html.haml @gitlab-org/manage/authentication-and-authorization /app/views/devise/mailer/password_change.text.erb @gitlab-org/manage/authentication-and-authorization @@ -883,17 +896,17 @@ lib/gitlab/checks/** @proglottis @toon @zj-gitlab /app/views/devise/mailer/password_change_by_admin.text.erb @gitlab-org/manage/authentication-and-authorization /app/views/devise/mailer/reset_password_instructions.html.haml @gitlab-org/manage/authentication-and-authorization /app/views/devise/mailer/reset_password_instructions.text.erb @gitlab-org/manage/authentication-and-authorization -/app/views/devise/passwords @gitlab-org/manage/authentication-and-authorization +/app/views/devise/passwords/ @gitlab-org/manage/authentication-and-authorization /app/views/devise/shared/_omniauth_box.html.haml @gitlab-org/manage/authentication-and-authorization /app/views/devise/shared/_signup_omniauth_provider_list.haml @gitlab-org/manage/authentication-and-authorization /app/views/devise/shared/_signup_omniauth_providers.haml @gitlab-org/manage/authentication-and-authorization /app/views/devise/shared/_signup_omniauth_providers_top.haml @gitlab-org/manage/authentication-and-authorization -/app/views/doorkeeper/authorizations @gitlab-org/manage/authentication-and-authorization -/app/views/doorkeeper/authorized_applications @gitlab-org/manage/authentication-and-authorization +/app/views/doorkeeper/authorizations/ @gitlab-org/manage/authentication-and-authorization +/app/views/doorkeeper/authorized_applications/ @gitlab-org/manage/authentication-and-authorization /app/views/errors/omniauth_error.html.haml @gitlab-org/manage/authentication-and-authorization /app/views/groups/settings/_resource_access_token_creation.html.haml @gitlab-org/manage/authentication-and-authorization /app/views/groups/settings/_two_factor_auth.html.haml @gitlab-org/manage/authentication-and-authorization -/app/views/groups/settings/access_tokens @gitlab-org/manage/authentication-and-authorization +/app/views/groups/settings/access_tokens/ @gitlab-org/manage/authentication-and-authorization /app/views/layouts/oauth_error.html.haml @gitlab-org/manage/authentication-and-authorization /app/views/notify/access_token_about_to_expire_email.html.haml @gitlab-org/manage/authentication-and-authorization /app/views/notify/access_token_about_to_expire_email.text.erb @gitlab-org/manage/authentication-and-authorization @@ -901,20 +914,20 @@ lib/gitlab/checks/** @proglottis @toon @zj-gitlab /app/views/notify/access_token_created_email.text.erb @gitlab-org/manage/authentication-and-authorization /app/views/notify/access_token_expired_email.html.haml @gitlab-org/manage/authentication-and-authorization /app/views/notify/access_token_expired_email.text.erb @gitlab-org/manage/authentication-and-authorization -/app/views/profiles/passwords @gitlab-org/manage/authentication-and-authorization -/app/views/profiles/personal_access_tokens @gitlab-org/manage/authentication-and-authorization -/app/views/profiles/two_factor_auths @gitlab-org/manage/authentication-and-authorization +/app/views/profiles/passwords/ @gitlab-org/manage/authentication-and-authorization +/app/views/profiles/personal_access_tokens/ @gitlab-org/manage/authentication-and-authorization +/app/views/profiles/two_factor_auths/ @gitlab-org/manage/authentication-and-authorization /app/views/projects/mirrors/_authentication_method.html.haml @gitlab-org/manage/authentication-and-authorization -/app/views/projects/settings/access_tokens @gitlab-org/manage/authentication-and-authorization +/app/views/projects/settings/access_tokens/ @gitlab-org/manage/authentication-and-authorization /app/views/shared/_no_password.html.haml @gitlab-org/manage/authentication-and-authorization /app/views/shared/_two_factor_auth_recovery_settings_check.html.haml @gitlab-org/manage/authentication-and-authorization -/app/views/shared/access_tokens @gitlab-org/manage/authentication-and-authorization +/app/views/shared/access_tokens/ @gitlab-org/manage/authentication-and-authorization /app/views/shared/members/_two_factor_auth_badge.html.haml @gitlab-org/manage/authentication-and-authorization -/app/views/shared/tokens @gitlab-org/manage/authentication-and-authorization +/app/views/shared/tokens/ @gitlab-org/manage/authentication-and-authorization /app/workers/authorized_keys_worker.rb @gitlab-org/manage/authentication-and-authorization -/app/workers/authorized_project_update @gitlab-org/manage/authentication-and-authorization +/app/workers/authorized_project_update/ @gitlab-org/manage/authentication-and-authorization /app/workers/authorized_projects_worker.rb @gitlab-org/manage/authentication-and-authorization -/app/workers/personal_access_tokens @gitlab-org/manage/authentication-and-authorization +/app/workers/personal_access_tokens/ @gitlab-org/manage/authentication-and-authorization /config/feature_flags/development/application_settings_tokens_optional_encryption.yml @gitlab-org/manage/authentication-and-authorization /config/feature_flags/development/enforce_auth_checks_on_uploads.yml @gitlab-org/manage/authentication-and-authorization /config/feature_flags/development/forti_authenticator.yml @gitlab-org/manage/authentication-and-authorization @@ -924,6 +937,7 @@ lib/gitlab/checks/** @proglottis @toon @zj-gitlab /config/feature_flags/development/omniauth_login_minimal_scopes.yml @gitlab-org/manage/authentication-and-authorization /config/feature_flags/development/personal_access_tokens_scoped_to_projects.yml @gitlab-org/manage/authentication-and-authorization /config/feature_flags/development/projects_tokens_optional_encryption.yml @gitlab-org/manage/authentication-and-authorization +/config/feature_flags/development/refresh_authorizations_via_affected_projects_on_group_membership.yml @gitlab-org/manage/authentication-and-authorization /config/feature_flags/development/specialized_worker_for_group_lock_update_auth_recalculation.yml @gitlab-org/manage/authentication-and-authorization /config/feature_flags/development/webauthn.yml @gitlab-org/manage/authentication-and-authorization /config/feature_flags/ops/block_password_auth_for_saml_users.yml @gitlab-org/manage/authentication-and-authorization @@ -937,27 +951,27 @@ lib/gitlab/checks/** @proglottis @toon @zj-gitlab /config/initializers/webauthn.rb @gitlab-org/manage/authentication-and-authorization /config/initializers_before_autoloader/100_patch_omniauth_oauth2.rb @gitlab-org/manage/authentication-and-authorization /config/initializers_before_autoloader/100_patch_omniauth_saml.rb @gitlab-org/manage/authentication-and-authorization -/ee/app/assets/javascripts/access_tokens @gitlab-org/manage/authentication-and-authorization -/ee/app/assets/javascripts/audit_events/components/tokens @gitlab-org/manage/authentication-and-authorization +/ee/app/assets/javascripts/access_tokens/ @gitlab-org/manage/authentication-and-authorization +/ee/app/assets/javascripts/audit_events/components/tokens/ @gitlab-org/manage/authentication-and-authorization /ee/app/assets/javascripts/audit_events/token_utils.js @gitlab-org/manage/authentication-and-authorization -/ee/app/assets/javascripts/groups/settings/components @gitlab-org/manage/authentication-and-authorization -/ee/app/assets/javascripts/pages/groups/omniauth_callbacks @gitlab-org/manage/authentication-and-authorization -/ee/app/assets/javascripts/pipelines/components/pipelines_list @gitlab-org/manage/authentication-and-authorization -/ee/app/assets/javascripts/requirements/components/tokens @gitlab-org/manage/authentication-and-authorization +/ee/app/assets/javascripts/groups/settings/components/ @gitlab-org/manage/authentication-and-authorization +/ee/app/assets/javascripts/pages/groups/omniauth_callbacks/ @gitlab-org/manage/authentication-and-authorization +/ee/app/assets/javascripts/pipelines/components/pipelines_list/ @gitlab-org/manage/authentication-and-authorization +/ee/app/assets/javascripts/requirements/components/tokens/ @gitlab-org/manage/authentication-and-authorization /ee/app/assets/javascripts/saml_providers/scim_token_service.js @gitlab-org/manage/authentication-and-authorization -/ee/app/assets/javascripts/saml_sso/components @gitlab-org/manage/authentication-and-authorization +/ee/app/assets/javascripts/saml_sso/components/ @gitlab-org/manage/authentication-and-authorization /ee/app/assets/javascripts/vue_merge_request_widget/components/approvals/approvals_auth.vue @gitlab-org/manage/authentication-and-authorization /ee/app/controllers/concerns/ee/authenticates_with_two_factor.rb @gitlab-org/manage/authentication-and-authorization /ee/app/controllers/concerns/ee/enforces_two_factor_authentication.rb @gitlab-org/manage/authentication-and-authorization /ee/app/controllers/concerns/saml_authorization.rb @gitlab-org/manage/authentication-and-authorization -/ee/app/controllers/ee/ldap @gitlab-org/manage/authentication-and-authorization +/ee/app/controllers/ee/ldap/ @gitlab-org/manage/authentication-and-authorization /ee/app/controllers/ee/omniauth_callbacks_controller.rb @gitlab-org/manage/authentication-and-authorization /ee/app/controllers/ee/passwords_controller.rb @gitlab-org/manage/authentication-and-authorization /ee/app/controllers/groups/omniauth_callbacks_controller.rb @gitlab-org/manage/authentication-and-authorization /ee/app/controllers/groups/scim_oauth_controller.rb @gitlab-org/manage/authentication-and-authorization -/ee/app/controllers/oauth @gitlab-org/manage/authentication-and-authorization +/ee/app/controllers/oauth/ @gitlab-org/manage/authentication-and-authorization /ee/app/controllers/omniauth_kerberos_spnego_controller.rb @gitlab-org/manage/authentication-and-authorization -/ee/app/finders/auth @gitlab-org/manage/authentication-and-authorization +/ee/app/finders/auth/ @gitlab-org/manage/authentication-and-authorization /ee/app/helpers/ee/access_tokens_helper.rb @gitlab-org/manage/authentication-and-authorization /ee/app/helpers/ee/auth_helper.rb @gitlab-org/manage/authentication-and-authorization /ee/app/helpers/ee/personal_access_tokens_helper.rb @gitlab-org/manage/authentication-and-authorization @@ -965,10 +979,10 @@ lib/gitlab/checks/** @proglottis @toon @zj-gitlab /ee/app/models/ee/project_authorization.rb @gitlab-org/manage/authentication-and-authorization /ee/app/models/scim_oauth_access_token.rb @gitlab-org/manage/authentication-and-authorization /ee/app/serializers/scim_oauth_access_token_entity.rb @gitlab-org/manage/authentication-and-authorization -/ee/app/services/ee/auth @gitlab-org/manage/authentication-and-authorization -/ee/app/services/ee/personal_access_tokens @gitlab-org/manage/authentication-and-authorization -/ee/app/services/ee/resource_access_tokens @gitlab-org/manage/authentication-and-authorization -/ee/app/services/personal_access_tokens @gitlab-org/manage/authentication-and-authorization +/ee/app/services/ee/auth/ @gitlab-org/manage/authentication-and-authorization +/ee/app/services/ee/personal_access_tokens/ @gitlab-org/manage/authentication-and-authorization +/ee/app/services/ee/resource_access_tokens/ @gitlab-org/manage/authentication-and-authorization +/ee/app/services/personal_access_tokens/ @gitlab-org/manage/authentication-and-authorization /ee/app/services/security/token_revocation_service.rb @gitlab-org/manage/authentication-and-authorization /ee/app/views/admin/application_settings/_personal_access_token_expiration_policy.html.haml @gitlab-org/manage/authentication-and-authorization /ee/app/views/credentials_inventory_mailer/personal_access_token_revoked_email.html.haml @gitlab-org/manage/authentication-and-authorization @@ -977,22 +991,21 @@ lib/gitlab/checks/** @proglottis @toon @zj-gitlab /ee/app/views/groups/sso/_authorize_pane.html.haml @gitlab-org/manage/authentication-and-authorization /ee/app/views/notify/policy_revoked_personal_access_tokens_email.html.haml @gitlab-org/manage/authentication-and-authorization /ee/app/views/notify/policy_revoked_personal_access_tokens_email.text.erb @gitlab-org/manage/authentication-and-authorization -/ee/app/views/oauth @gitlab-org/manage/authentication-and-authorization +/ee/app/views/oauth/ @gitlab-org/manage/authentication-and-authorization /ee/app/views/shared/credentials_inventory/_personal_access_tokens.html.haml @gitlab-org/manage/authentication-and-authorization /ee/app/views/shared/credentials_inventory/_project_access_tokens.html.haml @gitlab-org/manage/authentication-and-authorization -/ee/app/views/shared/credentials_inventory/personal_access_tokens @gitlab-org/manage/authentication-and-authorization -/ee/app/views/shared/credentials_inventory/project_access_tokens @gitlab-org/manage/authentication-and-authorization -/ee/app/workers/personal_access_tokens @gitlab-org/manage/authentication-and-authorization +/ee/app/views/shared/credentials_inventory/personal_access_tokens/ @gitlab-org/manage/authentication-and-authorization +/ee/app/views/shared/credentials_inventory/project_access_tokens/ @gitlab-org/manage/authentication-and-authorization +/ee/app/workers/personal_access_tokens/ @gitlab-org/manage/authentication-and-authorization /ee/config/routes/oauth.rb @gitlab-org/manage/authentication-and-authorization -/ee/lib/ee/gitlab/auth @gitlab-org/manage/authentication-and-authorization -/ee/lib/ee/gitlab/auth.rb @gitlab-org/manage/authentication-and-authorization +/ee/lib/ee/gitlab/auth/ @gitlab-org/manage/authentication-and-authorization /ee/lib/ee/gitlab/omniauth_initializer.rb @gitlab-org/manage/authentication-and-authorization -/ee/lib/gitlab/auth @gitlab-org/manage/authentication-and-authorization +/ee/lib/gitlab/auth/ @gitlab-org/manage/authentication-and-authorization /ee/lib/gitlab/auth_logger.rb @gitlab-org/manage/authentication-and-authorization /ee/lib/gitlab/authority_analyzer.rb @gitlab-org/manage/authentication-and-authorization -/ee/lib/gitlab/geo/oauth @gitlab-org/manage/authentication-and-authorization -/ee/lib/gitlab/kerberos @gitlab-org/manage/authentication-and-authorization -/ee/lib/omni_auth @gitlab-org/manage/authentication-and-authorization +/ee/lib/gitlab/geo/oauth/ @gitlab-org/manage/authentication-and-authorization +/ee/lib/gitlab/kerberos/ @gitlab-org/manage/authentication-and-authorization +/ee/lib/omni_auth/ @gitlab-org/manage/authentication-and-authorization /ee/lib/system_check/geo/authorized_keys_check.rb @gitlab-org/manage/authentication-and-authorization /ee/lib/system_check/geo/authorized_keys_flag_check.rb @gitlab-org/manage/authentication-and-authorization /lib/api/entities/ci/reset_token_result.rb @gitlab-org/manage/authentication-and-authorization @@ -1007,27 +1020,28 @@ lib/gitlab/checks/** @proglottis @toon @zj-gitlab /lib/api/personal_access_tokens.rb @gitlab-org/manage/authentication-and-authorization /lib/api/resource_access_tokens.rb @gitlab-org/manage/authentication-and-authorization /lib/api/support/token_with_expiration.rb @gitlab-org/manage/authentication-and-authorization -/lib/gitlab/api_authentication @gitlab-org/manage/authentication-and-authorization -/lib/gitlab/auth @gitlab-org/manage/authentication-and-authorization +/lib/gitlab/api_authentication/ @gitlab-org/manage/authentication-and-authorization +/lib/gitlab/auth/ @gitlab-org/manage/authentication-and-authorization /lib/gitlab/auth.rb @gitlab-org/manage/authentication-and-authorization /lib/gitlab/auth_logger.rb @gitlab-org/manage/authentication-and-authorization /lib/gitlab/authorized_keys.rb @gitlab-org/manage/authentication-and-authorization /lib/gitlab/background_migration/encrypt_static_object_token.rb @gitlab-org/manage/authentication-and-authorization +/lib/gitlab/background_migration/expire_o_auth_tokens.rb @gitlab-org/manage/authentication-and-authorization /lib/gitlab/background_migration/migrate_u2f_webauthn.rb @gitlab-org/manage/authentication-and-authorization /lib/gitlab/background_migration/update_users_where_two_factor_auth_required_from_group.rb @gitlab-org/manage/authentication-and-authorization /lib/gitlab/chat_name_token.rb @gitlab-org/manage/authentication-and-authorization /lib/gitlab/ci/pipeline/expression/token.rb @gitlab-org/manage/authentication-and-authorization -/lib/gitlab/external_authorization @gitlab-org/manage/authentication-and-authorization +/lib/gitlab/external_authorization/ @gitlab-org/manage/authentication-and-authorization /lib/gitlab/external_authorization.rb @gitlab-org/manage/authentication-and-authorization -/lib/gitlab/graphql/authorize @gitlab-org/manage/authentication-and-authorization +/lib/gitlab/graphql/authorize/ @gitlab-org/manage/authentication-and-authorization /lib/gitlab/jwt_authenticatable.rb @gitlab-org/manage/authentication-and-authorization /lib/gitlab/jwt_token.rb @gitlab-org/manage/authentication-and-authorization /lib/gitlab/lfs_token.rb @gitlab-org/manage/authentication-and-authorization -/lib/gitlab/mail_room @gitlab-org/manage/authentication-and-authorization +/lib/gitlab/mail_room/ @gitlab-org/manage/authentication-and-authorization /lib/gitlab/omniauth_initializer.rb @gitlab-org/manage/authentication-and-authorization /lib/gitlab/project_authorizations.rb @gitlab-org/manage/authentication-and-authorization -/lib/json_web_token @gitlab-org/manage/authentication-and-authorization -/lib/omni_auth @gitlab-org/manage/authentication-and-authorization +/lib/json_web_token/ @gitlab-org/manage/authentication-and-authorization +/lib/omni_auth/ @gitlab-org/manage/authentication-and-authorization /lib/system_check/app/authorized_keys_permission_check.rb @gitlab-org/manage/authentication-and-authorization /lib/system_check/incoming_email/imap_authentication_check.rb @gitlab-org/manage/authentication-and-authorization /lib/tasks/gitlab/password.rake @gitlab-org/manage/authentication-and-authorization diff --git a/.gitlab/ci/build-images.gitlab-ci.yml b/.gitlab/ci/build-images.gitlab-ci.yml index 6a222d8937..46d0bb2fb8 100644 --- a/.gitlab/ci/build-images.gitlab-ci.yml +++ b/.gitlab/ci/build-images.gitlab-ci.yml @@ -29,7 +29,15 @@ build-qa-image: - !reference [.base-image-build, script] - echo $QA_IMAGE - echo $QA_IMAGE_BRANCH - - /kaniko/executor --context=${CI_PROJECT_DIR} --dockerfile=${CI_PROJECT_DIR}/qa/Dockerfile --destination=${QA_IMAGE} --destination=${QA_IMAGE_BRANCH} --cache=true + - | + /kaniko/executor \ + --context=${CI_PROJECT_DIR} \ + --dockerfile=${CI_PROJECT_DIR}/qa/Dockerfile \ + --destination=${QA_IMAGE} \ + --destination=${QA_IMAGE_BRANCH} \ + --build-arg=CHROME_VERSION=${CHROME_VERSION} \ + --build-arg=DOCKER_VERSION=${DOCKER_VERSION} \ + --cache=true # This image is used by: # - The `CNG` pipelines (via the `review-build-cng` job): https://gitlab.com/gitlab-org/build/CNG/-/blob/cfc67136d711e1c8c409bf8e57427a644393da2f/.gitlab-ci.yml#L335 diff --git a/.gitlab/ci/docs.gitlab-ci.yml b/.gitlab/ci/docs.gitlab-ci.yml index 217da6506b..3af156e9bd 100644 --- a/.gitlab/ci/docs.gitlab-ci.yml +++ b/.gitlab/ci/docs.gitlab-ci.yml @@ -2,7 +2,7 @@ extends: - .default-retry - .docs:rules:review-docs - image: ${GITLAB_DEPENDENCY_PROXY}ruby:2.7-alpine + image: ${GITLAB_DEPENDENCY_PROXY}ruby:${RUBY_VERSION}-alpine stage: review needs: [] variables: @@ -44,7 +44,7 @@ docs-lint markdown: - .default-retry - .docs:rules:docs-lint # When updating the image version here, update it in /scripts/lint-doc.sh too. - image: registry.gitlab.com/gitlab-org/gitlab-docs/lint-markdown:alpine-3.15-vale-2.15.5-markdownlint-0.31.1 + image: ${REGISTRY_HOST}/${REGISTRY_GROUP}/gitlab-docs/lint-markdown:alpine-3.16-vale-2.17.0-markdownlint-0.31.1 stage: lint needs: [] script: @@ -53,7 +53,7 @@ docs-lint markdown: docs-lint links: extends: - .docs:rules:docs-lint - image: registry.gitlab.com/gitlab-org/gitlab-docs/lint-html:alpine-3.15-ruby-2.7.5-cee62c13 + image: ${REGISTRY_HOST}/${REGISTRY_GROUP}/gitlab-docs/lint-html:alpine-3.16-ruby-2.7.6-0bc327a4 stage: lint needs: [] script: diff --git a/.gitlab/ci/frontend.gitlab-ci.yml b/.gitlab/ci/frontend.gitlab-ci.yml index 4b1194d0fb..8bfda0e668 100644 --- a/.gitlab/ci/frontend.gitlab-ci.yml +++ b/.gitlab/ci/frontend.gitlab-ci.yml @@ -11,7 +11,7 @@ - .default-retry - .default-before_script - .assets-compile-cache - image: ${REGISTRY_HOST}/${REGISTRY_GROUP}/gitlab-build-images:debian-${DEBIAN_VERSION}-ruby-2.7-git-2.33-lfs-2.9-node-16.14-yarn-1.22-graphicsmagick-1.3.36 + image: ${REGISTRY_HOST}/${REGISTRY_GROUP}/gitlab-build-images:debian-${DEBIAN_VERSION}-ruby-${RUBY_VERSION}-git-2.33-lfs-2.9-node-16.14-yarn-1.22-graphicsmagick-1.3.36 variables: SETUP_DB: "false" WEBPACK_VENDOR_DLL: "true" diff --git a/.gitlab/ci/global.gitlab-ci.yml b/.gitlab/ci/global.gitlab-ci.yml index 7e06a4a71b..344a31b28d 100644 --- a/.gitlab/ci/global.gitlab-ci.yml +++ b/.gitlab/ci/global.gitlab-ci.yml @@ -18,7 +18,7 @@ - source scripts/prepare_build.sh .ruby-gems-cache: &ruby-gems-cache - key: "ruby-gems-${DEBIAN_VERSION}" + key: "ruby-gems-debian-${DEBIAN_VERSION}-ruby-${RUBY_VERSION}" paths: - vendor/ruby/ policy: pull @@ -28,7 +28,7 @@ policy: push # We want to rebuild the cache from scratch to ensure stale dependencies are cleaned up. .gitaly-ruby-gems-cache: &gitaly-ruby-gems-cache - key: "gitaly-ruby-gems-${DEBIAN_VERSION}" + key: "gitaly-ruby-gems-debian-${DEBIAN_VERSION}-ruby-${RUBY_VERSION}" paths: - vendor/gitaly-ruby/ policy: pull @@ -42,7 +42,7 @@ files: - GITALY_SERVER_VERSION - lib/gitlab/setup_helper.rb - prefix: "gitaly-binaries-${DEBIAN-VERSION}" + prefix: "gitaly-binaries-debian-${DEBIAN_VERSION}-ruby-${RUBY_VERSION}" paths: - ${TMP_TEST_FOLDER}/gitaly/_build/bin/ - ${TMP_TEST_FOLDER}/gitaly/_build/deps/git/install/ @@ -79,7 +79,7 @@ policy: push # We want to rebuild the cache from scratch to ensure stale dependencies are cleaned up. .assets-cache: &assets-cache - key: "assets-${DEBIAN_VERSION}-${NODE_ENV}" + key: "assets-debian-${DEBIAN_VERSION}-ruby-${RUBY_VERSION}-node-${NODE_ENV}" paths: - assets-hash.txt - public/assets/webpack/ @@ -103,7 +103,7 @@ policy: push # We want to rebuild the cache from scratch to ensure stale dependencies are cleaned up. .rubocop-cache: &rubocop-cache - key: "rubocop-${DEBIAN_VERSION}" + key: "rubocop-debian-${DEBIAN_VERSION}-ruby-${RUBY_VERSION}" paths: - tmp/rubocop_cache/ policy: pull @@ -116,6 +116,7 @@ .qa-ruby-gems-cache: &qa-ruby-gems-cache key: + prefix: "qa-ruby-gems-debian-${DEBIAN_VERSION}-ruby-${RUBY_VERSION}" files: - qa/Gemfile.lock paths: @@ -238,7 +239,7 @@ services: - name: postgres:13 command: ["postgres", "-c", "fsync=off", "-c", "synchronous_commit=off", "-c", "full_page_writes=off"] - - name: redis:5.0-alpine + - name: redis:6.2-alpine variables: POSTGRES_HOST_AUTH_METHOD: trust PG_VERSION: "13" @@ -269,7 +270,7 @@ services: - name: postgres:13 command: ["postgres", "-c", "fsync=off", "-c", "synchronous_commit=off", "-c", "full_page_writes=off"] - - name: redis:5.0-alpine + - name: redis:6.2-alpine - name: elasticsearch:7.17.0 command: ["elasticsearch", "-E", "discovery.type=single-node", "-E", "xpack.security.enabled=false"] variables: @@ -281,7 +282,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.1.1 + - name: elasticsearch:8.2.0 variables: POSTGRES_HOST_AUTH_METHOD: trust PG_VERSION: "12" diff --git a/.gitlab/ci/qa.gitlab-ci.yml b/.gitlab/ci/qa.gitlab-ci.yml index 1ebc408e0d..5ca70da352 100644 --- a/.gitlab/ci/qa.gitlab-ci.yml +++ b/.gitlab/ci/qa.gitlab-ci.yml @@ -1,5 +1,5 @@ .qa-job-base: - image: ${REGISTRY_HOST}/${REGISTRY_GROUP}/gitlab-build-images/debian-bullseye-ruby-2.7:bundler-2.3-git-2.33-chrome-99 + image: ${REGISTRY_HOST}/${REGISTRY_GROUP}/gitlab-build-images/debian-bullseye-ruby-2.7:bundler-2.3-git-2.33-chrome-${CHROME_VERSION} extends: - .default-retry - .qa-cache @@ -12,7 +12,7 @@ before_script: - !reference [.default-before_script, before_script] - cd qa/ - - bundle_install_script + - bundle install qa:internal: extends: @@ -52,7 +52,6 @@ qa:nightly-auto-quarantine-dequarantine: - bundle exec confiner -r .confiner/nightly.yml allow_failure: true - qa:selectors-as-if-foss: extends: - qa:selectors @@ -68,8 +67,32 @@ update-qa-cache: script: - echo "Cache has been updated and ready to be uploaded." -.package-and-qa-base: +populate-qa-tests-var: + extends: + - .qa:rules:determine-qa-tests image: ${GITLAB_DEPENDENCY_PROXY}ruby:2.7-alpine + stage: prepare + script: + - tooling/bin/qa/check_if_qa_only_spec_changes ${CHANGES_FILE} ${ONLY_QA_CHANGES_FILE} + - '[ -f $ONLY_QA_CHANGES_FILE ] && export QA_TESTS="`cat $ONLY_QA_CHANGES_FILE`"' + - 'echo "QA_TESTS=$QA_TESTS" >> qa_tests_var.env' + - 'echo "QA_TESTS: $QA_TESTS"' + artifacts: + expire_in: 2d + reports: + dotenv: qa_tests_var.env + paths: + - ${CHANGES_FILE} + - ${ONLY_QA_CHANGES_FILE} + - qa_tests_var.env + variables: + CHANGES_FILE: tmp/changed_files.txt + ONLY_QA_CHANGES_FILE: tmp/qa_only_changed_files.txt + needs: + - detect-tests + +.package-and-qa-base: + image: ${GITLAB_DEPENDENCY_PROXY}ruby:${RUBY_VERSION}-alpine stage: qa retry: 0 before_script: @@ -77,8 +100,6 @@ update-qa-cache: - install_gitlab_gem - tooling/bin/find_change_diffs ${CHANGES_DIFFS_DIR} script: - - tooling/bin/qa/check_if_qa_only_spec_changes ${CHANGES_FILE} ${ONLY_QA_CHANGES_FILE} - - '[ -f $ONLY_QA_CHANGES_FILE ] && export QA_TESTS="`cat $ONLY_QA_CHANGES_FILE`"' - 'echo "QA_TESTS: $QA_TESTS"' - exit_code=0 && tooling/bin/qa/package_and_qa_check ${CHANGES_DIFFS_DIR} || exit_code=$? - echo $exit_code @@ -99,16 +120,13 @@ update-qa-cache: artifacts: false - job: build-assets-image artifacts: false + - job: populate-qa-tests-var - detect-tests artifacts: expire_in: 7d paths: - - ${CHANGES_FILE} - - ${ONLY_QA_CHANGES_FILE} - ${CHANGES_DIFFS_DIR}/* variables: - CHANGES_FILE: tmp/changed_files.txt - ONLY_QA_CHANGES_FILE: tmp/qa_only_changed_files.txt CHANGES_DIFFS_DIR: tmp/diffs ALLURE_JOB_NAME: $CI_JOB_NAME diff --git a/.gitlab/ci/rails.gitlab-ci.yml b/.gitlab/ci/rails.gitlab-ci.yml index 77bdfda3ea..0358fe8ec4 100644 --- a/.gitlab/ci/rails.gitlab-ci.yml +++ b/.gitlab/ci/rails.gitlab-ci.yml @@ -395,15 +395,15 @@ db:migrate-from-previous-major-version: USE_BUNDLE_INSTALL: "false" SETUP_DB: "false" PROJECT_TO_CHECKOUT: "gitlab-foss" - TAG_TO_CHECKOUT: "v13.12.9" + TAG_TO_CHECKOUT: "v14.10.2" before_script: - !reference [.default-before_script, before_script] - '[[ -d "ee/" ]] || export PROJECT_TO_CHECKOUT="gitlab"' - '[[ -d "ee/" ]] || export TAG_TO_CHECKOUT="${TAG_TO_CHECKOUT}-ee"' - retry 'git fetch https://gitlab.com/gitlab-org/$PROJECT_TO_CHECKOUT.git $TAG_TO_CHECKOUT' - git checkout -f FETCH_HEAD - - SETUP_DB=false USE_BUNDLE_INSTALL=true bash scripts/prepare_build.sh - - run_timed_command "bundle exec rake db:drop db:create db:structure:load db:migrate db:seed_fu" + - SETUP_DB=false USE_BUNDLE_INSTALL=true ENABLE_BOOTSNAP=false bash scripts/prepare_build.sh + - run_timed_command "ENABLE_BOOTSNAP=false bundle exec rake db:drop db:create db:structure:load db:migrate db:seed_fu" - git checkout -f $CI_COMMIT_SHA - SETUP_DB=false USE_BUNDLE_INSTALL=true bash scripts/prepare_build.sh script: @@ -419,7 +419,7 @@ db:migrate-from-previous-major-version-single-db: extends: - .rails:rules:ee-mr-and-default-branch-only variables: - TAG_TO_CHECKOUT: "v14.4.0" + TAG_TO_CHECKOUT: "v14.7.0" # this version updated grpc to 1.42.0, which supports Ruby 2 & 3 script: - run_timed_command "scripts/db_tasks db:migrate" - scripts/schema_changed.sh @@ -460,7 +460,7 @@ db:migrate-non-superuser: db:gitlabcom-database-testing: extends: .rails:rules:db:gitlabcom-database-testing stage: test - image: ruby:2.7-alpine + image: ruby:${RUBY_VERSION}-alpine needs: [] allow_failure: true script: @@ -976,7 +976,6 @@ rspec system pg13: - .rspec-base-pg13 - .rails:rules:default-branch-schedule-nightly--code-backstage - .rspec-system-parallel - # EE/FOSS: default branch nightly scheduled jobs # ########################################## diff --git a/.gitlab/ci/reports.gitlab-ci.yml b/.gitlab/ci/reports.gitlab-ci.yml index 107f37ed47..68c71b359c 100644 --- a/.gitlab/ci/reports.gitlab-ci.yml +++ b/.gitlab/ci/reports.gitlab-ci.yml @@ -91,7 +91,7 @@ gemnasium-python-dependency_scanning: yarn-audit-dependency_scanning: extends: .ds-analyzer - image: "registry.gitlab.com/gitlab-org/security-products/analyzers/npm-audit:1.4.1" + image: "${REGISTRY_HOST}/${REGISTRY_GROUP}/security-products/analyzers/npm-audit:1" variables: TOOL: yarn rules: !reference [".reports:rules:yarn-audit-dependency_scanning", rules] @@ -102,7 +102,7 @@ yarn-audit-dependency_scanning: extends: .default-retry stage: test image: - name: registry.gitlab.com/gitlab-org/security-products/package-hunter-cli:v1.3.2@sha256:7529deaef9ea21aab56bfb74ae1abbc121311affdb6ece49ce7b1c360f997ca2 + name: ${REGISTRY_HOST}/${REGISTRY_GROUP}/security-products/package-hunter-cli:v1.3.2@sha256:7529deaef9ea21aab56bfb74ae1abbc121311affdb6ece49ce7b1c360f997ca2 entrypoint: [""] variables: HTR_user: '$PACKAGE_HUNTER_USER' diff --git a/.gitlab/ci/review-apps/dast.gitlab-ci.yml b/.gitlab/ci/review-apps/dast.gitlab-ci.yml index df8ad4c517..8f0c6b6019 100644 --- a/.gitlab/ci/review-apps/dast.gitlab-ci.yml +++ b/.gitlab/ci/review-apps/dast.gitlab-ci.yml @@ -5,12 +5,12 @@ extends: - .reports:rules:schedule-dast image: - name: "registry.gitlab.com/security-products/dast:$DAST_VERSION" + name: "${REGISTRY_HOST}/security-products/dast:$DAST_VERSION" resource_group: dast_scan variables: DAST_USERNAME_FIELD: "user[login]" DAST_PASSWORD_FIELD: "user[password]" - DAST_SUBMIT_FIELD: "commit" + DAST_SUBMIT_FIELD: "name:button" DAST_FULL_SCAN_ENABLED: "true" DAST_VERSION: 2 GIT_STRATEGY: none @@ -28,7 +28,7 @@ needs: ["review-deploy"] stage: dast # Default job timeout set to 90m and dast rules needs 2h to so that it won't timeout. - timeout: 2h + timeout: 3h # Add retry because of intermittent connection problems. See https://gitlab.com/gitlab-org/gitlab/-/issues/244313 retry: 1 artifacts: @@ -42,149 +42,65 @@ # DAST scan with a subset of Release scan rules. # ZAP rule details can be found at https://www.zaproxy.org/docs/alerts/ -# 10019, 10021 Missing security headers -# 10023, 10024, 10025, 10037 Information Disclosure -# 10040 Secure Pages Include Mixed Content -# 10056 X-Debug-Token Information Leak -# Duration: 14 minutes 20 seconds - -dast:secureHeaders-csp-infoLeak: +dast:anti-clickjacking-header: extends: - .dast_conf variables: DAST_USERNAME: "user1" - DAST_ONLY_INCLUDE_RULES: "10019,10021,10023,10024,10025,10037,10040,10056" + DAST_ONLY_INCLUDE_RULES: "10020" script: - /analyze -# 90023 XML External Entity Attack -# Duration: 41 minutes 20 seconds -# 90019 Server Side Code Injection -# Duration: 34 minutes 31 seconds -dast:XXE-SrvSideInj: +dast:xss-persistant: extends: - .dast_conf variables: DAST_USERNAME: "user2" - DAST_ONLY_INCLUDE_RULES: "90023,90019" - script: - - /analyze - -# 0 Directory Browsing -# 2 Private IP Disclosure -# 3 Session ID in URL Rewrite -# 7 Remote File Inclusion -# Duration: 63 minutes 43 seconds -# 90034 Cloud Metadata Potentially Exposed -# Duration: 13 minutes 48 seconds -# 90022 Application Error Disclosure -# Duration: 12 minutes 7 seconds -dast:infoLeak-fileInc-DirBrowsing: - extends: - - .dast_conf - variables: - DAST_USERNAME: "user3" - DAST_ONLY_INCLUDE_RULES: "0,2,3,7,90034,90022" - script: - - /analyze - -# 10010 Cookie No HttpOnly Flag -# 10011 Cookie Without Secure Flag -# 10017 Cross-Domain JavaScript Source File Inclusion -# 10029 Cookie Poisoning -# 90033 Loosely Scoped Cookie -# 10054 Cookie Without SameSite Attribute -# Duration: 13 minutes 23 seconds -dast:insecureCookie: - extends: - - .dast_conf - variables: - DAST_USERNAME: "user4" - DAST_ONLY_INCLUDE_RULES: "10010,10011,10017,10029,90033,10054" - script: - - /analyze - - -# 20012 Anti-CSRF Tokens Check -# 10202 Absence of Anti-CSRF Tokens -# https://gitlab.com/gitlab-com/gl-security/appsec/appsec-team/-/issues/192 - -# Commented because of lot of FP's -# dast:csrfTokenCheck: -# extends: -# - .dast_conf -# variables: -# DAST_USERNAME: "user6" -# DAST_ONLY_INCLUDE_RULES: "20012,10202" -# script: -# - /analyze - -# 10098 Cross-Domain Misconfiguration -# 10105 Weak Authentication Method -# 40003 CRLF Injection -# 40008 Parameter Tampering -# Duration: 71 minutes 15 seconds -dast:corsMisconfig-weakauth-crlfInj: - extends: - - .dast_conf - variables: - DAST_USERNAME: "user5" - DAST_ONLY_INCLUDE_RULES: "10098,10105,40003,40008" - script: - - /analyze - -# 20019 External Redirect -# 20014 HTTP Parameter Pollution -# Duration: 46 minutes 12 seconds -dast:extRedirect-paramPollution: - extends: - - .dast_conf - variables: - DAST_USERNAME: "user6" - DAST_ONLY_INCLUDE_RULES: "20019,20014" - script: - - /analyze - -# 40022 SQL Injection - PostgreSQL -# Duration: 53 minutes 59 seconds -dast:sqlInjection: - extends: - - .dast_conf - variables: - DAST_USERNAME: "user7" - DAST_ONLY_INCLUDE_RULES: "40022" - script: - - /analyze - -# 40014 Cross Site Scripting (Persistent) -# Duration: 21 minutes 50 seconds -dast:xss-persistent: - extends: - - .dast_conf - variables: - DAST_USERNAME: "user8" DAST_ONLY_INCLUDE_RULES: "40014" script: - /analyze -# 40012 Cross Site Scripting (Reflected) -# Duration: 73 minutes 15 seconds -dast:xss-reflected: +dast:insecure-http-method: extends: - .dast_conf variables: - DAST_USERNAME: "user9" - DAST_ONLY_INCLUDE_RULES: "40012" + DAST_USERNAME: "user3" + DAST_ONLY_INCLUDE_RULES: "90028" script: - /analyze -# 40013 Session Fixation -# Duration: 44 minutes 25 seconds -dast:sessionFixation: +dast:server-side-template-inj: + extends: + - .dast_conf + variables: + DAST_USERNAME: "user4" + DAST_ONLY_INCLUDE_RULES: "90035" + script: + - /analyze + +dast:server-side-template-inj-blind: + extends: + - .dast_conf + variables: + DAST_USERNAME: "user5" + DAST_ONLY_INCLUDE_RULES: "90035" + script: + - /analyze + +dast:session-fixation: + extends: + - .dast_conf + variables: + DAST_USERNAME: "user6" + DAST_ONLY_INCLUDE_RULES: "40013" + script: + - /analyze + +dast:xss-dombased: extends: - .dast_conf variables: DAST_USERNAME: "user10" - DAST_ONLY_INCLUDE_RULES: "40013" + DAST_ONLY_INCLUDE_RULES: "40026" script: - /analyze diff --git a/.gitlab/ci/review-apps/main.gitlab-ci.yml b/.gitlab/ci/review-apps/main.gitlab-ci.yml index 22fdce7124..f3cde5d731 100644 --- a/.gitlab/ci/review-apps/main.gitlab-ci.yml +++ b/.gitlab/ci/review-apps/main.gitlab-ci.yml @@ -20,7 +20,7 @@ review-build-cng-env: extends: - .default-retry - .review:rules:review-build-cng - image: ${GITLAB_DEPENDENCY_PROXY}ruby:2.7-alpine3.13 + image: ${GITLAB_DEPENDENCY_PROXY}ruby:${RUBY_VERSION}-alpine3.13 stage: prepare needs: [] before_script: diff --git a/.gitlab/ci/review-apps/qa.gitlab-ci.yml b/.gitlab/ci/review-apps/qa.gitlab-ci.yml index 47e756eb23..07ad5a3113 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: 0.6.0 + ref: 0.13.0 file: - /ci/allure-report.yml - /ci/knapsack-report.yml @@ -13,8 +13,8 @@ include: .test_variables: variables: - QA_DEBUG: "true" QA_GENERATE_ALLURE_REPORT: "true" + COLORIZED_LOGS: "true" GITLAB_USERNAME: "root" GITLAB_PASSWORD: "${REVIEW_APPS_ROOT_PASSWORD}" GITLAB_ADMIN_USERNAME: "root" @@ -28,7 +28,7 @@ include: - .qa-cache - .test_variables - .bundler_variables - image: ${REGISTRY_HOST}/${REGISTRY_GROUP}/gitlab-build-images/debian-bullseye-ruby-2.7:bundler-2.3-git-2.33-lfs-2.9-chrome-99-docker-20.10.14-gcloud-383-kubectl-1.23 + image: ${REGISTRY_HOST}/${REGISTRY_GROUP}/gitlab-build-images/debian-bullseye-ruby-2.7:bundler-2.3-git-2.33-lfs-2.9-chrome-${CHROME_VERSION}-docker-${DOCKER_VERSION}-gcloud-383-kubectl-1.23 stage: qa needs: - review-deploy @@ -50,6 +50,9 @@ include: --tag ~orchestrated \ --tag ~transient \ --tag ~skip_signup_disabled \ + --tag ~requires_git_protocol_v2 \ + --tag ~requires_praefect \ + --tag ~sanity_feature_flags \ --force-color \ --order random \ --format documentation \ @@ -79,27 +82,52 @@ include: # Store knapsack report as artifact so the same report is reused across all jobs download-knapsack-report: - image: ${REGISTRY_HOST}/${REGISTRY_GROUP}/gitlab-build-images/debian-bullseye-ruby-2.7:bundler-2.3-git-2.33-chrome-99 + image: ${REGISTRY_HOST}/${REGISTRY_GROUP}/gitlab-build-images/debian-bullseye-ruby-2.7:bundler-2.3-git-2.33-chrome-${CHROME_VERSION} extends: - .qa-cache - .bundler_variables - .review:rules:review-qa-reliable stage: prepare + variables: + QA_KNAPSACK_REPORTS: review-qa-reliable,review-qa-all before_script: - cd qa && bundle install script: - - QA_KNAPSACK_REPORT_NAME=review-qa-reliable bundle exec rake "knapsack:download" - - QA_KNAPSACK_REPORT_NAME=review-qa-all bundle exec rake "knapsack:download" + - bundle exec rake "knapsack:download" allow_failure: true artifacts: paths: - qa/knapsack/review-qa-*.json expire_in: 1 day +review-qa-sanity: + extends: + - .review-qa-base + - .review:rules:review-qa-sanity + retry: 1 + variables: + QA_RUN_TYPE: review-qa-sanity + script: + - qa_run_status=0 + - | + bundle exec rake "knapsack:rspec[\ + --tag sanity_feature_flags \ + --force-color \ + --order random \ + --format documentation \ + --format RspecJunitFormatter --out tmp/rspec.xml \ + ]" || qa_run_status=$? + - if [ ${qa_run_status} -ne 0 ]; then + release_sha=$(echo "${CI_MERGE_REQUEST_SOURCE_BRANCH_SHA:-${CI_COMMIT_SHA}}" | cut -c1-11); + echo "Errors can be found at https://sentry.gitlab.net/gitlab/gitlab-review-apps/releases/${release_sha}/all-events/."; + fi + - exit ${qa_run_status} + review-qa-smoke: extends: - .review-qa-base - .review:rules:review-qa-smoke + retry: 1 variables: QA_RUN_TYPE: review-qa-smoke RSPEC_TAGS: --tag smoke @@ -108,6 +136,7 @@ review-qa-reliable: extends: - .review-qa-base - .review:rules:review-qa-reliable + retry: 1 parallel: 10 variables: QA_RUN_TYPE: review-qa-reliable diff --git a/.gitlab/ci/review.gitlab-ci.yml b/.gitlab/ci/review.gitlab-ci.yml index 03223e64b2..26c7306c88 100644 --- a/.gitlab/ci/review.gitlab-ci.yml +++ b/.gitlab/ci/review.gitlab-ci.yml @@ -5,7 +5,7 @@ review-cleanup: extends: - .default-retry - .review:rules:review-cleanup - image: ${REGISTRY_HOST}/${REGISTRY_GROUP}/gitlab-build-images:gitlab-helm3-kubectl1.14 + image: ${REGISTRY_HOST}/${REGISTRY_GROUP}/gitlab-build-images:gitlab-helm3.5-kubectl1.17 stage: prepare environment: name: review/${CI_COMMIT_REF_SLUG}${FREQUENCY} @@ -29,8 +29,6 @@ start-review-app-pipeline: needs: - job: build-assets-image artifacts: false - - job: build-qa-image - artifacts: false # These variables are set in the pipeline schedules. # They need to be explicitly passed on to the child pipeline. # https://docs.gitlab.com/ee/ci/pipelines/multi_project_pipelines.html#pass-cicd-variables-to-a-downstream-pipeline-by-using-the-variables-keyword @@ -72,5 +70,6 @@ danger-review-local: reviewers-recommender: extends: - .default-retry + - .review:rules:reviewers-recommender stage: test needs: [] diff --git a/.gitlab/ci/rules.gitlab-ci.yml b/.gitlab/ci/rules.gitlab-ci.yml index 37593ffd2f..ccdc2c1b90 100644 --- a/.gitlab/ci/rules.gitlab-ci.yml +++ b/.gitlab/ci/rules.gitlab-ci.yml @@ -73,12 +73,18 @@ .if-merge-request-labels-skip-undercoverage: &if-merge-request-labels-skip-undercoverage if: '$CI_MERGE_REQUEST_LABELS =~ /pipeline:skip-undercoverage/' +.if-merge-request-labels-community-contribution: &if-merge-request-labels-community-contribution + if: '$CI_MERGE_REQUEST_LABELS =~ /Community contribution/' + .if-merge-request-labels-jh-contribution: &if-merge-request-labels-jh-contribution if: '$CI_MERGE_REQUEST_LABELS =~ /JiHu contribution/' .if-merge-request-labels-group-global-search: &if-merge-request-labels-group-global-search if: '$CI_MERGE_REQUEST_LABELS =~ /group::global search/' +.if-merge-request-labels-pipeline-revert: &if-merge-request-labels-pipeline-revert + if: '$CI_MERGE_REQUEST_LABELS =~ /pipeline:revert/' + .if-security-merge-request: &if-security-merge-request if: '$CI_PROJECT_NAMESPACE == "gitlab-org/security" && $CI_MERGE_REQUEST_IID' @@ -175,16 +181,26 @@ - ".gitlab/ci/workhorse.gitlab-ci.yml" .yaml-lint-patterns: &yaml-lint-patterns + - "*.yml" + - "**/*.yml" + +.lint-pipeline-yaml-patterns: &lint-pipeline-yaml-patterns - ".gitlab-ci.yml" - ".gitlab/ci/**/*.yml" - - "data/**/*.yml" - "lib/gitlab/ci/templates/**/*.yml" + - "data/deprecations/**/*.yml" + - "data/removals/**/*.yml" + - "data/whats_new/**/*.yml" + +.lint-metrics-yaml-patterns: &lint-metrics-yaml-patterns + - "config/metrics/**/*.yml" .docs-patterns: &docs-patterns - ".gitlab/route-map.yml" - "doc/**/*" - ".markdownlint.yml" - "scripts/lint-doc.sh" + - ".gitlab/ci/docs.gitlab-ci.yml" .docs-deprecations-and-removals-patterns: &docs-deprecations-and-removals-patterns - "doc/update/deprecations.md" @@ -896,10 +912,26 @@ - <<: *if-default-refs changes: *qa-patterns +.qa:rules:determine-qa-tests: + rules: + - <<: *if-not-ee + when: never + - <<: *if-merge-request-targeting-stable-branch + allow_failure: true + - <<: *if-dot-com-gitlab-org-and-security-merge-request + changes: *code-backstage-qa-patterns + allow_failure: true + - <<: *if-dot-com-gitlab-org-schedule + allow_failure: true + - <<: *if-force-ci + allow_failure: true + .qa:rules:package-and-qa: rules: - <<: *if-not-ee when: never + - <<: *if-merge-request-labels-pipeline-revert + when: never - <<: *if-merge-request-targeting-stable-branch allow_failure: true - <<: *if-dot-com-gitlab-org-and-security-merge-request @@ -925,6 +957,8 @@ rules: - <<: *if-not-ee when: never + - <<: *if-merge-request-labels-pipeline-revert + when: never - <<: *if-dot-com-gitlab-org-and-security-merge-request-manual-ff-package-and-qa changes: *feature-flag-development-config-patterns when: manual @@ -1060,10 +1094,8 @@ rules: - <<: *if-merge-request-labels-run-all-rspec - <<: *if-merge-request - changes: *core-backend-patterns - - <<: *if-merge-request - changes: *ci-patterns - - changes: ["config/**/*"] + changes: *backend-patterns + - changes: *core-backend-patterns .rails:rules:code-backstage-qa: rules: @@ -1354,6 +1386,8 @@ rules: - <<: *if-not-ee when: never + - <<: *if-merge-request-labels-pipeline-revert + when: never - <<: *if-merge-request-labels-skip-undercoverage when: never - <<: *if-merge-request-labels-run-all-rspec @@ -1558,6 +1592,8 @@ rules: - <<: *if-not-ee when: never + - <<: *if-merge-request-labels-pipeline-revert + when: never - <<: *if-merge-request-labels-run-review-app - <<: *if-dot-com-gitlab-org-merge-request changes: *ci-review-patterns @@ -1601,6 +1637,10 @@ rules: - when: on_success +.review:rules:review-qa-sanity: + rules: + - when: on_success + .review:rules:review-qa-smoke: rules: - when: on_success @@ -1627,7 +1667,6 @@ .review:rules:review-qa-all: rules: - - <<: *if-merge-request-labels-run-review-app # we explicitly don't allow the job to fail in that case - <<: *if-dot-com-gitlab-org-merge-request changes: *code-patterns when: manual @@ -1662,6 +1701,14 @@ - <<: *if-merge-request changes: *danger-patterns +.review:rules:reviewers-recommender: + rules: + - <<: *if-not-canonical-namespace + when: never + - <<: *if-merge-request-labels-community-contribution + when: never + - <<: *if-merge-request + ############### # Setup rules # ############### @@ -1769,3 +1816,13 @@ rules: - <<: *if-default-refs changes: *yaml-lint-patterns + +.lint-pipeline-yaml:rules: + rules: + - <<: *if-default-refs + changes: *lint-pipeline-yaml-patterns + +.lint-metrics-yaml:rules: + rules: + - <<: *if-default-refs + changes: *lint-metrics-yaml-patterns diff --git a/.gitlab/ci/setup.gitlab-ci.yml b/.gitlab/ci/setup.gitlab-ci.yml index 4339251897..505caeec83 100644 --- a/.gitlab/ci/setup.gitlab-ci.yml +++ b/.gitlab/ci/setup.gitlab-ci.yml @@ -60,7 +60,7 @@ no-jh-check: verify-tests-yml: extends: - .setup:rules:verify-tests-yml - image: ${GITLAB_DEPENDENCY_PROXY}ruby:2.7-alpine3.13 + image: ${GITLAB_DEPENDENCY_PROXY}ruby:${RUBY_VERSION}-alpine3.13 stage: test needs: [] script: @@ -96,7 +96,7 @@ generate-frontend-fixtures-mapping: - ${FRONTEND_FIXTURES_MAPPING_PATH} .detect-test-base: - image: ${GITLAB_DEPENDENCY_PROXY}ruby:2.7 + image: ${GITLAB_DEPENDENCY_PROXY}ruby:${RUBY_VERSION} needs: [] stage: prepare script: @@ -160,7 +160,7 @@ detect-previous-failed-tests: add-jh-folder: extends: .setup:rules:add-jh-folder - image: ${GITLAB_DEPENDENCY_PROXY}ruby:2.7 + image: ${GITLAB_DEPENDENCY_PROXY}ruby:${RUBY_VERSION} stage: prepare before_script: - source ./scripts/utils.sh @@ -171,7 +171,6 @@ add-jh-folder: - curl --location -o "jh-folder.tar.gz" "https://gitlab.com/gitlab-org/gitlab-jh-mirrors/gitlab/-/archive/${JH_BRANCH}/gitlab-${JH_BRANCH}.tar.gz?path=jh" - tar -xf "jh-folder.tar.gz" - mv "gitlab-${JH_BRANCH}-jh/jh/" ./ - - cp Gemfile.lock jh/ - ls -l jh/ artifacts: expire_in: 2d diff --git a/.gitlab/ci/test-metadata.gitlab-ci.yml b/.gitlab/ci/test-metadata.gitlab-ci.yml index 79fea15690..f4fa39300b 100644 --- a/.gitlab/ci/test-metadata.gitlab-ci.yml +++ b/.gitlab/ci/test-metadata.gitlab-ci.yml @@ -1,5 +1,5 @@ .tests-metadata-state: - image: ${GITLAB_DEPENDENCY_PROXY}ruby:2.7 + image: ${GITLAB_DEPENDENCY_PROXY}ruby:${RUBY_VERSION} before_script: - source scripts/utils.sh artifacts: diff --git a/.gitlab/ci/workhorse.gitlab-ci.yml b/.gitlab/ci/workhorse.gitlab-ci.yml index 01e059b8a6..6db3582bda 100644 --- a/.gitlab/ci/workhorse.gitlab-ci.yml +++ b/.gitlab/ci/workhorse.gitlab-ci.yml @@ -1,6 +1,6 @@ workhorse:verify: extends: .workhorse:rules:workhorse - image: ${GITLAB_DEPENDENCY_PROXY}golang:1.16 + image: ${GITLAB_DEPENDENCY_PROXY}golang:1.17 stage: test needs: [] script: @@ -20,10 +20,6 @@ workhorse:verify: - scripts/gitaly-test-build - make -C workhorse test -workhorse:test using go 1.16: - extends: .workhorse:test - image: ${REGISTRY_HOST}/${REGISTRY_GROUP}/gitlab-build-images:debian-${DEBIAN_VERSION}-ruby-2.7-golang-1.16-git-2.31 - workhorse:test using go 1.17: extends: .workhorse:test - image: ${REGISTRY_HOST}/${REGISTRY_GROUP}/gitlab-build-images:debian-${DEBIAN_VERSION}-ruby-2.7-golang-1.17-git-2.31 + image: ${REGISTRY_HOST}/${REGISTRY_GROUP}/gitlab-build-images:debian-${DEBIAN_VERSION}-ruby-${RUBY_VERSION}-golang-1.17-git-2.31 diff --git a/.gitlab/ci/yaml.gitlab-ci.yml b/.gitlab/ci/yaml.gitlab-ci.yml index ac32e4226e..0420f158bb 100644 --- a/.gitlab/ci/yaml.gitlab-ci.yml +++ b/.gitlab/ci/yaml.gitlab-ci.yml @@ -1,4 +1,5 @@ -# Yamllint of CI-related yaml. +# Yamllint of yaml files. + # This uses rules from project root `.yamllint`. lint-yaml: extends: @@ -7,15 +8,29 @@ lint-yaml: image: pipelinecomponents/yamllint:latest stage: lint needs: [] + script: + - yamllint --strict -f colored . + +# The jobs below will not use the configuration present in `.yamllint` (it's because of the -d option) +# +# Docs: https://yamllint.readthedocs.io/en/stable/configuration.html#custom-configuration-without-a-config-file + +lint-pipeline-yaml: + extends: + - .default-retry + - .lint-pipeline-yaml:rules + image: pipelinecomponents/yamllint:latest + stage: lint + needs: [] variables: LINT_PATHS: .gitlab-ci.yml .gitlab/ci lib/gitlab/ci/templates data/deprecations data/removals data/whats_new script: - - yamllint --strict -f colored $LINT_PATHS + - 'yamllint -d "{extends: default, rules: {line-length: disable, document-start: disable}}" $LINT_PATHS' lint-metrics-yaml: extends: - .default-retry - - .yaml-lint:rules + - .lint-metrics-yaml:rules image: pipelinecomponents/yamllint:latest stage: lint needs: [] diff --git a/.gitlab/issue_templates/Deprecations.md b/.gitlab/issue_templates/Deprecations.md index 2e48c27231..3dfed1a1fc 100644 --- a/.gitlab/issue_templates/Deprecations.md +++ b/.gitlab/issue_templates/Deprecations.md @@ -47,7 +47,7 @@ Please add links to the relevant merge requests. - As soon as possible, but no later than the third milestone preceding the major release (for example, given the following release schedule: `14.8, 14.9, 14.10, 15.0` – `14.8` is the third milestone preceding the major release): - [ ] A [deprecation entry](https://about.gitlab.com/handbook/marketing/blog/release-posts/#creating-a-deprecation-entry) has been created so the deprecation will appear in release posts and on the [general deprecation page](https://docs.gitlab.com/ee/update/deprecations). - - [ ] Documentation has been updated to add a note about the [end-of-life](https://docs.gitlab.com/ee/development/documentation/styleguide/#end-of-life-for-features-or-products) and to mark the feature as [deprecated](https://docs.gitlab.com/ee/development/documentation/styleguide/#deprecated-features). + - [ ] Documentation has been updated to mark the feature as [deprecated](https://docs.gitlab.com/ee/development/documentation/versions.html#deprecations-and-removals). - [ ] On or before the major milestone: A [removal entry](https://about.gitlab.com/handbook/marketing/blog/release-posts/#removals) has been created so the removal will appear on the [removals by milestones](https://docs.gitlab.com/ee/update/removals) page and be announced in the release post. - On the major milestone: - [ ] The deprecated item has been removed. diff --git a/.gitlab/issue_templates/Feature Flag Roll Out.md b/.gitlab/issue_templates/Feature Flag Roll Out.md index 52f189f09f..1b3d82cf52 100644 --- a/.gitlab/issue_templates/Feature Flag Roll Out.md +++ b/.gitlab/issue_templates/Feature Flag Roll Out.md @@ -62,8 +62,7 @@ _Consider adding links to check for Sentry errors, Production logs for 5xx, 302s - Ensure that the feature MRs have been deployed to non-production environments. - [ ] `/chatops run auto_deploy status ` - [ ] Enable the feature globally on non-production environments. - - [ ] `/chatops run feature set true --dev` - - [ ] `/chatops run feature set true --staging` + - [ ] `/chatops run feature set true --dev --staging` - [ ] Verify that the feature works as expected. Posting the QA result in this issue is preferable. The best environment to validate the feature in is [staging-canary](https://about.gitlab.com/handbook/engineering/infrastructure/environments/#staging-canary) as this is the first environment deployed to. Note you will need to make sure you are configured to use canary as outlined [here](https://about.gitlab.com/handbook/engineering/infrastructure/environments/canary-stage/) @@ -74,12 +73,9 @@ _Consider adding links to check for Sentry errors, Production logs for 5xx, 302s - Ensure that the feature MRs have been deployed to both production and canary. - [ ] `/chatops run auto_deploy status ` - If you're using [project-actor](https://docs.gitlab.com/ee/development/feature_flags/#feature-actors), you must enable the feature on these entries: - - [ ] `/chatops run feature set --project=gitlab-org/gitlab true` - - [ ] `/chatops run feature set --project=gitlab-org/gitlab-foss true` - - [ ] `/chatops run feature set --project=gitlab-com/www-gitlab-com true` + - [ ] `/chatops run feature set --project=gitlab-org/gitlab,gitlab-org/gitlab-foss,gitlab-com/www-gitlab-com true` - If you're using [group-actor](https://docs.gitlab.com/ee/development/feature_flags/#feature-actors), you must enable the feature on these entries: - - [ ] `/chatops run feature set --group=gitlab-org true` - - [ ] `/chatops run feature set --group=gitlab-com true` + - [ ] `/chatops run feature set --group=gitlab-org,gitlab-com true` - If you're using [user-actor](https://docs.gitlab.com/ee/development/feature_flags/#feature-actors), you must enable the feature on these entries: - [ ] `/chatops run feature set --user= true` - [ ] Verify that the feature works on the specific entries. Posting the QA result in this issue is preferable. @@ -124,9 +120,7 @@ To do so, follow these steps: the feature can be officially announced in a release blog post. - [ ] `/chatops run release check ` - [ ] Consider cleaning up the feature flag from all environments by running these chatops command in `#production` channel. Otherwise these settings may override the default enabled. - - [ ] `/chatops run feature delete --dev` - - [ ] `/chatops run feature delete --staging` - - [ ] `/chatops run feature delete ` + - [ ] `/chatops run feature delete --dev --staging --production` - [ ] Close [the feature issue](ISSUE LINK) to indicate the feature will be released in the current milestone. - [ ] Set the next milestone to this rollout issue for scheduling [the flag removal](#release-the-feature). - [ ] (Optional) You can [create a separate issue](https://gitlab.com/gitlab-org/gitlab/-/issues/new?issuable_template=Feature%20Flag%20Cleanup) for scheduling the steps below to [Release the feature](#release-the-feature). @@ -162,9 +156,7 @@ You can either [create a follow-up issue for Feature Flag Cleanup](https://gitla - [ ] `/chatops run release check ` - [ ] Close [the feature issue](ISSUE LINK) to indicate the feature will be released in the current milestone. - [ ] If not already done, clean up the feature flag from all environments by running these chatops command in `#production` channel: - - [ ] `/chatops run feature delete --dev` - - [ ] `/chatops run feature delete --staging` - - [ ] `/chatops run feature delete ` + - [ ] `/chatops run feature delete --dev --staging --production` - [ ] Close this rollout issue. ## Rollback Steps diff --git a/.gitlab/issue_templates/Geo Replicate a new Git repository type.md b/.gitlab/issue_templates/Geo Replicate a new Git repository type.md index bfcf7aca7b..34e6e70015 100644 --- a/.gitlab/issue_templates/Geo Replicate a new Git repository type.md +++ b/.gitlab/issue_templates/Geo Replicate a new Git repository type.md @@ -48,9 +48,13 @@ Geo secondary sites have a [Geo tracking database](https://gitlab.com/gitlab-org - [ ] Create the migration file in `ee/db/geo/migrate`: ```shell - bin/rails generate geo_migration CreateCoolWidgetRegistry + bin/rails generate migration CreateCoolWidgetRegistry --database geo ``` +Geo should continue using `Gitlab::Database::Migration[1.0]` until the `gitlab_geo` schema is supported, and is for the time being exempt from being validated by `Gitlab::Database::Migration[2.0]`. This requires a developer to manually amend the migration file to change from `[2.0]` to `[1.0]` due to the migration defaults being 2.0. + +For more information, see the [Enable Geo migrations to use Migration[2.0]](https://gitlab.com/gitlab-org/gitlab/-/issues/363491) issue. + - [ ] Replace the contents of the migration file with the following. Note that we cannot add a foreign key constraint on `cool_widget_id` because the `cool_widgets` table is in a different database. The application code must handle logic such as propagating deletions. ```ruby 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 ff67866619..e6f96c575d 100644 --- a/.gitlab/issue_templates/Geo Replicate a new blob type.md +++ b/.gitlab/issue_templates/Geo Replicate a new blob type.md @@ -50,9 +50,13 @@ Geo secondary sites have a [Geo tracking database](https://gitlab.com/gitlab-org - [ ] Create the migration file in `ee/db/geo/migrate`: ```shell - bin/rails generate geo_migration CreateCoolWidgetRegistry + bin/rails generate migration CreateCoolWidgetRegistry --database geo ``` +Geo should continue using `Gitlab::Database::Migration[1.0]` until the `gitlab_geo` schema is supported, and is for the time being exempt from being validated by `Gitlab::Database::Migration[2.0]`. This requires a developer to manually amend the migration file to change from `[2.0]` to `[1.0]` due to the migration defaults being 2.0. + +For more information, see the [Enable Geo migrations to use Migration[2.0]](https://gitlab.com/gitlab-org/gitlab/-/issues/363491) issue. + - [ ] Replace the contents of the migration file with the following. Note that we cannot add a foreign key constraint on `cool_widget_id` because the `cool_widgets` table is in a different database. The application code must handle logic such as propagating deletions. ```ruby diff --git a/.gitlab/issue_templates/Performance Indicator Metric.md b/.gitlab/issue_templates/Performance Indicator Metric.md index f4d8885b11..8019be8cad 100644 --- a/.gitlab/issue_templates/Performance Indicator Metric.md +++ b/.gitlab/issue_templates/Performance Indicator Metric.md @@ -3,7 +3,7 @@ Performance Indicator Metric issues are used for adding, updating, or removing p Please title your issue with the following format: "{action}(Add|Update|Remove) Metric name as performance indicator" -Example of title: "Add static_site_editor_views as gmau" +Example of title: "Add some_feature_views as gmau" --> diff --git a/.gitlab/issue_templates/Service Ping reporting and monitoring.md b/.gitlab/issue_templates/Service Ping reporting and monitoring.md new file mode 100644 index 0000000000..1c0d221318 --- /dev/null +++ b/.gitlab/issue_templates/Service Ping reporting and monitoring.md @@ -0,0 +1,129 @@ + + +The [Product Intelligence group](https://about.gitlab.com/handbook/engineering/development/growth/product-intelligence/) runs manual reporting of ServicePing for GitLab.com on a weekly basis. This issue captures: + +- Captures the work required to complete the reporting process,. +- Captures the follow-up tasks that are focused on metrics performance verification. +- Identifies any potential issues. + +# New metrics to be verified + + + +# Failed metrics + +Broken metrics issues are marked with the ~"broken metric" label. + +# Use a detached screen session to generate Service Ping for GitLab.com + +## Prerequisites + +1. Add your SSH key to the local SSH agent: `ssh-add`. Your SSH key is required to connect to a Rails console from the bastion host. + +## Triggering + +1. Add the SSH key to the local SSH agent: `ssh-add`. +1. Connect to the bastion with SSH agent forwarding: `ssh -A lb-bastion.gprd.gitlab.com`. +1. Note which bastion host machine was assigned. For example: `@bastion-01-inf-gprd.c.gitlab-production.internal:~$` shows that you are connected to `bastion-01-inf-gprd.c.gitlab-production.internal`. +1. Create a named screen: `screen -S $USER-service-ping-$(date +%F)`. +1. Connect to the console host: `ssh $USER-rails@console-01-sv-gprd.c.gitlab-production.internal`. +1. Run: `ServicePing::SubmitService.new.execute`. +1. Press Control+a followed by Control+d to detach from the screen session. +1. Exit from the bastion: `exit`. + +## Verification (After approximately 30 hours) + +1. Reconnect to the bastion: `ssh -A lb-bastion.gprd.gitlab.com`. Make sure that you are connected to the same host machine that ServicePing was started on. For example, to connect directly to the host machine, use `ssh bastion-01-inf-gprd.c.gitlab-production.internal`. +1. Find your screen session: `screen -ls`. +1. Attach to your screen session: `screen -x 14226.mwawrzyniak_service_ping_2021_01_22`. +1. Check the last payload in the `raw_usage_data` table: `RawUsageData.last.payload`. +1. Check the when the payload was sent: `RawUsageData.last.sent_at`. + +## Stop the Service Ping process + +Use either of these processes: + +1. Reconnect to the bastion host machine. For example, use: `ssh bastion-01-inf-gprd.c.gitlab-production.internal`. +1. Find your screen session: `$ screen -ls`. +1. Attach to your screen session: `$ sudo -u screen -r`. +1. Press Control+c to stop the Service Ping process. + +OR + +1. Reconnect to the bastion host machine. For example, type: `ssh bastion-01-inf-gprd.c.gitlab-production.internal`. +1. List all process started by your username: `ps faux | grep `. +1. Locate the username that owns ServicePing reporting. +1. Send the kill signal for the ServicePing PID: `kill -9 `. + +## Service Ping process triggering (through a long-running SSH session) + +1. Connect to the `gprd` Rails console. +1. Run `SubmitUsagePingService.new.execute`. This process requires more than 30 hours to complete. +1. Find the last payload in the `raw_usage_data` table: `RawUsageData.last.payload`. +1. Check the when the payload was sent: `RawUsageData.last.sent_at`. + +```plaintext +ServicePing::SubmitService.new.execute + +# Get the payload +RawUsageData.last.payload + +# Time when payload was sent to VersionsAppp +RawUsageData.last.sent_at +``` + +# Verify Service Ping in VersionsApp + +To verify that the ServicePing was received in the VersionsApp do the following steps: + +1. Go to the VersionsApp console and locate: `RawUsageData.find(uuid: '')`. +1. Check the object. Either: + - Go to the Rails console and check the related `RawUsageData` object. + - Go to the VersionsApp UI . + +```ruby +/bin/herokuish procfile exec rails console + +puts UsageData.select(:recorded_at, :app_server_type).where(hostname: 'gitlab.com', uuid: 'ea8bf810-1d6f-4a6a-b4fd-93e8cbd8b57f').order('id desc').limit(5).to_json + +puts UsageData.find(21635202).raw_usage_data.payload.to_json +``` + +# Monitoring events tracked using Redis HLL + +Trigger some events from the User Interface. + +```ruby +Gitlab::UsageDataCounters::HLLRedisCounter.unique_events(event_names: 'event_name', start_date: 28.days.ago, end_date: Date.current) +``` + +# Troubleshooting + +## Connecting to a Rails console host fails with `Permission denied (publickey).`. + +Make sure you add the SSH key to the local SSH agent with: `ssh-add`. If you don't add your SSH key, your key won't be forwarded +when you run `ssh -A`, and you will not be able to connect to a Rails console host. + +# What to do if you get mentioned + +In this issue, we keep the track of new metrics added to the Service Ping, and the metrics that are timing out. + +If you get mentioned, check the failing metric and open an optimization issue. + +# Service Ping manual generation for GitLab.com schedule + +| Generation start date | GitLab developer handle | Link to comment with payload | +| --------------------- | ----------------------- | ---------------------------- | +| 2022-04-18 | | | +| 2022-04-25 | | | +| 2022-05-02 | | | +| 2022-05-09 | | | +| 2022-05-16 | | | + + + +/confidential +/label ~"group::product intelligence" ~"devops::growth" ~backend ~"section::growth" ~"Category:Service Ping" +/epic https://gitlab.com/groups/gitlab-org/-/epics/6000 +/weight 5 +/title Monitor and Generate GitLab.com Service Ping diff --git a/.gitpod.yml b/.gitpod.yml index 639fe4352e..96c4eafd0e 100644 --- a/.gitpod.yml +++ b/.gitpod.yml @@ -11,10 +11,8 @@ tasks: ( set -e cd /workspace/gitlab-development-kit - # GitLab FOSS - [[ -d /workspace/gitlab-foss ]] && ln -fs /workspace/gitlab-foss /workspace/gitlab-development-kit/gitlab - # GitLab - [[ -d /workspace/gitlab ]] && ln -fs /workspace/gitlab /workspace/gitlab-development-kit/gitlab + # Ensure GitLab directory is symlinked under the GDK + ln -nfs "$GITPOD_REPO_ROOT" /workspace/gitlab-development-kit/gitlab mv /workspace/gitlab-development-kit/secrets.yml /workspace/gitlab-development-kit/gitlab/config # ensure gdk.yml has correct instance settings gdk config set gitlab.rails.port 443 diff --git a/.haml-lint.yml b/.haml-lint.yml index c0c0e57e0f..1345df2c0b 100644 --- a/.haml-lint.yml +++ b/.haml-lint.yml @@ -84,9 +84,9 @@ linters: RuboCop: enabled: true - # These cops are incredibly noisy when it comes to HAML templates, so we - # ignore them. ignored_cops: + # These cops are incredibly noisy when it comes to HAML templates, so we + # ignore them. - Layout/BlockAlignment - Layout/EndAlignment - Layout/LineLength @@ -103,6 +103,7 @@ linters: - Style/Next - Style/TrailingWhitespace - Style/WhileUntilModifier + - Cop/StaticTranslationDefinition # These cops should eventually get enabled - Cop/LineBreakAfterGuardClauses diff --git a/.rubocop.yml b/.rubocop.yml index cb70ff168b..47c7e5b5e3 100644 --- a/.rubocop.yml +++ b/.rubocop.yml @@ -13,6 +13,8 @@ inherit_from: <% end %> - '.rubocop_todo.yml' <% end %> + <%# See https://gitlab.com/gitlab-org/gitlab/-/issues/321982#rubymine-note for context on why namespaced_class has special handling here %> + - ./.rubocop_todo/gitlab/namespaced_class.yml - ./rubocop/rubocop-migrations.yml - ./rubocop/rubocop-usage-data.yml - ./rubocop/rubocop-code_reuse.yml @@ -173,7 +175,6 @@ Naming/FileName: - CIDR - SPDX - MR - - SSE - JWT - HLL - GPG @@ -286,6 +287,11 @@ Rails/HelperInstanceVariable: - app/helpers/**/*.rb - ee/app/helpers/**/*.rb +Rails/MailerName: + Exclude: + # See for the context on why it's excluded https://gitlab.com/gitlab-org/gitlab/-/issues/239356#note_956419227 + - 'app/mailers/notify.rb' + # GitLab ################################################################### Gitlab/ModuleWithInstanceVariables: diff --git a/.rubocop_todo/cop/static_translation_definition.yml b/.rubocop_todo/cop/static_translation_definition.yml new file mode 100644 index 0000000000..22f5070d07 --- /dev/null +++ b/.rubocop_todo/cop/static_translation_definition.yml @@ -0,0 +1,20 @@ +--- +Cop/StaticTranslationDefinition: + Exclude: + - 'app/models/application_setting.rb' + - 'app/models/diff_viewer/image.rb' + - 'app/models/diff_viewer/rich.rb' + - 'app/models/diff_viewer/simple.rb' + - 'app/models/group_group_link.rb' + - 'app/models/jira_import_state.rb' + - 'app/models/member.rb' + - 'app/models/project.rb' + - 'app/models/project_group_link.rb' + - 'app/models/user.rb' + - 'app/models/users/banned_user.rb' + - 'ee/app/models/allowed_email_domain.rb' + - 'ee/app/models/dast/site_profile_secret_variable.rb' + - 'ee/app/models/group_merge_request_approval_setting.rb' + - 'ee/app/models/incident_management/escalation_policy.rb' + - 'ee/app/models/incident_management/escalation_rule.rb' + - 'ee/app/models/vulnerabilities/read.rb' diff --git a/.rubocop_todo/cop/user_admin.yml b/.rubocop_todo/cop/user_admin.yml index 5f0f721395..ab5f76a002 100644 --- a/.rubocop_todo/cop/user_admin.yml +++ b/.rubocop_todo/cop/user_admin.yml @@ -26,7 +26,6 @@ Cop/UserAdmin: - app/models/protected_branch.rb - app/models/user.rb - app/policies/note_policy.rb - - app/serializers/deploy_key_entity.rb - app/services/auth/container_registry_authentication_service.rb - app/services/emails/create_service.rb - app/services/projects/enable_deploy_key_service.rb diff --git a/.rubocop_todo/fips/md5.yml b/.rubocop_todo/fips/md5.yml new file mode 100644 index 0000000000..ef9e8fdde6 --- /dev/null +++ b/.rubocop_todo/fips/md5.yml @@ -0,0 +1,25 @@ +--- +Fips/MD5: + Exclude: + - 'app/experiments/application_experiment.rb' + - 'app/models/concerns/checksummable.rb' + - 'app/services/gravatar_service.rb' + - 'app/services/packages/debian/generate_distribution_service.rb' + - 'app/services/packages/go/create_package_service.rb' + - 'app/services/packages/maven/metadata/append_package_file_service.rb' + - 'app/services/packages/rubygems/create_gemspec_service.rb' + - 'config/application.rb' + - 'config/initializers/wikicloth_redos_patch.rb' + - 'ee/app/models/license.rb' + - 'ee/spec/lib/ee/gitlab/usage_data_spec.rb' + - 'lib/tasks/migrate/setup_postgresql.rake' + - 'qa/qa/specs/features/api/3_create/repository/project_archive_compare_spec.rb' + - 'spec/controllers/invites_controller_spec.rb' + - 'spec/lib/gitlab/ci/trace/archive_spec.rb' + - 'spec/lib/gitlab/ci/trace/remote_checksum_spec.rb' + - 'spec/models/concerns/checksummable_spec.rb' + - 'spec/services/gravatar_service_spec.rb' + - 'spec/support/matchers/match_file.rb' + - 'spec/support/shared_examples/services/packages/debian/generate_distribution_shared_examples.rb' + - 'spec/tooling/rspec_flaky/example_spec.rb' + - 'tooling/rspec_flaky/example.rb' diff --git a/.rubocop_todo/fips/open_ssl.yml b/.rubocop_todo/fips/open_ssl.yml new file mode 100644 index 0000000000..03a551112a --- /dev/null +++ b/.rubocop_todo/fips/open_ssl.yml @@ -0,0 +1,222 @@ +--- +# Cop supports --auto-correct. +Fips/OpenSSL: + Exclude: + - 'app/controllers/application_controller.rb' + - 'app/controllers/concerns/authenticates_with_two_factor.rb' + - 'app/controllers/projects/merge_requests/diffs_controller.rb' + - 'app/controllers/projects/merge_requests_controller.rb' + - 'app/helpers/application_helper.rb' + - 'app/models/ci/artifact_blob.rb' + - 'app/models/concerns/analytics/cycle_analytics/stage.rb' + - 'app/models/concerns/checksummable.rb' + - 'app/models/concerns/token_authenticatable_strategies/encryption_helper.rb' + - 'app/models/diff_discussion.rb' + - 'app/models/discussion.rb' + - 'app/models/legacy_diff_note.rb' + - 'app/models/namespace.rb' + - 'app/models/note.rb' + - 'app/models/performance_monitoring/prometheus_panel.rb' + - 'app/models/protected_branch.rb' + - 'app/models/release_highlight.rb' + - 'app/models/repository.rb' + - 'app/models/resource_event.rb' + - 'app/models/snippet.rb' + - 'app/models/storage/hashed.rb' + - 'app/models/token_with_iv.rb' + - 'app/presenters/packages/composer/packages_presenter.rb' + - 'app/services/ci/build_report_result_service.rb' + - 'app/services/metrics/dashboard/transient_embed_service.rb' + - 'app/services/packages/debian/generate_distribution_service.rb' + - 'app/services/packages/go/create_package_service.rb' + - 'app/services/packages/maven/metadata/append_package_file_service.rb' + - 'app/services/packages/rubygems/create_gemspec_service.rb' + - 'app/services/pages/migrate_legacy_storage_to_deployment_service.rb' + - 'app/services/projects/lfs_pointers/lfs_download_service.rb' + - 'app/uploaders/ci/secure_file_uploader.rb' + - 'config/initializers/doorkeeper_openid_connect.rb' + - 'config/initializers/session_store.rb' + - 'config/settings.rb' + - 'db/post_migrate/20210731132939_backfill_stage_event_hash.rb' + - 'ee/app/models/storage_shard.rb' + - 'ee/app/services/elastic/bookkeeping_shard_service.rb' + - 'ee/app/services/security/track_scan_service.rb' + - 'ee/app/services/vulnerabilities/create_service_base.rb' + - 'ee/app/services/vulnerabilities/manually_create_service.rb' + - 'ee/app/services/vulnerabilities/starboard_vulnerability_create_service.rb' + - 'ee/lib/ee/gitlab/background_migration/populate_latest_pipeline_ids.rb' + - 'ee/lib/ee/gitlab/background_migration/populate_resolved_on_default_branch_column.rb' + - 'ee/lib/ee/gitlab/background_migration/recalculate_vulnerability_finding_signatures_for_findings.rb' + - 'ee/lib/gitlab/analytics/cycle_analytics/stage_events/label_based_stage_event.rb' + - 'ee/lib/gitlab/ci/reports/dependency_list/dependency.rb' + - 'ee/lib/gitlab/ci/reports/security/remediation.rb' + - 'ee/lib/gitlab/geo/replication/blob_downloader.rb' + - 'ee/spec/factories/vulnerabilities/feedback.rb' + - 'ee/spec/factories/vulnerabilities/finding_signatures.rb' + - 'ee/spec/factories/vulnerabilities/remediations.rb' + - 'ee/spec/finders/security/pipeline_vulnerabilities_finder_spec.rb' + - 'ee/spec/lib/ee/gitlab/alert_management/payload/generic_spec.rb' + - 'ee/spec/lib/ee/gitlab/background_migration/populate_uuids_for_security_findings_spec.rb' + - 'ee/spec/lib/ee/gitlab/background_migration/recalculate_vulnerability_finding_signatures_for_findings_spec.rb' + - 'ee/spec/lib/ee/gitlab/background_migration/update_vulnerability_occurrences_location_spec.rb' + - 'ee/spec/lib/gitlab/analytics/cycle_analytics/stage_events/issue_label_added_spec.rb' + - 'ee/spec/lib/gitlab/analytics/cycle_analytics/stage_events/issue_label_removed_spec.rb' + - 'ee/spec/lib/gitlab/analytics/cycle_analytics/stage_events/merge_request_label_added_spec.rb' + - 'ee/spec/lib/gitlab/analytics/cycle_analytics/stage_events/merge_request_label_removed_spec.rb' + - 'ee/spec/lib/gitlab/ci/reports/security/locations/cluster_image_scanning_spec.rb' + - 'ee/spec/lib/gitlab/ci/reports/security/locations/container_scanning_spec.rb' + - 'ee/spec/lib/gitlab/ci/reports/security/locations/dast_spec.rb' + - 'ee/spec/lib/gitlab/ci/reports/security/locations/dependency_scanning_spec.rb' + - 'ee/spec/migrations/update_vulnerability_occurrences_location_spec.rb' + - 'ee/spec/models/merge_train_spec.rb' + - 'ee/spec/models/resource_weight_event_spec.rb' + - 'ee/spec/models/vulnerabilities/finding_signature_spec.rb' + - 'ee/spec/models/vulnerabilities/finding_spec.rb' + - 'ee/spec/services/alert_management/process_prometheus_alert_service_spec.rb' + - 'ee/spec/services/merge_trains/check_status_service_spec.rb' + - 'ee/spec/services/projects/alerting/notify_service_spec.rb' + - 'ee/spec/services/security/ingestion/tasks/ingest_identifiers_spec.rb' + - 'ee/spec/services/security/ingestion/tasks/ingest_remediations_spec.rb' + - 'ee/spec/services/security/override_uuids_service_spec.rb' + - 'ee/spec/services/security/track_scan_service_spec.rb' + - 'ee/spec/services/vulnerabilities/manually_create_service_spec.rb' + - 'ee/spec/support/matchers/locked_schema.rb' + - 'lib/api/files.rb' + - 'lib/api/maven_packages.rb' + - 'lib/atlassian/jira_connect/serializers/branch_entity.rb' + - 'lib/container_registry/client.rb' + - 'lib/extracts_path.rb' + - 'lib/gitlab/alert_management/fingerprint.rb' + - 'lib/gitlab/analytics/cycle_analytics/stage_events/stage_event.rb' + - 'lib/gitlab/background_migration/backfill_note_discussion_id.rb' + - 'lib/gitlab/background_migration/backfill_project_repositories.rb' + - 'lib/gitlab/ci/pipeline/seed/build/cache.rb' + - 'lib/gitlab/ci/reports/security/finding.rb' + - 'lib/gitlab/ci/reports/security/finding_signature.rb' + - 'lib/gitlab/ci/reports/security/identifier.rb' + - 'lib/gitlab/ci/reports/security/locations/base.rb' + - 'lib/gitlab/ci/reports/test_case.rb' + - 'lib/gitlab/color.rb' + - 'lib/gitlab/composer/version_index.rb' + - 'lib/gitlab/crypto_helper.rb' + - 'lib/gitlab/database/migration_helpers.rb' + - 'lib/gitlab/database/migration_helpers/v2.rb' + - 'lib/gitlab/database/partitioning_migration_helpers/foreign_key_helpers.rb' + - 'lib/gitlab/database/schema_helpers.rb' + - 'lib/gitlab/database/schema_migrations/migrations.rb' + - 'lib/gitlab/database/unidirectional_copy_trigger.rb' + - 'lib/gitlab/diff/file.rb' + - 'lib/gitlab/diff/formatters/base_formatter.rb' + - 'lib/gitlab/diff/position.rb' + - 'lib/gitlab/experimentation/controller_concern.rb' + - 'lib/gitlab/git.rb' + - 'lib/gitlab/git/branch.rb' + - 'lib/gitlab/git/lfs_pointer_file.rb' + - 'lib/gitlab/git/tag.rb' + - 'lib/gitlab/hashed_path.rb' + - 'lib/gitlab/insecure_key_fingerprint.rb' + - 'lib/gitlab/sidekiq_middleware/duplicate_jobs/duplicate_job.rb' + - 'lib/gitlab/slug/environment.rb' + - 'lib/gitlab/verify/job_artifacts.rb' + - 'lib/json_web_token/rsa_token.rb' + - 'lib/tasks/gitlab/assets.rake' + - 'lib/tasks/tanuki_emoji.rake' + - 'qa/qa/service/praefect_manager.rb' + - 'qa/qa/specs/features/browser_ui/6_release/deploy_key/clone_using_deploy_key_spec.rb' + - 'qa/qa/specs/features/ee/browser_ui/1_manage/group/group_saml_non_enforced_sso_spec.rb' + - 'scripts/security-harness' + - 'spec/components/diffs/stats_component_spec.rb' + - 'spec/controllers/projects/blob_controller_spec.rb' + - 'spec/factories/ci/job_artifacts.rb' + - 'spec/factories/ci/reports/security/finding_keys.rb' + - 'spec/factories/ci/unit_test.rb' + - 'spec/factories/commit_signature/gpg_signature.rb' + - 'spec/factories/commit_signature/ssh_signature.rb' + - 'spec/factories/commit_signature/x509_commit_signature.rb' + - 'spec/factories/design_management/designs.rb' + - 'spec/factories/diff_position.rb' + - 'spec/factories/gitaly/commit.rb' + - 'spec/factories/merge_request_context_commit.rb' + - 'spec/factories/merge_request_context_commit_diff_file.rb' + - 'spec/factories/merge_request_diff_commits.rb' + - 'spec/factories/merge_request_diffs.rb' + - 'spec/factories/pages_deployments.rb' + - 'spec/factories/sequences.rb' + - 'spec/factories/token_with_ivs.rb' + - 'spec/features/file_uploads/git_lfs_spec.rb' + - 'spec/features/merge_request/user_sees_diff_spec.rb' + - 'spec/features/merge_request/user_suggests_changes_on_diff_spec.rb' + - 'spec/finders/merge_requests/oldest_per_commit_finder_spec.rb' + - 'spec/lib/gitlab/alert_management/fingerprint_spec.rb' + - 'spec/lib/gitlab/alert_management/payload/base_spec.rb' + - 'spec/lib/gitlab/alert_management/payload/generic_spec.rb' + - 'spec/lib/gitlab/alert_management/payload/prometheus_spec.rb' + - 'spec/lib/gitlab/background_migration/backfill_note_discussion_id_spec.rb' + - 'spec/lib/gitlab/background_migration/populate_vulnerability_reads_spec.rb' + - 'spec/lib/gitlab/ci/reports/security/finding_signature_spec.rb' + - 'spec/lib/gitlab/ci/reports/security/locations/sast_spec.rb' + - 'spec/lib/gitlab/ci/reports/security/locations/secret_detection_spec.rb' + - 'spec/lib/gitlab/ci/reports/test_case_spec.rb' + - 'spec/lib/gitlab/crypto_helper_spec.rb' + - 'spec/lib/gitlab/database/migration_helpers_spec.rb' + - 'spec/lib/gitlab/database/schema_migrations/migrations_spec.rb' + - 'spec/lib/gitlab/diff/file_spec.rb' + - 'spec/lib/gitlab/diff/position_spec.rb' + - 'spec/lib/gitlab/diff/position_tracer/image_strategy_spec.rb' + - 'spec/lib/gitlab/diff/position_tracer/line_strategy_spec.rb' + - 'spec/lib/gitlab/experimentation/controller_concern_spec.rb' + - 'spec/lib/gitlab/git/branch_spec.rb' + - 'spec/lib/gitlab/git/tag_spec.rb' + - 'spec/lib/gitlab/sidekiq_middleware/duplicate_jobs/duplicate_job_spec.rb' + - 'spec/lib/gitlab/slug/environment_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' + - 'spec/models/ci/pipeline_spec.rb' + - 'spec/models/ci/secure_file_spec.rb' + - 'spec/models/ci/unit_test_spec.rb' + - 'spec/models/concerns/checksummable_spec.rb' + - 'spec/models/concerns/token_authenticatable_strategies/encryption_helper_spec.rb' + - 'spec/models/design_management/version_spec.rb' + - 'spec/models/diff_discussion_spec.rb' + - 'spec/models/discussion_spec.rb' + - 'spec/models/lfs_object_spec.rb' + - 'spec/models/merge_request_diff_spec.rb' + - 'spec/models/merge_request_spec.rb' + - 'spec/models/note_spec.rb' + - 'spec/models/pages_deployment_spec.rb' + - 'spec/models/performance_monitoring/prometheus_panel_spec.rb' + - 'spec/models/project_spec.rb' + - 'spec/models/release_highlight_spec.rb' + - 'spec/models/repository_spec.rb' + - 'spec/models/token_with_iv_spec.rb' + - 'spec/models/upload_spec.rb' + - 'spec/requests/api/ci/runner/jobs_artifacts_spec.rb' + - 'spec/requests/api/ci/secure_files_spec.rb' + - 'spec/requests/openid_connect_spec.rb' + - 'spec/services/dependency_proxy/find_cached_manifest_service_spec.rb' + - 'spec/services/dependency_proxy/head_manifest_service_spec.rb' + - 'spec/services/dependency_proxy/request_token_service_spec.rb' + - 'spec/services/import_export_clean_up_service_spec.rb' + - 'spec/services/pages/migrate_legacy_storage_to_deployment_service_spec.rb' + - 'spec/services/projects/after_rename_service_spec.rb' + - 'spec/services/projects/create_service_spec.rb' + - 'spec/services/projects/lfs_pointers/lfs_download_service_spec.rb' + - 'spec/support/helpers/workhorse_helpers.rb' + - 'spec/support/migrations_helpers/vulnerabilities_findings_helper.rb' + - 'spec/support/shared_examples/lib/gitlab/ci/ci_trace_shared_examples.rb' + - 'spec/support/shared_examples/lib/gitlab/cycle_analytics/event_shared_examples.rb' + - 'spec/support/shared_examples/lib/gitlab/position_formatters_shared_examples.rb' + - 'spec/support/shared_examples/services/alert_management/alert_processing/alert_firing_shared_examples.rb' + - 'spec/support/shared_examples/services/alert_management/alert_processing/alert_recovery_shared_examples.rb' + - 'spec/support/shared_examples/services/metrics/dashboard_shared_examples.rb' + - 'spec/support/shared_examples/services/packages/debian/generate_distribution_shared_examples.rb' + - 'spec/support/shared_examples/uploaders/object_storage_shared_examples.rb' + - 'spec/support/trace/trace_helpers.rb' + - 'spec/uploaders/ci/secure_file_uploader_spec.rb' + - 'spec/uploaders/job_artifact_uploader_spec.rb' + - 'spec/validators/sha_validator_spec.rb' + - 'spec/workers/update_head_pipeline_for_merge_request_worker_spec.rb' diff --git a/.rubocop_todo/fips/sha1.yml b/.rubocop_todo/fips/sha1.yml new file mode 100644 index 0000000000..934805c86d --- /dev/null +++ b/.rubocop_todo/fips/sha1.yml @@ -0,0 +1,111 @@ +--- +Fips/SHA1: + Exclude: + - 'app/controllers/application_controller.rb' + - 'app/helpers/application_helper.rb' + - 'app/models/ci/artifact_blob.rb' + - 'app/models/diff_discussion.rb' + - 'app/models/discussion.rb' + - 'app/models/legacy_diff_note.rb' + - 'app/models/note.rb' + - 'app/models/protected_branch.rb' + - 'app/models/repository.rb' + - 'app/models/resource_event.rb' + - 'app/services/packages/go/create_package_service.rb' + - 'app/services/packages/maven/metadata/append_package_file_service.rb' + - 'app/services/packages/rubygems/create_gemspec_service.rb' + - 'ee/app/models/storage_shard.rb' + - 'ee/app/services/vulnerabilities/create_service_base.rb' + - 'ee/app/services/vulnerabilities/manually_create_service.rb' + - 'ee/app/services/vulnerabilities/starboard_vulnerability_create_service.rb' + - 'ee/lib/ee/gitlab/background_migration/recalculate_vulnerability_finding_signatures_for_findings.rb' + - 'ee/spec/factories/vulnerabilities/feedback.rb' + - 'ee/spec/factories/vulnerabilities/finding_signatures.rb' + - 'ee/spec/finders/security/pipeline_vulnerabilities_finder_spec.rb' + - 'ee/spec/lib/ee/gitlab/alert_management/payload/generic_spec.rb' + - 'ee/spec/lib/ee/gitlab/background_migration/populate_uuids_for_security_findings_spec.rb' + - 'ee/spec/lib/ee/gitlab/background_migration/recalculate_vulnerability_finding_signatures_for_findings_spec.rb' + - 'ee/spec/lib/ee/gitlab/background_migration/update_vulnerability_occurrences_location_spec.rb' + - 'ee/spec/lib/gitlab/ci/reports/security/locations/cluster_image_scanning_spec.rb' + - 'ee/spec/lib/gitlab/ci/reports/security/locations/container_scanning_spec.rb' + - 'ee/spec/lib/gitlab/ci/reports/security/locations/dast_spec.rb' + - 'ee/spec/lib/gitlab/ci/reports/security/locations/dependency_scanning_spec.rb' + - 'ee/spec/migrations/update_vulnerability_occurrences_location_spec.rb' + - 'ee/spec/models/merge_train_spec.rb' + - 'ee/spec/models/resource_weight_event_spec.rb' + - 'ee/spec/models/vulnerabilities/finding_signature_spec.rb' + - 'ee/spec/models/vulnerabilities/finding_spec.rb' + - 'ee/spec/services/alert_management/process_prometheus_alert_service_spec.rb' + - 'ee/spec/services/merge_trains/check_status_service_spec.rb' + - 'ee/spec/services/projects/alerting/notify_service_spec.rb' + - 'ee/spec/services/security/ingestion/tasks/ingest_identifiers_spec.rb' + - 'ee/spec/services/security/override_uuids_service_spec.rb' + - 'ee/spec/services/vulnerabilities/manually_create_service_spec.rb' + - 'lib/extracts_path.rb' + - 'lib/gitlab/alert_management/fingerprint.rb' + - 'lib/gitlab/background_migration/backfill_note_discussion_id.rb' + - 'lib/gitlab/ci/pipeline/seed/build/cache.rb' + - 'lib/gitlab/ci/reports/security/finding.rb' + - 'lib/gitlab/ci/reports/security/finding_signature.rb' + - 'lib/gitlab/ci/reports/security/identifier.rb' + - 'lib/gitlab/ci/reports/security/locations/base.rb' + - 'lib/gitlab/diff/file.rb' + - 'lib/gitlab/diff/formatters/base_formatter.rb' + - 'lib/gitlab/diff/position.rb' + - 'lib/gitlab/git.rb' + - 'lib/gitlab/git/branch.rb' + - 'lib/gitlab/git/tag.rb' + - 'qa/qa/specs/features/browser_ui/6_release/deploy_key/clone_using_deploy_key_spec.rb' + - 'qa/qa/specs/features/ee/browser_ui/1_manage/group/group_saml_non_enforced_sso_spec.rb' + - 'spec/components/diffs/stats_component_spec.rb' + - 'spec/controllers/projects/blob_controller_spec.rb' + - 'spec/factories/ci/reports/security/finding_keys.rb' + - 'spec/factories/commit_signature/gpg_signature.rb' + - 'spec/factories/commit_signature/ssh_signature.rb' + - 'spec/factories/commit_signature/x509_commit_signature.rb' + - 'spec/factories/design_management/designs.rb' + - 'spec/factories/diff_position.rb' + - 'spec/factories/gitaly/commit.rb' + - 'spec/factories/merge_request_context_commit.rb' + - 'spec/factories/merge_request_context_commit_diff_file.rb' + - 'spec/factories/merge_request_diff_commits.rb' + - 'spec/factories/merge_request_diffs.rb' + - 'spec/factories/sequences.rb' + - 'spec/features/merge_request/user_sees_diff_spec.rb' + - 'spec/features/merge_request/user_suggests_changes_on_diff_spec.rb' + - 'spec/finders/merge_requests/oldest_per_commit_finder_spec.rb' + - 'spec/lib/gitlab/alert_management/fingerprint_spec.rb' + - 'spec/lib/gitlab/alert_management/payload/base_spec.rb' + - 'spec/lib/gitlab/alert_management/payload/generic_spec.rb' + - 'spec/lib/gitlab/alert_management/payload/prometheus_spec.rb' + - 'spec/lib/gitlab/background_migration/backfill_note_discussion_id_spec.rb' + - 'spec/lib/gitlab/background_migration/populate_vulnerability_reads_spec.rb' + - 'spec/lib/gitlab/ci/reports/security/finding_signature_spec.rb' + - 'spec/lib/gitlab/ci/reports/security/locations/sast_spec.rb' + - 'spec/lib/gitlab/ci/reports/security/locations/secret_detection_spec.rb' + - 'spec/lib/gitlab/diff/file_spec.rb' + - 'spec/lib/gitlab/diff/position_spec.rb' + - 'spec/lib/gitlab/diff/position_tracer/image_strategy_spec.rb' + - 'spec/lib/gitlab/diff/position_tracer/line_strategy_spec.rb' + - 'spec/lib/gitlab/git/branch_spec.rb' + - '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' + - 'spec/models/ci/pipeline_spec.rb' + - 'spec/models/design_management/version_spec.rb' + - 'spec/models/diff_discussion_spec.rb' + - 'spec/models/discussion_spec.rb' + - 'spec/models/merge_request_diff_spec.rb' + - 'spec/models/merge_request_spec.rb' + - 'spec/models/note_spec.rb' + - 'spec/models/repository_spec.rb' + - 'spec/support/migrations_helpers/vulnerabilities_findings_helper.rb' + - 'spec/support/shared_examples/lib/gitlab/position_formatters_shared_examples.rb' + - 'spec/support/shared_examples/services/alert_management/alert_processing/alert_firing_shared_examples.rb' + - 'spec/support/shared_examples/services/alert_management/alert_processing/alert_recovery_shared_examples.rb' + - 'spec/validators/sha_validator_spec.rb' + - 'spec/workers/update_head_pipeline_for_merge_request_worker_spec.rb' diff --git a/.rubocop_todo/gitlab/delegate_predicate_methods.yml b/.rubocop_todo/gitlab/delegate_predicate_methods.yml index 7ed3fc3e4f..854cd3e0a8 100644 --- a/.rubocop_todo/gitlab/delegate_predicate_methods.yml +++ b/.rubocop_todo/gitlab/delegate_predicate_methods.yml @@ -2,6 +2,5 @@ Gitlab/DelegatePredicateMethods: Exclude: - app/models/clusters/cluster.rb - - app/models/concerns/integrations/base_data_fields.rb - app/models/project.rb - ee/app/models/concerns/ee/ci/metadatable.rb diff --git a/.rubocop_todo/gitlab/feature_available_usage.yml b/.rubocop_todo/gitlab/feature_available_usage.yml index 2a0975a6e9..168edd94f9 100644 --- a/.rubocop_todo/gitlab/feature_available_usage.yml +++ b/.rubocop_todo/gitlab/feature_available_usage.yml @@ -25,7 +25,6 @@ Gitlab/FeatureAvailableUsage: - ee/app/controllers/projects/subscriptions_controller.rb - ee/app/finders/autocomplete/vulnerabilities_autocomplete_finder.rb - ee/app/finders/clusters/agents_finder.rb - - ee/app/finders/ee/alert_management/alerts_finder.rb - ee/app/finders/ee/alert_management/http_integrations_finder.rb - ee/app/graphql/ee/types/group_type.rb - ee/app/graphql/mutations/dast/profiles/create.rb diff --git a/.rubocop_todo/gitlab/namespaced_class.yml b/.rubocop_todo/gitlab/namespaced_class.yml index 0f974bc500..23ff86ba28 100644 --- a/.rubocop_todo/gitlab/namespaced_class.yml +++ b/.rubocop_todo/gitlab/namespaced_class.yml @@ -500,8 +500,6 @@ Gitlab/NamespacedClass: - 'app/serializers/current_board_entity.rb' - 'app/serializers/current_board_serializer.rb' - 'app/serializers/current_user_entity.rb' - - 'app/serializers/deploy_key_entity.rb' - - 'app/serializers/deploy_key_serializer.rb' - 'app/serializers/deploy_keys_project_entity.rb' - 'app/serializers/deployment_cluster_entity.rb' - 'app/serializers/deployment_entity.rb' @@ -614,10 +612,6 @@ Gitlab/NamespacedClass: - 'app/serializers/route_entity.rb' - 'app/serializers/route_serializer.rb' - 'app/serializers/runner_entity.rb' - - 'app/serializers/service_event_entity.rb' - - 'app/serializers/service_event_serializer.rb' - - 'app/serializers/service_field_entity.rb' - - 'app/serializers/service_field_serializer.rb' - 'app/serializers/stage_entity.rb' - 'app/serializers/stage_serializer.rb' - 'app/serializers/suggestion_entity.rb' @@ -774,7 +768,6 @@ Gitlab/NamespacedClass: - 'app/workers/error_tracking_issue_link_worker.rb' - 'app/workers/expire_build_artifacts_worker.rb' - 'app/workers/expire_job_cache_worker.rb' - - 'app/workers/expire_pipeline_cache_worker.rb' - 'app/workers/export_csv_worker.rb' - 'app/workers/external_service_reactive_caching_worker.rb' - 'app/workers/file_hook_worker.rb' @@ -788,7 +781,6 @@ Gitlab/NamespacedClass: - 'app/workers/import_export_project_cleanup_worker.rb' - 'app/workers/import_issues_csv_worker.rb' - 'app/workers/invalid_gpg_signature_update_worker.rb' - - 'app/workers/irker_worker.rb' - 'app/workers/issuable_export_csv_worker.rb' - 'app/workers/issue_due_scheduler_worker.rb' - 'app/workers/issue_placement_worker.rb' @@ -798,7 +790,6 @@ Gitlab/NamespacedClass: - 'app/workers/merge_request_mergeability_check_worker.rb' - 'app/workers/merge_worker.rb' - 'app/workers/migrate_external_diffs_worker.rb' - - 'app/workers/namespaceless_project_destroy_worker.rb' - 'app/workers/new_issue_worker.rb' - 'app/workers/new_merge_request_worker.rb' - 'app/workers/new_note_worker.rb' @@ -818,10 +809,8 @@ Gitlab/NamespacedClass: - 'app/workers/post_receive.rb' - 'app/workers/process_commit_worker.rb' - 'app/workers/project_cache_worker.rb' - - 'app/workers/project_daily_statistics_worker.rb' - 'app/workers/project_destroy_worker.rb' - 'app/workers/project_export_worker.rb' - - 'app/workers/project_service_worker.rb' - 'app/workers/propagate_integration_group_worker.rb' - 'app/workers/propagate_integration_inherit_descendant_worker.rb' - 'app/workers/propagate_integration_inherit_worker.rb' @@ -1024,7 +1013,6 @@ Gitlab/NamespacedClass: - 'ee/app/serializers/group_analytics_serializer.rb' - 'ee/app/serializers/group_vulnerability_autocomplete_entity.rb' - 'ee/app/serializers/group_vulnerability_autocomplete_serializer.rb' - - 'ee/app/serializers/invited_group_entity.rb' - 'ee/app/serializers/invited_group_serializer.rb' - 'ee/app/serializers/iteration_serializer.rb' - 'ee/app/serializers/license_entity.rb' @@ -1089,7 +1077,6 @@ Gitlab/NamespacedClass: - 'ee/app/workers/project_import_schedule_worker.rb' - 'ee/app/workers/project_template_export_worker.rb' - 'ee/app/workers/refresh_license_compliance_checks_worker.rb' - - 'ee/app/workers/repository_push_audit_event_worker.rb' - 'ee/app/workers/repository_update_mirror_worker.rb' - 'ee/app/workers/scan_security_report_secrets_worker.rb' - 'ee/app/workers/set_user_status_based_on_user_cap_setting_worker.rb' @@ -1109,7 +1096,6 @@ Gitlab/NamespacedClass: - 'ee/lib/gitlab/items_collection.rb' - 'ee/lib/gitlab/manual_banner.rb' - 'ee/lib/gitlab/manual_quarterly_co_term_banner.rb' - - 'ee/lib/gitlab/manual_renewal_banner.rb' - 'ee/lib/gitlab/pagination_delegate.rb' - 'ee/lib/gitlab/path_locks_finder.rb' - 'ee/lib/gitlab/proxy.rb' @@ -1225,7 +1211,6 @@ Gitlab/NamespacedClass: - 'lib/gitlab/object_hierarchy.rb' - 'lib/gitlab/omniauth_initializer.rb' - 'lib/gitlab/otp_key_rotator.rb' - - 'lib/gitlab/pages_transfer.rb' - 'lib/gitlab/pipeline_scope_counts.rb' - 'lib/gitlab/polling_interval.rb' - 'lib/gitlab/process_memory_cache.rb' @@ -1279,7 +1264,6 @@ Gitlab/NamespacedClass: - 'lib/gitlab/unicode.rb' - 'lib/gitlab/untrusted_regexp.rb' - 'lib/gitlab/untrusted_regexp/ruby_syntax.rb' - - 'lib/gitlab/updated_notes_paginator.rb' - 'lib/gitlab/uploads_transfer.rb' - 'lib/gitlab/url_blocker.rb' - 'lib/gitlab/url_builder.rb' diff --git a/.rubocop_todo/graphql/ordered_arguments.yml b/.rubocop_todo/graphql/ordered_arguments.yml deleted file mode 100644 index 1a30490e89..0000000000 --- a/.rubocop_todo/graphql/ordered_arguments.yml +++ /dev/null @@ -1,6 +0,0 @@ ---- -GraphQL/OrderedArguments: - Exclude: - - app/graphql/resolvers/base_issues_resolver.rb - - app/graphql/resolvers/design_management/designs_resolver.rb - - app/graphql/resolvers/design_management/version/design_at_version_resolver.rb diff --git a/.rubocop_todo/graphql/ordered_fields.yml b/.rubocop_todo/graphql/ordered_fields.yml index b6ddd018f4..b7135d7aab 100644 --- a/.rubocop_todo/graphql/ordered_fields.yml +++ b/.rubocop_todo/graphql/ordered_fields.yml @@ -1,55 +1,12 @@ --- GraphQL/OrderedFields: Exclude: - - app/graphql/types/ci/runner_platform_type.rb - app/graphql/types/ci/runner_type.rb - - app/graphql/types/ci/stage_type.rb - - app/graphql/types/ci/status_action_type.rb - - app/graphql/types/ci/template_type.rb - - app/graphql/types/commit_type.rb - - app/graphql/types/container_expiration_policy_type.rb - - app/graphql/types/container_repository_tag_type.rb - app/graphql/types/container_repository_type.rb - - app/graphql/types/dependency_proxy/blob_type.rb - - app/graphql/types/dependency_proxy/image_ttl_group_policy_type.rb - app/graphql/types/dependency_proxy/manifest_type.rb - - app/graphql/types/design_management/design_collection_type.rb - - app/graphql/types/diff_refs_type.rb - - app/graphql/types/diff_stats_summary_type.rb - - app/graphql/types/diff_stats_type.rb - - app/graphql/types/error_tracking/sentry_detailed_error_type.rb - - app/graphql/types/error_tracking/sentry_error_collection_type.rb - - app/graphql/types/error_tracking/sentry_error_frequency_type.rb - - app/graphql/types/error_tracking/sentry_error_stack_trace_context_type.rb - - app/graphql/types/error_tracking/sentry_error_stack_trace_entry_type.rb - app/graphql/types/merge_request_type.rb - - app/graphql/types/metadata/kas_type.rb - - app/graphql/types/metadata_type.rb - - app/graphql/types/namespace/package_settings_type.rb - - app/graphql/types/namespace_type.rb - - app/graphql/types/notes/diff_position_type.rb - - app/graphql/types/notes/discussion_type.rb - - app/graphql/types/notes/note_type.rb - - app/graphql/types/packages/nuget/metadatum_type.rb - - app/graphql/types/packages/package_dependency_link_type.rb - - app/graphql/types/packages/package_file_type.rb - - app/graphql/types/packages/package_tag_type.rb - - app/graphql/types/packages/package_type.rb - app/graphql/types/project_statistics_type.rb - - app/graphql/types/project_type.rb - - app/graphql/types/projects/services/jira_project_type.rb - - app/graphql/types/release_asset_link_type.rb - - app/graphql/types/release_links_type.rb - app/graphql/types/release_type.rb - - app/graphql/types/repository_type.rb - app/graphql/types/root_storage_statistics_type.rb - - app/graphql/types/task_completion_status.rb - - app/graphql/types/tree/blob_type.rb - - ee/app/graphql/types/epic_type.rb - - ee/app/graphql/types/geo/geo_node_type.rb - - ee/app/graphql/types/requirements_management/requirement_states_count_type.rb - - ee/app/graphql/types/scan_execution_policy_type.rb - ee/app/graphql/types/scan_type.rb - - ee/app/graphql/types/scanned_resource_type.rb - - ee/app/graphql/types/security_report_summary_section_type.rb - ee/app/graphql/types/timebox_report_type.rb diff --git a/.rubocop_todo/graphql/resolver_method_length.yml b/.rubocop_todo/graphql/resolver_method_length.yml index 6fd8d41c54..e2183bb089 100644 --- a/.rubocop_todo/graphql/resolver_method_length.yml +++ b/.rubocop_todo/graphql/resolver_method_length.yml @@ -3,5 +3,4 @@ GraphQL/ResolverMethodLength: Exclude: - app/graphql/types/ci/detailed_status_type.rb - app/graphql/types/ci/runner_type.rb - - app/graphql/types/ci/stage_type.rb - - app/graphql/types/packages/package_type.rb + - app/graphql/types/ci/stage_type.rb \ No newline at end of file diff --git a/.rubocop_todo/layout/argument_alignment.yml b/.rubocop_todo/layout/argument_alignment.yml index 7ac7915b32..e889a05ad3 100644 --- a/.rubocop_todo/layout/argument_alignment.yml +++ b/.rubocop_todo/layout/argument_alignment.yml @@ -293,7 +293,6 @@ Layout/ArgumentAlignment: - 'ee/app/controllers/subscriptions_controller.rb' - 'ee/app/finders/geo/registry_finder.rb' - 'ee/app/graphql/ee/mutations/boards/issues/issue_move_list.rb' - - 'ee/app/graphql/ee/mutations/ci/ci_cd_settings_update.rb' - 'ee/app/graphql/ee/types/ci/pipeline_type.rb' - 'ee/app/graphql/ee/types/deprecated_mutations.rb' - 'ee/app/graphql/mutations/app_sec/fuzzing/api/ci_configuration/create.rb' @@ -395,7 +394,6 @@ Layout/ArgumentAlignment: - 'ee/spec/features/uncompleted_learn_gitlab_link_spec.rb' - 'ee/spec/finders/security/pipeline_vulnerabilities_finder_spec.rb' - 'ee/spec/frontend/fixtures/search.rb' - - 'ee/spec/graphql/mutations/incident_management/timeline_event/create_spec.rb' - 'ee/spec/graphql/mutations/requirements_management/export_requirements_spec.rb' - 'ee/spec/helpers/billing_plans_helper_spec.rb' - 'ee/spec/helpers/ee/users/callouts_helper_spec.rb' @@ -780,7 +778,6 @@ Layout/ArgumentAlignment: - 'spec/lib/gitlab/usage/metrics/query_spec.rb' - 'spec/lib/gitlab/usage_data_counters/designs_counter_spec.rb' - 'spec/lib/gitlab/usage_data_counters/snippet_counter_spec.rb' - - 'spec/lib/gitlab/usage_data_counters/static_site_editor_counter_spec.rb' - 'spec/lib/gitlab/usage_data_counters/wiki_page_counter_spec.rb' - 'spec/lib/gitlab/usage_data_queries_spec.rb' - 'spec/lib/mattermost/session_spec.rb' diff --git a/.rubocop_todo/layout/hash_alignment.yml b/.rubocop_todo/layout/hash_alignment.yml index 32c4ddbced..2125c03243 100644 --- a/.rubocop_todo/layout/hash_alignment.yml +++ b/.rubocop_todo/layout/hash_alignment.yml @@ -483,7 +483,6 @@ Layout/HashAlignment: - 'lib/backup/gitaly_backup.rb' - 'lib/banzai/filter/references/abstract_reference_filter.rb' - 'lib/banzai/reference_redactor.rb' - - 'lib/bulk_imports/projects/pipelines/project_attributes_pipeline.rb' - 'lib/gitlab/abuse.rb' - 'lib/gitlab/access.rb' - 'lib/gitlab/application_rate_limiter.rb' diff --git a/.rubocop_todo/layout/line_length.yml b/.rubocop_todo/layout/line_length.yml index 6eebd8b104..6315f5dd28 100644 --- a/.rubocop_todo/layout/line_length.yml +++ b/.rubocop_todo/layout/line_length.yml @@ -102,7 +102,6 @@ Layout/LineLength: - 'app/controllers/projects/pipelines_controller.rb' - 'app/controllers/projects/prometheus/metrics_controller.rb' - 'app/controllers/projects/raw_controller.rb' - - 'app/controllers/projects/services_controller.rb' - 'app/controllers/projects/settings/ci_cd_controller.rb' - 'app/controllers/projects/settings/operations_controller.rb' - 'app/controllers/projects/settings/repository_controller.rb' @@ -384,7 +383,6 @@ Layout/LineLength: - 'app/models/concerns/redis_cacheable.rb' - 'app/models/concerns/restricted_signup.rb' - 'app/models/concerns/routable.rb' - - 'app/models/concerns/sha256_attribute.rb' - 'app/models/concerns/shardable.rb' - 'app/models/concerns/sortable.rb' - 'app/models/concerns/storage/legacy_namespace.rb' @@ -433,7 +431,6 @@ Layout/LineLength: - 'app/models/integrations/flowdock.rb' - 'app/models/integrations/hangouts_chat.rb' - 'app/models/integrations/harbor.rb' - - 'app/models/integrations/irker.rb' - 'app/models/integrations/jenkins.rb' - 'app/models/integrations/jira.rb' - 'app/models/integrations/mattermost.rb' @@ -531,7 +528,6 @@ Layout/LineLength: - 'app/serializers/base_discussion_entity.rb' - 'app/serializers/build_details_entity.rb' - 'app/serializers/ci/pipeline_entity.rb' - - 'app/serializers/deploy_key_entity.rb' - 'app/serializers/deployment_cluster_entity.rb' - 'app/serializers/deployment_entity.rb' - 'app/serializers/diff_file_base_entity.rb' @@ -591,7 +587,6 @@ Layout/LineLength: - 'app/services/compare_service.rb' - 'app/services/concerns/base_service_utility.rb' - 'app/services/concerns/exclusive_lease_guard.rb' - - 'app/services/concerns/members/bulk_create_users.rb' - 'app/services/concerns/merge_requests/assigns_merge_params.rb' - 'app/services/concerns/rate_limited_service.rb' - 'app/services/concerns/schedule_bulk_repository_shard_moves_methods.rb' @@ -652,7 +647,6 @@ Layout/LineLength: - 'app/services/members/approve_access_request_service.rb' - 'app/services/members/destroy_service.rb' - 'app/services/members/invitation_reminder_email_service.rb' - - 'app/services/members/mailgun/process_webhook_service.rb' - 'app/services/members/update_service.rb' - 'app/services/merge_requests/add_context_service.rb' - 'app/services/merge_requests/assign_issues_service.rb' @@ -770,7 +764,6 @@ Layout/LineLength: - 'app/views/projects/merge_requests/index.atom.builder' - 'app/workers/analytics/usage_trends/counter_job_worker.rb' - 'app/workers/background_migration/single_database_worker.rb' - - 'app/workers/clusters/applications/deactivate_service_worker.rb' - 'app/workers/concerns/application_worker.rb' - 'app/workers/concerns/each_shard_worker.rb' - 'app/workers/concerns/limited_capacity/worker.rb' @@ -799,7 +792,6 @@ Layout/LineLength: - '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/quality/test_data_cleanup_worker.rb' - 'app/workers/repository_fork_worker.rb' - 'app/workers/repository_import_worker.rb' - 'app/workers/ssh_keys/expired_notification_worker.rb' @@ -835,7 +827,6 @@ Layout/LineLength: - 'config/initializers/wikicloth_redos_patch.rb' - 'config/initializers/zz_metrics.rb' - 'config/object_store_settings.rb' - - 'config/puma.rb' - 'config/routes.rb' - 'config/routes/admin.rb' - 'config/routes/api.rb' @@ -1001,7 +992,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/optional_migrations/composite_primary_keys.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' @@ -1181,7 +1171,6 @@ Layout/LineLength: - 'ee/app/controllers/projects/requirements_management/requirements_controller.rb' - 'ee/app/controllers/projects/security/policies_controller.rb' - 'ee/app/controllers/projects/security/vulnerabilities/notes_controller.rb' - - 'ee/app/controllers/projects/threat_monitoring_controller.rb' - 'ee/app/controllers/registrations/groups_controller.rb' - 'ee/app/controllers/registrations/groups_projects_controller.rb' - 'ee/app/controllers/subscriptions_controller.rb' @@ -1329,7 +1318,6 @@ Layout/LineLength: - 'ee/app/helpers/projects/security/dast_configuration_helper.rb' - 'ee/app/helpers/projects/security/dast_profiles_helper.rb' - 'ee/app/helpers/projects/security/discover_helper.rb' - - 'ee/app/helpers/projects/security/policies_helper.rb' - 'ee/app/helpers/push_rules_helper.rb' - 'ee/app/helpers/seats_count_alert_helper.rb' - 'ee/app/helpers/security_helper.rb' @@ -1529,7 +1517,6 @@ Layout/LineLength: - 'ee/app/services/ee/users/update_service.rb' - 'ee/app/services/elastic/cluster_reindexing_service.rb' - 'ee/app/services/elastic/indexing_control_service.rb' - - 'ee/app/services/epic_links/create_service.rb' - 'ee/app/services/epic_links/list_service.rb' - 'ee/app/services/epics/issue_promote_service.rb' - 'ee/app/services/epics/update_service.rb' @@ -1823,7 +1810,6 @@ Layout/LineLength: - 'ee/lib/gitlab/geo/jwt_request_decoder.rb' - 'ee/lib/gitlab/geo/log_cursor/events/repository_created_event.rb' - 'ee/lib/gitlab/geo/registry_batcher.rb' - - 'ee/lib/gitlab/geo/replication/base_downloader.rb' - 'ee/lib/gitlab/geo/replication/base_transfer.rb' - 'ee/lib/gitlab/geo/replication/blob_downloader.rb' - 'ee/lib/gitlab/geo/replicator.rb' @@ -3100,7 +3086,6 @@ Layout/LineLength: - '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/_user_over_limit_free_plan_alert.html.haml_spec.rb' - 'ee/spec/views/shared/access_tokens/_table.html.haml_spec.rb' - 'ee/spec/views/shared/billings/_eoa_bronze_plan_banner.html.haml_spec.rb' - 'ee/spec/views/shared/billings/_trial_status.html.haml_spec.rb' @@ -3315,7 +3300,6 @@ Layout/LineLength: - 'lib/bulk_imports/common/pipelines/wiki_pipeline.rb' - 'lib/bulk_imports/common/transformers/prohibited_attributes_transformer.rb' - 'lib/bulk_imports/groups/loaders/group_loader.rb' - - 'lib/bulk_imports/projects/pipelines/project_attributes_pipeline.rb' - 'lib/bulk_imports/projects/pipelines/project_pipeline.rb' - 'lib/bulk_imports/projects/pipelines/repository_pipeline.rb' - 'lib/bulk_imports/projects/transformers/project_attributes_transformer.rb' @@ -3466,11 +3450,9 @@ Layout/LineLength: - 'lib/gitlab/database/migrations/runner.rb' - 'lib/gitlab/database/migrations/test_background_runner.rb' - 'lib/gitlab/database/partitioning/detached_partition_dropper.rb' - - 'lib/gitlab/database/partitioning/partition_manager.rb' - 'lib/gitlab/database/partitioning/partition_monitoring.rb' - 'lib/gitlab/database/partitioning/replace_table.rb' - 'lib/gitlab/database/partitioning/single_numeric_list_partition.rb' - - 'lib/gitlab/database/partitioning/sliding_list_strategy.rb' - 'lib/gitlab/database/partitioning/time_partition.rb' - 'lib/gitlab/database/partitioning_migration_helpers/backfill_partitioned_table.rb' - 'lib/gitlab/database/partitioning_migration_helpers/table_management_helpers.rb' @@ -3683,7 +3665,6 @@ Layout/LineLength: - 'lib/gitlab/slash_commands/issue_new.rb' - 'lib/gitlab/sql/pattern.rb' - 'lib/gitlab/ssh_public_key.rb' - - 'lib/gitlab/static_site_editor/config/generated_config.rb' - 'lib/gitlab/subscription_portal.rb' - 'lib/gitlab/tracking.rb' - 'lib/gitlab/tracking/destinations/snowplow.rb' @@ -4206,7 +4187,6 @@ Layout/LineLength: - 'spec/controllers/projects/serverless/functions_controller_spec.rb' - 'spec/controllers/projects/service_desk_controller_spec.rb' - 'spec/controllers/projects/service_ping_controller_spec.rb' - - 'spec/controllers/projects/services_controller_spec.rb' - 'spec/controllers/projects/settings/ci_cd_controller_spec.rb' - 'spec/controllers/projects/settings/operations_controller_spec.rb' - 'spec/controllers/projects/settings/repository_controller_spec.rb' @@ -4246,7 +4226,6 @@ Layout/LineLength: - 'spec/factories/project_members.rb' - 'spec/factories/projects.rb' - 'spec/factories/usage_data.rb' - - 'spec/factories_spec.rb' - 'spec/features/action_cable_logging_spec.rb' - 'spec/features/admin/admin_abuse_reports_spec.rb' - 'spec/features/admin/admin_mode/login_spec.rb' @@ -4790,12 +4769,10 @@ Layout/LineLength: - 'spec/lib/bulk_imports/groups/loaders/group_loader_spec.rb' - 'spec/lib/bulk_imports/groups/pipelines/group_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/ndjson_pipeline_spec.rb' - 'spec/lib/bulk_imports/pipeline_spec.rb' - 'spec/lib/bulk_imports/projects/pipelines/external_pull_requests_pipeline_spec.rb' - 'spec/lib/bulk_imports/projects/pipelines/issues_pipeline_spec.rb' - - 'spec/lib/bulk_imports/projects/pipelines/project_attributes_pipeline_spec.rb' - 'spec/lib/bulk_imports/projects/pipelines/project_feature_pipeline_spec.rb' - 'spec/lib/bulk_imports/projects/pipelines/project_pipeline_spec.rb' - 'spec/lib/bulk_imports/projects/pipelines/protected_branches_pipeline_spec.rb' @@ -4998,7 +4975,6 @@ Layout/LineLength: - 'spec/lib/gitlab/database/partitioning/monthly_strategy_spec.rb' - 'spec/lib/gitlab/database/partitioning/partition_manager_spec.rb' - 'spec/lib/gitlab/database/partitioning/partition_monitoring_spec.rb' - - 'spec/lib/gitlab/database/partitioning/sliding_list_strategy_spec.rb' - 'spec/lib/gitlab/database/partitioning_migration_helpers/index_helpers_spec.rb' - 'spec/lib/gitlab/database/partitioning_migration_helpers/table_management_helpers_spec.rb' - 'spec/lib/gitlab/database/postgres_foreign_key_spec.rb' @@ -5902,7 +5878,6 @@ Layout/LineLength: - 'spec/serializers/paginated_diff_entity_spec.rb' - 'spec/serializers/pipeline_serializer_spec.rb' - 'spec/serializers/review_app_setup_entity_spec.rb' - - 'spec/serializers/service_field_entity_spec.rb' - 'spec/services/alert_management/alerts/update_service_spec.rb' - 'spec/services/alert_management/create_alert_issue_service_spec.rb' - 'spec/services/alert_management/http_integrations/create_service_spec.rb' @@ -6223,7 +6198,6 @@ Layout/LineLength: - 'spec/support/helpers/global_id_deprecation_helpers.rb' - 'spec/support/helpers/graphql_helpers.rb' - 'spec/support/helpers/javascript_fixtures_helpers.rb' - - 'spec/support/helpers/jira_service_helper.rb' - 'spec/support/helpers/kubernetes_helpers.rb' - 'spec/support/helpers/lets_encrypt_helpers.rb' - 'spec/support/helpers/live_debugger.rb' @@ -6511,8 +6485,6 @@ Layout/LineLength: - 'spec/workers/ci/ref_delete_unlock_artifacts_worker_spec.rb' - 'spec/workers/ci/resource_groups/assign_resource_from_resource_group_worker_spec.rb' - 'spec/workers/cluster_wait_for_app_update_worker_spec.rb' - - 'spec/workers/clusters/applications/activate_service_worker_spec.rb' - - 'spec/workers/clusters/applications/deactivate_service_worker_spec.rb' - 'spec/workers/clusters/integrations/check_prometheus_health_worker_spec.rb' - 'spec/workers/concerns/application_worker_spec.rb' - 'spec/workers/concerns/project_import_options_spec.rb' diff --git a/.rubocop_todo/layout/space_in_lambda_literal.yml b/.rubocop_todo/layout/space_in_lambda_literal.yml index 2377553ccd..e633f51209 100644 --- a/.rubocop_todo/layout/space_in_lambda_literal.yml +++ b/.rubocop_todo/layout/space_in_lambda_literal.yml @@ -168,7 +168,6 @@ Layout/SpaceInLambdaLiteral: - 'app/serializers/review_app_setup_entity.rb' - 'app/serializers/rollout_status_entity.rb' - 'app/serializers/runner_entity.rb' - - 'app/serializers/service_event_entity.rb' - 'app/serializers/stage_entity.rb' - 'app/serializers/test_case_entity.rb' - 'app/serializers/test_suite_entity.rb' diff --git a/.rubocop_todo/layout/space_inside_block_braces.yml b/.rubocop_todo/layout/space_inside_block_braces.yml index b383014769..961b27f26e 100644 --- a/.rubocop_todo/layout/space_inside_block_braces.yml +++ b/.rubocop_todo/layout/space_inside_block_braces.yml @@ -407,7 +407,6 @@ Layout/SpaceInsideBlockBraces: - 'spec/initializers/trusted_proxies_spec.rb' - 'spec/lib/api/entities/ci/job_request/image_spec.rb' - 'spec/lib/api/entities/ci/job_request/port_spec.rb' - - 'spec/lib/api/helpers/sse_helpers_spec.rb' - 'spec/lib/api/helpers_spec.rb' - 'spec/lib/banzai/cross_project_reference_spec.rb' - 'spec/lib/banzai/filter/broadcast_message_placeholders_filter_spec.rb' diff --git a/.rubocop_todo/lint/missing_cop_enable_directive.yml b/.rubocop_todo/lint/missing_cop_enable_directive.yml index 589f98c9e0..4c1c843020 100644 --- a/.rubocop_todo/lint/missing_cop_enable_directive.yml +++ b/.rubocop_todo/lint/missing_cop_enable_directive.yml @@ -156,7 +156,6 @@ Lint/MissingCopEnableDirective: - 'lib/gitlab/background_migration/migrate_approver_to_approval_rules_check_progress.rb' - 'lib/gitlab/background_migration/migrate_approver_to_approval_rules_in_batch.rb' - 'lib/gitlab/background_migration/migrate_job_artifact_registry_to_ssf.rb' - - 'lib/gitlab/background_migration/migrate_stage_status.rb' - 'lib/gitlab/background_migration/migrate_u2f_webauthn.rb' - 'lib/gitlab/background_migration/populate_latest_pipeline_ids.rb' - 'lib/gitlab/background_migration/populate_resolved_on_default_branch_column.rb' @@ -182,7 +181,6 @@ Lint/MissingCopEnableDirective: - 'lib/gitlab/patch/action_cable_redis_listener.rb' - 'lib/gitlab/patch/prependable.rb' - 'lib/gitlab/project_search_results.rb' - - 'lib/gitlab/task_helpers.rb' - 'lib/gitlab/testing/request_blocker_middleware.rb' - 'lib/gitlab/testing/request_inspector_middleware.rb' - 'lib/gitlab/testing/robots_blocker_middleware.rb' @@ -192,4 +190,4 @@ Lint/MissingCopEnableDirective: - 'spec/support/capybara.rb' - 'spec/support/cycle_analytics_helpers/test_generation.rb' - 'spec/support/google_api/cloud_platform_helpers.rb' - - 'tooling/danger/product_intelligence.rb' + - 'tooling/danger/product_intelligence.rb' \ No newline at end of file diff --git a/.rubocop_todo/lint/mixed_regexp_capture_types.yml b/.rubocop_todo/lint/mixed_regexp_capture_types.yml index f9872fdbd7..3dcb9427ef 100644 --- a/.rubocop_todo/lint/mixed_regexp_capture_types.yml +++ b/.rubocop_todo/lint/mixed_regexp_capture_types.yml @@ -10,7 +10,6 @@ Lint/MixedRegexpCaptureTypes: - 'lib/gitlab/diff/suggestions_parser.rb' - 'lib/gitlab/github_import/representation/note.rb' - 'lib/gitlab/metrics/system.rb' - - 'lib/gitlab/request_profiler/profile.rb' - 'lib/gitlab/slash_commands/issue_move.rb' - 'lib/gitlab/slash_commands/issue_new.rb' - - 'lib/gitlab/slash_commands/run.rb' + - 'lib/gitlab/slash_commands/run.rb' \ No newline at end of file diff --git a/.rubocop_todo/lint/redundant_cop_disable_directive.yml b/.rubocop_todo/lint/redundant_cop_disable_directive.yml index 83901a6843..d058e23109 100644 --- a/.rubocop_todo/lint/redundant_cop_disable_directive.yml +++ b/.rubocop_todo/lint/redundant_cop_disable_directive.yml @@ -6,22 +6,6 @@ Lint/RedundantCopDisableDirective: # REVEAL_RUBOCOP_TODO environment variable. Enabled: false Exclude: - - 'app/controllers/admin/dashboard_controller.rb' - - 'app/controllers/concerns/enforces_two_factor_authentication.rb' - - 'app/controllers/concerns/integrations/actions.rb' - - 'app/controllers/concerns/issues_calendar.rb' - - 'app/controllers/concerns/snippets_actions.rb' - - 'app/controllers/concerns/wiki_actions.rb' - - 'app/controllers/groups/autocomplete_sources_controller.rb' - - 'app/controllers/groups/labels_controller.rb' - - 'app/controllers/import/fogbugz_controller.rb' - - 'app/controllers/import/github_controller.rb' - - 'app/controllers/projects/issues_controller.rb' - - 'app/controllers/projects/jobs_controller.rb' - - 'app/controllers/projects/pipeline_schedules_controller.rb' - - 'app/controllers/projects/pipelines/tests_controller.rb' - - 'app/controllers/search_controller.rb' - - 'app/controllers/sessions_controller.rb' - 'app/finders/autocomplete/acts_as_taggable_on/tags_finder.rb' - 'app/finders/autocomplete/move_to_project_finder.rb' - 'app/finders/autocomplete/routes_finder.rb' diff --git a/.rubocop_todo/migration/background_migrations.yml b/.rubocop_todo/migration/background_migrations.yml new file mode 100644 index 0000000000..17548ef6b8 --- /dev/null +++ b/.rubocop_todo/migration/background_migrations.yml @@ -0,0 +1,83 @@ +--- +Migration/BackgroundMigrations: + Exclude: + - 'ee/db/geo/post_migrate/20220202101354_migrate_job_artifact_registry.rb' + - 'db/post_migrate/20220506124021_schedule_populate_requirements_issue_id.rb' + - 'db/post_migrate/20220502173045_reset_too_many_tags_skipped_registry_imports.rb' + - 'db/post_migrate/20220425121435_backfill_integrations_enable_ssl_verification.rb' + - 'db/post_migrate/20220420214703_schedule_backfill_draft_status_on_merge_requests_corrected_regex.rb' + - 'db/post_migrate/20220420061450_backfill_null_note_discussion_ids.rb' + - 'db/post_migrate/20220407163559_schedule_purging_stale_security_scans.rb' + - 'db/post_migrate/20220331133802_schedule_backfill_topics_title.rb' + - 'db/post_migrate/20220328100457_schedule20220328_reset_duplicate_ci_runners_token_values_on_projects.rb' + - 'db/post_migrate/20220328100456_schedule20220328_reset_duplicate_ci_runners_token_encrypted_values_on_projects.rb' + - 'db/post_migrate/20220324081709_fix_and_backfill_project_namespaces_for_projects_with_duplicate_name.rb' + - 'db/post_migrate/20220324032250_migrate_shimo_confluence_service_category.rb' + - 'db/post_migrate/20220316202640_populate_container_repositories_migration_plan.rb' + - 'db/post_migrate/20220315171129_cleanup_draft_data_from_faulty_regex.rb' + - 'db/migrate/20210519154058_schedule_update_users_where_two_factor_auth_required_from_group.rb' + - 'db/post_migrate/20210302150310_schedule_migrate_pages_to_zip_storage.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/20210421163509_schedule_update_jira_tracker_data_deployment_type_based_on_url.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/20210611080951_fix_missing_traversal_ids.rb' + - 'db/post_migrate/20210701111909_backfill_issues_upvotes_count.rb' + - 'db/post_migrate/20210722010101_reschedule_delete_orphaned_deployments.rb' + - 'db/post_migrate/20210729163312_re_schedule_latest_pipeline_id_population_with_all_security_related_artifact_types.rb' + - 'db/post_migrate/20210730104800_schedule_extract_project_topics_into_separate_table.rb' + - 'db/post_migrate/20210730170823_schedule_security_setting_creation.rb' + - 'db/post_migrate/20210816183304_schedule_copy_ci_builds_columns_to_security_scans2.rb' + - 'db/post_migrate/20210818185845_backfill_projects_with_coverage.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/20211005194425_schedule_requirements_migration.rb' + - 'db/post_migrate/20211006060436_schedule_populate_topics_total_projects_count_cache.rb' + - 'db/post_migrate/20211007155221_schedule_populate_status_column_of_security_scans.rb' + - 'db/post_migrate/20211018152654_schedule_remove_duplicate_vulnerabilities_findings3.rb' + - 'db/post_migrate/20211102114802_update_vulnerability_occurrences_location.rb' + - 'db/post_migrate/20211110151350_schedule_drop_invalid_security_findings.rb' + - 'db/post_migrate/20211116111644_schedule_remove_occurrence_pipelines_and_duplicate_vulnerabilities_findings.rb' + - 'db/post_migrate/20211118194239_drop_invalid_remediations.rb' + - 'db/post_migrate/20211208122200_schedule_backfill_ci_namespace_mirrors.rb' + - 'db/post_migrate/20211208122201_schedule_backfill_ci_project_mirrors.rb' + - 'db/post_migrate/20211209203821_convert_stringified_raw_metadata_hash_to_json.rb' + - 'db/post_migrate/20211210140629_encrypt_static_object_token.rb' + - 'db/post_migrate/20211215090620_schedule_update_timelogs_null_spent_at.rb' + - 'db/post_migrate/20220107064845_populate_vulnerability_reads.rb' + - 'db/post_migrate/20220110171049_schedule_populate_test_reports_issue_id.rb' + - 'db/post_migrate/20220125122640_schedule_populate_topics_non_private_projects_count.rb' + - 'db/post_migrate/20220131000001_schedule_trace_expiry_removal.rb' + - 'db/post_migrate/20220204194347_encrypt_integration_properties.rb' + - 'db/post_migrate/20220208115439_start_backfill_ci_queuing_tables.rb' + - 'db/post_migrate/20220215190020_rerun_convert_stringified_raw_metadata_hash_to_json.rb' + - 'db/post_migrate/20220308115219_schedule_reset_duplicate_ci_runners_token_encrypted_values_on_projects.rb' + - 'db/post_migrate/20220308115502_schedule_reset_duplicate_ci_runners_token_values_on_projects.rb' + - 'db/post_migrate/20211207135331_schedule_recalculate_uuid_on_vulnerabilities_occurrences4.rb' + - 'db/post_migrate/20210604070207_retry_backfill_traversal_ids.rb' + - 'db/post_migrate/20210708130419_reschedule_merge_request_diff_users_background_migration.rb' + - 'db/post_migrate/20210823113259_steal_merge_request_diff_commit_users_migration.rb' + - 'db/post_migrate/20210825193652_backfill_cadence_id_for_boards_scoped_to_iteration.rb' + - 'db/post_migrate/20210830104800_reschedule_extract_project_topics_into_separate_table.rb' + - '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/20211005010101_rereschedule_delete_orphaned_deployments.rb' + - 'db/post_migrate/20211028155449_schedule_fix_merge_request_diff_commit_users_migration.rb' + - 'db/post_migrate/20211208171402_reschedule_recalculate_vulnerability_finding_signatures_for_findings.rb' + - 'db/post_migrate/20220113111440_schedule_fix_incorrect_max_seats_used.rb' + - 'db/post_migrate/20220118204039_self_managed_reschedule_recalculate_vulnerability_finding_signatures_for_findings.rb' + - 'db/post_migrate/20220204095121_backfill_namespace_statistics_with_dependency_proxy_size.rb' + - 'db/post_migrate/20220212120735_schedule_fix_incorrect_max_seats_used2.rb' + - 'db/post_migrate/20220223124428_schedule_merge_topics_with_same_name.rb' + - 'db/post_migrate/20210302074524_backfill_namespace_statistics_with_wiki_size.rb' + - 'lib/gitlab/database/migrations/background_migration_helpers.rb' + - 'lib/gitlab/database/partitioning_migration_helpers/table_management_helpers.rb' + - 'spec/lib/gitlab/database/migration_helpers/restrict_gitlab_schema_spec.rb' + - 'spec/lib/gitlab/database/migrations/background_migration_helpers_spec.rb' + - 'spec/lib/gitlab/database/migrations/test_background_runner_spec.rb' diff --git a/.rubocop_todo/naming/heredoc_delimiter_naming.yml b/.rubocop_todo/naming/heredoc_delimiter_naming.yml index 86d9ae2f24..c1d058240a 100644 --- a/.rubocop_todo/naming/heredoc_delimiter_naming.yml +++ b/.rubocop_todo/naming/heredoc_delimiter_naming.yml @@ -105,7 +105,6 @@ Naming/HeredocDelimiterNaming: - 'spec/lib/gitlab/patch/database_config_spec.rb' - 'spec/lib/gitlab/prometheus/additional_metrics_parser_spec.rb' - 'spec/lib/gitlab/quick_actions/substitution_definition_spec.rb' - - 'spec/lib/gitlab/static_site_editor/config/file_config_spec.rb' - 'spec/lib/gitlab/web_ide/config_spec.rb' - 'spec/lib/gitlab/webpack/file_loader_spec.rb' - 'spec/lib/gitlab/webpack/graphql_known_operations_spec.rb' diff --git a/.rubocop_todo/naming/rescued_exceptions_variable_name.yml b/.rubocop_todo/naming/rescued_exceptions_variable_name.yml index 8d4d2da29a..0e753a53dc 100644 --- a/.rubocop_todo/naming/rescued_exceptions_variable_name.yml +++ b/.rubocop_todo/naming/rescued_exceptions_variable_name.yml @@ -86,7 +86,6 @@ Naming/RescuedExceptionsVariableName: - 'app/workers/namespaces/schedule_aggregation_worker.rb' - 'app/workers/packages/go/sync_packages_worker.rb' - 'app/workers/project_destroy_worker.rb' - - 'app/workers/project_service_worker.rb' - 'app/workers/projects/git_garbage_collect_worker.rb' - 'app/workers/remove_expired_members_worker.rb' - 'app/workers/users/create_statistics_worker.rb' diff --git a/.rubocop_todo/performance/active_record_subtransaction_methods.yml b/.rubocop_todo/performance/active_record_subtransaction_methods.yml index ada27f99eb..2644f08c4d 100644 --- a/.rubocop_todo/performance/active_record_subtransaction_methods.yml +++ b/.rubocop_todo/performance/active_record_subtransaction_methods.yml @@ -1,62 +1,50 @@ --- Performance/ActiveRecordSubtransactionMethods: Exclude: - - app/controllers/clusters/clusters_controller.rb - - app/controllers/repositories/lfs_storage_controller.rb - - app/controllers/search_controller.rb - - app/models/application_record.rb - - app/models/ci/ref.rb - - app/models/container_repository.rb - - app/models/design_management/design_collection.rb - - app/models/error_tracking/error.rb - - app/models/external_pull_request.rb - - app/models/merge_request.rb - - app/models/plan.rb - - app/models/project.rb - - app/models/shard.rb - - app/models/x509_certificate.rb - - app/models/x509_commit_signature.rb - - app/models/x509_issuer.rb - - app/models/concerns/commit_signature.rb - - app/services/bulk_imports/relation_export_service.rb - - app/services/ci/update_build_state_service.rb - - app/services/event_create_service.rb - - app/services/groups/import_export/import_service.rb - - app/services/lfs/file_transformer.rb - - app/services/merge_requests/approval_service.rb - - app/services/namespaces/statistics_refresher_service.rb - - app/services/packages/rubygems/create_dependencies_service.rb - - app/services/packages/rubygems/metadata_extraction_service.rb - - app/services/projects/create_service.rb - - app/services/projects/lfs_pointers/lfs_download_service.rb - - app/services/service_desk_settings/update_service.rb - - app/services/service_ping/submit_service.rb - - app/services/terraform/remote_state_handler.rb - - app/workers/namespaces/schedule_aggregation_worker.rb - - app/workers/project_export_worker.rb - - db/migrate/20200212014653_rename_security_dashboard_feature_flag_to_instance_security_dashboard.rb - - db/post_migrate/20200214034836_remove_security_dashboard_feature_flag.rb - - db/post_migrate/20210824174615_prepare_ci_builds_metadata_and_ci_build_async_indexes.rb - - ee/app/models/ci/minutes/namespace_monthly_usage.rb - - ee/app/models/ci/minutes/project_monthly_usage.rb - - ee/app/models/concerns/deprecated_approvals_before_merge.rb - - ee/app/models/ee/iteration.rb - - ee/app/models/ee/plan.rb - - ee/app/models/elastic/index_setting.rb - - ee/app/models/gitlab_subscription.rb - - ee/app/models/software_license.rb - - ee/app/services/boards/user_preferences/update_service.rb - - ee/app/services/ci/minutes/update_project_and_namespace_usage_service.rb - - ee/app/services/ee/analytics/cycle_analytics/stages/base_service.rb - - ee/app/services/security/store_report_service.rb - - ee/app/services/security/store_scan_service.rb - - ee/app/workers/import_software_licenses_worker.rb - - ee/db/fixtures/production/027_plans.rb - - ee/lib/ee/gitlab/background_migration/migrate_approver_to_approval_rules.rb - - ee/lib/gitlab/elastic/indexer.rb - - lib/gitlab/ci/pipeline/seed/environment.rb - - lib/gitlab/ci/pipeline/seed/processable/resource_group.rb - - lib/gitlab/ci/trace/chunked_io.rb - - lib/gitlab/composer/cache.rb - - lib/gitlab/database/async_indexes/migration_helpers.rb - - lib/gitlab/issuables_count_for_state.rb + - 'app/controllers/repositories/lfs_storage_controller.rb' + - 'app/controllers/search_controller.rb' + - 'app/models/application_record.rb' + - 'app/models/ci/ref.rb' + - 'app/models/concerns/commit_signature.rb' + - 'app/models/container_repository.rb' + - 'app/models/design_management/design_collection.rb' + - 'app/models/error_tracking/error.rb' + - 'app/models/external_pull_request.rb' + - 'app/models/plan.rb' + - 'app/models/project.rb' + - 'app/models/shard.rb' + - 'app/models/x509_certificate.rb' + - 'app/models/x509_issuer.rb' + - 'app/services/bulk_imports/relation_export_service.rb' + - 'app/services/ci/update_build_state_service.rb' + - 'app/services/event_create_service.rb' + - 'app/services/groups/import_export/import_service.rb' + - 'app/services/lfs/file_transformer.rb' + - 'app/services/merge_requests/approval_service.rb' + - 'app/services/namespaces/statistics_refresher_service.rb' + - 'app/services/packages/rubygems/create_dependencies_service.rb' + - 'app/services/projects/create_service.rb' + - 'app/services/projects/lfs_pointers/lfs_download_service.rb' + - 'app/services/service_desk_settings/update_service.rb' + - 'app/services/terraform/remote_state_handler.rb' + - 'app/workers/namespaces/schedule_aggregation_worker.rb' + - 'app/workers/project_export_worker.rb' + - 'ee/app/models/ci/minutes/project_monthly_usage.rb' + - 'ee/app/models/concerns/deprecated_approvals_before_merge.rb' + - 'ee/app/models/ee/plan.rb' + - 'ee/app/models/elastic/index_setting.rb' + - 'ee/app/models/gitlab_subscription.rb' + - 'ee/app/models/software_license.rb' + - 'ee/app/services/boards/user_preferences/update_service.rb' + - 'ee/app/services/ci/minutes/update_project_and_namespace_usage_service.rb' + - 'ee/app/services/ee/analytics/cycle_analytics/stages/base_service.rb' + - 'ee/app/services/security/store_scan_service.rb' + - 'ee/app/workers/import_software_licenses_worker.rb' + - 'ee/db/fixtures/production/027_plans.rb' + - 'ee/lib/ee/gitlab/background_migration/migrate_approver_to_approval_rules.rb' + - 'ee/lib/gitlab/elastic/indexer.rb' + - 'lib/gitlab/ci/pipeline/seed/environment.rb' + - 'lib/gitlab/ci/pipeline/seed/processable/resource_group.rb' + - 'lib/gitlab/ci/trace/chunked_io.rb' + - 'lib/gitlab/composer/cache.rb' + - 'lib/gitlab/issuables_count_for_state.rb' diff --git a/.rubocop_todo/performance/block_given_with_explicit_block.yml b/.rubocop_todo/performance/block_given_with_explicit_block.yml index ae61c5a86e..ff1f5e568e 100644 --- a/.rubocop_todo/performance/block_given_with_explicit_block.yml +++ b/.rubocop_todo/performance/block_given_with_explicit_block.yml @@ -12,7 +12,6 @@ Performance/BlockGivenWithExplicitBlock: - 'app/helpers/tab_helper.rb' - 'app/services/base_count_service.rb' - 'app/services/error_tracking/base_service.rb' - - 'app/services/projects/open_issues_count_service.rb' - 'app/services/users/update_service.rb' - 'ee/lib/elastic/latest/query_context.rb' - 'ee/lib/gitlab/geo.rb' @@ -35,7 +34,6 @@ Performance/BlockGivenWithExplicitBlock: - 'lib/gitlab/usage_data_queries.rb' - 'lib/gitlab/utils/usage_data.rb' - 'qa/qa/page/view.rb' - - 'qa/qa/runtime/browser.rb' - 'spec/lib/api/helpers/authentication_spec.rb' - 'spec/lib/gitlab/slash_commands/deploy_spec.rb' - 'spec/support/helpers/graphql_helpers.rb' diff --git a/.rubocop_todo/performance/constant_regexp.yml b/.rubocop_todo/performance/constant_regexp.yml index fb2b7d6ef4..4ed40db498 100644 --- a/.rubocop_todo/performance/constant_regexp.yml +++ b/.rubocop_todo/performance/constant_regexp.yml @@ -28,5 +28,4 @@ Performance/ConstantRegexp: - 'scripts/perf/query_limiting_report.rb' - 'scripts/validate_migration_schema' - 'spec/models/concerns/token_authenticatable_spec.rb' - - 'spec/scripts/lib/glfm/update_specification_spec.rb' - 'spec/services/notes/copy_service_spec.rb' diff --git a/.rubocop_todo/performance/rubyzip.yml b/.rubocop_todo/performance/rubyzip.yml index a0752fa51c..c49fae8bba 100644 --- a/.rubocop_todo/performance/rubyzip.yml +++ b/.rubocop_todo/performance/rubyzip.yml @@ -1,5 +1,5 @@ --- Performance/Rubyzip: Exclude: - - app/services/packages/nuget/metadata_extraction_service.rb - - lib/gitlab/ci/artifact_file_reader.rb + - 'app/services/packages/nuget/metadata_extraction_service.rb' + - 'lib/gitlab/ci/artifact_file_reader.rb' diff --git a/.rubocop_todo/performance/string_include.yml b/.rubocop_todo/performance/string_include.yml index cb6e566094..f477593c02 100644 --- a/.rubocop_todo/performance/string_include.yml +++ b/.rubocop_todo/performance/string_include.yml @@ -10,6 +10,5 @@ Performance/StringInclude: - 'lib/gitlab/database/migration_helpers.rb' - 'lib/kramdown/parser/atlassian_document_format.rb' - 'lib/prometheus/pid_provider.rb' - - 'qa/qa/specs/runner.rb' - 'spec/features/projects/jobs_spec.rb' - 'spec/spec_helper.rb' diff --git a/.rubocop_todo/rails/file_path.yml b/.rubocop_todo/rails/file_path.yml index 58fa6d6255..1c442dcdec 100644 --- a/.rubocop_todo/rails/file_path.yml +++ b/.rubocop_todo/rails/file_path.yml @@ -31,7 +31,6 @@ Rails/FilePath: - 'ee/db/fixtures/development/32_compliance_report_violations.rb' - 'ee/lib/ee/feature/definition.rb' - 'ee/lib/ee/gitlab/usage/metric_definition.rb' - - 'ee/lib/generators/geo_migration/geo_migration_generator.rb' - 'ee/lib/gitlab/geo/health_check.rb' - 'ee/lib/tasks/gitlab/seed/metrics.rake' - 'ee/spec/db/production/license_spec.rb' @@ -46,7 +45,6 @@ Rails/FilePath: - 'ee/spec/requests/api/experiments_spec.rb' - 'ee/spec/services/ee/merge_requests/refresh_service_spec.rb' - 'ee/spec/support/factory_bot.rb' - - 'ee/spec/uploaders/every_gitlab_uploader_spec.rb' - 'ee/spec/validators/json_schema_validator_spec.rb' - 'lib/api/api.rb' - 'lib/error_tracking/collector/payload_validator.rb' diff --git a/.rubocop_todo/rails/lexically_scoped_action_filter.yml b/.rubocop_todo/rails/lexically_scoped_action_filter.yml index 84b85f76c6..9edc8f7ce5 100644 --- a/.rubocop_todo/rails/lexically_scoped_action_filter.yml +++ b/.rubocop_todo/rails/lexically_scoped_action_filter.yml @@ -36,7 +36,6 @@ Rails/LexicallyScopedActionFilter: - 'app/controllers/projects/project_members_controller.rb' - 'app/controllers/projects/prometheus/alerts_controller.rb' - 'app/controllers/projects/releases_controller.rb' - - 'app/controllers/projects/service_hook_logs_controller.rb' - 'app/controllers/projects/snippets_controller.rb' - 'app/controllers/projects/tags_controller.rb' - 'app/controllers/projects/todos_controller.rb' diff --git a/.rubocop_todo/rails/mailer_name.yml b/.rubocop_todo/rails/mailer_name.yml deleted file mode 100644 index 17e55c178f..0000000000 --- a/.rubocop_todo/rails/mailer_name.yml +++ /dev/null @@ -1,5 +0,0 @@ ---- -# Cop supports --auto-correct. -Rails/MailerName: - Exclude: - - 'app/mailers/notify.rb' diff --git a/.rubocop_todo/rails/pluck.yml b/.rubocop_todo/rails/pluck.yml index 608801085d..860b772d91 100644 --- a/.rubocop_todo/rails/pluck.yml +++ b/.rubocop_todo/rails/pluck.yml @@ -15,13 +15,10 @@ Rails/Pluck: - 'app/services/ci/pipeline_processing/atomic_processing_service/status_collection.rb' - 'app/services/feature_flags/update_service.rb' - 'app/services/pod_logs/base_service.rb' - - 'app/services/prometheus/create_default_alerts_service.rb' - 'ee/app/graphql/mutations/incident_management/oncall_rotation/base.rb' - 'ee/app/models/boards/epic_list.rb' - - 'ee/app/models/vulnerabilities/finding.rb' - 'ee/app/services/concerns/incident_management/oncall_rotations/shared_rotation_logic.rb' - 'ee/app/workers/geo/container_repository_sync_dispatch_worker.rb' - - 'ee/app/workers/geo/file_download_dispatch_worker.rb' - 'ee/app/workers/geo/registry_sync_worker.rb' - 'ee/app/workers/geo/repository_shard_sync_worker.rb' - 'ee/app/workers/geo/repository_verification/secondary/shard_worker.rb' diff --git a/.rubocop_todo/rails/redundant_foreign_key.yml b/.rubocop_todo/rails/redundant_foreign_key.yml index 6b2300ba79..db6e6cedc8 100644 --- a/.rubocop_todo/rails/redundant_foreign_key.yml +++ b/.rubocop_todo/rails/redundant_foreign_key.yml @@ -52,7 +52,6 @@ Rails/RedundantForeignKey: - 'ee/app/models/incident_management/oncall_shift.rb' - 'ee/app/models/incident_management/pending_escalations/alert.rb' - 'ee/app/models/incident_management/pending_escalations/issue.rb' - - 'ee/app/models/incident_management/timeline_event.rb' - 'ee/app/models/issuable_metric_image.rb' - 'ee/app/models/security/orchestration_policy_configuration.rb' - 'ee/app/models/security/orchestration_policy_rule_schedule.rb' diff --git a/.rubocop_todo/rails/skips_model_validations.yml b/.rubocop_todo/rails/skips_model_validations.yml index e6402ef27f..75a0d49862 100644 --- a/.rubocop_todo/rails/skips_model_validations.yml +++ b/.rubocop_todo/rails/skips_model_validations.yml @@ -103,11 +103,9 @@ Rails/SkipsModelValidations: - 'app/services/keys/last_used_service.rb' - 'app/services/labels/promote_service.rb' - 'app/services/labels/transfer_service.rb' - - 'app/services/merge_requests/base_service.rb' - 'app/services/merge_requests/bulk_remove_attention_requested_service.rb' - 'app/services/merge_requests/cleanup_refs_service.rb' - 'app/services/merge_requests/ff_merge_service.rb' - - 'app/services/merge_requests/handle_assignees_change_service.rb' - 'app/services/merge_requests/merge_service.rb' - 'app/services/merge_requests/rebase_service.rb' - 'app/services/merge_requests/reopen_service.rb' @@ -150,7 +148,6 @@ Rails/SkipsModelValidations: - 'app/workers/concerns/dependency_proxy/expireable.rb' - 'app/workers/concerns/packages/cleanup_artifact_worker.rb' - 'app/workers/container_expiration_policy_worker.rb' - - 'app/workers/namespaceless_project_destroy_worker.rb' - 'app/workers/packages/helm/extraction_worker.rb' - 'app/workers/packages/nuget/extraction_worker.rb' - 'app/workers/packages/rubygems/extraction_worker.rb' @@ -223,7 +220,6 @@ Rails/SkipsModelValidations: - 'ee/app/services/ee/users/migrate_to_ghost_user_service.rb' - 'ee/app/services/epics/strategies/due_date_inherited_strategy.rb' - 'ee/app/services/epics/strategies/start_date_inherited_strategy.rb' - - 'ee/app/services/geo/job_artifact_deleted_event_store.rb' - 'ee/app/services/geo/repository_verification_reset.rb' - 'ee/app/services/incident_management/oncall_rotations/edit_service.rb' - 'ee/app/services/incident_management/oncall_rotations/remove_participant_service.rb' @@ -292,9 +288,6 @@ Rails/SkipsModelValidations: - 'ee/spec/lib/gitlab/custom_file_templates_spec.rb' - 'ee/spec/lib/gitlab/geo/geo_tasks_spec.rb' - 'ee/spec/lib/gitlab/geo/jwt_request_decoder_spec.rb' - - 'ee/spec/lib/gitlab/geo/replication/file_downloader_spec.rb' - - 'ee/spec/lib/gitlab/geo/replication/file_transfer_spec.rb' - - 'ee/spec/lib/gitlab/geo/replication/job_artifact_downloader_spec.rb' - 'ee/spec/lib/gitlab/geo/signed_data_spec.rb' - 'ee/spec/lib/gitlab/git_access_spec.rb' - 'ee/spec/models/application_setting_spec.rb' @@ -306,7 +299,6 @@ Rails/SkipsModelValidations: - 'ee/spec/models/ee/groups/feature_setting_spec.rb' - 'ee/spec/models/ee/iteration_spec.rb' - 'ee/spec/models/ee/iterations/cadence_spec.rb' - - 'ee/spec/models/ee/key_spec.rb' - 'ee/spec/models/ee/namespace_limit_spec.rb' - 'ee/spec/models/ee/vulnerability_spec.rb' - 'ee/spec/models/geo_node_spec.rb' @@ -349,7 +341,6 @@ Rails/SkipsModelValidations: - 'ee/spec/services/epic_issues/update_service_spec.rb' - 'ee/spec/services/epics/issue_promote_service_spec.rb' - 'ee/spec/services/epics/update_service_spec.rb' - - 'ee/spec/services/geo/file_download_service_spec.rb' - 'ee/spec/services/geo/file_registry_removal_service_spec.rb' - 'ee/spec/services/geo/hashed_storage_migration_service_spec.rb' - 'ee/spec/services/groups/create_service_spec.rb' @@ -380,7 +371,6 @@ Rails/SkipsModelValidations: - 'ee/spec/workers/import_software_licenses_worker_spec.rb' - 'ee/spec/workers/iterations/roll_over_issues_worker_spec.rb' - 'ee/spec/workers/iterations_update_status_worker_spec.rb' - - 'ee/spec/workers/network_policy_metrics_worker_spec.rb' - 'ee/spec/workers/security/orchestration_policy_rule_schedule_namespace_worker_spec.rb' - 'ee/spec/workers/security/orchestration_policy_rule_schedule_worker_spec.rb' - 'ee/spec/workers/update_all_mirrors_worker_spec.rb' @@ -485,9 +475,7 @@ Rails/SkipsModelValidations: - 'spec/features/projects/diffs/diff_show_spec.rb' - 'spec/features/projects/features_visibility_spec.rb' - 'spec/features/projects/fork_spec.rb' - - 'spec/features/projects/jobs/user_browses_jobs_spec.rb' - 'spec/features/projects/jobs_spec.rb' - - 'spec/features/projects/members/invite_group_spec.rb' - 'spec/features/projects/milestones/milestone_spec.rb' - 'spec/features/projects/pipeline_schedules_spec.rb' - 'spec/features/projects/pipelines/pipeline_spec.rb' diff --git a/.rubocop_todo/rails/time_zone.yml b/.rubocop_todo/rails/time_zone.yml index ff97dfeb44..48e559312f 100644 --- a/.rubocop_todo/rails/time_zone.yml +++ b/.rubocop_todo/rails/time_zone.yml @@ -6,7 +6,6 @@ Rails/TimeZone: - ee/lib/delay.rb - ee/lib/gitlab/elastic/helper.rb - ee/lib/gitlab/elastic/indexer.rb - - ee/lib/gitlab/geo/base_request.rb - ee/lib/gitlab/geo/event_gap_tracking.rb - ee/lib/gitlab/geo/log_cursor/events/design_repository_updated_event.rb - ee/lib/gitlab/geo/log_cursor/events/repository_updated_event.rb @@ -17,11 +16,9 @@ Rails/TimeZone: - ee/spec/lib/ee/gitlab/ci/pipeline/quota/job_activity_spec.rb - ee/spec/lib/gitlab/analytics/cycle_analytics/data_collector_spec.rb - ee/spec/lib/gitlab/analytics/cycle_analytics/summary/group/stage_summary_spec.rb - - ee/spec/lib/gitlab/analytics/cycle_analytics/summary/group/stage_time_summary_spec.rb - ee/spec/lib/gitlab/auth/ldap/access_spec.rb - ee/spec/lib/gitlab/auth/smartcard/san_extension_spec.rb - ee/spec/lib/gitlab/auth/smartcard/session_spec.rb - - ee/spec/lib/gitlab/background_migration/fix_orphan_promoted_issues_spec.rb - ee/spec/lib/gitlab/ci/pipeline/chain/limit/job_activity_spec.rb - ee/spec/lib/gitlab/elastic/client_spec.rb - ee/spec/lib/gitlab/geo/base_request_spec.rb @@ -31,8 +28,6 @@ Rails/TimeZone: - ee/spec/lib/gitlab/geo/log_cursor/events/event_spec.rb - ee/spec/lib/gitlab/geo/log_cursor/events/hashed_storage_attachments_event_spec.rb - ee/spec/lib/gitlab/geo/log_cursor/events/hashed_storage_migrated_event_spec.rb - - ee/spec/lib/gitlab/geo/log_cursor/events/job_artifact_deleted_event_spec.rb - - ee/spec/lib/gitlab/geo/log_cursor/events/lfs_object_deleted_event_spec.rb - ee/spec/lib/gitlab/geo/log_cursor/events/repositories_changed_event_spec.rb - ee/spec/lib/gitlab/geo/log_cursor/events/repository_created_event_spec.rb - ee/spec/lib/gitlab/geo/log_cursor/events/repository_deleted_event_spec.rb @@ -51,23 +46,17 @@ Rails/TimeZone: - lib/gitlab/auth/ldap/access.rb - lib/gitlab/chaos.rb - lib/gitlab/checks/timed_logger.rb - - lib/gitlab/ci/ansi2json/line.rb - - lib/gitlab/ci/pipeline/chain/sequence.rb - lib/gitlab/ci/pipeline/duration.rb - - lib/gitlab/cycle_analytics/summary/deployment_frequency.rb - lib/gitlab/database.rb - lib/gitlab/external_authorization/access.rb - lib/gitlab/external_authorization/cache.rb - lib/gitlab/gitaly_client.rb - lib/gitlab/gitaly_client/ref_service.rb - lib/gitlab/github_import/representation.rb - - lib/gitlab/grape_logging/loggers/queue_duration_logger.rb - lib/gitlab/health_checks/base_abstract_check.rb - lib/gitlab/import_export.rb - lib/gitlab/instrumentation/elasticsearch_transport.rb - - lib/gitlab/instrumentation/redis_interceptor.rb - lib/gitlab/instrumentation_helper.rb - - lib/gitlab/kubernetes/helm/certificate.rb - lib/gitlab/lfs_token.rb - lib/gitlab/loop_helpers.rb - lib/gitlab/phabricator_import/representation/task.rb @@ -80,8 +69,6 @@ Rails/TimeZone: - lib/json_web_token/token.rb - lib/object_storage/direct_upload.rb - lib/quality/seeders/issues.rb - - tooling/rspec_flaky/flaky_example.rb - - tooling/rspec_flaky/report.rb - lib/tasks/gitlab/assets.rake - lib/tasks/gitlab/backup.rake - lib/tasks/gitlab/cleanup.rake @@ -91,14 +78,11 @@ Rails/TimeZone: - spec/lib/gitlab/app_json_logger_spec.rb - spec/lib/gitlab/app_text_logger_spec.rb - spec/lib/gitlab/auth/current_user_mode_spec.rb - - spec/lib/gitlab/background_migration/recalculate_project_authorizations_spec.rb - - spec/lib/gitlab/background_migration/wrongfully_confirmed_email_unconfirmer_spec.rb - spec/lib/gitlab/bitbucket_import/importer_spec.rb - spec/lib/gitlab/bitbucket_server_import/importer_spec.rb - spec/lib/gitlab/checks/timed_logger_spec.rb - spec/lib/gitlab/ci/cron_parser_spec.rb - spec/lib/gitlab/cycle_analytics/stage_summary_spec.rb - - spec/lib/gitlab/cycle_analytics/usage_data_spec.rb - spec/lib/gitlab/data_builder/note_spec.rb - spec/lib/gitlab/database/background_migration_job_spec.rb - spec/lib/gitlab/database_spec.rb @@ -111,7 +95,6 @@ Rails/TimeZone: - spec/lib/gitlab/git/commit_spec.rb - spec/lib/gitlab/git/repository_spec.rb - spec/lib/gitlab/git_access_spec.rb - - spec/lib/gitlab/github_import/importer/diff_note_importer_spec.rb - spec/lib/gitlab/github_import/importer/issue_importer_spec.rb - spec/lib/gitlab/github_import/importer/issues_importer_spec.rb - spec/lib/gitlab/github_import/importer/milestones_importer_spec.rb @@ -132,19 +115,14 @@ Rails/TimeZone: - spec/lib/gitlab/lfs_token_spec.rb - spec/lib/gitlab/log_timestamp_formatter_spec.rb - spec/lib/gitlab/middleware/rails_queue_duration_spec.rb - - spec/lib/gitlab/omniauth_logging/json_formatter_spec.rb - spec/lib/gitlab/phabricator_import/issues/task_importer_spec.rb - spec/lib/gitlab/phabricator_import/representation/task_spec.rb - spec/lib/gitlab/prometheus/queries/additional_metrics_deployment_query_spec.rb - spec/lib/gitlab/prometheus/queries/deployment_query_spec.rb - spec/lib/gitlab/prometheus/queries/validate_query_spec.rb - spec/lib/gitlab/sidekiq_logging/json_formatter_spec.rb - - spec/lib/gitlab/sidekiq_middleware/duplicate_jobs/strategies/until_executing_spec.rb - spec/lib/gitlab/updated_notes_paginator_spec.rb - spec/lib/gitlab/utils/json_size_estimator_spec.rb - spec/lib/gitlab/x509/signature_spec.rb - spec/lib/grafana/time_window_spec.rb - spec/lib/json_web_token/hmac_token_spec.rb - - spec/tooling/rspec_flaky/flaky_example_spec.rb - - spec/tooling/rspec_flaky/listener_spec.rb - - spec/tooling/rspec_flaky/report_spec.rb diff --git a/.rubocop_todo/rspec/any_instance_of.yml b/.rubocop_todo/rspec/any_instance_of.yml index 32bf03b18a..399d175168 100644 --- a/.rubocop_todo/rspec/any_instance_of.yml +++ b/.rubocop_todo/rspec/any_instance_of.yml @@ -152,8 +152,8 @@ RSpec/AnyInstanceOf: - spec/controllers/projects/labels_controller_spec.rb - spec/controllers/projects/merge_requests_controller_spec.rb - spec/controllers/projects/pipelines_controller_spec.rb - - spec/controllers/projects/service_hook_logs_controller_spec.rb - - spec/controllers/projects/services_controller_spec.rb + - spec/controllers/projects/settings/integration_hook_logs_controller_spec.rb + - spec/controllers/projects/settings/integrations_controller_spec.rb - spec/controllers/projects/tags_controller_spec.rb - spec/controllers/registrations/experience_levels_controller_spec.rb - spec/controllers/registrations_controller_spec.rb @@ -177,7 +177,6 @@ RSpec/AnyInstanceOf: - spec/features/projects/jobs_spec.rb - spec/features/projects/navbar_spec.rb - spec/features/projects/pages_spec.rb - - spec/features/projects/services/user_activates_mattermost_slash_command_spec.rb - spec/features/projects/settings/service_desk_setting_spec.rb - spec/features/projects/show/user_sees_setup_shortcut_buttons_spec.rb - spec/features/snippets/embedded_snippet_spec.rb @@ -485,7 +484,6 @@ RSpec/AnyInstanceOf: - spec/workers/expire_pipeline_cache_worker_spec.rb - spec/workers/group_export_worker_spec.rb - spec/workers/group_import_worker_spec.rb - - spec/workers/namespaceless_project_destroy_worker_spec.rb - spec/workers/namespaces/root_statistics_worker_spec.rb - spec/workers/new_note_worker_spec.rb - spec/workers/object_pool/create_worker_spec.rb diff --git a/.rubocop_todo/rspec/context_wording.yml b/.rubocop_todo/rspec/context_wording.yml index 8734fca753..0e313122b0 100644 --- a/.rubocop_todo/rspec/context_wording.yml +++ b/.rubocop_todo/rspec/context_wording.yml @@ -824,7 +824,6 @@ RSpec/ContextWording: - 'ee/spec/serializers/member_user_entity_spec.rb' - 'ee/spec/serializers/merge_request_widget_entity_spec.rb' - 'ee/spec/serializers/project_mirror_entity_spec.rb' - - 'ee/spec/serializers/service_field_entity_spec.rb' - 'ee/spec/serializers/vulnerabilities/finding_entity_spec.rb' - 'ee/spec/services/alert_management/process_prometheus_alert_service_spec.rb' - 'ee/spec/services/analytics/cycle_analytics/consistency_check_service_spec.rb' @@ -1053,7 +1052,6 @@ RSpec/ContextWording: - 'ee/spec/services/vulnerability_exports/export_service_spec.rb' - 'ee/spec/services/vulnerability_external_issue_links/create_service_spec.rb' - 'ee/spec/support/features/manual_quarterly_co_term_banner_examples.rb' - - 'ee/spec/support/features/manual_renewal_banner_examples.rb' - 'ee/spec/support/protected_tags/access_control_shared_examples.rb' - 'ee/spec/support/shared_contexts/audit_event_not_licensed_shared_context.rb' - 'ee/spec/support/shared_contexts/audit_event_queue_shared_context.rb' @@ -1383,7 +1381,6 @@ RSpec/ContextWording: - 'spec/controllers/projects/settings/repository_controller_spec.rb' - 'spec/controllers/projects/snippets_controller_spec.rb' - 'spec/controllers/projects/starrers_controller_spec.rb' - - 'spec/controllers/projects/static_site_editor_controller_spec.rb' - 'spec/controllers/projects/tags_controller_spec.rb' - 'spec/controllers/projects/todos_controller_spec.rb' - 'spec/controllers/projects/tree_controller_spec.rb' @@ -2511,7 +2508,6 @@ RSpec/ContextWording: - 'spec/lib/gitlab/spamcheck/client_spec.rb' - 'spec/lib/gitlab/sql/pattern_spec.rb' - 'spec/lib/gitlab/ssh_public_key_spec.rb' - - 'spec/lib/gitlab/static_site_editor/config/file_config/entry/mount_spec.rb' - 'spec/lib/gitlab/submodule_links_spec.rb' - 'spec/lib/gitlab/subscription_portal_spec.rb' - 'spec/lib/gitlab/suggestions/commit_message_spec.rb' @@ -3197,8 +3193,6 @@ RSpec/ContextWording: - 'spec/serializers/merge_request_widget_entity_spec.rb' - 'spec/serializers/paginated_diff_entity_spec.rb' - 'spec/serializers/pipeline_details_entity_spec.rb' - - 'spec/serializers/service_event_entity_spec.rb' - - 'spec/serializers/service_field_entity_spec.rb' - 'spec/serializers/stage_entity_spec.rb' - 'spec/serializers/user_serializer_spec.rb' - 'spec/services/access_token_validation_service_spec.rb' @@ -3513,7 +3507,6 @@ RSpec/ContextWording: - 'spec/services/spam/ham_service_spec.rb' - 'spec/services/spam/spam_action_service_spec.rb' - 'spec/services/spam/spam_verdict_service_spec.rb' - - 'spec/services/static_site_editor/config_service_spec.rb' - 'spec/services/submodules/update_service_spec.rb' - 'spec/services/suggestions/apply_service_spec.rb' - 'spec/services/suggestions/create_service_spec.rb' @@ -3855,7 +3848,6 @@ RSpec/ContextWording: - 'spec/views/projects/hooks/edit.html.haml_spec.rb' - 'spec/views/projects/hooks/index.html.haml_spec.rb' - 'spec/views/projects/pipeline_schedules/_pipeline_schedule.html.haml_spec.rb' - - 'spec/views/projects/services/edit.html.haml_spec.rb' - 'spec/views/projects/settings/operations/show.html.haml_spec.rb' - 'spec/views/projects/tags/index.html.haml_spec.rb' - 'spec/views/projects/tree/show.html.haml_spec.rb' @@ -3878,9 +3870,6 @@ RSpec/ContextWording: - 'spec/workers/cleanup_container_repository_worker_spec.rb' - 'spec/workers/cluster_update_app_worker_spec.rb' - 'spec/workers/clusters/agents/delete_expired_events_worker_spec.rb' - - 'spec/workers/clusters/applications/activate_service_worker_spec.rb' - - 'spec/workers/clusters/applications/deactivate_service_worker_spec.rb' - - 'spec/workers/clusters/applications/wait_for_uninstall_app_worker_spec.rb' - 'spec/workers/concerns/application_worker_spec.rb' - 'spec/workers/container_expiration_policies/cleanup_container_repository_worker_spec.rb' - 'spec/workers/container_expiration_policy_worker_spec.rb' @@ -3898,12 +3887,10 @@ RSpec/ContextWording: - 'spec/workers/group_import_worker_spec.rb' - 'spec/workers/incident_management/process_alert_worker_v2_spec.rb' - 'spec/workers/integrations/create_external_cross_reference_worker_spec.rb' - - 'spec/workers/irker_worker_spec.rb' - 'spec/workers/issue_placement_worker_spec.rb' - 'spec/workers/issues/placement_worker_spec.rb' - 'spec/workers/merge_requests/delete_source_branch_worker_spec.rb' - 'spec/workers/metrics/dashboard/prune_old_annotations_worker_spec.rb' - - 'spec/workers/namespaceless_project_destroy_worker_spec.rb' - 'spec/workers/packages/composer/cache_update_worker_spec.rb' - 'spec/workers/packages/go/sync_packages_worker_spec.rb' - 'spec/workers/packages/maven/metadata/sync_worker_spec.rb' diff --git a/.rubocop_todo/rspec/expect_in_hook.yml b/.rubocop_todo/rspec/expect_in_hook.yml index a015db8ae3..09a6f5e619 100644 --- a/.rubocop_todo/rspec/expect_in_hook.yml +++ b/.rubocop_todo/rspec/expect_in_hook.yml @@ -188,7 +188,6 @@ RSpec/ExpectInHook: - 'spec/lib/backup/manager_spec.rb' - 'spec/lib/banzai/reference_redactor_spec.rb' - 'spec/lib/bulk_imports/ndjson_pipeline_spec.rb' - - 'spec/lib/bulk_imports/projects/pipelines/project_attributes_pipeline_spec.rb' - 'spec/lib/container_registry/gitlab_api_client_spec.rb' - 'spec/lib/file_size_validator_spec.rb' - 'spec/lib/gitlab/alert_management/fingerprint_spec.rb' diff --git a/.rubocop_todo/rspec/instance_variable.yml b/.rubocop_todo/rspec/instance_variable.yml index 6c147d2280..7489aca5b5 100644 --- a/.rubocop_todo/rspec/instance_variable.yml +++ b/.rubocop_todo/rspec/instance_variable.yml @@ -158,7 +158,6 @@ RSpec/InstanceVariable: - spec/models/group_spec.rb - spec/models/integrations/assembla_spec.rb - spec/models/integrations/campfire_spec.rb - - spec/models/integrations/irker_spec.rb - spec/models/member_spec.rb - spec/models/members/project_member_spec.rb - spec/models/namespace_spec.rb diff --git a/.rubocop_todo/rspec/predicate_matcher.yml b/.rubocop_todo/rspec/predicate_matcher.yml index 0d55c9b858..ebd11aeb44 100644 --- a/.rubocop_todo/rspec/predicate_matcher.yml +++ b/.rubocop_todo/rspec/predicate_matcher.yml @@ -503,7 +503,6 @@ RSpec/PredicateMatcher: - 'spec/validators/namespace_path_validator_spec.rb' - 'spec/validators/project_path_validator_spec.rb' - 'spec/workers/bulk_imports/entity_worker_spec.rb' - - 'spec/workers/bulk_imports/pipeline_worker_spec.rb' - 'spec/workers/ci/delete_objects_worker_spec.rb' - 'spec/workers/concerns/worker_attributes_spec.rb' - 'spec/workers/container_expiration_policies/cleanup_container_repository_worker_spec.rb' diff --git a/.rubocop_todo/rspec/return_from_stub.yml b/.rubocop_todo/rspec/return_from_stub.yml index da5ed01caf..2fb01b855b 100644 --- a/.rubocop_todo/rspec/return_from_stub.yml +++ b/.rubocop_todo/rspec/return_from_stub.yml @@ -286,7 +286,6 @@ RSpec/ReturnFromStub: - 'spec/services/projects/in_product_marketing_campaign_emails_service_spec.rb' - 'spec/services/projects/update_remote_mirror_service_spec.rb' - 'spec/services/projects/update_service_spec.rb' - - 'spec/services/static_site_editor/config_service_spec.rb' - 'spec/services/suggestions/apply_service_spec.rb' - 'spec/services/suggestions/create_service_spec.rb' - 'spec/services/verify_pages_domain_service_spec.rb' diff --git a/.rubocop_todo/rspec/verified_doubles.yml b/.rubocop_todo/rspec/verified_doubles.yml index 26b82a3f47..a69ab9198b 100644 --- a/.rubocop_todo/rspec/verified_doubles.yml +++ b/.rubocop_todo/rspec/verified_doubles.yml @@ -79,8 +79,6 @@ RSpec/VerifiedDoubles: - ee/spec/lib/gitlab/geo/log_cursor/lease_spec.rb - ee/spec/lib/gitlab/geo/oauth/logout_token_spec.rb - ee/spec/lib/gitlab/geo/oauth/session_spec.rb - - ee/spec/lib/gitlab/geo/replication/job_artifact_retriever_spec.rb - - ee/spec/lib/gitlab/geo/replication/job_artifact_transfer_spec.rb - ee/spec/lib/gitlab/geo/replicator_spec.rb - ee/spec/lib/gitlab/geo_spec.rb - ee/spec/lib/gitlab/git_access_spec.rb @@ -91,7 +89,6 @@ RSpec/VerifiedDoubles: - ee/spec/lib/gitlab/prometheus/queries/cluster_query_spec.rb - ee/spec/lib/gitlab/subscription_portal/clients/rest_spec.rb - ee/spec/lib/sidebars/groups/menus/analytics_menu_spec.rb - - ee/spec/lib/system_check/app/elasticsearch_check_spec.rb - ee/spec/lib/system_check/geo/geo_database_configured_check_spec.rb - ee/spec/models/app_sec/fuzzing/api/ci_configuration_spec.rb - ee/spec/models/approvable_spec.rb @@ -111,7 +108,6 @@ RSpec/VerifiedDoubles: - ee/spec/presenters/group_member_presenter_spec.rb - ee/spec/presenters/merge_request_approver_presenter_spec.rb - ee/spec/presenters/project_member_presenter_spec.rb - - ee/spec/requests/api/alert_management_alerts_spec.rb - ee/spec/requests/api/geo_spec.rb - ee/spec/requests/api/graphql/mutations/dast_site_profiles/delete_spec.rb - ee/spec/requests/api/internal/base_spec.rb @@ -142,11 +138,9 @@ RSpec/VerifiedDoubles: - ee/spec/serializers/issuable_sidebar_extras_entity_spec.rb - ee/spec/serializers/issues/linked_issue_feature_flag_entity_spec.rb - ee/spec/serializers/linked_feature_flag_issue_entity_spec.rb - - ee/spec/serializers/merge_request_compliance_entity_spec.rb - ee/spec/serializers/merge_request_poll_widget_entity_spec.rb - ee/spec/serializers/merge_request_sidebar_basic_entity_spec.rb - ee/spec/serializers/merge_request_widget_entity_spec.rb - - ee/spec/serializers/service_field_entity_spec.rb - ee/spec/serializers/test_reports_comparer_serializer_spec.rb - ee/spec/serializers/user_analytics_entity_spec.rb - ee/spec/serializers/vulnerabilities/feedback_entity_spec.rb @@ -174,9 +168,6 @@ RSpec/VerifiedDoubles: - ee/spec/services/ee/merge_requests/refresh_service_spec.rb - ee/spec/services/ee/notification_service_spec.rb - ee/spec/services/ee/post_receive_service_spec.rb - - ee/spec/services/ee/service_ping/build_payload_service_spec.rb - - ee/spec/services/ee/service_ping/permit_data_categories_service_spec.rb - - ee/spec/services/ee/service_ping/service_ping_settings_spec.rb - ee/spec/services/geo/blob_download_service_spec.rb - ee/spec/services/geo/graphql_request_service_spec.rb - ee/spec/services/geo/node_status_request_service_spec.rb @@ -382,7 +373,6 @@ RSpec/VerifiedDoubles: - spec/lib/api/helpers/graphql_helpers_spec.rb - spec/lib/api/helpers/pagination_spec.rb - spec/lib/api/helpers/pagination_strategies_spec.rb - - spec/lib/api/helpers/sse_helpers_spec.rb - spec/lib/api/helpers/variables_helpers_spec.rb - spec/lib/api/helpers_spec.rb - spec/lib/atlassian/jira_connect/client_spec.rb @@ -832,7 +822,6 @@ RSpec/VerifiedDoubles: - spec/models/application_record_spec.rb - spec/models/badge_spec.rb - spec/models/badges/project_badge_spec.rb - - spec/models/bulk_imports/export_status_spec.rb - spec/models/ci/build_spec.rb - spec/models/ci/build_trace_chunk_spec.rb - spec/models/ci/commit_with_pipeline_spec.rb @@ -961,8 +950,6 @@ RSpec/VerifiedDoubles: - spec/serializers/prometheus_alert_entity_spec.rb - spec/serializers/review_app_setup_entity_spec.rb - spec/serializers/runner_entity_spec.rb - - spec/serializers/service_event_entity_spec.rb - - spec/serializers/service_field_entity_spec.rb - spec/serializers/stage_entity_spec.rb - spec/serializers/suggestion_entity_spec.rb - spec/serializers/test_reports_comparer_serializer_spec.rb @@ -1045,8 +1032,6 @@ RSpec/VerifiedDoubles: - spec/services/repositories/changelog_service_spec.rb - spec/services/search_service_spec.rb - spec/services/service_ping/build_payload_service_spec.rb - - spec/services/service_ping/permit_data_categories_service_spec.rb - - spec/services/service_ping/service_ping_settings_spec.rb - spec/services/service_ping/submit_service_ping_service_spec.rb - spec/services/snippets/update_repository_storage_service_spec.rb - spec/services/spam/akismet_mark_as_spam_service_spec.rb @@ -1054,7 +1039,6 @@ RSpec/VerifiedDoubles: - spec/services/spam/ham_service_spec.rb - spec/services/spam/spam_action_service_spec.rb - spec/services/spam/spam_params_spec.rb - - spec/services/static_site_editor/config_service_spec.rb - spec/services/system_note_service_spec.rb - spec/services/system_notes/commit_service_spec.rb - spec/services/system_notes/issuables_service_spec.rb @@ -1130,7 +1114,6 @@ RSpec/VerifiedDoubles: - spec/views/shared/milestones/_issuables.html.haml_spec.rb - spec/views/shared/wikis/_sidebar.html.haml_spec.rb - spec/workers/bulk_imports/export_request_worker_spec.rb - - spec/workers/bulk_imports/pipeline_worker_spec.rb - spec/workers/chat_notification_worker_spec.rb - spec/workers/ci/build_prepare_worker_spec.rb - spec/workers/ci/create_cross_project_pipeline_worker_spec.rb @@ -1162,8 +1145,6 @@ RSpec/VerifiedDoubles: - spec/workers/gitlab/github_import/stage/import_repository_worker_spec.rb - spec/workers/gitlab_performance_bar_stats_worker_spec.rb - spec/workers/invalid_gpg_signature_update_worker_spec.rb - - spec/workers/irker_worker_spec.rb - - spec/workers/issue_rebalancing_worker_spec.rb - spec/workers/issues/rebalancing_worker_spec.rb - spec/workers/merge_request_mergeability_check_worker_spec.rb - spec/workers/new_issue_worker_spec.rb diff --git a/.rubocop_todo/style/bare_percent_literals.yml b/.rubocop_todo/style/bare_percent_literals.yml index 658c6c22ba..104ead817d 100644 --- a/.rubocop_todo/style/bare_percent_literals.yml +++ b/.rubocop_todo/style/bare_percent_literals.yml @@ -10,7 +10,6 @@ Style/BarePercentLiterals: - 'app/models/integrations/datadog.rb' - 'app/services/feature_flags/base_service.rb' - 'app/services/repositories/base_service.rb' - - 'app/services/repositories/destroy_rollback_service.rb' - 'app/services/repositories/destroy_service.rb' - 'ee/app/services/jira/jql_builder_service.rb' - 'ee/lib/ee/gitlab/checks/push_rules/file_size_check.rb' diff --git a/.rubocop_todo/style/class_and_module_children.yml b/.rubocop_todo/style/class_and_module_children.yml index 9d89acfb39..fab05667ad 100644 --- a/.rubocop_todo/style/class_and_module_children.yml +++ b/.rubocop_todo/style/class_and_module_children.yml @@ -220,14 +220,11 @@ Style/ClassAndModuleChildren: - 'app/controllers/projects/runner_projects_controller.rb' - 'app/controllers/projects/runners_controller.rb' - 'app/controllers/projects/service_desk_controller.rb' - - 'app/controllers/projects/service_hook_logs_controller.rb' - 'app/controllers/projects/service_ping_controller.rb' - - 'app/controllers/projects/services_controller.rb' - 'app/controllers/projects/snippets/application_controller.rb' - 'app/controllers/projects/snippets/blobs_controller.rb' - 'app/controllers/projects/snippets_controller.rb' - 'app/controllers/projects/starrers_controller.rb' - - 'app/controllers/projects/static_site_editor_controller.rb' - 'app/controllers/projects/tags/releases_controller.rb' - 'app/controllers/projects/tags_controller.rb' - 'app/controllers/projects/templates_controller.rb' @@ -354,9 +351,7 @@ Style/ClassAndModuleChildren: - 'app/serializers/merge_requests/pipeline_entity.rb' - 'app/services/projects/branches_by_mode_service.rb' - 'app/services/repositories/base_service.rb' - - 'app/services/repositories/destroy_rollback_service.rb' - 'app/services/repositories/destroy_service.rb' - - 'app/services/repositories/shell_destroy_service.rb' - 'app/uploaders/dependency_proxy/file_uploader.rb' - 'app/uploaders/packages/composer/cache_uploader.rb' - 'app/uploaders/packages/debian/component_file_uploader.rb' diff --git a/.rubocop_todo/style/empty_method.yml b/.rubocop_todo/style/empty_method.yml index 9bca01015a..aa3972a0b2 100644 --- a/.rubocop_todo/style/empty_method.yml +++ b/.rubocop_todo/style/empty_method.yml @@ -53,7 +53,7 @@ Style/EmptyMethod: - 'app/controllers/projects/pipeline_schedules_controller.rb' - 'app/controllers/projects/product_analytics_controller.rb' - 'app/controllers/projects/runners_controller.rb' - - 'app/controllers/projects/services_controller.rb' + - 'app/controllers/projects/settings/integrations_controller.rb' - 'app/controllers/projects/settings/packages_and_registries_controller.rb' - 'app/controllers/projects/tags/releases_controller.rb' - 'app/controllers/projects/terraform_controller.rb' diff --git a/.rubocop_todo/style/format_string.yml b/.rubocop_todo/style/format_string.yml index 82ece4dd3b..a9065bb593 100644 --- a/.rubocop_todo/style/format_string.yml +++ b/.rubocop_todo/style/format_string.yml @@ -41,7 +41,6 @@ Style/FormatString: - 'app/controllers/projects/merge_requests_controller.rb' - 'app/controllers/projects/performance_monitoring/dashboards_controller.rb' - 'app/controllers/projects/pipeline_schedules_controller.rb' - - 'app/controllers/projects/services_controller.rb' - 'app/controllers/projects/settings/ci_cd_controller.rb' - 'app/controllers/projects_controller.rb' - 'app/controllers/search_controller.rb' @@ -109,7 +108,6 @@ Style/FormatString: - 'app/models/integrations/external_wiki.rb' - 'app/models/integrations/flowdock.rb' - 'app/models/integrations/hangouts_chat.rb' - - 'app/models/integrations/irker.rb' - 'app/models/integrations/jenkins.rb' - 'app/models/integrations/jira.rb' - 'app/models/integrations/mattermost.rb' @@ -184,7 +182,6 @@ Style/FormatString: - 'config/initializers/rack_lineprof.rb' - 'danger/roulette/Dangerfile' - 'ee/app/components/billing/plan_component.rb' - - 'ee/app/components/namespaces/preview_free_user_cap_alert_component.rb' - 'ee/app/controllers/admin/elasticsearch_controller.rb' - 'ee/app/controllers/admin/geo/application_controller.rb' - 'ee/app/controllers/admin/geo/projects_controller.rb' @@ -237,7 +234,6 @@ Style/FormatString: - 'ee/app/services/merge_requests/create_from_vulnerability_data_service.rb' - 'ee/app/services/namespaces/check_excess_storage_size_service.rb' - 'ee/app/services/namespaces/check_storage_size_service.rb' - - 'ee/app/services/network_policies/responses.rb' - 'ee/app/services/security/security_orchestration_policies/policy_configuration_validation_service.rb' - 'ee/app/services/security/security_orchestration_policies/validate_policy_service.rb' - 'ee/app/services/timebox_report_service.rb' @@ -265,7 +261,6 @@ Style/FormatString: - 'ee/lib/gitlab/expiring_subscription_message.rb' - 'ee/lib/gitlab/geo.rb' - 'ee/lib/gitlab/manual_quarterly_co_term_banner.rb' - - 'ee/lib/gitlab/manual_renewal_banner.rb' - 'ee/lib/gitlab/vulnerabilities/container_scanning_vulnerability.rb' - 'ee/lib/tasks/gitlab/elastic.rake' - 'ee/spec/controllers/admin/licenses_controller_spec.rb' diff --git a/.rubocop_todo/style/guard_clause.yml b/.rubocop_todo/style/guard_clause.yml index 12eda8abf1..c710963967 100644 --- a/.rubocop_todo/style/guard_clause.yml +++ b/.rubocop_todo/style/guard_clause.yml @@ -60,7 +60,6 @@ Style/GuardClause: - 'app/finders/ci/runners_finder.rb' - 'app/finders/deployments_finder.rb' - 'app/finders/group_members_finder.rb' - - 'app/finders/projects/serverless/functions_finder.rb' - 'app/finders/snippets_finder.rb' - 'app/graphql/mutations/concerns/mutations/spam_protection.rb' - 'app/graphql/mutations/design_management/delete.rb' @@ -73,7 +72,6 @@ Style/GuardClause: - 'app/graphql/resolvers/concerns/time_frame_arguments.rb' - 'app/graphql/resolvers/projects/jira_projects_resolver.rb' - 'app/graphql/types/ci/job_type.rb' - - 'app/graphql/types/concerns/find_closest.rb' - 'app/helpers/admin/user_actions_helper.rb' - 'app/helpers/appearances_helper.rb' - 'app/helpers/application_helper.rb' @@ -135,7 +133,6 @@ Style/GuardClause: - 'app/models/integrations/datadog.rb' - 'app/models/integrations/emails_on_push.rb' - 'app/models/integrations/harbor.rb' - - 'app/models/integrations/irker.rb' - 'app/models/integrations/jenkins.rb' - 'app/models/integrations/jira.rb' - 'app/models/integrations/pipelines_email.rb' @@ -236,7 +233,6 @@ Style/GuardClause: - 'app/services/post_receive_service.rb' - 'app/services/projects/after_rename_service.rb' - 'app/services/projects/create_service.rb' - - 'app/services/projects/destroy_rollback_service.rb' - 'app/services/projects/destroy_service.rb' - 'app/services/projects/hashed_storage/rollback_service.rb' - 'app/services/projects/import_export/export_service.rb' @@ -247,7 +243,6 @@ Style/GuardClause: - 'app/services/projects/update_service.rb' - 'app/services/protected_branches/legacy_api_update_service.rb' - 'app/services/snippets/repository_validation_service.rb' - - 'app/services/static_site_editor/config_service.rb' - 'app/services/todo_service.rb' - 'app/services/users/build_service.rb' - 'app/services/users/update_service.rb' @@ -465,7 +460,6 @@ Style/GuardClause: - 'ee/lib/gitlab/insights/serializers/chartjs/multi_series_serializer.rb' - 'ee/lib/gitlab/insights/validators/params_validator.rb' - 'ee/lib/omni_auth/strategies/group_saml.rb' - - 'ee/lib/pseudonymizer/dumper.rb' - 'ee/spec/features/billings/billing_plans_spec.rb' - 'ee/spec/lib/ee/gitlab/background_migration/migrate_approver_to_approval_rules_spec.rb' - 'ee/spec/workers/update_max_seats_used_for_gitlab_com_subscriptions_worker_spec.rb' @@ -547,7 +541,6 @@ Style/GuardClause: - 'lib/gitlab/database/partitioning/sliding_list_strategy.rb' - 'lib/gitlab/database/postgresql_adapter/force_disconnectable_mixin.rb' - 'lib/gitlab/database/query_analyzers/restrict_allowed_schemas.rb' - - 'lib/gitlab/diff/custom_diff.rb' - 'lib/gitlab/diff/file.rb' - 'lib/gitlab/diff/highlight.rb' - 'lib/gitlab/diff/highlight_cache.rb' @@ -582,7 +575,6 @@ Style/GuardClause: - 'lib/gitlab/graphql/pagination/keyset/conditions/null_condition.rb' - 'lib/gitlab/graphql/pagination/keyset/order_info.rb' - 'lib/gitlab/graphql/pagination/keyset/query_builder.rb' - - 'lib/gitlab/graphql/query_analyzers/recursion_analyzer.rb' - 'lib/gitlab/i18n/metadata_entry.rb' - 'lib/gitlab/i18n/po_linter.rb' - 'lib/gitlab/import_export/after_export_strategies/web_upload_strategy.rb' diff --git a/.rubocop_todo/style/if_inside_else.yml b/.rubocop_todo/style/if_inside_else.yml index fcddbae74f..3ce6e5ec70 100644 --- a/.rubocop_todo/style/if_inside_else.yml +++ b/.rubocop_todo/style/if_inside_else.yml @@ -14,7 +14,6 @@ Style/IfInsideElse: - 'app/models/ci/build.rb' - 'app/models/namespace.rb' - 'app/presenters/project_presenter.rb' - - 'app/services/service_ping/build_payload_service.rb' - 'app/services/system_notes/commit_service.rb' - 'app/services/task_list_toggle_service.rb' - 'app/services/user_project_access_changed_service.rb' diff --git a/.rubocop_todo/style/if_unless_modifier.yml b/.rubocop_todo/style/if_unless_modifier.yml index 7bbc62d4c2..645fc5f764 100644 --- a/.rubocop_todo/style/if_unless_modifier.yml +++ b/.rubocop_todo/style/if_unless_modifier.yml @@ -8,7 +8,6 @@ Style/IfUnlessModifier: - 'app/channels/graphql_channel.rb' - 'app/controllers/admin/application_settings_controller.rb' - 'app/controllers/admin/projects_controller.rb' - - 'app/controllers/admin/requests_profiles_controller.rb' - 'app/controllers/admin/runners_controller.rb' - 'app/controllers/admin/users_controller.rb' - 'app/controllers/application_controller.rb' @@ -57,7 +56,6 @@ Style/IfUnlessModifier: - 'app/controllers/projects/protected_refs_controller.rb' - 'app/controllers/projects/releases_controller.rb' - 'app/controllers/projects/runners_controller.rb' - - 'app/controllers/projects/services_controller.rb' - 'app/controllers/registrations_controller.rb' - 'app/controllers/repositories/git_http_controller.rb' - 'app/controllers/repositories/lfs_api_controller.rb' @@ -204,7 +202,6 @@ Style/IfUnlessModifier: - 'app/models/integrations/base_chat_notification.rb' - 'app/models/integrations/datadog.rb' - 'app/models/integrations/harbor.rb' - - 'app/models/integrations/irker.rb' - 'app/models/integrations/jenkins.rb' - 'app/models/integrations/jira.rb' - 'app/models/integrations/pushover.rb' @@ -381,13 +378,11 @@ Style/IfUnlessModifier: - 'app/services/projects/update_repository_storage_service.rb' - 'app/services/resource_access_tokens/create_service.rb' - 'app/services/resource_events/change_labels_service.rb' - - 'app/services/service_ping/devops_report_service.rb' - 'app/services/snippets/create_service.rb' - 'app/services/snippets/destroy_service.rb' - 'app/services/snippets/repository_validation_service.rb' - 'app/services/spam/spam_action_service.rb' - 'app/services/spam/spam_verdict_service.rb' - - 'app/services/static_site_editor/config_service.rb' - 'app/services/system_notes/issuables_service.rb' - 'app/services/tags/destroy_service.rb' - 'app/services/two_factor/destroy_service.rb' @@ -416,7 +411,6 @@ Style/IfUnlessModifier: - 'app/views/projects/merge_requests/index.atom.builder' - 'app/workers/authorized_project_update/user_refresh_from_replica_worker.rb' - 'app/workers/auto_devops/disable_worker.rb' - - 'app/workers/bulk_imports/pipeline_worker.rb' - 'app/workers/cleanup_container_repository_worker.rb' - 'app/workers/concerns/application_worker.rb' - 'app/workers/concerns/packages/cleanup_artifact_worker.rb' @@ -424,7 +418,6 @@ Style/IfUnlessModifier: - 'app/workers/concerns/worker_attributes.rb' - 'app/workers/database/batched_background_migration/single_database_worker.rb' - 'app/workers/file_hook_worker.rb' - - 'app/workers/issue_rebalancing_worker.rb' - 'app/workers/issues/rebalancing_worker.rb' - 'app/workers/merge_request_mergeability_check_worker.rb' - 'app/workers/object_storage/migrate_uploads_worker.rb' @@ -501,7 +494,6 @@ Style/IfUnlessModifier: - 'ee/app/controllers/projects/push_rules_controller.rb' - 'ee/app/controllers/projects/settings/slacks_controller.rb' - 'ee/app/controllers/trials_controller.rb' - - 'ee/app/finders/ee/alert_management/alerts_finder.rb' - 'ee/app/finders/iterations_finder.rb' - 'ee/app/finders/merge_trains_finder.rb' - 'ee/app/finders/security/pipeline_vulnerabilities_finder.rb' @@ -614,8 +606,6 @@ Style/IfUnlessModifier: - 'ee/app/services/ee/users/update_service.rb' - 'ee/app/services/elastic/indexing_control_service.rb' - 'ee/app/services/elastic/process_bookkeeping_service.rb' - - 'ee/app/services/epic_links/create_service.rb' - - 'ee/app/services/epic_links/update_service.rb' - 'ee/app/services/epics/base_service.rb' - 'ee/app/services/epics/create_service.rb' - 'ee/app/services/epics/update_dates_service.rb' @@ -723,7 +713,6 @@ Style/IfUnlessModifier: - 'ee/lib/gitlab/geo/log_cursor/daemon.rb' - 'ee/lib/gitlab/geo/log_cursor/events/repository_deleted_event.rb' - 'ee/lib/gitlab/geo/oauth/logout_token.rb' - - 'ee/lib/gitlab/geo/replication/base_transfer.rb' - 'ee/lib/gitlab/geo/replication/blob_downloader.rb' - 'ee/lib/gitlab/geo/replicator.rb' - 'ee/lib/gitlab/graphql/aggregations/epics/lazy_epic_aggregate.rb' @@ -739,13 +728,10 @@ Style/IfUnlessModifier: - 'ee/lib/gitlab/usage/metrics/instrumentations/count_users_creating_ci_builds_metric.rb' - 'ee/lib/gitlab/usage/metrics/instrumentations/license_metric.rb' - 'ee/lib/omni_auth/strategies/group_saml.rb' - - 'ee/lib/pseudonymizer/dumper.rb' - - 'ee/lib/pseudonymizer/uploader.rb' - 'ee/lib/sidebars/groups/menus/administration_menu.rb' - 'ee/lib/sidebars/groups/menus/analytics_menu.rb' - 'ee/lib/sidebars/groups/menus/security_compliance_menu.rb' - 'ee/lib/tasks/geo.rake' - - 'ee/lib/tasks/gitlab/db.rake' - 'ee/lib/tasks/gitlab/geo.rake' - 'ee/lib/tasks/gitlab/seed/insights.rake' - 'ee/spec/controllers/subscriptions_controller_spec.rb' @@ -949,7 +935,6 @@ Style/IfUnlessModifier: - 'lib/gitlab/database/reindexing/reindex_concurrently.rb' - 'lib/gitlab/database/transaction/observer.rb' - 'lib/gitlab/database/with_lock_retries.rb' - - 'lib/gitlab/diff/custom_diff.rb' - 'lib/gitlab/diff/formatters/base_formatter.rb' - 'lib/gitlab/diff/rendered/notebook/diff_file.rb' - 'lib/gitlab/elasticsearch/logs/lines.rb' @@ -1158,7 +1143,6 @@ Style/IfUnlessModifier: - 'rubocop/cop/ignored_columns.rb' - 'rubocop/cop/migration/add_limit_to_text_columns.rb' - 'rubocop/cop/migration/add_reference.rb' - - 'rubocop/cop/migration/hash_index.rb' - 'rubocop/cop/migration/remove_column.rb' - 'rubocop/cop/migration/sidekiq_queue_migrate.rb' - 'rubocop/cop/performance/ar_exists_and_present_blank.rb' @@ -1180,7 +1164,6 @@ Style/IfUnlessModifier: - 'spec/factories/projects.rb' - 'spec/factories/protected_tags.rb' - 'spec/factories/users.rb' - - 'spec/factories_spec.rb' - 'spec/features/admin/admin_users_spec.rb' - 'spec/features/merge_request/batch_comments_spec.rb' - 'spec/features/merge_request/user_sees_avatar_on_diff_notes_spec.rb' diff --git a/.rubocop_todo/style/next.yml b/.rubocop_todo/style/next.yml index e1f9b927db..ba2bd29369 100644 --- a/.rubocop_todo/style/next.yml +++ b/.rubocop_todo/style/next.yml @@ -5,7 +5,6 @@ Style/Next: # Temporarily disabled due to too many offenses Enabled: false Exclude: - - 'app/finders/projects/serverless/functions_finder.rb' - 'app/models/preloaders/environments/deployment_preloader.rb' - 'app/models/route.rb' - 'app/services/authorized_project_update/find_records_due_for_refresh_service.rb' diff --git a/.rubocop_todo/style/numeric_literal_prefix.yml b/.rubocop_todo/style/numeric_literal_prefix.yml index b469a68ff5..ea0b028d11 100644 --- a/.rubocop_todo/style/numeric_literal_prefix.yml +++ b/.rubocop_todo/style/numeric_literal_prefix.yml @@ -10,16 +10,12 @@ Style/NumericLiteralPrefix: - 'config/initializers/01_secret_token.rb' - 'config/initializers/1_settings.rb' - 'db/post_migrate/20220131000001_schedule_trace_expiry_removal.rb' - - 'ee/lib/gitlab/geo/replication/base_transfer.rb' - 'ee/lib/gitlab/geo/replication/blob_downloader.rb' - 'ee/spec/lib/bulk_imports/groups/pipelines/iterations_pipeline_spec.rb' - 'ee/spec/lib/gitlab/background_migration/remove_all_trace_expiration_dates_spec.rb' - 'ee/spec/lib/gitlab/geo/replication/blob_downloader_spec.rb' - - 'ee/spec/lib/gitlab/geo/replication/file_transfer_spec.rb' - - 'ee/spec/lib/gitlab/geo/replication/job_artifact_transfer_spec.rb' - 'ee/spec/migrations/schedule_trace_expiry_removal_spec.rb' - 'ee/spec/models/analytics/devops_adoption/snapshot_spec.rb' - - 'ee/spec/models/ci/minutes/quota_spec.rb' - 'ee/spec/models/ee/group_spec.rb' - 'ee/spec/models/gitlab/seat_link_data_spec.rb' - 'ee/spec/services/incident_management/oncall_schedules/update_service_spec.rb' diff --git a/.rubocop_todo/style/open_struct_use.yml b/.rubocop_todo/style/open_struct_use.yml index e6af3b7bf2..15e4539072 100644 --- a/.rubocop_todo/style/open_struct_use.yml +++ b/.rubocop_todo/style/open_struct_use.yml @@ -1,21 +1,12 @@ --- Style/OpenStructUse: Exclude: - - ee/spec/features/projects/new_project_spec.rb - - ee/spec/finders/template_finder_spec.rb - - ee/spec/helpers/ee/blob_helper_spec.rb - - ee/spec/lib/gitlab/auth/group_saml/failure_handler_spec.rb - - ee/spec/lib/gitlab/legacy_github_import/project_creator_spec.rb - - lib/gitlab/testing/request_inspector_middleware.rb - - spec/factories/wiki_pages.rb - - spec/graphql/mutations/branches/create_spec.rb - - spec/graphql/mutations/clusters/agent_tokens/create_spec.rb - - spec/graphql/mutations/clusters/agents/create_spec.rb - - spec/graphql/mutations/clusters/agents/delete_spec.rb - - spec/graphql/mutations/commits/create_spec.rb - - spec/helpers/application_settings_helper_spec.rb - - spec/helpers/profiles_helper_spec.rb - - spec/lib/gitlab/gitaly_client/blobs_stitcher_spec.rb - - spec/lib/gitlab/gitaly_client/diff_stitcher_spec.rb - - spec/services/system_note_service_spec.rb - - spec/support/helpers/repo_helpers.rb + - 'ee/spec/features/projects/new_project_spec.rb' + - 'ee/spec/finders/template_finder_spec.rb' + - 'ee/spec/helpers/ee/blob_helper_spec.rb' + - 'ee/spec/lib/gitlab/auth/group_saml/failure_handler_spec.rb' + - 'spec/factories/wiki_pages.rb' + - 'spec/helpers/profiles_helper_spec.rb' + - 'spec/lib/gitlab/gitaly_client/blobs_stitcher_spec.rb' + - 'spec/lib/gitlab/gitaly_client/diff_stitcher_spec.rb' + - 'spec/support/helpers/repo_helpers.rb' diff --git a/.rubocop_todo/style/percent_literal_delimiters.yml b/.rubocop_todo/style/percent_literal_delimiters.yml index bf50c4c192..487e0e7cd2 100644 --- a/.rubocop_todo/style/percent_literal_delimiters.yml +++ b/.rubocop_todo/style/percent_literal_delimiters.yml @@ -117,7 +117,6 @@ Style/PercentLiteralDelimiters: - 'app/models/integrations/external_wiki.rb' - 'app/models/integrations/field.rb' - 'app/models/integrations/flowdock.rb' - - 'app/models/integrations/irker.rb' - 'app/models/integrations/jenkins.rb' - 'app/models/integrations/jira.rb' - 'app/models/integrations/packagist.rb' @@ -178,7 +177,6 @@ Style/PercentLiteralDelimiters: - 'app/services/projects/update_service.rb' - 'app/services/prometheus/proxy_service.rb' - 'app/services/repositories/base_service.rb' - - 'app/services/repositories/destroy_rollback_service.rb' - 'app/services/repositories/destroy_service.rb' - 'app/services/repository_archive_clean_up_service.rb' - 'app/services/resource_access_tokens/create_service.rb' @@ -192,7 +190,6 @@ Style/PercentLiteralDelimiters: - 'app/validators/addressable_url_validator.rb' - 'app/validators/gitlab/zoom_url_validator.rb' - 'app/validators/json_schema_validator.rb' - - 'app/workers/irker_worker.rb' - 'app/workers/members_destroyer/unassign_issuables_worker.rb' - 'app/workers/projects/record_target_platforms_worker.rb' - 'config/application.rb' @@ -229,7 +226,6 @@ Style/PercentLiteralDelimiters: - '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/optional_migrations/composite_primary_keys.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' @@ -296,7 +292,6 @@ Style/PercentLiteralDelimiters: - 'ee/lib/api/managed_licenses.rb' - 'ee/lib/api/status_checks.rb' - 'ee/lib/api/visual_review_discussions.rb' - - 'ee/lib/banzai/pipeline/incident_management/timeline_event_pipeline.rb' - 'ee/lib/ee/api/helpers/members_helpers.rb' - 'ee/lib/ee/api/helpers/projects_helpers.rb' - 'ee/lib/ee/api/search.rb' @@ -308,7 +303,6 @@ Style/PercentLiteralDelimiters: - 'ee/lib/ee/gitlab/checks/push_rules/file_size_check.rb' - 'ee/lib/ee/gitlab/ci/parsers/security/validators/schema_validator.rb' - 'ee/lib/ee/gitlab/etag_caching/router/rails.rb' - - 'ee/lib/ee/gitlab/integrations/sti_type.rb' - 'ee/lib/ee/gitlab/middleware/read_only/controller.rb' - 'ee/lib/ee/gitlab/path_regex.rb' - 'ee/lib/ee/gitlab/uploads/migration_helper.rb' @@ -319,7 +313,6 @@ Style/PercentLiteralDelimiters: - 'ee/lib/elastic/latest/git_class_proxy.rb' - 'ee/lib/elastic/latest/project_instance_proxy.rb' - 'ee/lib/elastic/latest/snippet_class_proxy.rb' - - 'ee/lib/gitlab/alert_management/payload/cilium.rb' - 'ee/lib/gitlab/auth/group_saml/auth_hash.rb' - 'ee/lib/gitlab/ci/parsers/security/formatters/dast.rb' - 'ee/lib/gitlab/geo.rb' @@ -371,7 +364,6 @@ Style/PercentLiteralDelimiters: - 'ee/spec/lib/banzai/filter/references/epic_reference_filter_spec.rb' - 'ee/spec/lib/banzai/filter/references/iteration_reference_filter_spec.rb' - 'ee/spec/lib/banzai/filter/references/vulnerability_reference_filters_spec.rb' - - 'ee/spec/lib/banzai/pipeline/incident_management/timeline_event_pipeline_spec.rb' - 'ee/spec/lib/ee/gitlab/alert_management/payload/generic_spec.rb' - 'ee/spec/lib/ee/gitlab/auth/ldap/access_levels_spec.rb' - 'ee/spec/lib/ee/gitlab/auth/ldap/config_spec.rb' @@ -561,7 +553,6 @@ Style/PercentLiteralDelimiters: - 'lib/gitlab/gitaly_client/diff.rb' - 'lib/gitlab/gitaly_client/wiki_page.rb' - 'lib/gitlab/graphql/pagination/keyset/order_info.rb' - - 'lib/gitlab/graphql/query_analyzers/recursion_analyzer.rb' - 'lib/gitlab/hotlinking_detector.rb' - 'lib/gitlab/import_export/command_line_util.rb' - 'lib/gitlab/import_export/file_importer.rb' @@ -648,10 +639,6 @@ Style/PercentLiteralDelimiters: - 'rubocop/migration_helpers.rb' - 'scripts/qa/testcases-check' - 'scripts/regenerate-schema' - - 'shared/packages/6b/86/6b86b273ff34fce19d6b804eff5a3f5747ada4eaa22f1d49c01e52ddb7875b4b/packages/57/files/67/package.gemspec' - - 'shared/packages/6b/86/6b86b273ff34fce19d6b804eff5a3f5747ada4eaa22f1d49c01e52ddb7875b4b/packages/6/files/5/package.gemspec' - - 'shared/packages/6b/86/6b86b273ff34fce19d6b804eff5a3f5747ada4eaa22f1d49c01e52ddb7875b4b/packages/7/files/7/package.gemspec' - - 'shared/packages/6b/86/6b86b273ff34fce19d6b804eff5a3f5747ada4eaa22f1d49c01e52ddb7875b4b/packages/88/files/91/package.gemspec' - 'sidekiq_cluster/cli.rb' - 'spec/benchmarks/banzai_benchmark.rb' - 'spec/commands/sidekiq_cluster/cli_spec.rb' @@ -676,7 +663,6 @@ Style/PercentLiteralDelimiters: - 'spec/controllers/projects/performance_monitoring/dashboards_controller_spec.rb' - 'spec/controllers/projects/pipelines_controller_spec.rb' - 'spec/controllers/projects/settings/ci_cd_controller_spec.rb' - - 'spec/controllers/projects/static_site_editor_controller_spec.rb' - 'spec/controllers/projects_controller_spec.rb' - 'spec/controllers/registrations/welcome_controller_spec.rb' - 'spec/controllers/search_controller_spec.rb' @@ -898,7 +884,6 @@ Style/PercentLiteralDelimiters: - 'spec/lib/gitlab/jira_import/issue_serializer_spec.rb' - 'spec/lib/gitlab/jira_import/labels_importer_spec.rb' - 'spec/lib/gitlab/kubernetes/kubectl_cmd_spec.rb' - - 'spec/lib/gitlab/kubernetes/network_policy_spec.rb' - 'spec/lib/gitlab/kubernetes/role_spec.rb' - 'spec/lib/gitlab/language_data_spec.rb' - 'spec/lib/gitlab/markup_helper_spec.rb' @@ -1001,7 +986,6 @@ Style/PercentLiteralDelimiters: - 'spec/models/integrations/bamboo_spec.rb' - 'spec/models/integrations/buildkite_spec.rb' - 'spec/models/integrations/campfire_spec.rb' - - 'spec/models/integrations/irker_spec.rb' - 'spec/models/integrations/jira_spec.rb' - 'spec/models/integrations/teamcity_spec.rb' - 'spec/models/issue_spec.rb' diff --git a/.rubocop_todo/style/redundant_interpolation.yml b/.rubocop_todo/style/redundant_interpolation.yml index fb190ff210..0d3651eb7b 100644 --- a/.rubocop_todo/style/redundant_interpolation.yml +++ b/.rubocop_todo/style/redundant_interpolation.yml @@ -77,7 +77,6 @@ Style/RedundantInterpolation: - 'qa/qa/resource/events/base.rb' - 'qa/qa/service/praefect_manager.rb' - 'qa/qa/specs/features/browser_ui/4_verify/pipeline/include_multiple_files_from_a_project_spec.rb' - - 'qa/qa/specs/features/browser_ui/4_verify/pipeline/parent_child_pipelines_dependent_relationship_spec.rb' - 'qa/qa/specs/features/browser_ui/5_package/container_registry/container_registry_spec.rb' - 'qa/qa/specs/features/ee/browser_ui/1_manage/project/project_templates_spec.rb' - 'qa/qa/tools/generate_perf_testdata.rb' diff --git a/.rubocop_todo/style/redundant_regexp_escape.yml b/.rubocop_todo/style/redundant_regexp_escape.yml index 1a88f62ab6..969a23601c 100644 --- a/.rubocop_todo/style/redundant_regexp_escape.yml +++ b/.rubocop_todo/style/redundant_regexp_escape.yml @@ -35,7 +35,6 @@ Style/RedundantRegexpEscape: - 'ee/lib/gitlab/geo/git_ssh_proxy.rb' - 'ee/lib/gitlab/return_to_location.rb' - 'ee/spec/features/read_only_spec.rb' - - 'ee/spec/helpers/seats_count_alert_helper_spec.rb' - 'ee/spec/helpers/vulnerabilities_helper_spec.rb' - 'ee/spec/lib/ee/gitlab/usage_data_counters/hll_redis_counter_spec.rb' - 'ee/spec/mailers/notify_spec.rb' diff --git a/.rubocop_todo/style/redundant_self.yml b/.rubocop_todo/style/redundant_self.yml index e363f83761..1aba23c90a 100644 --- a/.rubocop_todo/style/redundant_self.yml +++ b/.rubocop_todo/style/redundant_self.yml @@ -260,7 +260,6 @@ Style/RedundantSelf: - 'ee/lib/elastic/latest/note_config.rb' - 'ee/lib/elastic/migration.rb' - 'ee/lib/gem_extensions/elasticsearch/model/indexing/instance_methods.rb' - - 'ee/lib/gitlab/alert_management/payload/cilium.rb' - 'ee/lib/gitlab/analytics/cycle_analytics/summary/base_time.rb' - 'ee/lib/gitlab/auth/group_saml/response_check.rb' - 'ee/lib/gitlab/auth/group_saml/user.rb' @@ -277,7 +276,6 @@ Style/RedundantSelf: - 'ee/lib/gitlab/geo/oauth/logout_state.rb' - 'ee/lib/gitlab/geo/replicator.rb' - 'ee/lib/gitlab/template/custom_template.rb' - - 'ee/lib/system_check/app/elasticsearch_check.rb' - 'ee/spec/helpers/ee/feature_flags_helper_spec.rb' - 'ee/spec/helpers/ee/graph_helper_spec.rb' - 'ee/spec/models/geo/deleted_project_spec.rb' @@ -365,8 +363,6 @@ Style/RedundantSelf: - 'lib/gitlab/instrumentation/redis_base.rb' - 'lib/gitlab/jira_import.rb' - 'lib/gitlab/jwt_token.rb' - - 'lib/gitlab/kubernetes/cilium_network_policy.rb' - - 'lib/gitlab/kubernetes/network_policy.rb' - 'lib/gitlab/logger.rb' - 'lib/gitlab/marker_range.rb' - 'lib/gitlab/memory/instrumentation.rb' diff --git a/.rubocop_todo/style/string_concatenation.yml b/.rubocop_todo/style/string_concatenation.yml index 23a16f928f..8c8dbf86b1 100644 --- a/.rubocop_todo/style/string_concatenation.yml +++ b/.rubocop_todo/style/string_concatenation.yml @@ -301,11 +301,9 @@ Style/StringConcatenation: - 'spec/services/packages/helm/extract_file_metadata_service_spec.rb' - 'spec/services/packages/helm/process_file_service_spec.rb' - 'spec/services/projects/create_service_spec.rb' - - 'spec/services/projects/destroy_rollback_service_spec.rb' - 'spec/services/projects/destroy_service_spec.rb' - 'spec/services/projects/download_service_spec.rb' - 'spec/services/push_event_payload_service_spec.rb' - - 'spec/services/repositories/destroy_rollback_service_spec.rb' - 'spec/services/repositories/destroy_service_spec.rb' - 'spec/services/snippets/bulk_destroy_service_spec.rb' - 'spec/services/snippets/update_service_spec.rb' @@ -317,7 +315,6 @@ Style/StringConcatenation: - 'spec/support/helpers/git_helpers.rb' - 'spec/support/helpers/gitaly_setup.rb' - 'spec/support/helpers/javascript_fixtures_helpers.rb' - - 'spec/support/helpers/jira_service_helper.rb' - 'spec/support/helpers/kubernetes_helpers.rb' - 'spec/support/helpers/stub_configuration.rb' - 'spec/support/helpers/workhorse_helpers.rb' diff --git a/.rubocop_todo/style/string_literals_in_interpolation.yml b/.rubocop_todo/style/string_literals_in_interpolation.yml index 3f3cb00730..cded81afa7 100644 --- a/.rubocop_todo/style/string_literals_in_interpolation.yml +++ b/.rubocop_todo/style/string_literals_in_interpolation.yml @@ -24,7 +24,6 @@ Style/StringLiteralsInInterpolation: - 'ee/app/models/license.rb' - 'ee/app/services/epics/tree_reorder_service.rb' - 'ee/lib/gitlab/elastic/helper.rb' - - 'ee/lib/pseudonymizer/pager.rb' - 'ee/spec/features/admin/admin_settings_spec.rb' - 'lib/api/helpers/snippets_helpers.rb' - 'lib/api/validations/validators/check_assignees_count.rb' @@ -54,7 +53,6 @@ Style/StringLiteralsInInterpolation: - 'qa/qa/specs/helpers/context_selector.rb' - 'qa/qa/tools/generate_perf_testdata.rb' - 'rubocop/cop/migration/prevent_index_creation.rb' - - 'spec/controllers/projects/serverless/functions_controller_spec.rb' - 'spec/features/commits_spec.rb' - 'spec/features/dashboard/merge_requests_spec.rb' - 'spec/features/users/login_spec.rb' diff --git a/.rubocop_todo/style/symbol_proc.yml b/.rubocop_todo/style/symbol_proc.yml index 12e20553e1..5e3aa10d9e 100644 --- a/.rubocop_todo/style/symbol_proc.yml +++ b/.rubocop_todo/style/symbol_proc.yml @@ -113,7 +113,6 @@ Style/SymbolProc: - 'ee/app/workers/geo/batch/project_registry_worker.rb' - 'ee/app/workers/geo/sync_timeout_cron_worker.rb' - 'ee/app/workers/geo/verification_cron_worker.rb' - - 'ee/app/workers/repository_push_audit_event_worker.rb' - 'ee/lib/api/entities/pending_member.rb' - 'ee/lib/api/related_epic_links.rb' - 'ee/lib/ee/api/entities/audit_event.rb' diff --git a/.yamllint b/.yamllint index df7cdf404b..2fddf9ee3c 100644 --- a/.yamllint +++ b/.yamllint @@ -2,6 +2,44 @@ extends: default +# Ideally, we should have nothing in this ignore section. +# +# Please consider removing entries below by fixing them. +ignore: | + #### Files #### + + # Contains ruby code + config/mail_room.yml + generator_templates/snowplow_event_definition/event_definition.yml + generator_templates/usage_metric_definition/metric_definition.yml + + # Has some special indentation + doc/user/project/integrations/samples/cloudwatch.yml + + # Broken on purpose (for testing) + spec/fixtures/lib/gitlab/metrics/dashboard/broken_yml_syntax.yml + + #### Folders #### + node_modules/ + tmp/ + +# Why disabling all of those rules? +# +# For the scope of https://gitlab.com/gitlab-org/gitlab/-/issues/359968, +# we would like to catch syntax errors as soon as possible. +# Style "errors" are not as important right now, but they should ideally be added later on. +# +# Please consider enabling a rule, and fixing the issues you'll see in an MR. rules: - line-length: disable + braces: disable + colons: disable + comments-indentation: disable + comments: disable document-start: disable + empty-lines: disable + indentation: disable + key-duplicates: disable + line-length: disable + new-line-at-end-of-file: disable + trailing-spaces: disable + truthy: disable diff --git a/CHANGELOG.md b/CHANGELOG.md index f7cdaac868..d81818121d 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -2,27 +2,1014 @@ documentation](doc/development/changelog.md) for instructions on adding your own entry. -## 15.0.4 (2022-06-30) +## 15.1.3 (2022-07-19) -### Security (17 changes) +### Added (1 change) -- [Fix group IP restrictions not enforced for container registry requests](gitlab-org/security/gitlab@7dea5867ea5e115a3a91576fec91de8e7f2a9915) ([merge request](gitlab-org/security/gitlab!2551)) -- [Update rack gem to version 2.2.3.1](gitlab-org/security/gitlab@c0df8beef0297e9b99b954fcdcbf07cee3f0e9d6) ([merge request](gitlab-org/security/gitlab!2553)) -- [Gitlab Runner version upgrade](gitlab-org/security/gitlab@012ff20c80754ff9ac38b82894346a51aa0a9b4c) ([merge request](gitlab-org/security/gitlab!2566)) -- [Update ProjectAttributesTransformer to use fixed number of attributes](gitlab-org/security/gitlab@619d77865f3e61f3cfb6ca92011ded44f6baf0ad) ([merge request](gitlab-org/security/gitlab!2548)) -- [Escape deploy key title to prevent XSS](gitlab-org/security/gitlab@7b1a458df5c553d6fa99b4fec0d677c9e924ad86) ([merge request](gitlab-org/security/gitlab!2493)) -- [Sanitize ZenTao breadcrumb links](gitlab-org/security/gitlab@adb8b2829e3d6b69ea32a7524c6f772be1debf82) ([merge request](gitlab-org/security/gitlab!2556)) -- [Fix permissions in the project labels API](gitlab-org/security/gitlab@4fd766e90ea6e8899897d7b7d9551b2edb5dce9a) ([merge request](gitlab-org/security/gitlab!2533)) -- [Security fix sentry issue leaks and access level check](gitlab-org/security/gitlab@d43b2c600a5fc31592eb8f07a4fcfdf3141911f7) ([merge request](gitlab-org/security/gitlab!2500)) -- [Check permissions before exposing user two factor enabled](gitlab-org/security/gitlab@aac30c9f3228efd643d3fc204ee49f740f1ebc81) ([merge request](gitlab-org/security/gitlab!2524)) -- [Filter milestone release by user access](gitlab-org/security/gitlab@aa1b76b8eb2966463c8a10869e00f3320bf4ea1a) ([merge request](gitlab-org/security/gitlab!2536)) -- [Fix the required access level in the Conan packages finder](gitlab-org/security/gitlab@fa090cd9d2adab46c6c3f2a70b351a61847b5c6c) ([merge request](gitlab-org/security/gitlab!2482)) -- [Allow inviting only groups with subset of allowed domains to groups](gitlab-org/security/gitlab@981be1afc7c6bf8f699ced1ae930b201699e29e3) ([merge request](gitlab-org/security/gitlab!2511)) -- [Fix open redirect vulnerability](gitlab-org/security/gitlab@fa9cf0a41f338e285701db231316897d362ce306) ([merge request](gitlab-org/security/gitlab!2541)) -- [Adds a filter based on user access to Runner jobs endpoint](gitlab-org/security/gitlab@8be3da271d2a6ff3285846c50a5ce4dd584419ff) ([merge request](gitlab-org/security/gitlab!2496)) -- [Prevent runners from picking IP restricted jobs](gitlab-org/security/gitlab@dcc830d14cc0ee616dc3ad263d66bd42f92b56a2) ([merge request](gitlab-org/security/gitlab!2504)) -- [Restrict CI lint access to pipeline creators](gitlab-org/security/gitlab@42425cd68755c53ed33952111be9803ce3b37515) ([merge request](gitlab-org/security/gitlab!2514)) -- [Catch endless headers when reading HTTP responses](gitlab-org/security/gitlab@d2ce0a236204b97a853bc35332d49d7427f38fbc) ([merge request](gitlab-org/security/gitlab!2528)) +- [Add praefect list virtual storages subcommand documentation](gitlab-org/gitlab@95689c32e2734831c00ef30de303098485ec095a) ([merge request](gitlab-org/gitlab!92708)) + +### Fixed (1 change) + +- [Fix group access dropdown failure if no subgroups are available](gitlab-org/gitlab@518a2f55caddab0c18d0548d0a8f777afe5ae666) ([merge request](gitlab-org/gitlab!92708)) **GitLab Enterprise Edition** + +## 15.1.2 (2022-07-05) + +### Fixed (3 changes) + +- [Resolve "White screen of death on creating new project"](gitlab-org/gitlab@b737280d402aa88f723ada9885ccca22fa4457b5) ([merge request](gitlab-org/gitlab!91668)) +- [Fix agent token modal](gitlab-org/gitlab@6fdffc4a534f67953a1555a0e4e35e4bd2bcb960) ([merge request](gitlab-org/gitlab!91668)) +- [Resolve "Gitlab doesn't detect the deployment pods after K8s cluster upgrade to v1.22"](gitlab-org/gitlab@5eb84d7d96189f7119aa325e83a3723942cc14ba) ([merge request](gitlab-org/gitlab!91668)) + +### Changed (2 changes) + +- [Update gitaly_cgroups metric name in docs](gitlab-org/gitlab@1af956596f052446f7ee2d42635b891670ddccd4) ([merge request](gitlab-org/gitlab!91668)) +- [Refactor add populate commit permission migration](gitlab-org/gitlab@bc80cc41c2b90b8e459055c5ec1885941798f3c2) ([merge request](gitlab-org/gitlab!91668)) **GitLab Enterprise Edition** + +### Removed (1 change) + +- [Geo Sites Form - Remove Beta Badge](gitlab-org/gitlab@2feffa8e272aa8d9e608ad3e510a93fda93b7fcb) ([merge request](gitlab-org/gitlab!91668)) **GitLab Enterprise Edition** + +## 15.1.1 (2022-06-30) + +### Security (16 changes) + +- [Fix group IP restrictions not enforced for container registry requests](gitlab-org/security/gitlab@0c9628791bf383734ec8f32e1d0040ca2fd62178) ([merge request](gitlab-org/security/gitlab!2550)) +- [Gitlab Runner version upgrade](gitlab-org/security/gitlab@b7e06c1e812fdf0a2fab4aca07cdea33ff22b41c) ([merge request](gitlab-org/security/gitlab!2564)) +- [Update ProjectAttributesTransformer to use fixed number of attributes](gitlab-org/security/gitlab@fae2720ffd7ec5ce3eb88e3b68b2879f4f664cf4) ([merge request](gitlab-org/security/gitlab!2547)) +- [Escape deploy key title to prevent XSS](gitlab-org/security/gitlab@071c3fa4ae63d03117a3c02752711d29f6f620b1) ([merge request](gitlab-org/security/gitlab!2492)) +- [Sanitize ZenTao breadcrumb links](gitlab-org/security/gitlab@5b16b65cfe57a946f25842b7818dafe6c8a934ea) ([merge request](gitlab-org/security/gitlab!2555)) +- [Fix permissions in the project labels API](gitlab-org/security/gitlab@b3ff7ee5a64382ff9ee34bc3fc44acd0117f86d9) ([merge request](gitlab-org/security/gitlab!2532)) +- [Security fix sentry issue leaks and access level check](gitlab-org/security/gitlab@a0ad79588f170e1c58206e42d8b550d75e874a4d) ([merge request](gitlab-org/security/gitlab!2531)) +- [Check permissions before exposing user two factor enabled](gitlab-org/security/gitlab@3b7c699ffcca64721c0876da12435c148f8e83a7) ([merge request](gitlab-org/security/gitlab!2530)) +- [Filter milestone release by user access](gitlab-org/security/gitlab@dc79edc16c7422279235d2ad8a4807644840fc4c) ([merge request](gitlab-org/security/gitlab!2535)) +- [Fix the required access level in the Conan packages finder](gitlab-org/security/gitlab@5221ca59f09361f90798348851fa12c91e5d9e35) ([merge request](gitlab-org/security/gitlab!2513)) +- [Allow inviting only groups with subset of allowed domains to groups](gitlab-org/security/gitlab@03dfb153355d0465ea25a6d73db895c975fc32df) ([merge request](gitlab-org/security/gitlab!2538)) +- [Fix open redirect vulnerability](gitlab-org/security/gitlab@eb52b11c7b29319d16e21feec97bafbdf0f3c3e5) ([merge request](gitlab-org/security/gitlab!2542)) +- [Adds a filter based on user access to Runner jobs endpoint](gitlab-org/security/gitlab@a35c6aa42c35da96bf1df263b4a3aa1fe38af75d) ([merge request](gitlab-org/security/gitlab!2508)) +- [Prevent runners from picking IP restricted jobs](gitlab-org/security/gitlab@9d6f0da89f6d2e8f3c7fbccea0d22fc6b17e0305) ([merge request](gitlab-org/security/gitlab!2505)) +- [Restrict CI lint access to pipeline creators](gitlab-org/security/gitlab@bf15e9ceddf4b30105103defa50dd4a9094ac246) ([merge request](gitlab-org/security/gitlab!2516)) +- [Catch endless headers when reading HTTP responses](gitlab-org/security/gitlab@d9a6ca9aa36cfd6dd916be2d4f1e8e25329ecc73) ([merge request](gitlab-org/security/gitlab!2527)) + +## 15.1.0 (2022-06-21) + +### Added (147 changes) + +- [Add GraphQL API to create resource links](gitlab-org/gitlab@cf6881e6d281ec62f6bc742794b81dd1dbbd3daa) ([merge request](https://gitlab.com/gitlab-org/gitlab/-/merge_requests/88826)) **GitLab Enterprise Edition** +- [Add support for collecting jemalloc stats](gitlab-org/gitlab@0b76148a078903dda4e6698ff6c20fc287887ec7) ([merge request](gitlab-org/gitlab!89303)) +- [Add audit event for disabling 2FA](gitlab-org/gitlab@93f3ca0a2c3535b8eb3b4176f877abc99b75c78e) ([merge request](gitlab-org/gitlab!89598)) **GitLab Enterprise Edition** +- [Add auditEventsStreamingHeadersDestroy Mutation](gitlab-org/gitlab@50e59b0fe7bd4864fdc5735d1876041e0c7b9aeb) ([merge request](gitlab-org/gitlab!88408)) **GitLab Enterprise Edition** +- [Add backend changes to sort issues by closed at](gitlab-org/gitlab@f77350c785ae225fefecce7e983ab37b9ff58340) by @zillemarco ([merge request](gitlab-org/gitlab!89606)) +- [Display invalid approvals on merge request widget](gitlab-org/gitlab@8aa64755f7ec14b7a704db4d925c27ba7578a68a) ([merge request](gitlab-org/gitlab!88941)) +- [Add ownerProject field to RunnerType](gitlab-org/gitlab@72ec72a0b0ad63f64c441e47d1f214e5a8c16b52) ([merge request](gitlab-org/gitlab!89922)) +- [Mutation to delete multiple package files](gitlab-org/gitlab@9fe8deddb8ba788fee886b36e5ec61df600a5109) ([merge request](gitlab-org/gitlab!89927)) +- [GraphQL: Add lazy load for blocking epics count](gitlab-org/gitlab@888c4b2dc6b69c73c9ecf9645f21a774f552e86e) ([merge request](gitlab-org/gitlab!89632)) **GitLab Enterprise Edition** +- [Add git protocol configuration to groups](gitlab-org/gitlab@0938dfe435e42d08c1df0f930bd1f6042d68aad9) ([merge request](gitlab-org/gitlab!89817)) +- [Prevent users from using known insecure public key](gitlab-org/gitlab@8a0678ef91684ede86b850a4f30c8eebbcc0d244) ([merge request](gitlab-org/gitlab!90369)) +- [Preview plantuml/kroki diagrams in content editor](gitlab-org/gitlab@fc0aab15f39aff7fb604c06ce218e22926e8423b) ([merge request](gitlab-org/gitlab!86701)) +- [Add scan_execution_policies endpoint to the Kubernetes internal API](gitlab-org/gitlab@2144a3e8ac2d14e797d81338cc85821c853c87e6) ([merge request](gitlab-org/gitlab!88879)) **GitLab Enterprise Edition** +- [Add opened/closed epic issue weights](gitlab-org/gitlab@615687ae92a89621a1455e0de721214ef0ca4f47) ([merge request](gitlab-org/gitlab!89751)) +- [Added possibility to search CRM contacts and organizations by ids](gitlab-org/gitlab@cc1698f0357f73514d269e0ae14c38bfeb383c0e) by @zillemarco ([merge request](gitlab-org/gitlab!89938)) +- [Adds timestamps to compliance frameworks](gitlab-org/gitlab@c322b728c0ff22956dbfa20152048a5410b0a4aa) ([merge request](gitlab-org/gitlab!88844)) +- [Clean up group_level_protected_environment feature flag](gitlab-org/gitlab@ee38bce56f7567041161929c782bfe0fd17acea5) ([merge request](gitlab-org/gitlab!90211)) +- [Remove downstream_retry_action ff](gitlab-org/gitlab@65ccd92f41a2d60ca66861f75f94f9b84c5bfd33) ([merge request](gitlab-org/gitlab!90157)) +- [Audit event for group level merge request settings](gitlab-org/gitlab@fd13da3958cc8980f864c93bb9249982f9fef722) ([merge request](gitlab-org/gitlab!87880)) **GitLab Enterprise Edition** +- [Added token-selector to WI assignees](gitlab-org/gitlab@297b079136881f4b047a52a187636348895f12a7) ([merge request](gitlab-org/gitlab!88820)) +- [Introduce database metric batch average operation](gitlab-org/gitlab@501a6f1f8b78e1f16f371b74a249c61f3d86a5ca) ([merge request](gitlab-org/gitlab!89913)) +- [Add `counts.saml_group_links` metric](gitlab-org/gitlab@d921d77b7d74d200e0108931ce4dafa4877bbfa2) ([merge request](gitlab-org/gitlab!90019)) **GitLab Enterprise Edition** +- [Remove customer_relations feature flag](gitlab-org/gitlab@b6647f7f311036540671650ceb1b723680d4540e) by @leetickett ([merge request](gitlab-org/gitlab!90142)) +- [Provide HooksExecution task to ensure Slack integrations are called](gitlab-org/gitlab@9192dcd46c8c68f7c2aa12c3f48d8452681f699c) ([merge request](gitlab-org/gitlab!89615)) **GitLab Enterprise Edition** +- [Introduce `gitlab_internal` for Rails and pg tables](gitlab-org/gitlab@b3c57cd1ed2538677db72eabd90a8162e0f0c287) ([merge request](gitlab-org/gitlab!88704)) +- [Add sortable description list items on epic page](gitlab-org/gitlab@27813a51fae5aee45b8dee1c727ae45ecbe68a6b) ([merge request](gitlab-org/gitlab!89443)) +- [Add support for delayed project deletion for personal projects](gitlab-org/gitlab@55b7f403e326c0e36520c5b15c549ea6fdb02e44) ([merge request](gitlab-org/gitlab!89466)) **GitLab Enterprise Edition** +- [Create audit stream HTTP header model](gitlab-org/gitlab@a84ff4442b9fe39cccee16065f160ec00ae28ee6) ([merge request](gitlab-org/gitlab!88063)) +- [Prevent users from adding known, weak keys](gitlab-org/gitlab@fd9152c70edeccaeb4619eedf1ad7986e1676678) by @kyrie.31415926535 ([merge request](gitlab-org/gitlab!87541)) +- [Add password complexity checkbox in application settings pages](gitlab-org/gitlab@97ae74f6ead4051d2188cba0c517a6e9608952c7) ([merge request](gitlab-org/gitlab!86852)) +- [List children in hierarchy widget](gitlab-org/gitlab@4e8aed9b9c6eba47799fc2a8c3394f51dd49513b) ([merge request](gitlab-org/gitlab!89749)) +- [Added remove button to time tracking report entries](gitlab-org/gitlab@fa4a5bf3194baaf120129996aa07b7d41ed86e7b) by @zillemarco ([merge request](gitlab-org/gitlab!88122)) +- [PyPI simple repository API PEP 503](gitlab-org/gitlab@fb6b92d6ca7d7c527d70015c968d5752a8e1e0e2) ([merge request](gitlab-org/gitlab!87966)) +- [Create Geo replication events for Terraform state deletions](gitlab-org/gitlab@74ee2a9fe8e7239d91d4da2b9ec8618ad4e28924) ([merge request](gitlab-org/gitlab!89095)) **GitLab Enterprise Edition** +- [Add metric for unique MRs with invalid approvers](gitlab-org/gitlab@27abbfb1ac0abb51e10510974bac3bd5e812a01a) ([merge request](gitlab-org/gitlab!89345)) **GitLab Enterprise Edition** +- [Add empty state to branch selection when creating an MR](gitlab-org/gitlab@878cf7a114283d7d8970d5380e50c2fa4c001300) ([merge request](https://gitlab.com/gitlab-org/gitlab/-/merge_requests/88556)) +- [Added a waning alert to the project](gitlab-org/gitlab@dc32eeb686079a7b1421d0c35a49fe98c7de85b2) ([merge request](gitlab-org/gitlab!86882)) +- [Add confidential notes index](gitlab-org/gitlab@d62aaa9f5e957562942516f03c3bb5ade3418ea8) ([merge request](gitlab-org/gitlab!90007)) +- [Update documentation to reflect current project migration status](gitlab-org/gitlab@33e4f5b18b4cc1ba9ff934bd6df88deaae850f30) ([merge request](gitlab-org/gitlab!89562)) +- [Upgrade GitLab Pages to 1.59.0](gitlab-org/gitlab@db81cb17316872a4fb2a856c4b42be4b7ded66d3) ([merge request](gitlab-org/gitlab!89994)) +- [Create merged result pipelines when MR is git mergeable](gitlab-org/gitlab@bec50de5b23e0992cecb9161a20e0d563cf7018c) ([merge request](gitlab-org/gitlab!89951)) +- [Switch legacy_open_source_license_available for non-public projects](gitlab-org/gitlab@60ddafa21e90eddb11dbc08d3bdb4d79cb3f71c0) ([merge request](gitlab-org/gitlab!88310)) +- [Add upgrade status badge to runners](gitlab-org/gitlab@79208cfad16040b6b180f7b730cd6e860b969fae) ([merge request](gitlab-org/gitlab!84970)) **GitLab Enterprise Edition** +- [Internal error tracking check endpoint](gitlab-org/gitlab@4331b660e8c7c51bcc8a0e7d735f4f5994a08742) ([merge request](gitlab-org/gitlab!87894)) +- [User api endpoint for project deploy keys](gitlab-org/gitlab@b246caf8420de181765b8879fc304575f1dfd3a6) ([merge request](gitlab-org/gitlab!88917)) +- [Added intents.json to act as a multiplier to the emojis score](gitlab-org/gitlab@082fd2286275a8cdfaf51fa48ddfbae07e8ad3b9) ([merge request](https://gitlab.com/gitlab-org/gitlab/-/merge_requests/88407)) +- [Add password complexity to application settings API](gitlab-org/gitlab@b116b5174f96ab44a56aaf02956966ba58faf59a) by @mtan-gitlab ([merge request](gitlab-org/gitlab!85763)) **GitLab Enterprise Edition** +- [Add time to restore service chart to CI/CD analytics](gitlab-org/gitlab@34dd6e0846b5e888fcb4e49ef61a974130402c98) ([merge request](gitlab-org/gitlab!88366)) **GitLab Enterprise Edition** +- [Add new empty state to group overview](gitlab-org/gitlab@6b0a46119dd84ced85f175b30d7fdbc3ff6fbc08) ([merge request](gitlab-org/gitlab!84397)) +- [Add container_images to Project/Group GraphQL API](gitlab-org/gitlab@dea6151a34e26a661c84d95fcbc501dceb221579) ([merge request](gitlab-org/gitlab!88806)) +- [Event type information in streaming audit event for deploy token](gitlab-org/gitlab@79dfefaadb0a0d3c376c760c3bf2fdc5f7cc0c18) ([merge request](gitlab-org/gitlab!89391)) **GitLab Enterprise Edition** +- [Create Button ViewComponent](gitlab-org/gitlab@16e541a38750f41fed412590cb2e985a2d5579bd) ([merge request](gitlab-org/gitlab!89159)) +- [Introduce new Colour Select Widget](gitlab-org/gitlab@077d7b62780ef7e51b3bbc53d4775f1802a41f59) by @espadav8 ([merge request](gitlab-org/gitlab!78889)) +- [Create release evidence post GitLab Migration](gitlab-org/gitlab@84328a56779d52d39e2453d6c82ea4f50b6921b7) ([merge request](gitlab-org/gitlab!89128)) +- [Prepare confidential notes index on .com](gitlab-org/gitlab@ab36469e8d5583c94c4aeec8572e4353ce2fa6e0) ([merge request](gitlab-org/gitlab!89520)) +- [Add metric to count number of requirements that require approval](gitlab-org/gitlab@9db957c8a7716aad9f23c992b293b6a0b368fe01) ([merge request](gitlab-org/gitlab!89061)) **GitLab Enterprise Edition** +- [Skip sending pipeline hooks and notifications for blocked users](gitlab-org/gitlab@ce4f1f196586cef6b7394313d764e6bc613add8b) ([merge request](gitlab-org/gitlab!89546)) +- [Add not null constraint on routes#namespace_id column](gitlab-org/gitlab@25bf575d058d025f5fdc6010638c1a54cef1c4d9) ([merge request](gitlab-org/gitlab!88635)) +- [Add submit license usage data banner](gitlab-org/gitlab@2c7e13b0967cd943f1d479fde76f5009a03ec3a2) ([merge request](gitlab-org/gitlab!89227)) **GitLab Enterprise Edition** +- [Add version part columns to ci_runners table](gitlab-org/gitlab@c86ff6061d1c0ea1031fc4049b562b51ceba4e45) ([merge request](gitlab-org/gitlab!89023)) +- [Add seat count usage alerts to group pages](gitlab-org/gitlab@4b5eda5cdddda859150c9cc0faa548d2191cc1b1) ([merge request](https://gitlab.com/gitlab-org/gitlab/-/merge_requests/89204)) **GitLab Enterprise Edition** +- [Show Terraform state deleted status in UI](gitlab-org/gitlab@2200e82525d0d288ce6dd54ec7eafca9d9624c58) ([merge request](gitlab-org/gitlab!89190)) +- [Add event type information in merge request approval audit event](gitlab-org/gitlab@1b85deebb494d90248c47c3190f53486bce17cef) ([merge request](gitlab-org/gitlab!89101)) **GitLab Enterprise Edition** +- [Add logic to reset submit license usage data banner data](gitlab-org/gitlab@53769346722ab29b876071f69d339db22cf19f53) ([merge request](gitlab-org/gitlab!89142)) **GitLab Enterprise Edition** +- [Removes container_registry_project_statistics FF](gitlab-org/gitlab@3cc1de0df5c178a5e157d03aceb4db2e427ef4ba) ([merge request](gitlab-org/gitlab!89409)) +- [Remove updated_diff_expansion_buttons feature flag](gitlab-org/gitlab@f228512204a5754c1654ceebf12b4ef299e85ab3) ([merge request](gitlab-org/gitlab!88520)) +- [Add GraphQL support to manage the Packages Cleanup policy](gitlab-org/gitlab@53f64475b1b60d92ca5c244b7fc643fdf5251d6b) ([merge request](gitlab-org/gitlab!87799)) +- [WIP add filename arguement to allow filtering by file language](gitlab-org/gitlab@69a1916abd51626bfe461189744c1bf742500a26) ([merge request](gitlab-org/gitlab!88135)) **GitLab Enterprise Edition** +- [Added contacts and organizations resolvers](gitlab-org/gitlab@ebbb79d765517a7389d98ec1f13a896f2c17ccc5) by @zillemarco ([merge request](gitlab-org/gitlab!88752)) +- [graphql: Add merge_request_event_type field to pipeline_type](gitlab-org/gitlab@131cc74f48d4a50f02f1c7d94e8b53b2d5eec539) ([merge request](gitlab-org/gitlab!89237)) +- [Add container registry to Namespace usage quotas page](gitlab-org/gitlab@19cf42fcc51b4fd76a9220c99ed62c8c60e21463) ([merge request](gitlab-org/gitlab!88192)) **GitLab Enterprise Edition** +- [Log GitHub Commit Status API responses](gitlab-org/gitlab@12782a7d549842b3711a29f5aedfb97b8d77828c) by @hchouraria ([merge request](gitlab-org/gitlab!88106)) **GitLab Enterprise Edition** +- [Add GraphQL operation name to performance bar](gitlab-org/gitlab@d4436e5df24b0bd9b6832f4c7d186c6666765dbd) ([merge request](gitlab-org/gitlab!89136)) +- [Add Note to Todo GraphQL Type](gitlab-org/gitlab@b7401971c23548bfe4acf09b2054eb4efad0899e) by @Taucher2003 ([merge request](gitlab-org/gitlab!89262)) +- [Add maintenance notes in runner view](gitlab-org/gitlab@cc187fb7dd2b2d86137c1a44ae7dc70f747379bd) ([merge request](gitlab-org/gitlab!88060)) **GitLab Enterprise Edition** +- [Log sql query in Sidekiq error logs](gitlab-org/gitlab@fefb36f40cb1c3791212e0bec159d88ac7d3bb65) ([merge request](gitlab-org/gitlab!89202)) +- [Displays embedded images on ipynb diffs](gitlab-org/gitlab@70b0e77235734b3e2a1f4851a6489c4e80b21074) ([merge request](gitlab-org/gitlab!88659)) +- [Adds the end event column to the VSA stage table](gitlab-org/gitlab@ec6e563886535b4f733cf4db491f023959592bb5) ([merge request](gitlab-org/gitlab!88985)) +- [Add drop_sequence migration helper](gitlab-org/gitlab@8e86fa39488b3afdd7959542b344b4addbfb80ca) ([merge request](gitlab-org/gitlab!88387)) +- [Cleanup orphaned routes](gitlab-org/gitlab@18176ac61622f4a8c0ba80d1dbdbf9e017d5b933) ([merge request](gitlab-org/gitlab!88401)) +- [Log email delivery failures](gitlab-org/gitlab@b3f343f857f86918a054cc5dddaac68d14294e93) ([merge request](gitlab-org/gitlab!89113)) +- [Enable escalations of incidents created manually](gitlab-org/gitlab@0198a0d018ddfe94602d2d3090eae3a0c2c92c79) ([merge request](gitlab-org/gitlab!80444)) +- [Add option to backup specified groups](gitlab-org/gitlab@2bc55892e85b6b87541781dcb91b7e1cb05bfa8f) ([merge request](gitlab-org/gitlab!88976)) +- [Add a index for vulnerability_state_transitions table](gitlab-org/gitlab@f0fbf3b340669fcb40419fe3bc8498da516868e4) ([merge request](gitlab-org/gitlab!88875)) **GitLab Enterprise Edition** +- [Add tooltip to the downstream expand btn](gitlab-org/gitlab@53c926eda91f7b8bcd0ecb2cdd8a80220e0a8537) ([merge request](gitlab-org/gitlab!89050)) +- [Adds raw column to all ci variable tables](gitlab-org/gitlab@d98e15ceedf42d34cd21305cd8fd4458b7782cd4) ([merge request](gitlab-org/gitlab!88554)) +- [Add Pages::PageDeletedEvent](gitlab-org/gitlab@25d9bef7da8d9091cf0789e32f50008f98a0a00d) ([merge request](gitlab-org/gitlab!89162)) +- [Expose epic links properties on GraphQL](gitlab-org/gitlab@d58a5208386c01f266fbf395d471a879392841f3) ([merge request](gitlab-org/gitlab!87830)) **GitLab Enterprise Edition** +- [Add documentation for CWE 319.1](gitlab-org/gitlab@6a02c37bf1182f4d0adb9227ec3fbf64f9b79f45) ([merge request](gitlab-org/gitlab!89106)) +- [Introduce execute_background_migrations feature flag](gitlab-org/gitlab@f16923c2c3d0fe427077711fb7688c17445b3d8f) ([merge request](gitlab-org/gitlab!88981)) +- [Add runner status to external pipeline validation payload](gitlab-org/gitlab@d4fd4cd6674587b0b58188dbb65a56f3f92867f3) ([merge request](gitlab-org/gitlab!89083)) +- [Add validation for epic issue group hieararchy](gitlab-org/gitlab@9f3cb094409680423e8a237f8375a4a0fa4bfe18) ([merge request](gitlab-org/gitlab!76686)) **GitLab Enterprise Edition** +- [Implement GET API to fetch single issue link](gitlab-org/gitlab@c614feb83bf5953c2e41f3b9e4abff30c53f3c3b) by @tuxtimo ([merge request](https://gitlab.com/gitlab-org/gitlab/-/merge_requests/88228)) +- [Add seat count usage alerts to group pages](gitlab-org/gitlab@6acd45570b2e32ad6cab1a11419ffa58585f0e24) ([merge request](https://gitlab.com/gitlab-org/gitlab/-/merge_requests/79563/)) **GitLab Enterprise Edition** +- [Add totalWeight to epic board list](gitlab-org/gitlab@ade7ea01c313cc5957b6ed34f35e2067b01c7587) ([merge request](gitlab-org/gitlab!84162)) **GitLab Enterprise Edition** +- [Link service desk issues to CRM contacts](gitlab-org/gitlab@aa7990df54e58f8db7597ea50588d7a9ba1ec1dd) by @leetickett ([merge request](gitlab-org/gitlab!88315)) +- [Add event type in audit event streaming](gitlab-org/gitlab@cb1c0b38aeae2b3b769c7672a009e8c9163cdd62) ([merge request](gitlab-org/gitlab!88509)) **GitLab Enterprise Edition** +- [Improve group issues list empty state](gitlab-org/gitlab@be217d652a91b90a37402ab895c5d1964ad34fce) ([merge request](gitlab-org/gitlab!88670)) +- [Allow creation of annotated tags with the Release API](gitlab-org/gitlab@164795517793a06307b576e707dafebf89971425) ([merge request](gitlab-org/gitlab!87841)) +- [Add resource links db table migration](gitlab-org/gitlab@f98c3e037e2249ee708c1f364e1d9e1c367a3f58) ([merge request](https://gitlab.com/gitlab-org/gitlab/-/merge_requests/88417)) **GitLab Enterprise Edition** +- [Add Pages/Pelican project template](gitlab-org/gitlab@03647746bffc66801177ac17fbb1f205cd96aca7) ([merge request](gitlab-org/gitlab!16934)) +- [Add and expose Jira app OAuth application ID](gitlab-org/gitlab@e12d6b9010fc1964ce980f95f339bd476f5f6a1b) ([merge request](gitlab-org/gitlab!87358)) +- [Add Developer Documentation for the Pipeline Wizard](gitlab-org/gitlab@9a259b22863b7841ea957ccfb23a30eb81978dab) ([merge request](gitlab-org/gitlab!87250)) +- [Add 'Package registry' visibility setting to project settings](gitlab-org/gitlab@2ef91ebf5682d654f955a4c6874144094f223bb3) by @wwwjon ([merge request](gitlab-org/gitlab!82808)) +- [Allow custom language type in code blocks](gitlab-org/gitlab@263e93d5ae94ec7725fc7ef33e28118c9bacdc7c) ([merge request](gitlab-org/gitlab!85553)) +- [Add Milestone.releases GraphQL field](gitlab-org/gitlab@7c647ae20d44f1e22d2a44b066737a954e4118df) ([merge request](gitlab-org/gitlab!88231)) +- [Add index to ci_job_artifacts](gitlab-org/gitlab@8b17e83e57a4be62810920c468814c93a49138bb) ([merge request](gitlab-org/gitlab!88815)) +- [Add closed_as_duplicate_of to issues Graphql type](gitlab-org/gitlab@dc17dee75618f3b2c7df65e5d74860938a7f3ddf) ([merge request](gitlab-org/gitlab!88797)) +- [Introduce source versions for BulkImport trackers configuration](gitlab-org/gitlab@3738260eb7586bfc186bc13758b2f4a2111498e3) ([merge request](gitlab-org/gitlab!87898)) +- [Add VulnerabilityStateTransition model](gitlab-org/gitlab@ac464fc7320580b93b0318a0da0bf73cd3043d35) ([merge request](gitlab-org/gitlab!87957)) +- [Implement new PAT API endpoint 'id'](gitlab-org/gitlab@c6164423f25b7e0ec0d2b3ce07dc4caa7597fc1f) by @TrueKalix ([merge request](gitlab-org/gitlab!87680)) +- [GraphQL: Allow filtering epics by top level only](gitlab-org/gitlab@2dcd2b694358c248843f2e664c2a027b2118c52d) ([merge request](gitlab-org/gitlab!88568)) **GitLab Enterprise Edition** +- [Remove updated_mr_header feature flag](gitlab-org/gitlab@9806e9bcf68d5b85d9754a1b7f6557373d7a0495) ([merge request](gitlab-org/gitlab!88523)) +- [Add registry migration Guard dynamic pre import timeout](gitlab-org/gitlab@093e2cc9d93c897228dd8142896c9432c4827b77) ([merge request](gitlab-org/gitlab!88292)) +- [Add CRM filtered search tokens on group/project issues page](gitlab-org/gitlab@c4f6125e2b21089f9612a260ad0766f7ef804c62) ([merge request](gitlab-org/gitlab!87917)) +- [Added mocked assignees to work item](gitlab-org/gitlab@acd9baff810dd04d4885a1d533e179cc02daff17) ([merge request](gitlab-org/gitlab!88003)) +- [Prepare async index to for Ci::JobArtifact](gitlab-org/gitlab@914db78059a5f5f9e18e23a191e9e0fde89f447b) ([merge request](gitlab-org/gitlab!88427)) +- [GraphQL: Add maintenance_note_html field](gitlab-org/gitlab@a39a367a501d814212d2f85355ed7a82d7aee9a5) ([merge request](gitlab-org/gitlab!88405)) +- [Prepare new Slack events processing API](gitlab-org/gitlab@5706d6b283f46b2b7401c0c738a5d0279a24560d) ([merge request](gitlab-org/gitlab!86323)) +- [Add backup option to filter for specific projects](gitlab-org/gitlab@28ad9885964359b4ecca98dd6139b333733c7de5) ([merge request](gitlab-org/gitlab!88094)) +- [Add designs migration to GitLab Project Migration](gitlab-org/gitlab@3b31d6f01bf6de96ab4f12e40d33355a6684bd3e) ([merge request](gitlab-org/gitlab!88280)) +- [Uplift limit on Math diagrams on wiki pages](gitlab-org/gitlab@eaa38ab992bfd936fee35bad9920d2411729b834) ([merge request](gitlab-org/gitlab!88375)) +- [Add email to send to admin when a user is auto banned](gitlab-org/gitlab@43fe701cb7934344ca33e9fdfa10fba7dbebce9d) ([merge request](gitlab-org/gitlab!88057)) +- [Work item Hierarchy widget - Empty state](gitlab-org/gitlab@6a4450a37622f8de997a4126d7a11861dcff368b) ([merge request](gitlab-org/gitlab!88097)) +- [Add models for SSH signed commits](gitlab-org/gitlab@923bd8049d77ab9851fd1639c6508e6d8f10692e) ([merge request](gitlab-org/gitlab!87962)) +- [Finalize routes backfilling for projects](gitlab-org/gitlab@8a2aecccae84b3b6cefc402906e684f35a9eb1ec) ([merge request](gitlab-org/gitlab!87665)) +- [Add parent-child work item table](gitlab-org/gitlab@1de3a9694b298d158dc3b9cf5dcba19c349a263a) ([merge request](gitlab-org/gitlab!87283)) +- [Add designs repository export to relations export API](gitlab-org/gitlab@75e3b9768d5000e725544d31961233f4ea83e2bf) ([merge request](gitlab-org/gitlab!88142)) +- [Display artifact expired page for TestSuite](gitlab-org/gitlab@54eae5e00e4249bdc759b1b73c68ccdffb102cd7) ([merge request](gitlab-org/gitlab!88281)) +- [Update Gitlab Shell to 14.6.1](gitlab-org/gitlab@8b9b13bd6f05d684318e71459337b91fc2ca80c9) ([merge request](gitlab-org/gitlab!88269)) +- [Add new inactive project deletion section to admin settings](gitlab-org/gitlab@630a24e457d138c7050533c36a5a43136964c880) ([merge request](https://gitlab.com/gitlab-org/gitlab/-/merge_requests/85575)) +- [Add container registry storage type to project storage list](gitlab-org/gitlab@eb8404801cf581b851af407c7f30d392d60eb1c7) ([merge request](gitlab-org/gitlab!86505)) **GitLab Enterprise Edition** +- [Added timelog categories table and model](gitlab-org/gitlab@0c5288b414e51823a9485d2060d3f65c03aeee46) by @zillemarco ([merge request](gitlab-org/gitlab!87529)) +- [TLS support for metrics endpoints (pprof, prometheus)](gitlab-org/gitlab@0ce609aa93246873bf4fb6174efdbbf5f451960a) ([merge request](gitlab-org/gitlab!84449)) +- [Added method to perform api call to get container_registry_size](gitlab-org/gitlab@eed856f4304d5b7e34878a3586cfdb33708d9bc5) ([merge request](gitlab-org/gitlab!86575)) +- [Default `audit_event_streaming_git_operations` to true](gitlab-org/gitlab@5d854497699b1624afaa8cb39705d94f039874d7) ([merge request](gitlab-org/gitlab!88036)) **GitLab Enterprise Edition** +- [Self-managed SAML Group Sync](gitlab-org/gitlab@4b24f0d4baab62b18e2ffd72d1a72390c2fbf2ca) ([merge request](gitlab-org/gitlab!76390)) **GitLab Enterprise Edition** +- [Add epic board list resolver](gitlab-org/gitlab@1ab8525fb5b719a27be56637fa2ed617b92607ce) ([merge request](gitlab-org/gitlab!85581)) **GitLab Enterprise Edition** +- [Add PWA manifest.json](gitlab-org/gitlab@99d1d365b052b84b4b396426b5c1ce0b2163d473) ([merge request](gitlab-org/gitlab!86579)) +- [The batched migrations should enforce requirements](gitlab-org/gitlab@ad09d0573810d02587ee8c55d215be7702258c04) ([merge request](gitlab-org/gitlab!87715)) +- [Support multi-actor args in the feature API](gitlab-org/gitlab@9c85392e667e9de4fc03dc2233133f032196488a) ([merge request](gitlab-org/gitlab!87755)) +- [Feature: dingtalk integration](gitlab-org/gitlab@648f5b395489bd10ce556323357c63f682681054) by @chaomao ([merge request](gitlab-org/gitlab!86894)) +- [Cache namespace traversal path in traversal_ids](gitlab-org/gitlab@e20d490fa8460b496e5cce864261dc7dfb000cb0) ([merge request](gitlab-org/gitlab!65417)) +- [Allow creation of annotated tags with the GraphQL Release API](gitlab-org/gitlab@7c3be0f511505d36d43422ab8af8c486ff901dcb) ([merge request](gitlab-org/gitlab!87593)) +- [Create notes confidential index synchronously](gitlab-org/gitlab@34759cd8b6bca4801953f731a76c7afb43b1b085) ([merge request](gitlab-org/gitlab!87776)) +- [Clean up `pipeline_editor_file_tree` feature flag](gitlab-org/gitlab@310d861ce65d430d31d1d42c25949a9297a1065c) ([merge request](gitlab-org/gitlab!87642)) +- [Removes feature flag :rendered_diffs_viewer](gitlab-org/gitlab@2e9c6a80d301c34b856cb9fba09a6a2a5ad7d8fa) ([merge request](gitlab-org/gitlab!87428)) + +### Fixed (212 changes) + +- [Enable FF ci_variable_for_group_gitlab_deploy_token](gitlab-org/gitlab@fd7b979c04e2fe0a28c76e8039600920b86c4799) ([merge request](gitlab-org/gitlab!90341)) +- [Fix scoped labels bug on group/project issues list](gitlab-org/gitlab@78a96312bb623fed973b931177c7809eb3d03b34) ([merge request](gitlab-org/gitlab!90422)) +- [Allowlist OAuth application redirect URI in CSP](gitlab-org/gitlab@9bf6fffa7b80de4319c611cd09d714a3358bd918) ([merge request](gitlab-org/gitlab!90082)) +- [Update MergeRequestDiffFile#utf8_diff to not call #diff multiple times](gitlab-org/gitlab@8805dd5a38b2f2e6a2c8b0aaa83831d8139a2e0a) ([merge request](gitlab-org/gitlab!90372)) +- [Validation for author during release creation](gitlab-org/gitlab@ff7f6b4cff61068d36a440fc386dfa1104a15999) ([merge request](gitlab-org/gitlab!89694)) +- [Bump Gitlab Shell version to v14.7.4](gitlab-org/gitlab@db131b6561c1a7f220e5a96025bb4d28a54e2de6) ([merge request](gitlab-org/gitlab!90336)) +- [Send only group namespace with Owner role](gitlab-org/gitlab@ce2f6f04b780582ca7af948e94acee8c2fdc8e87) ([merge request](https://gitlab.com/gitlab-org/gitlab/-/merge_requests/89791)) **GitLab Enterprise Edition** +- [Do not double escape release tags with slashes in release URL](gitlab-org/gitlab@32a518ce0221c799e359cfcb02b0ccbec4068416) ([merge request](gitlab-org/gitlab!90066)) +- [Fix code block language related issues](gitlab-org/gitlab@ecc92822e2f38a08ede9f8378f4fb2be1d9dc781) ([merge request](gitlab-org/gitlab!90121)) +- [Move "Create an MR" test to different line](gitlab-org/gitlab@e226cbfe4f748e96ee4a8de9fd1f2f01c91ae93b) ([merge request](gitlab-org/gitlab!87597)) **GitLab Enterprise Edition** +- [Add PipelineReplicator and handle pipeline ref created event](gitlab-org/gitlab@67d953dc72b28eb7a0adb8cd8d631b443ac39113) ([merge request](gitlab-org/gitlab!90020)) **GitLab Enterprise Edition** +- [OCI image fix: UI representation and Geo replication](gitlab-org/gitlab@e463a2ff0e77a62505bdcdeb32cdcbd603a3f8a2) ([merge request](gitlab-org/gitlab!89423)) **GitLab Enterprise Edition** +- [Stop Wiki clone when Wiki is disabled](gitlab-org/gitlab@4283746065416e10539528ce9a34ea93817d6a17) ([merge request](gitlab-org/gitlab!89609)) +- [Make sure there is a separator between commits](gitlab-org/gitlab@dc01ea1a1fd6b571f8fc5b399d3eeaa96f2aa458) ([merge request](gitlab-org/gitlab!90174)) +- [Fix sticky position in project compare and commits](gitlab-org/gitlab@88cf7f398202b0949b41f489cc4f01a2754d96e9) ([merge request](gitlab-org/gitlab!90126)) +- [Disable project_key validation for inactive Jira integrations](gitlab-org/gitlab@08eb462f525f6f8c56d4225443043409674d827f) ([merge request](gitlab-org/gitlab!90009)) +- [Move checks from mergeable to mergeable_state?](gitlab-org/gitlab@b55e09c6c8f79f24537c2ed07fa7e223c3f7180e) ([merge request](gitlab-org/gitlab!86515)) +- [Fixes line mapping for ipynb diffs](gitlab-org/gitlab@56781c710a73c4da2b5c255bc6445faa4d940dc1) ([merge request](gitlab-org/gitlab!90094)) +- [Do not mark generic vulnerabilities as "resolved on default branch"](gitlab-org/gitlab@e046fe88319a0444d23404f7d32e357fe3e0e06e) ([merge request](gitlab-org/gitlab!90156)) **GitLab Enterprise Edition** +- [Group Projects settings width does not respect fixed width](gitlab-org/gitlab@0c12fa4e38ee783a08ec9a6855a157f9c966b418) ([merge request](gitlab-org/gitlab!90149)) +- [Group Repository Settings does not respect fixed with setting](gitlab-org/gitlab@c56ecfd989028836ed87074e457427e0dc1ed8ca) ([merge request](gitlab-org/gitlab!90147)) +- [Override HLJS selectors from Sourcegraph](gitlab-org/gitlab@6e39515615a9ca5a6d97372baea080c7f1b1d99b) ([merge request](gitlab-org/gitlab!90138)) +- [Adding with_lock_retries to the gitlab:db:lock_writes rake task](gitlab-org/gitlab@4a45bfeb1f50e684654a3921579423ff0f3413ab) ([merge request](gitlab-org/gitlab!90117)) +- [Fix middle click on todos](gitlab-org/gitlab@9fa527b993e2a5b5dd022f27de8bc8752e0006bf) ([merge request](gitlab-org/gitlab!86732)) +- [Fix static translations in integrations](gitlab-org/gitlab@84c9093b05e1bef381ee5c131dbcf93a3dd87e1f) ([merge request](gitlab-org/gitlab!89833)) +- [Improve scrolling tabs](gitlab-org/gitlab@f35646fd1150b3842b6bfcd1d247b4602f835fa8) ([merge request](gitlab-org/gitlab!90033)) +- [Translate quick action's messages](gitlab-org/gitlab@e974be6acab950999c25b3396a51367b0bd7d5a4) ([merge request](gitlab-org/gitlab!90010)) +- [Add missing padding to confirmation email login box](gitlab-org/gitlab@0126e8f4369b3b9fb706ce14f3ff05ae3d652f49) ([merge request](gitlab-org/gitlab!90047)) +- [Fix themes in code blocks in content editor](gitlab-org/gitlab@1b2c919673c1b4d0bb505977b9c18eb60a656f67) ([merge request](gitlab-org/gitlab!89527)) +- [Preserve language when retrieving cached security training urls](gitlab-org/gitlab@95de5aa91185da7f781ece4ec72ee3bd82d4d28f) ([merge request](gitlab-org/gitlab!89993)) **GitLab Enterprise Edition** +- [Prevent frozen modification in email encoding patch](gitlab-org/gitlab@561e0e916c05a292b43ac507347997b914569fb7) ([merge request](gitlab-org/gitlab!89773)) +- [Include release authors during Github imports](gitlab-org/gitlab@c3fa27d9a551e14a6a996bb81ecf1712d127fee6) ([merge request](gitlab-org/gitlab!89692)) +- [Refetch subscription after removing a user](gitlab-org/gitlab@22a4f74eccb47e45f2322e2cd2917a8ed53b763a) ([merge request](gitlab-org/gitlab!89618)) **GitLab Enterprise Edition** +- [Display sec training configu with license helper](gitlab-org/gitlab@822df64e09ed18b77066c90ce68bb464f54e5850) ([merge request](gitlab-org/gitlab!89503)) +- [Update workhorse local path for Issuable metrics](gitlab-org/gitlab@16095343d0d50a07780cd8a5afc376855e3acbf2) ([merge request](gitlab-org/gitlab!89983)) +- [Take into account for the default merge request template](gitlab-org/gitlab@341d7e0013cdc1a4a5533ac76f826ccdc35ba573) ([merge request](gitlab-org/gitlab!89107)) +- [Fix alignment of action button icons in mini pipelines](gitlab-org/gitlab@1ac1c52b2fe2720e3a944b79e4d51c9fb7e1b3f5) ([merge request](gitlab-org/gitlab!89948)) +- [Always pass current_user to project search results](gitlab-org/gitlab@2c495db564d66a54e7f3098ab57d8ebadb7bec2e) ([merge request](gitlab-org/gitlab!88692)) **GitLab Enterprise Edition** +- [Forward invalid feedback prop on EE invite modal](gitlab-org/gitlab@cef19c97aea817b017e81eba602338c86b45d593) ([merge request](gitlab-org/gitlab!89036)) **GitLab Enterprise Edition** +- [Geo: Fix JobArtifact verification when object storage is used](gitlab-org/gitlab@efce9d7faa0716e8ec78290d77530bbe7d784f8e) ([merge request](gitlab-org/gitlab!88044)) +- [Fix alignment of delete button on linked items](gitlab-org/gitlab@468a49f8ca6397b8dd5fca5756c4de234627abe1) ([merge request](gitlab-org/gitlab!89828)) +- [Remove captcha check GET endpoint](gitlab-org/gitlab@8ccc5af33e43bf631ba85c331c120497218ad832) ([merge request](gitlab-org/gitlab!89431)) **GitLab Enterprise Edition** +- [Fix UTF-8 conversion in reply parser](gitlab-org/gitlab@232b280609993d7279e58ce57dab6e474d723e28) ([merge request](gitlab-org/gitlab!89302)) +- [Improve design loading state](gitlab-org/gitlab@aeb7b84652af0697d524f263c05e264a0ce00701) by @leetickett ([merge request](gitlab-org/gitlab!88962)) +- [Fix a bug in MergeRequests::UpdateService](gitlab-org/gitlab@6db92be1cdc027f3a3d986779e29acdfe37d18c1) ([merge request](gitlab-org/gitlab!89729)) +- [Remove unused ci_job_artifact_states_job_artifact_id_seq](gitlab-org/gitlab@a09c7069745f4382522012a23d50d7c537e40f62) ([merge request](gitlab-org/gitlab!89412)) +- [Fix iteration reports with cadence rollover](gitlab-org/gitlab@9629113609f57d267c336f03ffefd79f558c32aa) ([merge request](gitlab-org/gitlab!89476)) **GitLab Enterprise Edition** +- [Propagate scan result rules related attributes](gitlab-org/gitlab@4fe675f8f4ee065eb41ebcd385317e57b75f53ec) ([merge request](gitlab-org/gitlab!89143)) **GitLab Enterprise Edition** +- [Use loose foreign key for deployment_clusters.cluster_id](gitlab-org/gitlab@a3e8a1a6a4b6b83416577a48ea877797d1275566) ([merge request](gitlab-org/gitlab!89686)) +- [Fixing SlidingListStrategy default value of the partitioning column](gitlab-org/gitlab@8b36a3da1b0c167a6f9cebe9585a50e650a8895c) ([merge request](gitlab-org/gitlab!85222)) +- [Properly handle the PG::ReadOnlySqlTransaction error](gitlab-org/gitlab@63ce072f16125830114ef8b6f3f05317f8e6785b) ([merge request](gitlab-org/gitlab!89696)) +- [Fix API Security registry name in DAST On Demand API template](gitlab-org/gitlab@823a4069e44941c9890e7d2d464c452e9ef28e19) ([merge request](gitlab-org/gitlab!88880)) **GitLab Enterprise Edition** +- [Fix API Security registry name in Secure Binaries template](gitlab-org/gitlab@ce46b7f930c9e63162b2bbfc03c437513829b4ed) ([merge request](gitlab-org/gitlab!88079)) **GitLab Enterprise Edition** +- [Correctly display MR analytics Avg and Max values](gitlab-org/gitlab@390bb116c1fd6a7667c13b8259aeef1cc1c78bed) ([merge request](gitlab-org/gitlab!88507)) **GitLab Enterprise Edition** +- [Remove unused ci_pipelines_config_pipeline_id_seq](gitlab-org/gitlab@801cf44b96960c2bc0bdbd593b0a10c602ec0909) ([merge request](gitlab-org/gitlab!89397)) +- [Fix `source_project` for `Ci::Sources::Project`](gitlab-org/gitlab@812d42871a7a66849a2294a2f62558b4f9625c86) ([merge request](gitlab-org/gitlab!88291)) **GitLab Enterprise Edition** +- [Hide /remove_contacts if issue has no contacts](gitlab-org/gitlab@b46952322e18b4b5cca3b8cb52edb959f6bb92cb) by @leetickett ([merge request](gitlab-org/gitlab!89613)) +- [Do not use custom SVG logo for email header](gitlab-org/gitlab@d524327e868987f4118ab0d847bd44b3db021731) ([merge request](gitlab-org/gitlab!88868)) +- [Fix artifact downloads on Security tab](gitlab-org/gitlab@fa02a82ca3f949d83745e305273659d961fb9edc) ([merge request](gitlab-org/gitlab!89217)) **GitLab Enterprise Edition** +- [Add support for sentry request with no content-type](gitlab-org/gitlab@74e47d4959895cf4096992fcd4ea96b1156e009e) by @leetickett ([merge request](gitlab-org/gitlab!88516)) +- [Removed component destroy on mouseout](gitlab-org/gitlab@2f868468ed8636d538686e9ff02b19d98db4dc9e) ([merge request](gitlab-org/gitlab!89398)) +- [Respect namespace for phabricator importer](gitlab-org/gitlab@d6f726029aa536e4db0481c932317b7d72e0a192) ([merge request](gitlab-org/gitlab!89596)) +- [Respect namespace for manifest importer](gitlab-org/gitlab@ac0bcdb44f0961911ccd4a6b06cd4482bf7d56a5) ([merge request](gitlab-org/gitlab!89595)) +- [Use loose foreign key for deployments.cluster_id](gitlab-org/gitlab@a621be6a352d002b7d89723c8929830afbfd198a) ([merge request](gitlab-org/gitlab!88887)) +- [Allow OPTIONS method for OAuth2 token endpoints](gitlab-org/gitlab@94f9593d0d674b7f253f3da9fa47e94bad3f1620) ([merge request](gitlab-org/gitlab!89566)) +- [Update search data when :issues_full_text_search is enabled](gitlab-org/gitlab@405f2585f13b32436cd54e70db50859a362b8012) ([merge request](gitlab-org/gitlab!89261)) +- [Use header logo for merge request emails](gitlab-org/gitlab@447132a3ad940a6b4ddef24b9d86dc47aae01fce) by @wwwjon ([merge request](gitlab-org/gitlab!89554)) +- [Exclude Requirements & Test Cases from Issues list](gitlab-org/gitlab@d2b9657fbaa7749e2b129305373862ec22833d6e) ([merge request](gitlab-org/gitlab!89411)) **GitLab Enterprise Edition** +- [Update pipeline mini graph border](gitlab-org/gitlab@e93fb0d5e1b11ac293b89185ae0003e4e5d7a11d) ([merge request](gitlab-org/gitlab!88958)) +- [Add timestamp columns to VSA aggregated RecordsFetcher](gitlab-org/gitlab@4791a18a7739bc8bded347591149cc7bce0f9c0d) ([merge request](gitlab-org/gitlab!89529)) +- [Fix button height on group issues list page](gitlab-org/gitlab@52065cc5761d4423d29b4b6e176aa056121b6dcd) ([merge request](gitlab-org/gitlab!89448)) +- [Default to the current group when importing from gitea](gitlab-org/gitlab@7fd7db4d44c9bdbe2d041a5ad512c7a8bea6e1f4) ([merge request](gitlab-org/gitlab!89525)) +- [Only transition environment to stopped once stop action has succeeded](gitlab-org/gitlab@e56ee58155ad7d9cc50b5103ba9702a35366c212) ([merge request](gitlab-org/gitlab!89253)) +- [Update LFS objects export to not fail if file on disk is missing](gitlab-org/gitlab@77986a562eed4822da65c84c7f926dbafb065ca0) ([merge request](gitlab-org/gitlab!89234)) +- [Fix `gitlab:db:validate_config` to store `db_config_name` of a database](gitlab-org/gitlab@5645bba998130284eef59e28b1d8477e6ec2cd67) ([merge request](gitlab-org/gitlab!89394)) +- [Fix namespace_id being lost for github import](gitlab-org/gitlab@e101a13c065f0702fb5506e116258cada9aa6fca) ([merge request](gitlab-org/gitlab!89483)) +- [Fix rewriting epic in Issues move service](gitlab-org/gitlab@2afc137b7c5b9771cc31cd90029344c96f375d1a) ([merge request](gitlab-org/gitlab!89251)) **GitLab Enterprise Edition** +- [Provide project path to refetched Terraform state GraphQL queries](gitlab-org/gitlab@3acb61e7127a54dce2091bc54df310bdd634c679) ([merge request](gitlab-org/gitlab!87636)) +- [Use DAST_API_EXCLUDE_URLS with DAST API on-demand scans](gitlab-org/gitlab@d18e157927bae7e8fedc72e46ed5fc3222cc1854) ([merge request](gitlab-org/gitlab!89270)) **GitLab Enterprise Edition** +- [Close Epic Label dropdown when clicking on header X](gitlab-org/gitlab@bee1c373c33c4d0ef0034fa261cb3da9f4138f44) by @espadav8 ([merge request](gitlab-org/gitlab!89408)) +- [DeactivateDormantUsersWorker will not deactivate recently created users](gitlab-org/gitlab@94a67c3908e21998d1ce722ca7daf0aff19d4280) ([merge request](gitlab-org/gitlab!89404)) +- [Remove unused ci_build_report_results_build_id_seq](gitlab-org/gitlab@0bd646e7948c710547a30eb74ae2dd78bd046019) ([merge request](gitlab-org/gitlab!89228)) +- [Prevented issues designs reordering when on mobile](gitlab-org/gitlab@e209690ce1132c4ac3d4fdc7975d2291c4362c61) by @zillemarco ([merge request](gitlab-org/gitlab!89161)) +- [Fix MR title link styles](gitlab-org/gitlab@5e8afe7a618d228e0055d350b7e32e2e1ea3e2a0) ([merge request](gitlab-org/gitlab!89381)) +- [Convert captcha check endpoint to POST request](gitlab-org/gitlab@da851f67eb047a9434130a46f34e782589bccaea) ([merge request](gitlab-org/gitlab!88966)) **GitLab Enterprise Edition** +- [Retain top level group default membership with SAML Group Sync](gitlab-org/gitlab@8e33028fe15aa6531441d1a5f61b664f50988a4f) ([merge request](gitlab-org/gitlab!88064)) **GitLab Enterprise Edition** +- [Enable FF ci_fix_rules_if_comparison_with_regexp_variable by default](gitlab-org/gitlab@01fd27c48b0b9517ba6a952a5ffdeaace275a6ea) ([merge request](gitlab-org/gitlab!89268)) +- [Add auditor access for group wiki](gitlab-org/gitlab@62da632f19acd2e536cebcf32fe1b388ddfdaf76) ([merge request](gitlab-org/gitlab!89309)) **GitLab Enterprise Edition** +- [Add GitLab agent image tag to install command](gitlab-org/gitlab@b6dc0f5df1248b8fd057722591af3bca94037487) ([merge request](gitlab-org/gitlab!88188)) +- [Guard email receiver from empty From and To fields](gitlab-org/gitlab@e054800ae67311d28693076a115264669e823f05) ([merge request](gitlab-org/gitlab!89296)) +- [Allow public terraform modules to anonymous users](gitlab-org/gitlab@dd04e1d03e3bd8153819bc8a4fc696401e639266) ([merge request](gitlab-org/gitlab!89284)) +- [Fix error when creating Policy Schedule with invalid cron expression](gitlab-org/gitlab@3c6e40074436b4af8db9d169666fdd0c9f938b0c) ([merge request](gitlab-org/gitlab!88878)) **GitLab Enterprise Edition** +- [Show manual actions from matching environments on environment page](gitlab-org/gitlab@2de53fe8fc42d6f3d290b6645987cb79ba7f3b79) ([merge request](gitlab-org/gitlab!89249)) +- [Add auditor access for on call schedules](gitlab-org/gitlab@4b4728a66d70691e78fb61e48308ab5883614d6e) ([merge request](gitlab-org/gitlab!88505)) **GitLab Enterprise Edition** +- [Do not aggregate TestReport when using matrix job](gitlab-org/gitlab@569c07ddec2f937e4a4e536cfca91462b0741668) ([merge request](gitlab-org/gitlab!87784)) +- [Fix 404 when purchasing storage from a subgroup](gitlab-org/gitlab@0db0aa83b1eb0e2567102c181713ccf88a3984ae) ([merge request](gitlab-org/gitlab!88684)) **GitLab Enterprise Edition** +- [Fix 404 when purchasing storage from a subgroup](gitlab-org/gitlab@668b4d20d17a0ab78e8027343f817c1a3f23ee96) ([merge request](gitlab-org/gitlab!88684)) **GitLab Enterprise Edition** +- [Fix 404 when purchasing storage from a subgroup](gitlab-org/gitlab@4348bdca132dcfb8988e845fb2a163160a629912) ([merge request](gitlab-org/gitlab!88684)) **GitLab Enterprise Edition** +- [Fix 404 when purchasing storage from a subgroup](gitlab-org/gitlab@df60b9e5f60fb4f10cd33509fbcd85e0c2cb9ac4) ([merge request](gitlab-org/gitlab!88684)) **GitLab Enterprise Edition** +- [Fix 404 when purchasing storage from a subgroup](gitlab-org/gitlab@ebb593f91fcc7f6a2336a3b0ad478aa68483f41f) ([merge request](gitlab-org/gitlab!88684)) **GitLab Enterprise Edition** +- [Fix 404 when purchasing storage from a subgroup](gitlab-org/gitlab@86e899e69883938c82da407f3ccfe50bd6264a10) ([merge request](gitlab-org/gitlab!88684)) **GitLab Enterprise Edition** +- [Fix incorrect open issue count in project sidebar](gitlab-org/gitlab@6975822909273d04c89cd537df4fa28d62a2f236) ([merge request](gitlab-org/gitlab!89118)) **GitLab Enterprise Edition** +- [Update deployment status when a build fails due to data integrity](gitlab-org/gitlab@03e86ff06041c5fcf504d191b3c24e417333d818) ([merge request](gitlab-org/gitlab!88963)) +- [Do not allow last human owner to leave](gitlab-org/gitlab@68f47991caaa45a85d14c8dd94b5d9f5e9061e55) ([merge request](gitlab-org/gitlab!88989)) +- [Disconnect alternates when unlinking from a repository pool](gitlab-org/gitlab@843077e4c5a252d07b03a768063834f2cb0bec34) ([merge request](gitlab-org/gitlab!89195)) +- [Clean up Terraform state files on deletion](gitlab-org/gitlab@c6b66ef7198b257a52a87a087ea249e980c26f76) ([merge request](gitlab-org/gitlab!88496)) +- [Fix linked pipeline expand cutoff on focus](gitlab-org/gitlab@16e5550bc92b952aac83fff50d67fdf6e5e13d5b) ([merge request](gitlab-org/gitlab!89135)) +- [Always destroy webhooks synchronously](gitlab-org/gitlab@ab64c3492a415cf1d3ce2782f0e792081c9667ea) ([merge request](gitlab-org/gitlab!88074)) +- [Fix vulnerability report project filter loading icon](gitlab-org/gitlab@de5fa5cd47137f590b5ff6dbebf390de1b683e98) ([merge request](https://gitlab.com/gitlab-org/gitlab/-/merge_requests/88649)) **GitLab Enterprise Edition** +- [Add Cancel buttons to CSV import and export modals](gitlab-org/gitlab@66c14aecbb48407a6f78f7342e943738a64f7026) ([merge request](gitlab-org/gitlab!88661)) +- [Fix 500 on issues list page](gitlab-org/gitlab@419ce00f9312d91fe5d3560224f8ee98f7c11b57) ([merge request](gitlab-org/gitlab!88656)) +- [Add !reference support for workflow keyword](gitlab-org/gitlab@b392b2ffdb6b963e194373c3fa8c0c9a1bfb9066) ([merge request](gitlab-org/gitlab!89052)) +- [New Issue: Fix description label alignment](gitlab-org/gitlab@6af5d67fd6dc412ad214001ce03c8ba1869f4c83) ([merge request](gitlab-org/gitlab!89037)) +- [Fix deployment chat notifications for tags](gitlab-org/gitlab@4ee56f86b97e0b00e96264055e5ea8aa853dd9b1) by @rstxn ([merge request](gitlab-org/gitlab!88002)) +- [Fix merge_request should_remove_source_branch](gitlab-org/gitlab@3579696d2883bbf3c1739c60b0d1a34a9a5a049f) by @guillaume.chauvel ([merge request](gitlab-org/gitlab!84229)) +- [Make Plain diff button downloadable](gitlab-org/gitlab@c1075ede83192aa0ac52e18485aeedddb5a50891) ([merge request](gitlab-org/gitlab!89031)) +- [Improve comemnts discussion header](gitlab-org/gitlab@3a113eb89933771d078bad1be91fd113ad3477ba) ([merge request](gitlab-org/gitlab!88406)) +- [Fix 500 error for CompareController](gitlab-org/gitlab@18fe3c35eeaf351bf4f3594faa278812698a83d5) ([merge request](gitlab-org/gitlab!88841)) +- [Fix vanishing design versions](gitlab-org/gitlab@65730738dd5ddcbc0b164d3d093873c532828f8e) by @leetickett ([merge request](gitlab-org/gitlab!88998)) +- [Upgrade fog-aws to v3.14.0](gitlab-org/gitlab@ecfcc5027c13befb10fa13a682d810261a56d3e0) by @hchouraria ([merge request](gitlab-org/gitlab!88987)) +- [Dismiss file tree popover when clicking outside the element](gitlab-org/gitlab@6c02842c6ab6bc5eb7a5c0ce0ce3e66298de32a9) ([merge request](gitlab-org/gitlab!88620)) +- [Hide commit form based on pipeline editor path's tab query param](gitlab-org/gitlab@31b94c6c98709eb555afcf6df98a4dd786df9684) ([merge request](gitlab-org/gitlab!88638)) +- [Prevent project maintainers from approving Owner access requests](gitlab-org/gitlab@58add0e4574666dbb6d15f5a6d55ffcadff1ddc1) ([merge request](gitlab-org/gitlab!88492)) +- [Add btn-link class back](gitlab-org/gitlab@c61971338b221c476f2281922598843a7c4e4dac) ([merge request](gitlab-org/gitlab!88967)) +- [Correct project coverage graph dates on x axis](gitlab-org/gitlab@810af3d07eea0351e5ae5da4ca5d7616594e4085) ([merge request](gitlab-org/gitlab!88365)) +- [Add support for the !reference tag in CI schema](gitlab-org/gitlab@c22ace7e30203c34c0010bd06c5533ccc1d02d6f) ([merge request](gitlab-org/gitlab!87826)) +- [Address ux quota problems](gitlab-org/gitlab@00c9c77e5aec5b71971671a64c5a104c0a1720a3) ([merge request](gitlab-org/gitlab!88148)) **GitLab Enterprise Edition** +- [Change page titles from h3 to h1 to be semantically correct](gitlab-org/gitlab@4bb0a1150bc01d9cde35669599d4221db5ea4812) ([merge request](gitlab-org/gitlab!88534)) +- [Fix epics list bulk editing by using intersection](gitlab-org/gitlab@3e9183b1a4149a981fb477cbc38847f657e47beb) ([merge request](gitlab-org/gitlab!88138)) **GitLab Enterprise Edition** +- [Do not store security scans for already purged pipelines](gitlab-org/gitlab@40aab13dfa6301dea73fa08632181a488bdf5d67) ([merge request](gitlab-org/gitlab!88412)) **GitLab Enterprise Edition** +- [Update binary button links platform changes](gitlab-org/gitlab@0b126277392db51e8d4af3c18cc79366bdfc923c) ([merge request](gitlab-org/gitlab!88849)) +- [Fixed mis-aligment of expanded header-search-bar](gitlab-org/gitlab@aa18da9e6095646f0a5f9c58751e6ad12edacaa8) ([merge request](gitlab-org/gitlab!88447)) +- [Fix Advanced Search Opensearch detection](gitlab-org/gitlab@0bdb776dfc1e21a399003a060e99d1bef06b9a6f) ([merge request](gitlab-org/gitlab!88840)) **GitLab Enterprise Edition** +- [Use #persisted_environment for agent impersonation](gitlab-org/gitlab@2036d4cd422de59de3840d574bf8d772ae10a1e1) ([merge request](gitlab-org/gitlab!88666)) +- [Do not allow mailers to be enqueued from within a transaction](gitlab-org/gitlab@d030ee88c401660582e8efb903b3ee3fe851005b) ([merge request](gitlab-org/gitlab!88632)) +- [Use live preview extension no matter the first file opened](gitlab-org/gitlab@c14321167fda3a850529485cee255f6df5fda78c) ([merge request](gitlab-org/gitlab!88560)) +- [Fix NoMethodError in Integrations::Prometheus#test](gitlab-org/gitlab@95d765eac29ecdfdb48185c9feade7266f74d706) by @moofkit ([merge request](gitlab-org/gitlab!87618)) +- [Fix routing for /info/refs](gitlab-org/gitlab@43f0c7f202f2523b0c550512ed73118ea2f33d1d) ([merge request](gitlab-org/gitlab!88583)) +- [Resolve issues emoji selector missing focus border](gitlab-org/gitlab@bc5ea26b535a15fec20d05929524afc6d25befaf) ([merge request](gitlab-org/gitlab!88857)) +- [Add JobArtifactCreatedAt to build_artifacts_size_refresh table](gitlab-org/gitlab@71918b9eb9efdb23ae71279b4c47db1930e3d24a) ([merge request](gitlab-org/gitlab!88129)) +- [Prevent project maintainers from creating Owner access tokens](gitlab-org/gitlab@8b2e362dad4a0e70bf03e685d9bcdc96051ba602) ([merge request](gitlab-org/gitlab!88508)) +- [Separate query params for Members and Groups](gitlab-org/gitlab@e8389200bc07612388c637082aaa2e93b46cae35) by @wwwjon ([merge request](gitlab-org/gitlab!88114)) +- [Set timestamps correctly when propagating](gitlab-org/gitlab@3e9cb0f43010e007ba9315287b16d4b061efe188) ([merge request](gitlab-org/gitlab!87628)) +- [Patch ActiveRecord::Generators::Migration#configured_migrated_path](gitlab-org/gitlab@749b77fa5cd2a75aed5d145f3e268fc9bbc58183) ([merge request](gitlab-org/gitlab!88351)) **GitLab Enterprise Edition** +- [Geo: Mark object stored as verification disabled](gitlab-org/gitlab@6b7a110ddabc0b6cf101a3f8d3f2398f81909ffb) ([merge request](gitlab-org/gitlab!87034)) **GitLab Enterprise Edition** +- [Update BulkImports to handle empty relation status responses](gitlab-org/gitlab@a30ed3906c9983f3d45a3ec102842b34c6c4fb22) ([merge request](gitlab-org/gitlab!88019)) +- [Fix mail notifications not being sent when requesting access](gitlab-org/gitlab@cbff6afdd1015c2c93906b925e11ed8ce2f58d9f) ([merge request](gitlab-org/gitlab!88396)) +- [Include inherited owners in User#solo_owned_groups](gitlab-org/gitlab@51e2047e9fb69db106e7c240a550fd1ffede48c1) ([merge request](gitlab-org/gitlab!88486)) +- [Fixes forgotten base class](gitlab-org/gitlab@ca7b9d7c15cbfa1d1eb56cc6f3e8b07eb80f7854) ([merge request](gitlab-org/gitlab!88611)) +- [Prevent project maintainers from creating or modifying Project Owners](gitlab-org/gitlab@71d6bb2a7384f2b12f788e1fb76e32d64c667a78) ([merge request](gitlab-org/gitlab!88415)) +- [Fix bug on Pipeline#has_expired_test_reports?](gitlab-org/gitlab@d3102ee5e6d52d33dd88dcac3628ad15b395e0e6) ([merge request](gitlab-org/gitlab!88622)) +- [Fix project packages and registries menu active state](gitlab-org/gitlab@beffb6852098c960b2e5922ebbd634847f9bbf80) ([merge request](gitlab-org/gitlab!88561)) +- [Lower session expiry when user is unauthenticated](gitlab-org/gitlab@cf722b0bdf74a90040dfe2cf5732bca0c26c694b) ([merge request](gitlab-org/gitlab!88514)) +- [Guard clause for no external destinations](gitlab-org/gitlab@2fbc829322d80f38f007804cafba9260b0c0cfcf) ([merge request](gitlab-org/gitlab!87515)) **GitLab Enterprise Edition** +- [Skip orphaned pool repositories even when there's a fork network](gitlab-org/gitlab@1d78e2f772f50de6925dc1e102f7bed9056deb26) ([merge request](gitlab-org/gitlab!88502)) +- [Add spacing between threat monitoring breadcrumb and policy section](gitlab-org/gitlab@060c0de8ce63827202f178839226fe3af0df0600) ([merge request](gitlab-org/gitlab!88410)) **GitLab Enterprise Edition** +- [Allow references to scoped labels by title](gitlab-org/gitlab@b0ba09a3404e2cc061fc4d65efcfa2355df56b5c) ([merge request](gitlab-org/gitlab!88185)) +- [Fix Emoji picker button background in highlighted comment](gitlab-org/gitlab@6e9bea3ae77d164167b3c748ca08465e443455cd) ([merge request](gitlab-org/gitlab!88439)) +- [Merge branch 'fix-last-pipeline-fecth-in-web-ide' into 'master'](gitlab-org/gitlab@c3cc3e22a40bbddfc50d01cde085ec895c6dcb31) ([merge request](gitlab-org/gitlab!86242)) +- [Ensure last pipeline is fetched on render of Web IDE status bar](gitlab-org/gitlab@236294fc610a45139550e438f95e38789239ee8b) ([merge request](gitlab-org/gitlab!86242)) +- [Drop defunct unique namespaces name index](gitlab-org/gitlab@84443d9dbb67e3419610b52c17ba59a1bc1e8ad8) ([merge request](gitlab-org/gitlab!88099)) +- [Fix issue description list item styling](gitlab-org/gitlab@2d6f18894def1112abb2a4f95e83ae2493e17f7a) ([merge request](gitlab-org/gitlab!88423)) +- [Improve design consistency of buttons in some modals](gitlab-org/gitlab@5a43567268d59b2c2f9c186b7fc1b3ccc2b92767) ([merge request](gitlab-org/gitlab!87415)) +- [Fix overflow on comments](gitlab-org/gitlab@5119bad66cf43e11989e104a67b65e804f8c0bb7) ([merge request](gitlab-org/gitlab!87645)) +- [Don't fail extension API getter](gitlab-org/gitlab@d628fc2aadbb53731248bbd6314c7cfb23ce7f1e) ([merge request](gitlab-org/gitlab!88388)) +- [Align DAST Site Token URL validation](gitlab-org/gitlab@40ae54ee3d4027058c20bcb7182aeb5ec5649a6c) ([merge request](https://gitlab.com/gitlab-org/gitlab/-/merge_requests/88246)) **GitLab Enterprise Edition** +- [Add auditor access for dependency proxy](gitlab-org/gitlab@26d57d5eb3be753f9578b3396c060fdae1e29621) ([merge request](gitlab-org/gitlab!88096)) **GitLab Enterprise Edition** +- [Sets Gon variables in response to requests with invalid reCAPTCHA](gitlab-org/gitlab@374260229a384f5acbb580ea6f78e1bce23bd74b) ([merge request](gitlab-org/gitlab!88078)) +- [Fix 2-factor QR code on small screens](gitlab-org/gitlab@f838279bc4a2a28be3d6b60322421f0bdd738fb5) ([merge request](gitlab-org/gitlab!88111)) +- [Fix padding regression for SAML SSO sign in](gitlab-org/gitlab@05a305afd45b4027774727eef71a2b16a7cc6a03) ([merge request](gitlab-org/gitlab!87956)) **GitLab Enterprise Edition** +- [Fix SFE commit message focus](gitlab-org/gitlab@34e4b709fa4b0a1b6e623658554fb189e1ee3402) ([merge request](gitlab-org/gitlab!88289)) +- [Fix drag and drop issue description list item bugs](gitlab-org/gitlab@da18e755dd51df6615e6c2af614ba02acffe695d) ([merge request](gitlab-org/gitlab!87904)) +- [Fix REST runner API status filter documentation](gitlab-org/gitlab@c1c3a832e93c4ddfd0321d325cc5867a1150d000) ([merge request](gitlab-org/gitlab!88286)) +- [Fix inconsistent focus on comment field](gitlab-org/gitlab@6540376e43db100c98d0a1271566a11c9cd0f94d) ([merge request](gitlab-org/gitlab!88287)) +- [Added check for GraphQL ID on popover](gitlab-org/gitlab@a2f5b6bd73ad55f7f7fa2003f2efecd13004e7bf) ([merge request](gitlab-org/gitlab!88274)) +- [Fix focus ring for linked issues input field](gitlab-org/gitlab@3e9e1a3f23f8e43289d75776b6d69a21f90304e1) ([merge request](gitlab-org/gitlab!88270)) +- [Remove streams tab from subgroups audit events UI](gitlab-org/gitlab@70dfc61642260d5a26ec115f6a0583e4f5b68172) ([merge request](https://gitlab.com/gitlab-org/gitlab/-/merge_requests/88154)) **GitLab Enterprise Edition** +- [Set MailRoom's postback request content type to text/plain](gitlab-org/gitlab@5fa223c8eec2182c5301230ad46ea3ccc95f142e) ([merge request](gitlab-org/gitlab!88253)) +- [Update account deletion instructions](gitlab-org/gitlab@d3adc509768fc28735fc8b8042a76700395d3e22) ([merge request](gitlab-org/gitlab!87444)) +- [Remove superfluous whitespace in link to pipeline](gitlab-org/gitlab@1060da79f0f4c16d3b37228ba7a4a45d9cbbe23c) by @KevSlashNull ([merge request](gitlab-org/gitlab!88225)) +- [Highlight active CRM page in navigation menu](gitlab-org/gitlab@f012df6d9a0530c770fcfeb5e73ca41f7eb5986f) by @leetickett ([merge request](gitlab-org/gitlab!88222)) +- [Fix vertical alignemnt of comment icons](gitlab-org/gitlab@fe05eb826a9217844b9d037f6986a2513fa42e98) ([merge request](gitlab-org/gitlab!88149)) +- [docs: Use clear deprecation/removal as examples](gitlab-org/gitlab@d4c1310ca58ed27df14330878299076d2bed4c1c) by @tnir ([merge request](gitlab-org/gitlab!88133)) +- [Hide a dropdown tooltip when toggling](gitlab-org/gitlab@b2a8c27f65aea74f4da1fedee0d8a10f955dd21e) by @petewaitforletters ([merge request](https://gitlab.com/gitlab-org/gitlab/-/merge_requests/86294)) +- [Fix focus overflow on create new label](gitlab-org/gitlab@c85d2243d0e6bf56548b93c0cfa023bee2674a3a) ([merge request](gitlab-org/gitlab!88056)) +- [Delete the duplicate job even in case of errors](gitlab-org/gitlab@88d6d637ae810e6866293ddedd892a72624cbdd2) ([merge request](gitlab-org/gitlab!87700)) +- [docs: Fix DS_DEFAULT_ANALYZERS variable docs](gitlab-org/gitlab@3086525eb28e0395848bc5bf95ec8279b2943017) by @tnir ([merge request](gitlab-org/gitlab!88132)) +- [Fix custom notification settings for releases](gitlab-org/gitlab@eaab08adbb16c6ba497fe482a37f45875aa9e633) ([merge request](gitlab-org/gitlab!88040)) +- [gitaly_client: Fix handling of custom hook errors in UserMergeBranch](gitlab-org/gitlab@61af55500d8dd502ab1fe88b1fee978b2906d76a) ([merge request](gitlab-org/gitlab!87264)) +- [Remove existing repository backups when creating a full backup](gitlab-org/gitlab@1932a85962b50bc296bab9a4161f97d72a2f4339) ([merge request](gitlab-org/gitlab!88088)) +- [Fix multiple modals showing when canceling comment in diff](gitlab-org/gitlab@7367d6ab5389680bb71eb057dd83a2c8e909bf54) ([merge request](gitlab-org/gitlab!88077)) +- [Fix references in wiki pages](gitlab-org/gitlab@fff01d8f5681cbc5f28e2c30af6b5ff9f00c098f) ([merge request](https://gitlab.com/gitlab-org/gitlab/-/merge_requests/87611)) +- [Resolve invite member trigger qa selector ambiguity](gitlab-org/gitlab@142e33bb72973cb82ba870a3ac5031d4b88f1be8) ([merge request](gitlab-org/gitlab!88030)) +- [Update test case and MR popover status badges](gitlab-org/gitlab@92a75dabf83c7fc98c3bc5b999f7f0da88412231) ([merge request](gitlab-org/gitlab!87928)) +- [Move LFK scheduling out from EE check](gitlab-org/gitlab@d3e551f73676feb9f8a6c9f73d9543eb5eae1208) ([merge request](gitlab-org/gitlab!87983)) +- [Allow users to reset DAST submit field](gitlab-org/gitlab@b497c45e1f4b136fb268f0fc4f6921d422e31fb7) ([merge request](gitlab-org/gitlab!87916)) **GitLab Enterprise Edition** +- [Fix LabelToken selecting wrong label](gitlab-org/gitlab@dbdeb54225499482b5ebfbc4df7dfea498999e97) ([merge request](gitlab-org/gitlab!87809)) +- [Add support for configuring internal IPs](gitlab-org/gitlab@883a1f80c608677356a88c466be1704bd3d0a947) ([merge request](gitlab-org/gitlab!87579)) +- [Fix fogbugz ignoring target name and group change](gitlab-org/gitlab@c7d208cfb3ee5942cc227320a7e2447e03f46ea2) ([merge request](gitlab-org/gitlab!86627)) +- [Fix duplicate results in MR pipelines resolver](gitlab-org/gitlab@71302dd539d96921e8b65f3bb6d7249d8b2e70bd) ([merge request](gitlab-org/gitlab!87747)) +- [Fix UTF-8 handling issue for internal mailroom endpoint](gitlab-org/gitlab@182b057d0bfd9b5f75cd43c946b25873043f8985) ([merge request](gitlab-org/gitlab!87807)) +- [Hide internal note checkbox on unsupported types](gitlab-org/gitlab@0fa610cefeecee5dd71a654808341d2515732c64) ([merge request](gitlab-org/gitlab!87899)) **GitLab Enterprise Edition** +- [Grant auditor role read-access to policies](gitlab-org/gitlab@8fd973567dbaeaba55dee855e802a06bbfb640df) ([merge request](gitlab-org/gitlab!86350)) **GitLab Enterprise Edition** +- [Fix missing action buttons when editing Requirements](gitlab-org/gitlab@636a3ce380446a7d8329983d7931730f723806ae) ([merge request](gitlab-org/gitlab!87868)) +- [Sanitize user input on the harbor registry list page](gitlab-org/gitlab@174b12879e9b1975bc6e56f53446c36afa0a631f) by @orozot ([merge request](gitlab-org/gitlab!87455)) +- [Cleanup backup staging files on failure](gitlab-org/gitlab@a25f90cb7e7e93ae02c59d9231a30454b46bd5c6) ([merge request](gitlab-org/gitlab!87481)) +- [Fix issues list previous page bug](gitlab-org/gitlab@4a630a17efbbcd6dbed588a151cfb418fa3380e3) ([merge request](gitlab-org/gitlab!87798)) +- [Geo Sites - Unknown WAL bug](gitlab-org/gitlab@5e5e0ed9c9eecb37123f136a7504e0333ebdd7f1) ([merge request](gitlab-org/gitlab!87725)) **GitLab Enterprise Edition** +- [Fix button text color in dark mode](gitlab-org/gitlab@1bfbdef40c9d462b77b5e49c1f64865174fa2c4d) ([merge request](gitlab-org/gitlab!87760)) +- [Use merge_head_diff for code owners](gitlab-org/gitlab@ca1b34485611cbfdfae939f2ef2e3c0e9f1715ee) ([merge request](gitlab-org/gitlab!87359)) +- [Disallow guests from updating an issue promoted to incident](gitlab-org/gitlab@e987cc88cfacf797d204638b6019daed44922e07) by @nfason ([merge request](gitlab-org/gitlab!87188)) +- [Add correct Default.md MR template precedence handling](gitlab-org/gitlab@202ed42f93233dd7eb56639013a2c683829d18ee) ([merge request](gitlab-org/gitlab!82398)) + +### Changed (453 changes) + +- [Extend logging for Mirror jobs](gitlab-org/gitlab@b564bfe2227b0ef00061dd033e194bc64b191227) ([merge request](gitlab-org/gitlab!90252)) +- [Consider patches for eligible runner releases](gitlab-org/gitlab@358091ea08d34c7e607dffe7f74f4599b719f134) ([merge request](gitlab-org/gitlab!90236)) +- [Introduced /ready quick action](gitlab-org/gitlab@57dc72ac768b8ffda435746fe8d412206650e3ed) by @stingrayza ([merge request](gitlab-org/gitlab!90361)) +- [Use Labkit for checking and enabling FIPS](gitlab-org/gitlab@dd1591a917063a6aa0d98eb6711adcd9fcaeef22) ([merge request](gitlab-org/gitlab!90517)) +- [Migrates spacing class for edit button on release](gitlab-org/gitlab@7902f7d121f0ba6bbd6303ddf704f1b372a93c5c) ([merge request](gitlab-org/gitlab!90350)) +- [Migrates spacing class for authenticating github](gitlab-org/gitlab@903a4039ec06a7c4fbf055c6d60bd48206439a8f) ([merge request](gitlab-org/gitlab!90354)) +- [Enable Geo proxying for separate URLs by default](gitlab-org/gitlab@f33954d4f259655c24911b49ec7ce6fa417a5398) ([merge request](gitlab-org/gitlab!90244)) **GitLab Enterprise Edition** +- [Migrate spacing classes for feature flag form](gitlab-org/gitlab@08fe7d9ed81bc2229689e9268f270d45dfed282f) ([merge request](gitlab-org/gitlab!90359)) +- [Migrates spacing class for commit sidebar of ide](gitlab-org/gitlab@30c3ad607e57cf6c564f7cea65929346ad747aa6) ([merge request](gitlab-org/gitlab!90423)) +- [Update CiJobConnection.count to limited count](gitlab-org/gitlab@94daf8cf7fa7dcc7ddab93d19adad9ba815f8261) ([merge request](gitlab-org/gitlab!89642)) +- [Migrate link button to tertiary in design management](gitlab-org/gitlab@3a3e5f9a3d0f6011f551a21a5a1938c28a593244) ([merge request](gitlab-org/gitlab!89794)) +- [Drop permissions column from ci_secure_files table](gitlab-org/gitlab@76adf78f38712d251a27770785660489420fea9b) ([merge request](https://gitlab.com/gitlab-org/gitlab/-/merge_requests/90451)) +- [Change form_errors to be pajamas compliant in admin settings](gitlab-org/gitlab@7ec74322d5193eb4459d5563bf8c7db3b2ab028f) ([merge request](gitlab-org/gitlab!90430)) +- [Migrates spacing classes on release overview page](gitlab-org/gitlab@e4d91fa41ede25e587212930b2c04203ef748a79) ([merge request](gitlab-org/gitlab!90416)) +- [Removed useCustomErrorHandler and callback options](gitlab-org/gitlab@76aac81b799fc67c0c7d77eac656eefd5829fe73) ([merge request](gitlab-org/gitlab!88939)) +- [Migrate spacing classes on search overview page](gitlab-org/gitlab@2e7353c4180b307e2fafa36b4e9fc4c1c0c03be3) ([merge request](gitlab-org/gitlab!90404)) +- [Apply standard registration flow to single-sign on registrations](gitlab-org/gitlab@7ca6078d2cd9ecd89e72deb31742f0d5751496c3) ([merge request](gitlab-org/gitlab!85871)) +- [Fixes the spacing for the contributors buttons](gitlab-org/gitlab@0c7ff6fb98d0b232f9e32aee32ec8667ad771522) ([merge request](gitlab-org/gitlab!90241)) +- [Migrates custom classes for project search](gitlab-org/gitlab@74ba812a91e9689acfaa69aaa503bcd5f781da2b) ([merge request](gitlab-org/gitlab!90352)) +- [Migrates the spacing for milestone icon analytics](gitlab-org/gitlab@b5e6a33d7b2bf90249abfb730e3e2058d8d1770c) ([merge request](gitlab-org/gitlab!90283)) **GitLab Enterprise Edition** +- [Migrate errors in create user to Pajamas alert](gitlab-org/gitlab@efa63b18bcdc32c91c0414a86083a0ae20839dea) ([merge request](gitlab-org/gitlab!90366)) +- [Adds loading for package details additional metadata](gitlab-org/gitlab@26ff702567187bc65fce1bcc19062075b7a6612e) ([merge request](gitlab-org/gitlab!88862)) +- [Migrates spacing classes for empty approval rule](gitlab-org/gitlab@534f48e14377ce700797b393004d4ee58fe23235) ([merge request](gitlab-org/gitlab!90355)) **GitLab Enterprise Edition** +- [Fixes spacing for buttons of broadcast message](gitlab-org/gitlab@86aed0c723b58e5e0133cb79fd18f1347f8fc6da) ([merge request](gitlab-org/gitlab!90353)) +- [Migrates spacing class of assignee of related item](gitlab-org/gitlab@7d67fc1f7cc017f8b04762c953e34eba9e0378ab) ([merge request](gitlab-org/gitlab!90349)) +- [Migrates to gl class for checkbox to select commit](gitlab-org/gitlab@bcc6cffc1fbc58857b2ad3ca5afebc9f477910e6) ([merge request](gitlab-org/gitlab!90193)) +- [Migrates spacing class in security dashboard](gitlab-org/gitlab@443b3e86e3ff50075b71d9f590cfcab1b2c0256e) ([merge request](gitlab-org/gitlab!90294)) **GitLab Enterprise Edition** +- [This MR updated CI/CD configuration flow](gitlab-org/gitlab@39c8a52c181557a3d0cd58d28ebf62f4bbe17bd4) ([merge request](gitlab-org/gitlab!90059)) **GitLab Enterprise Edition** +- [Add has_vulnerabilities to cluster_agents](gitlab-org/gitlab@af3bc5a75d41d6af6f325a30c9f3737daf586ae0) ([merge request](gitlab-org/gitlab!90187)) +- [Update gray-10 from #fafafa to #f5f5f5](gitlab-org/gitlab@5037f7ed732f10ba0444b483539bfcf2933f8afc) ([merge request](gitlab-org/gitlab!90297)) +- [Improve error messages when fetching Jira user information](gitlab-org/gitlab@2ebad5adb2dd040ce9f4dabb5f6fd8d4d5586e03) ([merge request](gitlab-org/gitlab!90164)) +- [Migrate repo storage errors to Pajamas alert](gitlab-org/gitlab@5e23f1e4c647cabe5545b00f61325dd0cfede2aa) ([merge request](gitlab-org/gitlab!90248)) +- [Update docs milestone description for alpha](gitlab-org/gitlab@5f8b5e3463d518395aeccc55dff20ae16f59b42c) ([merge request](gitlab-org/gitlab!90105)) +- [Decrease spacing between checkbox and button](gitlab-org/gitlab@5bcc5f31c42031eb6a71d6fc85fae0ad2de72a0e) ([merge request](gitlab-org/gitlab!90328)) +- [Conditional dropdown value in invite modals](gitlab-org/gitlab@6d487ecd87cb7d4c7c2e5143e9a1d1627f9db837) ([merge request](gitlab-org/gitlab!89209)) +- [Migrates the spacing for icon in web ide header](gitlab-org/gitlab@8422705154982f5f290194641751cc19637cdb17) ([merge request](gitlab-org/gitlab!90247)) +- [Update group deletion protection settings](gitlab-org/gitlab@c44523bf43a07b8f4d8a99c6a7eee992012bc1c6) ([merge request](gitlab-org/gitlab!86659)) **GitLab Enterprise Edition** +- [Migrates the spacing class for sort dropdown](gitlab-org/gitlab@45cb9e4343d186b1e87c809fed911e099b56c50b) ([merge request](gitlab-org/gitlab!90286)) **GitLab Enterprise Edition** +- [Disable reading remdiation records](gitlab-org/gitlab@908f67870329e29969844128a2d143597fa66ec3) ([merge request](gitlab-org/gitlab!89059)) **GitLab Enterprise Edition** +- [Migrates the spacing classes for label search](gitlab-org/gitlab@bda9a210ce68e8dac30bad1736f5f3c679bdf5dc) ([merge request](gitlab-org/gitlab!90270)) +- [Support footnotes in client-side deserializer](gitlab-org/gitlab@cb350771dd6eea7cc9aae87c971d20b02ffdf823) ([merge request](gitlab-org/gitlab!89974)) +- [Migrate the prioritize button](gitlab-org/gitlab@21518676cd7ae980ce2d020ee212716d315f4cc4) ([merge request](gitlab-org/gitlab!89832)) +- [Updated servicedesk callout to BannerComponent](gitlab-org/gitlab@b06d80c7e67c6d0f19e11995d409d7eb2dee5da8) ([merge request](gitlab-org/gitlab!89659)) +- [Migrates the spacing class for error severity](gitlab-org/gitlab@22a8ca108d30957fc333a41651baf493a20df6d5) ([merge request](gitlab-org/gitlab!90255)) +- [Env Folder component icon migration](gitlab-org/gitlab@bec769f9979e94f05f793da43faf8862155ecc8b) ([merge request](gitlab-org/gitlab!89617)) +- [Right sidebar improvements for collapsed state](gitlab-org/gitlab@e88a100cafdd4cba3074fbdd33f2b75b312b7e29) ([merge request](gitlab-org/gitlab!90243)) +- [Migrate pipeline_schedules/_form.html.haml to Pajamas::ButtonComponent](gitlab-org/gitlab@7bca7b50c959904fc687937c85d055f8bd34b155) ([merge request](gitlab-org/gitlab!89838)) +- [Enable `dast_ui_redesign` feature flag by default](gitlab-org/gitlab@242115e9a867e4b6a652eb03ba5eaef80edf2eec) ([merge request](gitlab-org/gitlab!90108)) **GitLab Enterprise Edition** +- [Removes unused code for modal close button](gitlab-org/gitlab@dc50ee004d4393edd67e10e345a991b23ef5958e) ([merge request](gitlab-org/gitlab!90025)) **GitLab Enterprise Edition** +- [Replace pencil-square icon with pencil icon](gitlab-org/gitlab@8df6ae7c8f7313c42f6b1e6378e1f92a854d31ea) ([merge request](gitlab-org/gitlab!89897)) +- [Migrates to gl class for right margin](gitlab-org/gitlab@a5830a098ef94e9a691ba0595608e8e53e50afab) ([merge request](gitlab-org/gitlab!90190)) +- [Add approval_required entry to widget endpoing](gitlab-org/gitlab@a33e7c2dd0e7f57e4762d1185266bf7875454bbd) ([merge request](gitlab-org/gitlab!87150)) **GitLab Enterprise Edition** +- [Use RedHat OpenJDK packages in gemnasium-maven FIPS](gitlab-org/gitlab@a19ef84e4222b75901e31964a04c0c3983b79d06) ([merge request](gitlab-org/gitlab!90041)) **GitLab Enterprise Edition** +- [Migrate the edit button](gitlab-org/gitlab@30cc38c4a5890b7890984b0cff734fbb749564fd) ([merge request](gitlab-org/gitlab!89899)) +- [Backfill project feature 'package_registry_access_level'](gitlab-org/gitlab@cb0f9c308a4da7c385f32d4990af7c84ecb33d38) by @wwwjon ([merge request](gitlab-org/gitlab!89141)) +- [Improve Insights UI text](gitlab-org/gitlab@5d90bc60ab73710151fd2409e0e6a8259c533469) ([merge request](gitlab-org/gitlab!88892)) **GitLab Enterprise Edition** +- [Migrates the button to request attention](gitlab-org/gitlab@291c438f22a9024a8ff2538412c3629ac963485e) ([merge request](gitlab-org/gitlab!90123)) +- [Use chevron icon in mr_collapsible_extension.vue](gitlab-org/gitlab@7597a517e4edf598f1bbef7c4987c22bff004d75) ([merge request](gitlab-org/gitlab!89732)) +- [Migrates the modal to remove related item](gitlab-org/gitlab@2225dcc9e8560207f55b44463238530f6877bace) ([merge request](gitlab-org/gitlab!90112)) **GitLab Enterprise Edition** +- [Update MR feature callout to BannerComponent](gitlab-org/gitlab@af21b0c301ac70d613c3345103d42e9c38da732a) ([merge request](gitlab-org/gitlab!89666)) **GitLab Enterprise Edition** +- [Enable feature flag for renamed integrations workers](gitlab-org/gitlab@46c6359a78594392af8f3350ed0f798a6ddf1ebc) ([merge request](gitlab-org/gitlab!90060)) +- [Migrates the modal to discard changes in web ide](gitlab-org/gitlab@db0a58a35e959648c0b2c69deb1782232fc15a67) ([merge request](gitlab-org/gitlab!90051)) +- [Allow `CI_JOB_TOKEN` auth for release links API](gitlab-org/gitlab@39b37971ba254fb806972273913ae685b3b5cada) by @tuxtimo ([merge request](https://gitlab.com/gitlab-org/gitlab/-/merge_requests/89958)) +- [Event type information in streaming audit event for project download](gitlab-org/gitlab@6e79b7c32e1f10c3a6590a5e83dd6023ea6e9dd0) ([merge request](gitlab-org/gitlab!89350)) **GitLab Enterprise Edition** +- [Update Coverage-Fuzzing.gitlab-ci.yml](gitlab-org/gitlab@7cd215bea091045b9bd2633800b1d90b712c29be) ([merge request](gitlab-org/gitlab!88935)) +- [Migrate the deprioritize button](gitlab-org/gitlab@edc91cb5967283fcad14639f64ca08f60f7bab35) ([merge request](gitlab-org/gitlab!89867)) +- [Migrate sidebar buttons for bulk update](gitlab-org/gitlab@ffad357a76bb0279377069542846c27e96bea665) ([merge request](gitlab-org/gitlab!89783)) **GitLab Enterprise Edition** +- [Unbox Group audit events](gitlab-org/gitlab@f4c70b38170c6ff22e0e78ca6c0d078c7a155dd0) ([merge request](gitlab-org/gitlab!90005)) +- [Migrates the modal to reset webhook for pagerduty](gitlab-org/gitlab@71ea3f0b6de28a1321c1f53d85386bc985bb7e80) ([merge request](gitlab-org/gitlab!90068)) +- [Prevent page reload on switch board](gitlab-org/gitlab@2c05f3aae0a1ae357993ea21fb216ba803204dea) ([merge request](gitlab-org/gitlab!88368)) +- [Update banner implementation to use Pajamas banner](gitlab-org/gitlab@8ce5b9fe35a5e6efc1fa16a9c3e675298f5efc3b) ([merge request](gitlab-org/gitlab!89425)) **GitLab Enterprise Edition** +- [Migrate buttons to add/remove commits](gitlab-org/gitlab@bae31bb1289efea6daca6e32b7656236684680ba) ([merge request](gitlab-org/gitlab!89834)) +- [Adjust empty runners state svg height](gitlab-org/gitlab@3ac322e63a8649ecb2b4215deabacbf96a1e5a82) ([merge request](gitlab-org/gitlab!90113)) +- [Migrates button to open sidebar for bulk updates](gitlab-org/gitlab@25f453d5dbeada06b08cf67143f18ede38c594ce) ([merge request](gitlab-org/gitlab!89777)) **GitLab Enterprise Edition** +- [Update administrator settings for deletion protection](gitlab-org/gitlab@de7fc64c5d5e12411431ca468e1530a9c6eed11e) ([merge request](gitlab-org/gitlab!86568)) **GitLab Enterprise Edition** +- [Removes incorrect gl-padding-50 variable](gitlab-org/gitlab@d3fa7de55b467c7e3c65ed1b7dc927d3f63271ce) ([merge request](gitlab-org/gitlab!89918)) +- [Update omniauth-dingtalk-oauth2 gem to v1.0.1](gitlab-org/gitlab@33f5774341a80d9683395abf232aaea6a8875750) ([merge request](gitlab-org/gitlab!90091)) +- [Migrates modal to delete iteration](gitlab-org/gitlab@5728446005353e142de0df962e95f90c6e20ab4c) ([merge request](gitlab-org/gitlab!90090)) **GitLab Enterprise Edition** +- [Enable FIPS mode for digest algorithms](gitlab-org/gitlab@e5585bd95b728e6aa141063cf5e8751aaa2de810) ([merge request](gitlab-org/gitlab!88469)) +- [Support autolink serialization in Content Editor](gitlab-org/gitlab@ea8efbf595479667c237b7777c27c8cd04154b56) ([merge request](gitlab-org/gitlab!89046)) +- [Update WebIDE job chevron icon](gitlab-org/gitlab@3c84eced92f96f1eb964cfb7d59e51ee5f959b66) ([merge request](gitlab-org/gitlab!89612)) +- [Migrate button to search projects on dashboard](gitlab-org/gitlab@3e004f34fbd095e6df8d0347330459186be6f9e8) ([merge request](gitlab-org/gitlab!89917)) +- [Rename the "Dark" and "Light" theme to avoid confusion with "Dark Mode"](gitlab-org/gitlab@087cbd0d26ecac7c777cb3dc126434b9f860c184) ([merge request](gitlab-org/gitlab!90039)) +- [Migrates the modal to discard all changes](gitlab-org/gitlab@64f48c41cf6ffc25fe64758e2a30c3f338057d27) ([merge request](gitlab-org/gitlab!90052)) +- [Migrate button component](gitlab-org/gitlab@6962c5ad73732ac0610820e67aa0ff10ebaebc8c) ([merge request](gitlab-org/gitlab!89793)) **GitLab Enterprise Edition** +- [Rename discussion comment button title](gitlab-org/gitlab@f0a7bfafdf44d931f0c42473fe3ad80d38e0dcf5) ([merge request](gitlab-org/gitlab!89986)) +- [Update buttons on new project from CI/CD pane](gitlab-org/gitlab@8401436c57c4277d81723bacce5753e2bdfbd593) ([merge request](gitlab-org/gitlab!89825)) **GitLab Enterprise Edition** +- [Migrates button to revoke validation for dast](gitlab-org/gitlab@05ca704839283071a40a1a9e41bdc30a605e1386) ([merge request](gitlab-org/gitlab!90032)) **GitLab Enterprise Edition** +- [Migrates the button to add rotation for schedule](gitlab-org/gitlab@730493fe83fca3f50a369a5e7aca954708416c74) ([merge request](gitlab-org/gitlab!90030)) **GitLab Enterprise Edition** +- [Migrates the button to expand sidebar](gitlab-org/gitlab@66e1e2a62e73223fc1b36f6511de43550009c8e7) ([merge request](gitlab-org/gitlab!89822)) +- [This MR migrates legacy html button to Pajamas button](gitlab-org/gitlab@32f50bca79d27ebf8ca6c72787245ef26eed40ca) ([merge request](gitlab-org/gitlab!89712)) +- [Migrates the default value for deleting a design](gitlab-org/gitlab@1daa42c5121ff49f468d3ec3f3ae0e19c69a646b) ([merge request](gitlab-org/gitlab!90021)) **GitLab Enterprise Edition** +- [Project Owners can approve access requests](gitlab-org/gitlab@0b093d65d56fb47288ac2d090109b88a2a6493c8) ([merge request](gitlab-org/gitlab!90018)) +- [Migrates modal to download test coverage report](gitlab-org/gitlab@f9d5854a5b412ff1f44b647abd77e0cf7f7828d9) ([merge request](gitlab-org/gitlab!90016)) **GitLab Enterprise Edition** +- [Removed container_registry_namespace_statistics ff](gitlab-org/gitlab@89d2aa3ac68eeefa11c2f47c7322025fe95817a3) ([merge request](gitlab-org/gitlab!89999)) +- [Migrates the button to edit a blob file](gitlab-org/gitlab@f2bfda093016365bf6289b30b40a282e26bf0d2a) ([merge request](gitlab-org/gitlab!90011)) +- [Cleanup Child issues and epics](gitlab-org/gitlab@a4c057c92fac11d75458e474a381ff9e8c8f2bd2) ([merge request](gitlab-org/gitlab!89805)) +- [Update specs for integrations API to check all modifiable fields](gitlab-org/gitlab@c4b51ab0168e5e0fd8a506b52df05cfa1dc7c70b) ([merge request](gitlab-org/gitlab!89452)) +- [Move IrkerWorker into Integrations:: namespace and rename queue](gitlab-org/gitlab@665f18c0271e8b234bdf64612a34f9a7b465edc9) ([merge request](gitlab-org/gitlab!88579)) +- [This MR migrates bootstrap legacy component to pajamas](gitlab-org/gitlab@07baae92e91eac8461d459df27cd8015aa6ccd06) ([merge request](gitlab-org/gitlab!89976)) +- [Add Slack app installations to Service Ping](gitlab-org/gitlab@cd9755914e6737b0e83f5b196003bb0a8ad82bf9) ([merge request](gitlab-org/gitlab!89130)) **GitLab Enterprise Edition** +- [This MR migrates bootstrap legacy component to pajamas](gitlab-org/gitlab@1ae6d281ddf9434441f1cfb58cd996c39912adf8) ([merge request](gitlab-org/gitlab!89975)) +- [Update MS Teams form to use sections](gitlab-org/gitlab@d61508e9948d3be5c2456bbe53f48c13f874fb7d) ([merge request](gitlab-org/gitlab!89506)) +- [Migrate button to confirm user](gitlab-org/gitlab@8b62dcce6547ad0bbbf88b8d61fdc21f9fa4e8c9) ([merge request](gitlab-org/gitlab!89972)) +- [Migrates the button to add on call schedule](gitlab-org/gitlab@a5811a2c5965922bbb7fa76806005bf5af4502f7) ([merge request](gitlab-org/gitlab!89970)) **GitLab Enterprise Edition** +- [Migrates the button to add an escalation policy](gitlab-org/gitlab@8dedac6ef680f3776566a1a7dd794a2d3ad71fc4) ([merge request](gitlab-org/gitlab!89969)) **GitLab Enterprise Edition** +- [Migrates close button in details for test case](gitlab-org/gitlab@1f0e22133f18871d58327b78c9ef023c4e710bb9) ([merge request](gitlab-org/gitlab!89965)) +- [Migrates button to restart Web IDE terminal](gitlab-org/gitlab@c64b8219c0ec3dce44ceceb44066a4bc1101e2fc) ([merge request](gitlab-org/gitlab!89964)) +- [Migrates the button to extend trial](gitlab-org/gitlab@273a320452d9cc0c55751602072e2001f35c1dbc) ([merge request](gitlab-org/gitlab!89963)) **GitLab Enterprise Edition** +- [Migrates button to view full dashboard](gitlab-org/gitlab@67ed603e010d22d3038f921eb950c38ac7061e05) ([merge request](gitlab-org/gitlab!89959)) +- [Migrates button to view documentation](gitlab-org/gitlab@a38579bd9f30e963f90792000ea5f292a5555e01) ([merge request](gitlab-org/gitlab!89955)) +- [Migrates button to view dashboard documentation](gitlab-org/gitlab@eaececa21025e45066da00450b051b882a47c297) ([merge request](gitlab-org/gitlab!89954)) +- [Migrates the guidance in docs for buttons](gitlab-org/gitlab@024ca5ef5d3c45d7ccf05ab8afd474178ab8a152) ([merge request](gitlab-org/gitlab!89944)) +- [Migrates button to manage plan for subgroups](gitlab-org/gitlab@b2f9f947b11a706cebb948f1042ce0edf75717e0) ([merge request](gitlab-org/gitlab!89942)) **GitLab Enterprise Edition** +- [Migrates buttons to resync and reverify projects](gitlab-org/gitlab@8f1947b7b0c38184ef625088e69fbba877e930ed) ([merge request](gitlab-org/gitlab!89937)) **GitLab Enterprise Edition** +- [Migrate access token form errors to be Pajamas compliant](gitlab-org/gitlab@8086969dd5844aeedece0cc09c55f80830ff7fd3) ([merge request](gitlab-org/gitlab!89871)) +- [Update admin error alerts to pajamas](gitlab-org/gitlab@ef2e8edc420f7c33788cd6c9382d74aecfcb48eb) ([merge request](gitlab-org/gitlab!89931)) +- [Migrate the subscribe dropdown button](gitlab-org/gitlab@82178fe189b05dcc21f4f77372dae6dc9ef8ba18) ([merge request](gitlab-org/gitlab!89929)) +- [Updated icons in the group contributions table](gitlab-org/gitlab@241643fdda6fb691ee64fbe701a7d5550341a7f2) ([merge request](gitlab-org/gitlab!89790)) **GitLab Enterprise Edition** +- [Updated buttons in the project settings](gitlab-org/gitlab@e3fdc826f66e95f0f70e215212fdf1b70cbd6f72) ([merge request](gitlab-org/gitlab!89705)) +- [Migrate the ellipsis button](gitlab-org/gitlab@de93b4da2206d4a42313270a0be00c2be1b4fd30) ([merge request](gitlab-org/gitlab!89910)) +- [Add url variables to web hooks](gitlab-org/gitlab@6ca8c5fdc2f9a4e2e471279a64b77ba09c3690f5) ([merge request](gitlab-org/gitlab!89304)) +- [Migrate group visibility form errors to be Pajamas compliant](gitlab-org/gitlab@c602f412a3dfb764b58c952cb33cc0176d7bffe4) ([merge request](gitlab-org/gitlab!89891)) +- [Migrate Admin -> Topic -> New form errors to be Pajamas compliant](gitlab-org/gitlab@08349372f71896eafb36a1e99f1f45c04b6b56d1) ([merge request](gitlab-org/gitlab!89887)) +- [Migrate alert in the onboarding flow](gitlab-org/gitlab@a7c0375bb0b784e6da2695ce314fe67c6b96d2e9) ([merge request](gitlab-org/gitlab!89880)) **GitLab Enterprise Edition** +- [Migrate button in sidebar for bulk issues update](gitlab-org/gitlab@d196ec9d8ecc0b6d07fe9ae281c832a3004055aa) ([merge request](gitlab-org/gitlab!89875)) +- [Migrate button in the group creation](gitlab-org/gitlab@57e487bb3429f9595541b32bda64c6111b46a4da) ([merge request](gitlab-org/gitlab!89868)) **GitLab Enterprise Edition** +- [Migrates buttons in labels nav partial](gitlab-org/gitlab@405166f84ecfab064f77a131eb5bf4ff6b5e3b0d) ([merge request](gitlab-org/gitlab!89862)) +- [Migrate alert in the SSH key settings](gitlab-org/gitlab@32e233d0cb8ba111427bde07a0a2cc4b005d4998) ([merge request](gitlab-org/gitlab!89843)) +- [Use `Pajamas::AlertComponent` for maintenance message](gitlab-org/gitlab@33a70ed6f32796fe1b45a05f4276e27f4a69669c) by @ali_o_kan ([merge request](https://gitlab.com/gitlab-org/gitlab/-/merge_requests/87519)) **GitLab Enterprise Edition** +- [Migrates 'Stop all jobs' button to Pajamas::ButtonComponent](gitlab-org/gitlab@3881052e9b7020fd66d8cc9d5888e47fff162e1a) ([merge request](gitlab-org/gitlab!89842)) +- [This MR migrates legacy html button to Pajamas button](gitlab-org/gitlab@8657c6da6fc44cc954c0b203b293531ae1d3dc34) ([merge request](gitlab-org/gitlab!89700)) +- [Migrate alert docs icon](gitlab-org/gitlab@dbd2b89d69201c9cfd5a5e7ea6397b972944c836) ([merge request](gitlab-org/gitlab!89651)) +- [Add pattern validation for cadence in Scan Execution Policy Schema](gitlab-org/gitlab@44eeb4fa81c6d4f1f162fb66e4ff71dfdd489de8) ([merge request](gitlab-org/gitlab!89560)) **GitLab Enterprise Edition** +- [Migrate button to create branch](gitlab-org/gitlab@a412b003805e6ee528da40e0a27f09ebfcfd66f2) ([merge request](gitlab-org/gitlab!89765)) +- [Add a descriptive empty state for runners](gitlab-org/gitlab@324bf17b80f086698aa57ccc5f5f24db9d7cb70d) ([merge request](gitlab-org/gitlab!89115)) +- [Migrate angle icon to chevron in deploy_board_wrapper.vue](gitlab-org/gitlab@3bcc801dcc98456510c4d6e91265b409146bffb3) ([merge request](gitlab-org/gitlab!89784)) +- [Updated repository callout to BannerComponent](gitlab-org/gitlab@4f102923b2e50f15087786d717f0ef19d578aa4e) ([merge request](gitlab-org/gitlab!89639)) **GitLab Enterprise Edition** +- [Updated buttons in the Repository mirror settings](gitlab-org/gitlab@015622a76eaccf18a678c8aaef4782b7e01b9a0b) ([merge request](gitlab-org/gitlab!89785)) **GitLab Enterprise Edition** +- [Remove separator slot from new project breadcrumb](gitlab-org/gitlab@02a4bb50a054010223c95d7a1f7129acd5ccdacd) ([merge request](gitlab-org/gitlab!89762)) +- [Remove require_auth_for_graphql_user_resolver feature flag](gitlab-org/gitlab@d78ff9b017935a6293a45d56321991bef4807470) ([merge request](gitlab-org/gitlab!89764)) +- [Disable job log checksums when FIPS enabled](gitlab-org/gitlab@58a3d39c4e0ee067f9606be74865394ed1c21557) ([merge request](gitlab-org/gitlab!89352)) +- [Migrate angle icons to chevron icons in Paginator](gitlab-org/gitlab@5ac3f9e3eb148fed57f07eaa2e0aaf3183f356fa) ([merge request](gitlab-org/gitlab!89725)) +- [Migrate angle icons to chevron icons in GraphGroup](gitlab-org/gitlab@5d87a98fbf42c98e38fce29d4ed4ab977a14c7c9) ([merge request](gitlab-org/gitlab!89726)) +- [Log worker_id for Puma and Sidekiq](gitlab-org/gitlab@72f3f8d786ac8b0ba7572c5a115c16b8712a6848) ([merge request](gitlab-org/gitlab!89523)) +- [Remove records for removed integrations](gitlab-org/gitlab@9433ba75e1405aa9211a384f62776e6a644970c6) ([merge request](gitlab-org/gitlab!89427)) +- [Migrate angle icons to chevron icons Kaminari](gitlab-org/gitlab@10b927b9cfb8de1105a3abb374bc427fce632d93) ([merge request](gitlab-org/gitlab!89727)) +- [Bump Auto Deploy Image to v2.30.0](gitlab-org/gitlab@15efba54052aa63b9a36cf8ce8d16bd57f4d19dd) ([merge request](gitlab-org/gitlab!89208)) +- [This MR migrates legacy html button to Pajamas button](gitlab-org/gitlab@d1c12707c12d057bfb00c46f198bc7b527bab2b9) ([merge request](gitlab-org/gitlab!89704)) +- [Migrate chevron icon compliance docs](gitlab-org/gitlab@946a6252de28917d565ea1df47ed73aa889e8540) ([merge request](gitlab-org/gitlab!89643)) +- [Migrate angle to chevron in responsive header](gitlab-org/gitlab@ca024c0c0d788e792c787a10c631c38025abe990) ([merge request](gitlab-org/gitlab!89684)) +- [Migrate chevrons in pagination buttons](gitlab-org/gitlab@5756fb9480ad938a39fe257ba01d81bdb67dd5e2) ([merge request](gitlab-org/gitlab!89693)) +- [Migrate chevrons in breadcrumbs](gitlab-org/gitlab@3512020c5e11f59a8f777e107c59587bb9ec7de9) ([merge request](gitlab-org/gitlab!89688)) +- [Update confidential issue permissions docs](gitlab-org/gitlab@c10aa3e1388def23ea8ff556429a1d72cb698601) ([merge request](gitlab-org/gitlab!87666)) +- [Updated buttons in the group settings](gitlab-org/gitlab@6370ea15e2cb994576b9348c29ab6d0d9f91bfb4) ([merge request](gitlab-org/gitlab!89671)) **GitLab Enterprise Edition** +- [Remove language arg](gitlab-org/gitlab@4176cb59c26ea89d80adbf07c3b55c516bb70e0b) ([merge request](https://gitlab.com/gitlab-org/gitlab/-/merge_requests/89344)) **GitLab Enterprise Edition** +- [Determine security training feature accessibility](gitlab-org/gitlab@3ce9503b32ea852006844dc3eb51052bb8fc5034) ([merge request](https://gitlab.com/gitlab-org/gitlab/-/merge_requests/89093)) +- [Replace terms angle icon for a chevron one](gitlab-org/gitlab@f71688ef5da422ab34f2be7e3c6b2eebb4939c1a) ([merge request](gitlab-org/gitlab!89661)) +- [Change resolved -> detected on subsequent scans](gitlab-org/gitlab@7120faf22099f8f2e825dfcb3f7fd555fc325467) ([merge request](gitlab-org/gitlab!89325)) **GitLab Enterprise Edition** +- [Removes OpenStruct use](gitlab-org/gitlab@42d1fa2c5ae05041db964045987aa56a0ecb925d) by @mehulsharma ([merge request](gitlab-org/gitlab!89434)) +- [Rename cluster integration workers and their queues](gitlab-org/gitlab@5ce4ac1c358eed14dbaaf3c83b69b50304469c7a) ([merge request](gitlab-org/gitlab!88582)) +- [Migrate chevron DM docs](gitlab-org/gitlab@1a640c73b68a2b802d43b89660234f7375329c21) ([merge request](gitlab-org/gitlab!89654)) +- [Migrate web ide icon docs](gitlab-org/gitlab@4749c0cbd2667bc445abe1c91335bc4e7f48fc26) ([merge request](gitlab-org/gitlab!89647)) +- [Autodevops docs chevron icon migration](gitlab-org/gitlab@111d7c94e8dded0196e4502ea8c687eed8283d2f) ([merge request](gitlab-org/gitlab!89649)) +- [Unbox & Cleanup Compare merge request](gitlab-org/gitlab@a738f68210997cee6fb2eebc19588bb821088f40) ([merge request](gitlab-org/gitlab!89620)) +- [Replaced generic inputs in the Web IDE](gitlab-org/gitlab@3df7ae280342d90fe1422ad06e81116abe9fe46a) ([merge request](gitlab-org/gitlab!89519)) +- [Restore md spinner in MR status widget](gitlab-org/gitlab@5f1ae117f1043b4ce4811f66635e8906e6fdab80) ([merge request](gitlab-org/gitlab!89623)) +- [Make captcha check over POST rather than GET](gitlab-org/gitlab@48b3fe2b390509fdd5eb3b35816733548b97b123) ([merge request](gitlab-org/gitlab!89232)) **GitLab Enterprise Edition** +- [Update contextual sidebar background and border](gitlab-org/gitlab@4e53015b7723a419809014cb500f5bea4e7e5ef3) ([merge request](gitlab-org/gitlab!89533)) +- [Add missing page-title & font-size-h-display classes](gitlab-org/gitlab@109d1a02de8b4f9e7a22df9b4855e2f26f0f1c97) ([merge request](gitlab-org/gitlab!89619)) +- [Supported 'language' editor instance option](gitlab-org/gitlab@8d431626eb7513fc31869b5921980aff6f82155e) ([merge request](gitlab-org/gitlab!89588)) +- [Change what makes migrations completed](gitlab-org/gitlab@af5e190baed0d842f1af8a1550b52b38570f8012) ([merge request](gitlab-org/gitlab!89539)) **GitLab Enterprise Edition** +- [Clean up `group_member_inherited_group` feature flag](gitlab-org/gitlab@f46776b87f924970c96f1727a0e8f74fdd9c757c) by @wwwjon ([merge request](gitlab-org/gitlab!89604)) +- [Update h1 to use .gl-font-size-h-display class](gitlab-org/gitlab@e8e665b12f084c0e2e5324a83afe3f8acf565d51) ([merge request](gitlab-org/gitlab!88964)) +- [Migrates the create commit button in Web IDE](gitlab-org/gitlab@e791885aaac8ca785a6ff1a333359436a040e6cf) ([merge request](gitlab-org/gitlab!88723)) +- [Replace angle icons for chevron in registry breadcrumb](gitlab-org/gitlab@b67b6556074e3a31d19b9910d36c4122e0ca6141) ([merge request](gitlab-org/gitlab!89555)) +- [Migrates the learn more about AWS button](gitlab-org/gitlab@e33a06e07a33fcfec4027bbbb8e8677ac69c97bb) ([merge request](gitlab-org/gitlab!88547)) +- [Migrates the export requirements modal](gitlab-org/gitlab@94dce954ec03d88d5fec8f06c8673ac33177982e) ([merge request](gitlab-org/gitlab!88683)) **GitLab Enterprise Edition** +- [Replace angle icons for chevron in groups](gitlab-org/gitlab@0f258d52e529c7e0e32de9b42120386ad05bae9e) ([merge request](gitlab-org/gitlab!89447)) +- [Use tertiary button for alert sidebar assignee](gitlab-org/gitlab@f9616dd932c5e16d6cf4c03137b08acc41d3449e) ([merge request](gitlab-org/gitlab!89179)) +- [Fix attribute inheritance in workers](gitlab-org/gitlab@26093c38b0476e6474138fae58a47eac5d6acbe2) ([merge request](gitlab-org/gitlab!89260)) +- [Revert data consistency to `always`](gitlab-org/gitlab@76934276440b089a302c4a552ae6108d3e68ceba) ([merge request](gitlab-org/gitlab!89501)) +- [Remove branch names from conflict count](gitlab-org/gitlab@7dc68d266ef867013429066aa105379f611d0c03) ([merge request](gitlab-org/gitlab!89335)) +- [Cleanup Schedule a new pipeline form page](gitlab-org/gitlab@8e1937300312c6525f04a63fd51ec99dfe18795f) ([merge request](gitlab-org/gitlab!89414)) +- [Cleanup New environment page](gitlab-org/gitlab@91cc2acb0c6e7463cdfe1c5c16bef52b0b160a5f) ([merge request](gitlab-org/gitlab!89422)) +- [Migrates the skeleton in terraform MR widget](gitlab-org/gitlab@2ed39fd2a454e63f69886dabe53fdec8cbcc35af) ([merge request](gitlab-org/gitlab!88823)) +- [Migrates the modal to delete an integration](gitlab-org/gitlab@8ee32a81c90f8ae7669ecd736fe1042473870490) ([merge request](gitlab-org/gitlab!88705)) +- [Cleanup New Test Case page](gitlab-org/gitlab@754f91abdac00662936da692d741820986e142d6) ([merge request](gitlab-org/gitlab!89417)) +- [Cleanup New/Edit feature flag form](gitlab-org/gitlab@6a7f209fe57f250e8fd5fa6f1e1ffb4fab7a9fc5) ([merge request](gitlab-org/gitlab!89418)) +- [Add limits on number of scheduled security scan pipelines](gitlab-org/gitlab@9ee1a2deee561d27df22e38b4036b94a960974c2) ([merge request](gitlab-org/gitlab!87737)) +- [Migrates the run pipeline modal in commit](gitlab-org/gitlab@32a37b1aff93566ca80e1df5f9af5eb14af268f2) ([merge request](gitlab-org/gitlab!88830)) +- [Remove async_mr_close_issue feature flag](gitlab-org/gitlab@3463a91b65029fb07a25aff2b116c7b2d486545f) ([merge request](gitlab-org/gitlab!89485)) +- [Remove use_received_header_for_incoming_emails feature flag](gitlab-org/gitlab@5982e60d079aedf745541156366c89176ad6147c) ([merge request](gitlab-org/gitlab!89363)) +- [Change loading state](gitlab-org/gitlab@b0281a473acf0ca3576f55a9c902719ecd9edcfa) ([merge request](gitlab-org/gitlab!89337)) +- [Migrates the feature flag modal to not use ok](gitlab-org/gitlab@2d95860d028da46a0f495336043e465ca7ca52ce) ([merge request](gitlab-org/gitlab!88743)) +- [Update search settings placeholder text](gitlab-org/gitlab@6625618fd27b12e03ed66df67455ab8988facad2) ([merge request](gitlab-org/gitlab!89086)) +- [Improve Debian version regexp](gitlab-org/gitlab@cf24f6bc18411cdce60a4993e5a1cd7135eae78c) by @sathieu ([merge request](gitlab-org/gitlab!83343)) +- [Migrates the skeleton loader for requirements](gitlab-org/gitlab@77074275000147d0908fa2d3ed542c330f81e18f) ([merge request](gitlab-org/gitlab!88747)) **GitLab Enterprise Edition** +- [Update group compliance framework labels](gitlab-org/gitlab@1306d86496ec1a0d39405f65dbb3ca3ba50afd64) ([merge request](gitlab-org/gitlab!88563)) **GitLab Enterprise Edition** +- [Replace angle icons for chevron in package details](gitlab-org/gitlab@b66bdeaa4cc3aa39980b09d9cec63375ce617675) ([merge request](gitlab-org/gitlab!89440)) +- [Finally get rid of all btn-warning code](gitlab-org/gitlab@3250bd0e12a8ebfc28da70d9887a8cc53bb535b3) ([merge request](gitlab-org/gitlab!88398)) +- [Migrates the configure regions button for GCP](gitlab-org/gitlab@7c6c64cdef78ca0a6f284479c8a83a90f269db7a) ([merge request](gitlab-org/gitlab!88721)) +- [Don't delete expired artifacts undergoing refresh](gitlab-org/gitlab@65831807f1d666c12546764b8e9292bd6b1b75ba) ([merge request](gitlab-org/gitlab!88458)) +- [Change awards active item state](gitlab-org/gitlab@42c0c60734bc9ad127f335a5a5db1dbc549ba31c) ([merge request](gitlab-org/gitlab!89231)) +- [Limit the response being logged from the WebhookWorker](gitlab-org/gitlab@f34f84df65f7fbeb200fea70b934c95efb2ba68e) ([merge request](gitlab-org/gitlab!88737)) +- [Migrates the download test coverage report button](gitlab-org/gitlab@6d6724e271b1bd51431857a0c32dce46f2d599df) ([merge request](gitlab-org/gitlab!88655)) **GitLab Enterprise Edition** +- [Refactor storage helper date checking](gitlab-org/gitlab@98e5b24933ef16210ff189f26fe855e7a8041fc1) ([merge request](gitlab-org/gitlab!87804)) +- [Update to bundler v2.3.15](gitlab-org/gitlab@f452a61466dc580ec8e85a247a765a62149e247a) ([merge request](gitlab-org/gitlab!89388)) +- [Add phone_verification_code_enabled to ApplicationSettings](gitlab-org/gitlab@8639c8169278ef52b7ea4ebe2fb55fed47bb7bf5) by @zhzhang93 ([merge request](gitlab-org/gitlab!86844)) +- [Change angle icon](gitlab-org/gitlab@a5f70d594822213ff1ef5779bf732db664e3721e) ([merge request](gitlab-org/gitlab!89351)) +- [Add invalid approvers to be further used by](gitlab-org/gitlab@3b4a2ec5ee68b1781efe4d6e8799ff962ae55124) ([merge request](gitlab-org/gitlab!87596)) **GitLab Enterprise Edition** +- [Graduate update_storage_usage_design feature flag](gitlab-org/gitlab@d94a78ba9de6ce854a709aa1114d7d742d2489b1) ([merge request](gitlab-org/gitlab!88907)) **GitLab Enterprise Edition** +- [Replace angle icons to chevron in admin dashboard](gitlab-org/gitlab@f8d3b0af149a1e4a0fae103a97a1dc03a99ef18b) ([merge request](gitlab-org/gitlab!89346)) +- [Bump Gitlab Shell version](gitlab-org/gitlab@4437d9eefef29ed9e802f5de4ac8ec70090a1c84) ([merge request](gitlab-org/gitlab!89315)) +- [Cleanup New user form](gitlab-org/gitlab@80724805e8579e8fb2025a05934709eef29c8e03) ([merge request](gitlab-org/gitlab!88541)) +- [Improve sidebar styling](gitlab-org/gitlab@8d652df4af23a538956b63121d43594c209bc64a) ([merge request](gitlab-org/gitlab!87817)) +- [Expose alert status](gitlab-org/gitlab@247c138ebe122dd595b42969f3e041f6bd8cd21e) ([merge request](gitlab-org/gitlab!89322)) +- [Make sidebar in MRs sticky](gitlab-org/gitlab@2eb5042fb82dba919e6f00ec2060307408e20d39) ([merge request](gitlab-org/gitlab!88165)) +- [This MR replaces outdated skeleton-loading](gitlab-org/gitlab@c1e9bdddf09d924c6474dcc86647c744f7eb6421) ([merge request](gitlab-org/gitlab!88934)) +- [Use agent name in the agent installation command](gitlab-org/gitlab@5dc2110eb0dcc40fd8984b53af850e67e1bc7b8e) ([merge request](gitlab-org/gitlab!89235)) +- [Bring DAST templates back inline](gitlab-org/gitlab@efb97b7451f4b05da88add95f73951da65a5c285) ([merge request](https://gitlab.com/gitlab-org/gitlab/-/merge_requests/87343)) **GitLab Enterprise Edition** +- [Improve editing experience of footnotes](gitlab-org/gitlab@f4a033ed132cb397cd47253c1d5e78d0bf3eab1a) ([merge request](gitlab-org/gitlab!89247)) +- [Migrate to tertiary buttons in DropdownContentsCreateView](gitlab-org/gitlab@4e4c9538c623dbca7c6883e2c85a19c90ac572d9) ([merge request](gitlab-org/gitlab!89238)) +- [Update premailer gem to v1.16.0](gitlab-org/gitlab@9ac5382f42666d46d5305308d6a1a3bb1e120dbe) ([merge request](gitlab-org/gitlab!86523)) +- [Add focus ring to all links](gitlab-org/gitlab@ddb9f2dc819e03d5eec30e53cb261d89ef69fd1b) ([merge request](gitlab-org/gitlab!88007)) +- [Enable route_hll_to_snowplow_phase2 FF by default](gitlab-org/gitlab@b3bb4d2567c072641ae0d7b56bb7b66e11f63b91) ([merge request](gitlab-org/gitlab!89292)) +- [Cleanup New/Edit Label pages](gitlab-org/gitlab@b314dbf055773475678bb377bf157993ab5c0511) ([merge request](gitlab-org/gitlab!89244)) +- [Update gitlab-fog-azure-rm for Ruby 3.0 compatibility](gitlab-org/gitlab@517175c9f8be240c1af4de429ea8e6fc838bbaf7) ([merge request](gitlab-org/gitlab!89181)) +- [Update more in-app checkout CSS utility classes](gitlab-org/gitlab@c29c989293f321349179f90ae978f2f9e5bf7254) ([merge request](gitlab-org/gitlab!89193)) +- [Unbox Label pages for Group & Projects](gitlab-org/gitlab@4a2f1205e382b185d30de3a895b16ea1f4a9a433) ([merge request](gitlab-org/gitlab!89242)) +- [Require authentication when enumerating users via GraqhQL](gitlab-org/gitlab@0efbc0b240f656a2288f566e61b6fff6f5f6fe4b) ([merge request](gitlab-org/gitlab!88020)) +- [Left align CTAs and remove background color](gitlab-org/gitlab@e2be4db5c64c437e4283604b16c57ab92040ef0c) ([merge request](gitlab-org/gitlab!88152)) +- [Added count in project_type](gitlab-org/gitlab@c0e12223f220841089e13775650b239a418b60f9) ([merge request](gitlab-org/gitlab!89000)) +- [Clean up feature flag for release path fix](gitlab-org/gitlab@174d8d28f3b869a074d11890206e8ec7cdb3f1cf) ([merge request](gitlab-org/gitlab!89110)) +- [Migrate to a tertiary button in DropdownContentsLabelsView](gitlab-org/gitlab@a703cda71f90282e318d0eb3c558c23f66b854ea) ([merge request](gitlab-org/gitlab!89168)) +- [Cache container repositories size on namespace](gitlab-org/gitlab@375050638e57340a90255aee1f0d5ae93bcffff8) ([merge request](gitlab-org/gitlab!88573)) +- [Remove unwanted title attribute](gitlab-org/gitlab@f03fdf32ac960fa92efd8bffebdfc1bff038accb) ([merge request](gitlab-org/gitlab!88973)) **GitLab Enterprise Edition** +- [Migrate push rules edit alert to Pajamas ViewComponent](gitlab-org/gitlab@8a4ab6c354c7b326cbecd3f4418342bf673b52ca) ([merge request](gitlab-org/gitlab!88453)) **GitLab Enterprise Edition** +- [Add trigger section definition to form](gitlab-org/gitlab@c8f86f41ff74814b00feb3498b209d2d276153e7) ([merge request](gitlab-org/gitlab!88996)) +- [Enable new issue reference popovers](gitlab-org/gitlab@e99a51a4e059fdb0f1f69499e565e6b297d5980b) ([merge request](gitlab-org/gitlab!88000)) +- [Report warnings from the timebox resolver](gitlab-org/gitlab@7662c793b74fe81178f1e780f11c9e52e258f982) ([merge request](gitlab-org/gitlab!88681)) +- [Upgrade re2 gem to v1.4.0](gitlab-org/gitlab@239af2aad5c6948709fa43e148549affb2940a31) ([merge request](gitlab-org/gitlab!89186)) +- [Update auto-deploy-image to v2.28.2](gitlab-org/gitlab@e2fb17373e80355939a91c75800854c5ab483049) ([merge request](gitlab-org/gitlab!89191)) +- [Migrates the skeleton in overview discussion notes](gitlab-org/gitlab@e9fab8da1c7cb814a7d17c4ee0a350f4f0e85758) ([merge request](gitlab-org/gitlab!88825)) +- [Remove integrations.properties column](gitlab-org/gitlab@f5891b7a62e47298fd310be33b4a1d2b030642c1) ([merge request](gitlab-org/gitlab!80510)) +- [Migrates the analytics on group overview page](gitlab-org/gitlab@ca58c251962e3ddabd917bf9ebb870de94259807) ([merge request](gitlab-org/gitlab!88777)) **GitLab Enterprise Edition** +- [Rename ProjectServiceWorker to Integrations::ExecuteWorker](gitlab-org/gitlab@2c88a7fb0b81fbe1ddb3f74ae115fed32f654826) ([merge request](gitlab-org/gitlab!88558)) +- [Migrate to a tertiary button in Dependency List](gitlab-org/gitlab@96ce2c9ea9639b9eef8e54cbe6b385b6b914dfaa) ([merge request](gitlab-org/gitlab!89153)) **GitLab Enterprise Edition** +- [Run RubySampler and ThreadSampler in Puma primary](gitlab-org/gitlab@c31e41f38345f9a3b2fb634d3eded4e2a84c3772) ([merge request](gitlab-org/gitlab!89039)) +- [Move VSA task by type description into dropdown](gitlab-org/gitlab@5b84141a52b520b3de01f4ec281589190a682ca3) ([merge request](gitlab-org/gitlab!88613)) **GitLab Enterprise Edition** +- [Migrate skeleton loader in MR popover](gitlab-org/gitlab@1e1742235e931383c1ba642eaeb1899706fd55ed) ([merge request](gitlab-org/gitlab!88772)) +- [Enable Slack app OauthV2 flow](gitlab-org/gitlab@ad58a32ec468e00c1025421d88d0c6577dc0894f) ([merge request](gitlab-org/gitlab!89087)) **GitLab Enterprise Edition** +- [Migrate skeleton in Web IDE file tree list](gitlab-org/gitlab@9f48e25d706fd68e68f05f9617debaf579ddf4fb) ([merge request](gitlab-org/gitlab!88767)) +- [Migrate skeleton loader for test coverage summary](gitlab-org/gitlab@f3248c893b229725c83e4692102e6ad2a7560c39) ([merge request](gitlab-org/gitlab!88778)) **GitLab Enterprise Edition** +- [Migrates skeleton loader in issuables list](gitlab-org/gitlab@74cf48ac42a2a4249cd8c8283cce4aa952373815) ([merge request](gitlab-org/gitlab!88775)) +- [Add text related to policy status](gitlab-org/gitlab@252701a4e9aefec3fe76b2920c1cdf5d096b918d) ([merge request](gitlab-org/gitlab!87462)) **GitLab Enterprise Edition** +- [Migrates the buttons when adding a metrics panel](gitlab-org/gitlab@419f7fad1b4be6cc656fa51c5b6d6875cdf41370) ([merge request](gitlab-org/gitlab!88732)) +- [Use the minimal layout for the in-app checkout flows](gitlab-org/gitlab@a220af77f688ecfa7507d8325e040f6f0a2e6475) ([merge request](gitlab-org/gitlab!84637)) **GitLab Enterprise Edition** +- [Improve styling of dropzone](gitlab-org/gitlab@fa368d9a6133d98d8cfff57d182d5866425e3b7c) ([merge request](gitlab-org/gitlab!87927)) +- [Add reason for unauthorized in jira connect API](gitlab-org/gitlab@f92f120c3da384db546774a0db995b7ac4340676) ([merge request](gitlab-org/gitlab!87890)) +- [Migrate resolve button in error tracking](gitlab-org/gitlab@493f11ee3967a650d2dcca79f5a5f410f9bae63e) ([merge request](gitlab-org/gitlab!88719)) +- [Migrates more details button in error tracking](gitlab-org/gitlab@af2d058b7ea7964738f3776389646f567a5d5075) ([merge request](gitlab-org/gitlab!88720)) +- [Migrates the edit policy button in drawer](gitlab-org/gitlab@51c8d22871f77ffed226159d573bf3e4c1bae334) ([merge request](gitlab-org/gitlab!88728)) **GitLab Enterprise Edition** +- [Migrates the modal to promote a milestone](gitlab-org/gitlab@e2c7c4ec04114b724afec44d6af0310774ebddc3) ([merge request](gitlab-org/gitlab!88784)) +- [Migrates the modal to edit LDAP user](gitlab-org/gitlab@97b7fa36af9c9d6419ff5c14aea586dfc14fdb9f) ([merge request](gitlab-org/gitlab!88786)) **GitLab Enterprise Edition** +- [Remove "other role" details during signup](gitlab-org/gitlab@be30e43436a019e827d827584913c1e556fa0bed) ([merge request](gitlab-org/gitlab!88901)) +- [Migrates radio buttons for strategy of auto devops](gitlab-org/gitlab@03c9e86f5e84a057bc105c1b4f20405e7a268aa5) ([merge request](gitlab-org/gitlab!88756)) +- [Migrate issuable form branch chooser alert to Pajamas ViewComponent](gitlab-org/gitlab@2e3d440c9691b9a4c7abe5a7fb408f53b2ac8377) ([merge request](gitlab-org/gitlab!88818)) +- [Improve focus states of downstream cards](gitlab-org/gitlab@9bdc02b4b4f5a039248146c64626c5a13a5cfc0f) ([merge request](gitlab-org/gitlab!88861)) +- [Migrates the save changes button to edit geo site](gitlab-org/gitlab@5deb00c950c4b76cc994b06ade1c5f53f4dad191) ([merge request](gitlab-org/gitlab!88682)) **GitLab Enterprise Edition** +- [Improve UI text of group Templates setting](gitlab-org/gitlab@ef0a8d1c46b7a0a52ab3f7b1be2b063d311603f2) ([merge request](gitlab-org/gitlab!88979)) **GitLab Enterprise Edition** +- [Migrates skeleton loader for projects in runner](gitlab-org/gitlab@8404447605b6f2ca010cc257537211341efecb41) ([merge request](gitlab-org/gitlab!88774)) +- [Migrates radio buttons in add license form](gitlab-org/gitlab@b5c59b3bf3b8898b2642d94a7c27194a03ba13e1) ([merge request](gitlab-org/gitlab!88790)) **GitLab Enterprise Edition** +- [Migrate path skeleton in value stream analytics](gitlab-org/gitlab@e4a341ba5b3abb5247b9b20e612deef31395c0d9) ([merge request](gitlab-org/gitlab!88766)) +- [This MR replaces outdated skeleton-loading](gitlab-org/gitlab@d13ed293c56da18fe4ddc1a1cc6c3586bf5d4b2e) ([merge request](gitlab-org/gitlab!88944)) +- [Migrates the resolve conflict button in diff view](gitlab-org/gitlab@17586e3d759706311634e87d49ce23eb2ab3ef19) ([merge request](gitlab-org/gitlab!88699)) +- [Migrates the display anyway button for math](gitlab-org/gitlab@27a58dfc7260a8792ff31bba25b6746bbbcd1167) ([merge request](gitlab-org/gitlab!88730)) +- [Increase margin in Sec. Dashboard cards](gitlab-org/gitlab@3922874541a7402ad2090848408dee8727f47890) ([merge request](gitlab-org/gitlab!88191)) **GitLab Enterprise Edition** +- [Migrates skeleton for cluster details in table](gitlab-org/gitlab@1973f0cbb350df296bea92438f247f597bc2b571) ([merge request](gitlab-org/gitlab!88748)) +- [Remove orphaned commits from Advanced Search index](gitlab-org/gitlab@87721770fae9d82a30dfa33d2c5cdc98b953f044) ([merge request](gitlab-org/gitlab!88197)) **GitLab Enterprise Edition** +- [Migrates the skeleton for notes in diffs](gitlab-org/gitlab@714ff7e4ed99a31d305a67c92ad4bc3d2404a950) ([merge request](gitlab-org/gitlab!88822)) +- [Migrates the save changes button to add metric](gitlab-org/gitlab@0ea88894f78968ba0fa826c463eca7922d5478e2) ([merge request](gitlab-org/gitlab!88734)) +- [Migrate button to go to Confluence](gitlab-org/gitlab@8573984993014f866e6b75a3bc9f25432af5c5e0) ([merge request](gitlab-org/gitlab!88715)) +- [Migrates the add button in form for stream](gitlab-org/gitlab@608c01a4f4b3d58f258b8f193ce0bc19e82ce1b4) ([merge request](gitlab-org/gitlab!88726)) **GitLab Enterprise Edition** +- [Migrate action buttons in security](gitlab-org/gitlab@f2bb17736cea1f34b0dfa277d17287cb93c20b28) ([merge request](gitlab-org/gitlab!88212)) **GitLab Enterprise Edition** +- [Migrates the add stream button in audit events](gitlab-org/gitlab@0cf897110b2cadf7874fa5f343825d89e1df8344) ([merge request](gitlab-org/gitlab!88725)) **GitLab Enterprise Edition** +- [Migrates the skeleton for system notes](gitlab-org/gitlab@7532f2f6ac7843297c604cc1724e733d86c6c366) ([merge request](gitlab-org/gitlab!88827)) +- [Migrates the create service account button for gcp](gitlab-org/gitlab@5b94ba3754e1a0dd1f298f4e8365ac725ddf3dc9) ([merge request](gitlab-org/gitlab!88722)) +- [Remove failed_jobs_tab_vue feature flag](gitlab-org/gitlab@317f3c0a80655b2040b7fd996f9478f5cb532329) ([merge request](gitlab-org/gitlab!88342)) +- [Migrate skeleton loader in runner jobs list](gitlab-org/gitlab@bada8679ca13abf5c69c5e9e12c0dbdb5c0c1901) ([merge request](gitlab-org/gitlab!88773)) +- [Migrates the button to archive a test case](gitlab-org/gitlab@1f2327e694a3804e2eede144b95b7d70739ad549) ([merge request](gitlab-org/gitlab!88898)) **GitLab Enterprise Edition** +- [Remove minutes quota copy from banner](gitlab-org/gitlab@d5fe0d2a8819485d932e90b9de4479c384e50a1e) ([merge request](gitlab-org/gitlab!88479)) +- [Remove unnecessary ExecStop from sidekiq service file](gitlab-org/gitlab@fab14b85f7a627b7372e7f1006f97f5ba4e00c26) by @behrmann ([merge request](gitlab-org/gitlab!88320)) +- [Migrates button in modal for hand raise leads](gitlab-org/gitlab@2f9a5a610eebd71e375f1ae650cd77313bdcc2ab) ([merge request](gitlab-org/gitlab!88781)) **GitLab Enterprise Edition** +- [Migrates the skeleton loader in markdown preview](gitlab-org/gitlab@7c1caf93147ccc54881fe16af6fc4fb8e5da7131) ([merge request](gitlab-org/gitlab!88765)) +- [Migrate wiki/issue rebalancing alert to Pajamas ViewComponent](gitlab-org/gitlab@149ac5d551537bb30bce4e7264a081416c48c5e4) ([merge request](gitlab-org/gitlab!88451)) +- [Clean up background migration BackfillIntegrationsEnableSslVerification](gitlab-org/gitlab@44437800582b9a0ddbc32e68220a6a17de01e6d6) ([merge request](gitlab-org/gitlab!88551)) +- [This MR replaces outdated skeleton-loading](gitlab-org/gitlab@efdbea2f1122f985b25aad64d7e3444677232bb3) ([merge request](gitlab-org/gitlab!88884)) **GitLab Enterprise Edition** +- [This MR replaces outdated skeleton-loading](gitlab-org/gitlab@c14ac19424fd2a4ab2993047a27814ee36232612) ([merge request](gitlab-org/gitlab!88883)) **GitLab Enterprise Edition** +- [Use CreateOrchestrationPolicyWorker to schedule SyncScanPoliciesWorker](gitlab-org/gitlab@9c26d4ed2b4556008d917c2f236f7dfc49e8241a) ([merge request](gitlab-org/gitlab!88885)) **GitLab Enterprise Edition** +- [Migrates the submit button to add a new license](gitlab-org/gitlab@165efec04d1d3b71029a6f8c2e441b2f219d766d) ([merge request](gitlab-org/gitlab!88735)) **GitLab Enterprise Edition** +- [Migrates dropdown item in options for error](gitlab-org/gitlab@36d2b10dd02e9d4a8eb7e5e4120952d8a62ecaf3) ([merge request](gitlab-org/gitlab!88718)) +- [Change pending text on members page for awaiting members](gitlab-org/gitlab@0308d2b938b588870676d1c3d1a531d043a8224a) ([merge request](gitlab-org/gitlab!88343)) **GitLab Enterprise Edition** +- [Allow delete of protected tags if user has authority](gitlab-org/gitlab@ca1a7cb2018a49ef04bc429546a6f276536616c1) by @eggerd ([merge request](gitlab-org/gitlab!85527)) +- [Migrates the button in burndown charts](gitlab-org/gitlab@e836d08e476a5df32853bc9d339a82058d37173c) ([merge request](gitlab-org/gitlab!88727)) **GitLab Enterprise Edition** +- [New issue visual cleanup](gitlab-org/gitlab@6b016c278fb9ad7442b94a276e6c63e92ae87666) ([merge request](gitlab-org/gitlab!88033)) +- [Migrates skeleton loader in value stream analytics](gitlab-org/gitlab@7b6f2031cd5fa87b7cb0eeeab3cdc87598fde309) ([merge request](gitlab-org/gitlab!88762)) +- [Remove unused helper method with warning button](gitlab-org/gitlab@dd7a35656c81747abaa20b33936dfa6493b63c16) ([merge request](gitlab-org/gitlab!88859)) **GitLab Enterprise Edition** +- [Migrates the install button for mattermost teams](gitlab-org/gitlab@7bf62fa9e247ee4473279ffe7bf3a27ed3d70a21) ([merge request](gitlab-org/gitlab!88854)) +- [Provide can_admin_vulnerability attribute to instance security dash](gitlab-org/gitlab@e2425d736f98209f364ed25668ee84116ec16f88) ([merge request](gitlab-org/gitlab!87232)) **GitLab Enterprise Edition** +- [Migrates the button in the leave group modal](gitlab-org/gitlab@84264fa1d48cecea9ec45f908591daf89ff086ab) ([merge request](gitlab-org/gitlab!88782)) +- [Migrates revoke approval button in merge request](gitlab-org/gitlab@b78cbbd17f08fa027a9449a015645b0f2f746eeb) ([merge request](gitlab-org/gitlab!88785)) +- [Migrates the dismiss vulnerability button in modal](gitlab-org/gitlab@7809ed41914996e4d04c58a5fff45bbbb7cc5e16) ([merge request](gitlab-org/gitlab!88354)) **GitLab Enterprise Edition** +- [Sets "Dismiss selected" button variant to default](gitlab-org/gitlab@99ad7f1336e39fb8adae49152e46a81e7016dbb0) ([merge request](gitlab-org/gitlab!88355)) **GitLab Enterprise Edition** +- [This MR migrates radio button to pajamas radio component](gitlab-org/gitlab@1c549d088584892936f636b92d83739785cb2586) ([merge request](gitlab-org/gitlab!88750)) +- [Migrates the radio to say who is using gitlab](gitlab-org/gitlab@19e8c35abbb5bfdb39628448d8df1b13f7220153) ([merge request](gitlab-org/gitlab!88755)) **GitLab Enterprise Edition** +- [Create index for deployment_approvals on created_at and id](gitlab-org/gitlab@efaffeb3941553a987657367022591db0dbf013f) ([merge request](gitlab-org/gitlab!88835)) +- [No-op FixMergeRequestDiffCommitUsers background migration](gitlab-org/gitlab@80ca16432dd1a70f41ad8b500c2b8e4761ad4084) ([merge request](gitlab-org/gitlab!85555)) +- [Enable 'automaticLayout' option for Source Editor](gitlab-org/gitlab@4f91d56913507613a827ca8338439665fff08fb3) ([merge request](gitlab-org/gitlab!78096)) +- [Cleanup New merge request selection step](gitlab-org/gitlab@bcf9c1bd4e37544b58154e378089b46a30b15e05) ([merge request](gitlab-org/gitlab!88525)) +- [Migrates the clone dropdown](gitlab-org/gitlab@5a7dbc0592f7f4e4ceec3f077c1e7b1a975d1149) ([merge request](gitlab-org/gitlab!88651)) +- [Cleanup New Epic](gitlab-org/gitlab@022a5a9d779ec16cd5a69ec7988d40f4095cfb97) ([merge request](gitlab-org/gitlab!88161)) +- [Remove 'delayed_repository_update_mirror_worker' feature flag](gitlab-org/gitlab@5684bdd75bb53d5ab36cbf6673b8fd72482507dd) ([merge request](gitlab-org/gitlab!88819)) +- [Update empty state of Slack Application page](gitlab-org/gitlab@d9cab5786dde316ab196dbc1415edce6b76e3c54) ([merge request](gitlab-org/gitlab!88814)) **GitLab Enterprise Edition** +- [Migrates the example in docs from success](gitlab-org/gitlab@ef551e29f4796db554cdd25a899b0c2aa2de0d17) ([merge request](gitlab-org/gitlab!88736)) +- [Migrate angle to chevron in group templates](gitlab-org/gitlab@52d75033c9590c03bf2e3e38df8a55f72fb8b7f6) ([merge request](gitlab-org/gitlab!88796)) **GitLab Enterprise Edition** +- [Migrates the button in the promote label modal](gitlab-org/gitlab@584b86c2a13eb5ec305f282ec1fd2d296017bf60) ([merge request](gitlab-org/gitlab!88783)) +- [Migrates button to cherry pick commits](gitlab-org/gitlab@35b6a824309a096a86b0ce8e8854220b83609c9e) ([merge request](gitlab-org/gitlab!88780)) +- [Migrate skeleton for unconfigured security rules](gitlab-org/gitlab@1de4f5425b5352da65f20bb2e7fd9ab5337e21d5) ([merge request](gitlab-org/gitlab!88779)) **GitLab Enterprise Edition** +- [Migrates the save changes button for value streams](gitlab-org/gitlab@601e469bf18d1bf5a1cfbd0685f5c1b455c2c541) ([merge request](gitlab-org/gitlab!88776)) **GitLab Enterprise Edition** +- [Migrates the skeleton in usage counts](gitlab-org/gitlab@9de3d3fbf319b62441a0f316b512980068d64829) ([merge request](gitlab-org/gitlab!88768)) +- [Migrates the radio mention in cascading settings](gitlab-org/gitlab@d282bc0bc3f4a295e322d7fdbe9e8a93d1d87a65) ([merge request](gitlab-org/gitlab!88761)) +- [Migrates the radio to say who will be using group](gitlab-org/gitlab@a639d5e309f0d406d608d15e919d74a5595c0bac) ([merge request](gitlab-org/gitlab!88754)) +- [Migrates the radio buttons in whats new settings](gitlab-org/gitlab@5d0e6244fe86a37729c636fd087ee68e61c224fa) ([merge request](gitlab-org/gitlab!88753)) +- [Align Webhooks settings entry order](gitlab-org/gitlab@cc61bd5cce34097f26d7e291eda2e8f2fbb40516) ([merge request](gitlab-org/gitlab!88731)) **GitLab Enterprise Edition** +- [Migrate button to view issue for error](gitlab-org/gitlab@3d2442b7ae9b024cd089fb7c151ec85d99f6bd2e) ([merge request](gitlab-org/gitlab!88717)) +- [Migrates the start web terminal button in web ide](gitlab-org/gitlab@dbe40338af4829499a6cd81d39b908f7417413d5) ([merge request](gitlab-org/gitlab!88724)) +- [Migrate use template button for custom templates](gitlab-org/gitlab@2a609d25104628da7c64576cfc9797e95076d51e) ([merge request](gitlab-org/gitlab!88716)) **GitLab Enterprise Edition** +- [Migrate pages domain alert to Pajamas ViewComponent](gitlab-org/gitlab@bb1534cdb681e22fe1943e9b2f33b32bd0c6ccb9) ([merge request](gitlab-org/gitlab!88442)) +- [Migrates try out pipeline button in mr widget](gitlab-org/gitlab@9fa4707f54943c05f25c0dc89d5893d9b41103d0) ([merge request](gitlab-org/gitlab!88650)) +- [Migrates the save changes button for new geo site](gitlab-org/gitlab@df68b457324cc2174bd94272f592c7ded0e17e0a) ([merge request](gitlab-org/gitlab!88678)) **GitLab Enterprise Edition** +- [Migrate button to confirm users email](gitlab-org/gitlab@91348d306b51bd60ed9e50b3e30eaaf29f095b77) ([merge request](gitlab-org/gitlab!88324)) +- [Migrate push rules edit alert to Pajamas ViewComponent](gitlab-org/gitlab@dcb6c952f799aca188f3af3ed35c4055e1452bda) ([merge request](gitlab-org/gitlab!88454)) **GitLab Enterprise Edition** +- [Reject some requests that may conflict with project stats refresh](gitlab-org/gitlab@cdfaf75d643e1d8c3059270230e04605a7e3c672) ([merge request](gitlab-org/gitlab!87939)) +- [Migrates button to add approval rule in MR](gitlab-org/gitlab@d504d6eb915b09e009c8cafa929e03b032f1680a) ([merge request](gitlab-org/gitlab!88662)) +- [Migrate project new tag alert to Pajamas ViewComponent](gitlab-org/gitlab@47f4a06dc53d7922d1718c81f98518e84b2348c3) ([merge request](gitlab-org/gitlab!88449)) +- [Migrates the revoke oauth button for GCP](gitlab-org/gitlab@b6aea222082bb3b499f83c00ca96821688509b76) ([merge request](gitlab-org/gitlab!88610)) +- [Migrates the CLI Commands dropdown for containers](gitlab-org/gitlab@c4c596c222c27d0d384de8e470b43e058cb45f9f) ([merge request](gitlab-org/gitlab!88646)) +- [Migrates the button to trigger a manual job](gitlab-org/gitlab@c5f9e48d3d242676b64fc78bdeb9d1efdf6bcc6a) ([merge request](gitlab-org/gitlab!88644)) +- [Add script keyword link in tooltip](gitlab-org/gitlab@7ca9effcb93a1aff0a52eb130c565caefcde5061) ([merge request](gitlab-org/gitlab!88643)) +- [Migrates the configure button for feature flags](gitlab-org/gitlab@b8e264d82491c030ad37f2b14ce5db3e84d66a72) ([merge request](gitlab-org/gitlab!88642)) +- [Change order of displayed years in CI minutes app](gitlab-org/gitlab@f43312b0dfcddc11d5ee20cea94540b470b91578) ([merge request](gitlab-org/gitlab!88171)) **GitLab Enterprise Edition** +- [Rearrange user popover content for better overview](gitlab-org/gitlab@f3cf9f064060f4e9410465d47c02932f8c7a44aa) ([merge request](gitlab-org/gitlab!88317)) +- [Migrate admin emails to Pajamas ViewComponent](gitlab-org/gitlab@8b1b0cf2947d71a3417def70709b5859288ce789) ([merge request](gitlab-org/gitlab!88452)) **GitLab Enterprise Edition** +- [Enforce `Migration[2.0]` to make all migrations decomposition supported](gitlab-org/gitlab@886f01669adfeaedfd0f84287dd29fc11e70ba2f) ([merge request](gitlab-org/gitlab!88549)) +- [Clean up vulnerabilities over time chart and improve tests](gitlab-org/gitlab@d369d94c816bfe7519b79d911cdc409335309669) ([merge request](https://gitlab.com/gitlab-org/gitlab/-/merge_requests/87892)) **GitLab Enterprise Edition** +- [Migrate storage limit alert to Pajamas](gitlab-org/gitlab@92c9c17be9e2a6d061dd2fe1c09c08c513d43e0e) ([merge request](gitlab-org/gitlab!87914)) **GitLab Enterprise Edition** +- [Migrate remove cluster buttons](gitlab-org/gitlab@f2269d890420294f0d599e43bf2e77d983a6940f) ([merge request](gitlab-org/gitlab!88284)) +- [Refine mini pipeline graph states](gitlab-org/gitlab@c9ea858001ce447dc3e1e437096327b0b897d0f4) ([merge request](gitlab-org/gitlab!87969)) +- [Migrate above size limit alert to Pajamas ViewComponent](gitlab-org/gitlab@fb0f9019aa6b907823709b7112a3823744052880) ([merge request](gitlab-org/gitlab!88335)) **GitLab Enterprise Edition** +- [Add upstream pipeline attributes in pipeline hooks](gitlab-org/gitlab@3acaa0e4ab9f73765f5029478c1bd76d4b26383e) by @AdrianLC ([merge request](gitlab-org/gitlab!86994)) +- [Migrates the upload file button for secure files](gitlab-org/gitlab@2fa81ac937359dd64ca7bf5b233bd66ec4faaf1f) ([merge request](gitlab-org/gitlab!88546)) +- [Migrates the clear cluster cache button](gitlab-org/gitlab@98cf3d72ff7d594f51a7fc92ae3bdc5d03ab9678) ([merge request](gitlab-org/gitlab!88543)) +- [Removes the configure later button](gitlab-org/gitlab@957658282ba698a792ef8aad585b68f3a8112c6d) ([merge request](gitlab-org/gitlab!88306)) +- [Make `ci_owned_runners_*` FF on by default](gitlab-org/gitlab@e2dda9381a0fe183a9ac52df838e369180422c62) ([merge request](gitlab-org/gitlab!88526)) +- [Header add focus ring to more elements](gitlab-org/gitlab@f0bf0487528bfdb780a7f5a9d9af01c5f1ce640a) ([merge request](gitlab-org/gitlab!88023)) +- [Update MR widget styling](gitlab-org/gitlab@bcfd8c4a676e1383b9164261ec08e94e42293efe) ([merge request](gitlab-org/gitlab!88156)) +- [Update Gitlab Shell version to 14.7.1](gitlab-org/gitlab@cc4cc55fc3bdf6bf5c5c72f5d2aa0374b4407f3c) ([merge request](gitlab-org/gitlab!88511)) +- [Clean up security dashboard layout](gitlab-org/gitlab@d595bbe97f63392b4ee88b7c31f6d2aa35d5615c) ([merge request](https://gitlab.com/gitlab-org/gitlab/-/merge_requests/87218)) **GitLab Enterprise Edition** +- [Improve error display for Zentao issue](gitlab-org/gitlab@b7009a87d36957c47bea8323ba89350049a85085) by @icbd ([merge request](gitlab-org/gitlab!88035)) **GitLab Enterprise Edition** +- [Remove execute_batched_migrations_on_schedule_ci_database](gitlab-org/gitlab@b7d17361201ee46612ac6589f961cd916db57d8e) ([merge request](gitlab-org/gitlab!88252)) +- [Update incident escalation policy when alert status is first synced](gitlab-org/gitlab@d9e89ee080c33e1a27d560abb869e1af09ce3c37) ([merge request](gitlab-org/gitlab!85232)) +- [Update all versions of n/a or N/A to Not applicable](gitlab-org/gitlab@76482875f91d3d1839f17c820a4374a509406223) by @ali_o_kan ([merge request](gitlab-org/gitlab!87526)) +- [Migrates the Elasticsearch retry migration button](gitlab-org/gitlab@be4eb553c0d85824ec72f66f33edcd36b64b0539) ([merge request](gitlab-org/gitlab!88325)) **GitLab Enterprise Edition** +- [Migrates the button for updating the username](gitlab-org/gitlab@b73c41d28bec37b177caf1f9c120aa414edd878a) ([merge request](gitlab-org/gitlab!88329)) +- [Contribution Analytics - Deprecate seg control](gitlab-org/gitlab@2d287683cb10a1edd5d2bd0a1283dadc39a4afe4) ([merge request](gitlab-org/gitlab!87964)) **GitLab Enterprise Edition** +- [Add validation for namespace on compliance frameworks](gitlab-org/gitlab@620aedfc111f3eddfd85a16822dd08a4b6b9aff4) ([merge request](gitlab-org/gitlab!84467)) **GitLab Enterprise Edition** +- [Remote h1 from site logo](gitlab-org/gitlab@c0452b26836817dbb2c6ae894489adf1e3a544f9) ([merge request](gitlab-org/gitlab!88385)) +- [Add end_event_timestamp to the stage records JSON response](gitlab-org/gitlab@a18f494478e26b35bfd7c19334d7b04fae172032) ([merge request](gitlab-org/gitlab!88155)) +- [Unbox Designs on issues](gitlab-org/gitlab@ecf58f408ed5766f6c4b95a19fc997a499ede0e6) ([merge request](gitlab-org/gitlab!88262)) +- [Disable Content-MD5 when FIPS is enabled](gitlab-org/gitlab@8f253fbb1b17888969228707c81ab077eef45344) ([merge request](gitlab-org/gitlab!86696)) +- [Migrate archive button in design](gitlab-org/gitlab@e6ad0d6c8e433b90dd615b6f20dcccadad4cf244) ([merge request](gitlab-org/gitlab!88300)) +- [Make improvements to group repo analytics UX](gitlab-org/gitlab@11f894617eb4c61791106cb55531e4c05d8a1c31) ([merge request](gitlab-org/gitlab!86489)) **GitLab Enterprise Edition** +- [Align note actions to Pajamas icon button styles](gitlab-org/gitlab@07bfc3c5278b511f14c87ca60e55b8fa9dfb34d1) ([merge request](gitlab-org/gitlab!85245)) +- [Migrates the button to add approval rule](gitlab-org/gitlab@7d40c1a5935200fa4dd5609d27a1789bcbede1f8) ([merge request](gitlab-org/gitlab!88345)) **GitLab Enterprise Edition** +- [Migrates the unprotect environment button](gitlab-org/gitlab@07b791f2effcf9b1c1c27d9fed947e0f2bf0c130) ([merge request](gitlab-org/gitlab!88328)) **GitLab Enterprise Edition** +- [Geo Sites - Link to replication views](gitlab-org/gitlab@1cb8966ab02731a58492ca2cca517867e674e711) ([merge request](gitlab-org/gitlab!87701)) **GitLab Enterprise Edition** +- [Sort projects by CI minutes usage in Usage Quotas page](gitlab-org/gitlab@41b8ff54f0fe67224c899b339925262d02375993) ([merge request](gitlab-org/gitlab!88313)) **GitLab Enterprise Edition** +- [Migrates the button to change group URL](gitlab-org/gitlab@ecf40b5e32f1ed3fb5862e9e1a1f2a915013936e) ([merge request](gitlab-org/gitlab!88323)) +- [Migrate the lock button in the sidebar](gitlab-org/gitlab@b192c0979738cd1b014af3f8ad1ef16f77f1d3db) ([merge request](gitlab-org/gitlab!88322)) +- [Migrate button in inline collapsed files alert](gitlab-org/gitlab@0f6909b48e460d5ba8c514f55ed62cece49ac417) ([merge request](gitlab-org/gitlab!88304)) +- [Migrate button in alert for collapsed files](gitlab-org/gitlab@df1822bce27e041500d67077c560b46ec0d025a0) ([merge request](gitlab-org/gitlab!88302)) +- [Change next_aborted_repository `take` to `limit(2)[0]`](gitlab-org/gitlab@df3f217e99a5541de9cd05b120619c53ef735650) ([merge request](gitlab-org/gitlab!88282)) +- [Added trigger for namespace_aggregation_worker](gitlab-org/gitlab@09830ce3dd50140ef6a003b8221dd8a5692cfce0) ([merge request](gitlab-org/gitlab!88271)) +- [Migrate button in alert for mermaid limit](gitlab-org/gitlab@53277e97470a201257babe0c82508ee4e9fc1122) ([merge request](gitlab-org/gitlab!88298)) +- [Migrate add project button in operations dashboard](gitlab-org/gitlab@bd74910a6646a3df6112df70e444b4f7dafca210) ([merge request](gitlab-org/gitlab!88211)) **GitLab Enterprise Edition** +- [Container Registry: cleanup expire icon changed](gitlab-org/gitlab@411d694fe28abfaa1fa84b915eb6e202a2aa11bd) by @TrayHard ([merge request](gitlab-org/gitlab!85837)) +- [Rename Projects::ServicesController and change routes](gitlab-org/gitlab@23e3dd71439031a34c3eba4923a30248fda14be2) ([merge request](gitlab-org/gitlab!88043)) +- [Migrate checkbox for mattermost with new group](gitlab-org/gitlab@f69105b8df4de6e88946cb0b0349c24ba5eacfeb) ([merge request](gitlab-org/gitlab!86974)) +- [Remove unused state and function](gitlab-org/gitlab@ff927d4c0b43ed7b9fecf13668c8c3b6aeb8511a) by @JonstonChan ([merge request](gitlab-org/gitlab!87154)) +- [Migrate confirm user button](gitlab-org/gitlab@bde7d8671744bddef4a43551233c7235a694b07f) ([merge request](gitlab-org/gitlab!88217)) +- [Migrate service ping consent button](gitlab-org/gitlab@b58a1733370d89f71689572a90b2ddf79a1fc9fb) ([merge request](gitlab-org/gitlab!88216)) +- [Migrate trigger cluster reindexing button](gitlab-org/gitlab@39d667bf19679a5a1aad618c3be3ce0d722f5e56) ([merge request](gitlab-org/gitlab!88218)) **GitLab Enterprise Edition** +- [Migrate buttons in user count alert](gitlab-org/gitlab@c94158932a7880c9119e618b4b248047ce5e235d) ([merge request](gitlab-org/gitlab!88220)) **GitLab Enterprise Edition** +- [Migrate purchase storage button in alert](gitlab-org/gitlab@d3a8a9611e96af455e3ad798b3feb6caf2286fa9) ([merge request](gitlab-org/gitlab!88210)) **GitLab Enterprise Edition** +- [Migrate enable Service Desk button in info](gitlab-org/gitlab@d25bcfee135dda2d7a9b92fdcabafc7418ff33e6) ([merge request](gitlab-org/gitlab!88209)) +- [Update Gitlab Shell version to 14.6.0](gitlab-org/gitlab@754a86543200ac226b6bf1614a6d9819b014e57e) ([merge request](gitlab-org/gitlab!88208)) +- [Use backend to send security training status instead of using GraphQL](gitlab-org/gitlab@0b8a1c19550632d754c02f1988f427fa01d24ac2) ([merge request](https://gitlab.com/gitlab-org/gitlab/-/merge_requests/86639)) +- [Forbid creating streaming destinations for subgroups](gitlab-org/gitlab@b217d2ee43b6a7abf5a1bb374919f9d289598625) ([merge request](gitlab-org/gitlab!87814)) **GitLab Enterprise Edition** +- [Add structured error parsing for user_cherry_pick](gitlab-org/gitlab@21d14354183b0090d9c84cead56841052779b054) ([merge request](gitlab-org/gitlab!86594)) +- [Verify group name is valid inside of the purchase flow](gitlab-org/gitlab@e2f3f7b8f701b54150a7a4744e83bd5f70bc99b7) ([merge request](gitlab-org/gitlab!88144)) **GitLab Enterprise Edition** +- [Add filters by milestone, author, and assignee to task by type](gitlab-org/gitlab@3e137d0b69af64aafe738705e79ab0a4839e7efd) ([merge request](gitlab-org/gitlab!88134)) **GitLab Enterprise Edition** +- [Change edit profile inputs to be full width on mobile](gitlab-org/gitlab@88ca60119ab817a58ef18b13ae6e87abd68d1aa9) ([merge request](gitlab-org/gitlab!87743)) +- [Add shared runner duration to table](gitlab-org/gitlab@d938e1936e1ebf403c8ad8cbcb03efd4d022723f) ([merge request](gitlab-org/gitlab!87954)) **GitLab Enterprise Edition** +- [Backfill project member namespace id](gitlab-org/gitlab@043db31b12411bc0281d3b4e4ed3d51956cb4ba2) ([merge request](https://gitlab.com/gitlab-org/gitlab/-/merge_requests/79204)) +- [In emails, style implicit links too](gitlab-org/gitlab@e2c5bd4b7595f3d0c71627444c0f7cf5fc7de185) by @smokris ([merge request](gitlab-org/gitlab!84235)) +- [Bump Gitlab Shell version to 14.5.0](gitlab-org/gitlab@6ae3af4dacf12f2888fa054b50dfa1e555c33ad8) ([merge request](gitlab-org/gitlab!88082)) +- [Add focus to old form elements](gitlab-org/gitlab@7c6c2db281bc5c246bea2ee1c44c56cf299bbe88) ([merge request](gitlab-org/gitlab!88028)) +- [Adjust placement of DAST profile conflict banner](gitlab-org/gitlab@d34b20c87d352b61475ed2b41945b1f076faa395) ([merge request](gitlab-org/gitlab!88061)) **GitLab Enterprise Edition** +- [Allow version conflicts in commits migration](gitlab-org/gitlab@842da21dd79533bd69dbb6e3c16aa01074115865) ([merge request](gitlab-org/gitlab!88041)) **GitLab Enterprise Edition** +- [Migrate enable service desk button to confirm](gitlab-org/gitlab@ed382b785b5ab333ddf96279d5eaf920d980244f) ([merge request](gitlab-org/gitlab!87901)) +- [Clarify required permission for GitLab Migration](gitlab-org/gitlab@69d0774ffab84dd67b4103e7c0d5bc49a73e8954) by @qb60 ([merge request](gitlab-org/gitlab!86877)) +- [Ghost-userize Threat Insights models on deletion](gitlab-org/gitlab@dcbaf19017a78cfd75e7fa22a1ab96c528246f43) ([merge request](gitlab-org/gitlab!88004)) **GitLab Enterprise Edition** +- [Migrate save edited snippets comment to confirm](gitlab-org/gitlab@082e98af8c3d460087d919c1fe77977110b2701c) ([merge request](gitlab-org/gitlab!87902)) +- [Rename storage to project storage](gitlab-org/gitlab@b3470416c62f1ea1fccb0daa89def62e32cf01b4) ([merge request](gitlab-org/gitlab!87410)) +- [Exclude date-range controls from loading state](gitlab-org/gitlab@f343fde741376b5943f73a14bf9fbb93a68ec552) ([merge request](gitlab-org/gitlab!87716)) **GitLab Enterprise Edition** +- [Change group usage quota ux](gitlab-org/gitlab@658721a03c5ce7e0f7ec64cfa8170573aa6c5410) ([merge request](gitlab-org/gitlab!87311)) +- [Update Slack application settings form labels](gitlab-org/gitlab@b5f90883295a52c941da55c4a9ea70f346bf8b12) ([merge request](gitlab-org/gitlab!87975)) **GitLab Enterprise Edition** +- [Redesign package details history loading experience](gitlab-org/gitlab@fd17f16ff5ec8f25ad0cac218d43356f74266534) ([merge request](gitlab-org/gitlab!87054)) +- [Bump Gitlab Shell version to 14.4.0](gitlab-org/gitlab@b3c38a321c295047a94f938ad17e46418c351357) ([merge request](gitlab-org/gitlab!87971)) +- [Fix the odd spacing in the sidebar between Milestone and Iteration](gitlab-org/gitlab@736c6694644ef08447b0dee67b839f305e08182e) ([merge request](gitlab-org/gitlab!87900)) +- [Adding ordered scope to Project-level Secure Files](gitlab-org/gitlab@9f60132df4400096a7f40f0d029f74f6c11b6326) ([merge request](https://gitlab.com/gitlab-org/gitlab/-/merge_requests/87546)) +- [Increase size of sidebar nav sidebar](gitlab-org/gitlab@1ef2afcf4c55dc5de6d1aa95fc912df1e823d98c) ([merge request](gitlab-org/gitlab!87816)) +- [Define states parameter in environments api interface](gitlab-org/gitlab@e718b9301ebe2405c12f9a91871af458aa5b67f1) ([merge request](gitlab-org/gitlab!87837)) +- [Update commits migration options](gitlab-org/gitlab@59679fe3e8793e9a03edaa7992d1644a9a8b26e4) ([merge request](gitlab-org/gitlab!87828)) **GitLab Enterprise Edition** +- [Update report schema selection process description](gitlab-org/gitlab@43dc9f7fbbecea852fe957ce4f188bc4c492b1a1) ([merge request](gitlab-org/gitlab!87848)) +- [Add enhanced schema for security policies](gitlab-org/gitlab@d04ae9c8d5c0ce55acfddb1f90bf20b4da215e3e) ([merge request](gitlab-org/gitlab!87338)) **GitLab Enterprise Edition** +- [Scope batched background migrations to current gitlab_schema](gitlab-org/gitlab@6facb53483eeab1d38726da0acd4bd0b5490e16d) ([merge request](gitlab-org/gitlab!86525)) +- [Pipeline quota: Sort projects by CI minutes](gitlab-org/gitlab@09d4bf515a63c8433b4c659e52a088aa8328c283) ([merge request](gitlab-org/gitlab!83680)) **GitLab Enterprise Edition** +- [Swap FK web_hook_logs to web_hooks for LFK](gitlab-org/gitlab@728c87d64ee40193addfcd63b46f8840907c8fb3) ([merge request](gitlab-org/gitlab!87584)) +- [Bump Gitlab Shell version to 14.3.1](gitlab-org/gitlab@23d0c0211b5f12d1db0fec72bc687f9cb4f73a64) ([merge request](gitlab-org/gitlab!87921)) +- [Migrates start free trial button to confirm](gitlab-org/gitlab@0279dc51996922023e0c9875d38ee00487796ec2) ([merge request](gitlab-org/gitlab!87903)) **GitLab Enterprise Edition** +- [Update expires at field to remove the current date from possible options](gitlab-org/gitlab@5b4f9f98d8caa5eeec3b96afeeab3fec5f0b3f2e) ([merge request](https://gitlab.com/gitlab-org/gitlab/-/merge_requests/87513)) +- [Migrate save identity button to confirm variant](gitlab-org/gitlab@139bb842490c0f9e705b27d2de59de9873c7a71a) ([merge request](gitlab-org/gitlab!87896)) +- [Migrate new identity button to confirm variant](gitlab-org/gitlab@277811c5448e8d07893a8f992faa270222b8fc1b) ([merge request](gitlab-org/gitlab!87893)) +- [Added docs links to the keyword tooltips in the pipeline editor](gitlab-org/gitlab@b6620c041fb83aaa62bf11082694daa49a0a74fe) by @shridharbhat1998 ([merge request](gitlab-org/gitlab!87494)) +- [Change logo to use tanuki-only](gitlab-org/gitlab@60b5f3a904220eea72c6bcc182de60159d626d96) ([merge request](gitlab-org/gitlab!86348)) +- [Change navbar height to 48px](gitlab-org/gitlab@bb018c4023afa6c8194b87b045749048f0446b32) ([merge request](gitlab-org/gitlab!87811)) +- [Approvals summary content font-weight fix](gitlab-org/gitlab@63b7cdef027bc22949ccd72cef3257a7aa55295e) ([merge request](gitlab-org/gitlab!87840)) +- [Add breadcrumb link to release when editing](gitlab-org/gitlab@e6d943b4a35771af490fa593b4551408afaf8671) ([merge request](gitlab-org/gitlab!87451)) +- [Generalize Mailgun webhook endpoints](gitlab-org/gitlab@ebd1011602dcb895975d0603f5401e7b86d5ef31) ([merge request](gitlab-org/gitlab!86226)) +- [Update icons and text](gitlab-org/gitlab@407f5cf372f5d1cab49382751587c56b9e37a8cd) ([merge request](gitlab-org/gitlab!87704)) +- [Improve container registry image copy tooltips](gitlab-org/gitlab@f9168859b2f526ff606423e6918705fd08ad50fc) ([merge request](gitlab-org/gitlab!87434)) + +### Deprecated (4 changes) + +- [Deprecate project_fingerprint from finding](gitlab-org/gitlab@cdd069f030ec1748a9900191c8626deabfe6f759) ([merge request](gitlab-org/gitlab!89578)) **GitLab Enterprise Edition** +- [PipelineSecurityReportFinding.name deprecated flag](gitlab-org/gitlab@1a0c832bc0fbf7ac2ee416beb094b03ce9b28c32) ([merge request](gitlab-org/gitlab!89571)) **GitLab Enterprise Edition** +- [Remove geo_lfs_object_delete_events table and references](gitlab-org/gitlab@cb6c12ef35556c2d9664039b9db99f6e1fc9d452) ([merge request](gitlab-org/gitlab!88257)) +- [Deprecate ApiFuzzingCiConfigurationCreate mutation](gitlab-org/gitlab@677cb45f3fff855c33556ca6837a7553f3eaa667) ([merge request](gitlab-org/gitlab!87241)) **GitLab Enterprise Edition** + +### Removed (24 changes) + +- [Remove the vsa_consistency_worker FF](gitlab-org/gitlab@48c49e1931ab2639b2cf9f02750186b47f474888) ([merge request](gitlab-org/gitlab!89824)) +- [Remove remove_diff_header_icons feature flag](gitlab-org/gitlab@119d9f377f6948f488f949b7470ceba30ff6c149) ([merge request](gitlab-org/gitlab!89778)) +- [Remove already used worker as part of a previous](gitlab-org/gitlab@a74c5e2e5985e19bfda8c35988df21379c042078) ([merge request](gitlab-org/gitlab!89146)) **GitLab Enterprise Edition** +- [Remove the manual renewal banner](gitlab-org/gitlab@1ea6624c15bf048f2b5fb4c7c79795aa387c91bf) ([merge request](gitlab-org/gitlab!89524)) **GitLab Enterprise Edition** +- [Remove `sandboxed_mermaid` feature flag](gitlab-org/gitlab@cd2dde69843cc188e93cf7ff35846a80ec9fbd43) ([merge request](gitlab-org/gitlab!87117)) +- [Revert "Merge branch 'ag/348481-saas-seats-count-alert-member-numbers' into 'master'"](gitlab-org/gitlab@2ec0d957181dd92b04b63a3cdf0ef0e4c4a3922c) ([merge request](gitlab-org/gitlab!89122)) +- [Remove the vsa_incremental_worker feature flag](gitlab-org/gitlab@eb1584340e24ac6511b21205fd2598f87a9e2765) ([merge request](gitlab-org/gitlab!89105)) +- [Remove metrics for SSE feature](gitlab-org/gitlab@380e95b78a68adc4f48a5af5c98588d4d1decf8c) ([merge request](https://gitlab.com/gitlab-org/gitlab/-/merge_requests/88485)) +- [Remove old Prometheus::CreateDefaultAlertsWorker](gitlab-org/gitlab@9e098df622ae5482c4bf92acbf8cb0c6357b955a) ([merge request](gitlab-org/gitlab!88256)) +- [Remove prometheus alert index path and usage](gitlab-org/gitlab@007ccec079bccbc3cac7fde55772f1c6d84c9820) ([merge request](gitlab-org/gitlab!87855)) +- [Remove container_security_policy_selection related code](gitlab-org/gitlab@82e357f67a1b718ab870f19329d68e80496a70c3) ([merge request](gitlab-org/gitlab!88393)) **GitLab Enterprise Edition** +- [Remove `ci_owned_runners_unnest_index` feature flag](gitlab-org/gitlab@2092017d044ccb9473021252d72f312cc3ce0c39) ([merge request](gitlab-org/gitlab!88530)) +- [Remove `ci_owned_runners_cross_joins_fix` feature flag](gitlab-org/gitlab@1d92a78ffb57c6b750e52568343e52b03a735d45) ([merge request](gitlab-org/gitlab!88529)) +- [Remove Cluters Schedule update service](gitlab-org/gitlab@88d3b61779b37ade9073a144bbe842e77b91281a) ([merge request](gitlab-org/gitlab!88105)) +- [Remove all SSE references](gitlab-org/gitlab@68047f4c7ce98f287f2f572b9fddd2563654b52b) ([merge request](gitlab-org/gitlab!87221)) +- [Drop token column from deploy_tokens table](gitlab-org/gitlab@457f240c60ad09e30facc0ea3c3cfe2bb03d3947) ([merge request](gitlab-org/gitlab!88334)) +- [Merge branch 'feat/remove-project-daily-statistics-worker' into 'master'](gitlab-org/gitlab@ae971c8eea269fdb0b6cf7e284a8685ad557d07e) ([merge request](gitlab-org/gitlab!88244)) +- [Remove 'namespaces_cache_first_auto_devops_config' feature flag](gitlab-org/gitlab@62935163fe84bd85fe532af832960f73ed92ead7) ([merge request](gitlab-org/gitlab!88348)) +- [Remove 'group_projects_api_preload_groups' feature flag](gitlab-org/gitlab@ca2c3c7e61d9e23d949a774e778af6301c012860) ([merge request](gitlab-org/gitlab!88346)) +- [Remove compliance_framework_setting from project edit API](gitlab-org/gitlab@0ce543b58d55697c5d1313b0c41405ee901cc1fa) ([merge request](gitlab-org/gitlab!88297)) **GitLab Enterprise Edition** +- [Remove ignore_column for security_scan_succeeded](gitlab-org/gitlab@8e2ac4fd1b9eddb600f23b7a834988c1d1614e82) by @svdj ([merge request](gitlab-org/gitlab!88234)) +- [Remove Pages legacy storage rake tasks](gitlab-org/gitlab@ca51abe88bc79db47baf945401ec9716a6e7024e) by @feistel ([merge request](gitlab-org/gitlab!87169)) +- [Delete threat_monitoring alerts](gitlab-org/gitlab@6fd0fbfbed1f34f50817ae536dee56d7ae91586b) ([merge request](gitlab-org/gitlab!87096)) +- [Drop compliance frameworks regulated column](gitlab-org/gitlab@8a716a1c08ac78456abbc02dab76f0e67448b30f) ([merge request](gitlab-org/gitlab!87657)) **GitLab Enterprise Edition** + +### Security (11 changes) + +- [Remove `access_token_ajax` feature flag](gitlab-org/gitlab@61e51d5a8b466f6e43b7b93f093d67600f631e70) ([merge request](gitlab-org/gitlab!87405)) +- [Update rack gem to version 2.2.3.1](gitlab-org/gitlab@053cc4d21f9c8cf426db68244df29ee242e91cd7) ([merge request](gitlab-org/gitlab!88952)) +- [Subgroup member can list members of parent group](gitlab-org/gitlab@d729cc394617e5d194ad8931ea246b2f1ea17f79) +- [Fix content injection in Jira issue title](gitlab-org/gitlab@a85545365ed92ed9c4d9c118f83bb46839ad14de) +- [Trigger token should respect group IP restrictions](gitlab-org/gitlab@0fea8c972a1d80385b2bc82629ef0544eda28962) +- [Do not allow project member import when membership is locked](gitlab-org/gitlab@aee29cc2a5a42d239e307ef4f87204d5b4941500) +- [Disable changing user attributes when updating SCIM provisioned user](gitlab-org/gitlab@31038bb05aefbc3c57de5804a05fbaaead5378be) +- [Escape contact details correctly in quick actions](gitlab-org/gitlab@e61e9b9434e2198c4c1d5cf6b4531eb4323c3575) +- [Allow only job owner to run interactive terminal](gitlab-org/gitlab@3e398c7b047f441a1957f5f43cb0abd6b93d34e2) +- [Remove sha from releases internal API](gitlab-org/gitlab@83f59686ebfdba734d3bbfc17bece9900307b7f7) ([merge request](gitlab-org/gitlab!88810)) +- [Fix IP restrictions not applying to deploy tokens](gitlab-org/gitlab@e973509c27440968443babf32ad6751071769de6) + +### Performance (24 changes) + +- [Add index to improve open issues count query](gitlab-org/gitlab@3f48bfc1279bb20ecc56d5d7c96a04717c11f1d2) ([merge request](gitlab-org/gitlab!90481)) +- [Introduce timeout to markup rendering](gitlab-org/gitlab@8ad6b74243bba6cacb0d3aa8651efb6aeea9c55c) ([merge request](gitlab-org/gitlab!89509)) +- [Replace API order by created_at with order by id](gitlab-org/gitlab@a426f0c5aee093a582c79abd56942fd3f46f2967) ([merge request](gitlab-org/gitlab!89480)) +- [Move Elasticsearch project transfer to async worker](gitlab-org/gitlab@5ceaa8578ad061037cecf5af477140ec8a769619) ([merge request](gitlab-org/gitlab!89058)) **GitLab Enterprise Edition** +- [Delete repositories without renaming them first](gitlab-org/gitlab@c73e1fc26736f2230ae79fbae5cfc32845ee3aaa) ([merge request](gitlab-org/gitlab!87722)) +- [Reduce response cost of deploy keys autocompleter](gitlab-org/gitlab@8ceedde63cf41cef3823ef20dae4e180805585b2) by @hchouraria ([merge request](gitlab-org/gitlab!87510)) +- [Fix N+1 queries for Changelog generation](gitlab-org/gitlab@903dc0a65ef91d15e582406fc1197c6b712b9726) ([merge request](gitlab-org/gitlab!89149)) +- [Prevent processing markdown when copying notes](gitlab-org/gitlab@effb1ecdb13d2b789c8cc159e63595e0a6976d27) ([merge request](gitlab-org/gitlab!86708)) +- [Preload `avatar_url` for CompareController](gitlab-org/gitlab@84182223492b4b928c812a935c5f09e156e455c4) ([merge request](gitlab-org/gitlab!89117)) +- [Preload associations for RepositoryUpdateMirrorWorker](gitlab-org/gitlab@779a62f9e91e2b139ecfee556d1359e8f037dc2f) ([merge request](gitlab-org/gitlab!88068)) **GitLab Enterprise Edition** +- [Finalize new index and update schema](gitlab-org/gitlab@d2ae6eaf3de81c9c4c276eff4d596c40b6233214) ([merge request](gitlab-org/gitlab!87329)) +- [Fix SQL statement timeout while fetching inactive projects](gitlab-org/gitlab@748cf065952d1af20eabb790eb5e4d654d284755) ([merge request](gitlab-org/gitlab!88751)) +- [Add traversal_ids index when type is group using btree](gitlab-org/gitlab@2f587bc3452797cc16b4123b52d827f9b1f00e48) ([merge request](gitlab-org/gitlab!88817)) +- [Fix N+1 issue for CompareController](gitlab-org/gitlab@6cac680b148c3fa6c7e8d279e25cf25823a0fce5) ([merge request](gitlab-org/gitlab!88357)) +- [access_checks: Always enable use of quarantine directory](gitlab-org/gitlab@ff90b0995ec781a1624b470c766cf1b088caf3ab) ([merge request](gitlab-org/gitlab!88143)) +- [Preload commits markdown cache for CommitsController](gitlab-org/gitlab@8db33e1c398dbb1afac1f5bd9f6ff94f253b582d) ([merge request](gitlab-org/gitlab!88557)) +- [Improve performance of namespace existence lookup](gitlab-org/gitlab@efb51b11b875ac8159bd9530cc462045580f1d87) ([merge request](gitlab-org/gitlab!88124)) +- [Reduce N+1 queries in deployment_group of environment model](gitlab-org/gitlab@4732ed34e590ff6ca5371996843e1c69e6141703) ([merge request](gitlab-org/gitlab!86584)) +- [Use request cache for protected tags](gitlab-org/gitlab@91132420e1ab00a1697447f1bf9de252811435a1) ([merge request](gitlab-org/gitlab!87938)) +- [Create new index for removing artifacts with unknown locked status](gitlab-org/gitlab@bd58d4630332492abaee8b9af0bda6573639e332) ([merge request](gitlab-org/gitlab!87325)) +- [Remove redundant issues list GraphQL queries](gitlab-org/gitlab@70458c88fbbc7951e4022c4bdfb0a55a5194ffd4) by @leetickett ([merge request](gitlab-org/gitlab!87265)) +- [Extract ServicePing payload persistance](gitlab-org/gitlab@343968db2792c9c6e8e885a9336a8c4fb91a7ea6) ([merge request](gitlab-org/gitlab!85503)) +- [Optimizations for CommitReferenceFilter](gitlab-org/gitlab@d5fef1188a7aec570b0759fdf4262afe04a830ce) ([merge request](gitlab-org/gitlab!86020)) +- [Preload deployment associations to reduce N+1 queries](gitlab-org/gitlab@4c96d8376d59d5a08d277194b9e1293ada8e3a31) ([merge request](gitlab-org/gitlab!86814)) + +### Other (60 changes) + +- [Only do LSIF processing on artifacts](gitlab-org/gitlab@e26e7950f0a750250f0b0a7a45bed3c3688360ef) ([merge request](gitlab-org/gitlab!88930)) +- [Use OS tempdir for LSIF parsing](gitlab-org/gitlab@4095db17a480f4377fe15da4462fda97a4fdc794) ([merge request](gitlab-org/gitlab!88930)) +- [Add yml files for tracking incident timeline actions](gitlab-org/gitlab@33caad5042e8a3bcf0a40f54572400981b187f4f) ([merge request](https://gitlab.com/gitlab-org/gitlab/-/merge_requests/90205)) +- [Remove omit_epic_subscribed feature flag](gitlab-org/gitlab@54ca37d48ab6d9c5cd29f3ab17514c49c93720a4) ([merge request](https://gitlab.com/gitlab-org/gitlab/-/merge_requests/88869)) **GitLab Enterprise Edition** +- [Remove ci_jwt_signing_key feature flag](gitlab-org/gitlab@99274e4aeb796618ceebc25703a40ab46cbeffe1) ([merge request](gitlab-org/gitlab!90049)) +- [Remove faster_owner_access feature flag](gitlab-org/gitlab@56fd2a72881c1de6bfe43d8296bdffb71e55774a) ([merge request](gitlab-org/gitlab!90216)) +- [Adding listing feature flags command to documentation](gitlab-org/gitlab@36b3b23bade9b3b14386185888783bd648c784f4) ([merge request](gitlab-org/gitlab!90028)) +- [Change destination_name to destination_slug](gitlab-org/gitlab@074f4639b39ab007130c7c7252582114f24748a2) ([merge request](gitlab-org/gitlab!90035)) +- [Remove ignore rule from test reports](gitlab-org/gitlab@6cbc296532a1cae46df3798e27ec8f4fa9771ae6) ([merge request](gitlab-org/gitlab!90029)) **GitLab Enterprise Edition** +- [Remove stale runner cleanup feature flag](gitlab-org/gitlab@3c9202eb19dd52093b89e4acb91239db063f58bc) ([merge request](gitlab-org/gitlab!90026)) +- [Update hook settings error alert](gitlab-org/gitlab@e22392884a990e2879e4cd266cec9ab2d37ddb0e) ([merge request](gitlab-org/gitlab!89921)) +- [Removed unused gl-col-padding variable](gitlab-org/gitlab@45dd671415be3ccd4e62e8697db82058057a1664) ([merge request](gitlab-org/gitlab!89876)) +- [Add caching for group activity counters](gitlab-org/gitlab@13614ee456507dc823eb2bfe950047059601ea6b) ([merge request](gitlab-org/gitlab!89531)) **GitLab Enterprise Edition** +- [Add CI_PROJECT_DESCRIPTION to predefined variables](gitlab-org/gitlab@a3268218b54313fca92546e1712089ce8ea50757) by @nejc ([merge request](gitlab-org/gitlab!89459)) +- [Remove paginated_notes feature flag](gitlab-org/gitlab@d0b14c156e9e6c957648941f491ed10dec6fdf73) ([merge request](gitlab-org/gitlab!89479)) +- [Improve performance of Issuable finder](gitlab-org/gitlab@029c5db9a4fd769a90cc0c35febd2181f060be8b) ([merge request](gitlab-org/gitlab!89051)) +- [Skip CSRF protection on Workhorse internal API](gitlab-org/gitlab@ccf794f7f2a3956569e8d46afd738be2bf6ee1bd) ([merge request](gitlab-org/gitlab!89256)) +- [Rename confidential refs to internal](gitlab-org/gitlab@08189dc992c9d062cd7853695472680b562c8602) ([merge request](gitlab-org/gitlab!89140)) **GitLab Enterprise Edition** +- [Remove usage_data_i_incident_management_oncall_notification_sent FF](gitlab-org/gitlab@931f8e350e3bb41353ce275d84e4d3fea46ab0f3) by @feistel ([merge request](gitlab-org/gitlab!88654)) +- [Add database column and setting logic for license_usage_data_exported](gitlab-org/gitlab@68eeca23abe96e88e30b084d53308000e0685193) ([merge request](gitlab-org/gitlab!89016)) +- [Prepare index to improve counting of open issues](gitlab-org/gitlab@4bdae6d5d2449a56ef9f76853d963b2237adf96e) ([merge request](gitlab-org/gitlab!89121)) +- [Remove rake task to set up EE specific database functionality](gitlab-org/gitlab@3a6e33138db98383c300a30f0453fd77efe9a96e) ([merge request](gitlab-org/gitlab!89138)) +- [Remove the CI mirror tables consistency checks Feature Flags](gitlab-org/gitlab@fe8260c42c8c2361e70a9c0d3f9be0f5ef270ee0) ([merge request](gitlab-org/gitlab!89065)) +- [Delete invalid epic_issue records migration](gitlab-org/gitlab@76c5a0a308604fe4a946345977e1f304076f3940) ([merge request](gitlab-org/gitlab!79557)) +- [Add workhorse internal upload API, observation only](gitlab-org/gitlab@40294c83ba87fd2ea24a0ab597a096e7dba1d141) ([merge request](gitlab-org/gitlab!88167)) +- [Update manual cadence deprecation message](gitlab-org/gitlab@1e91eaa6e8f2857e7030513fa11ab97dc3ed6f1c) ([merge request](gitlab-org/gitlab!88226)) **GitLab Enterprise Edition** +- [Finalize issue search data migration](gitlab-org/gitlab@b66856c3335b36ae997d97452149fd7aaec993fe) ([merge request](gitlab-org/gitlab!88992)) +- [Remove enqueue twice option from EnqueuerWorker](gitlab-org/gitlab@f78c79db2e93417fd1c38eeceb1117d980d28271) ([merge request](gitlab-org/gitlab!88690)) +- [Fix Style/OpenStructUse offenses](gitlab-org/gitlab@3abc98eae3fb657a463f9054c917e3fefd8a53dc) by @edith007 ([merge request](gitlab-org/gitlab!75233)) +- [Rename 'repo by url' to repository by url'](gitlab-org/gitlab@1715c01afcd8e83e854a61e2199d5aeeb4f03285) by @feistel ([merge request](gitlab-org/gitlab!88742)) +- [Track clicks on the pipeline editor help drawer](gitlab-org/gitlab@b17ef2d709f145a6598a64859973ef3577dc51d4) ([merge request](gitlab-org/gitlab!88258)) +- [Remove gitaly_replace_wiki_create_page flag](gitlab-org/gitlab@04c3443a55e2f94effc17b233bf39d73c32de631) ([merge request](gitlab-org/gitlab!88624)) +- [Add sketch blob viewer](gitlab-org/gitlab@3b03ba5d737176e2c80ee6e4443aaed362491a1a) by @mihes3d ([merge request](gitlab-org/gitlab!86490)) +- [Guard worker application setting timeouts](gitlab-org/gitlab@22390bbb63acb9a3225305e2e4ff1e0593aa65ff) ([merge request](gitlab-org/gitlab!88685)) +- [Delete vue_issues_list feature flag](gitlab-org/gitlab@5d6cb118465d058b63604b9cb8968e77c02a8a7c) ([merge request](gitlab-org/gitlab!88437)) +- [Remove FF ci_trigger_forward_variables](gitlab-org/gitlab@d621c36c570365253905a663827c42696e097456) ([merge request](gitlab-org/gitlab!88532)) +- [Remove omniauth_initializer_fullhost_proc FF](gitlab-org/gitlab@2792c938df483923b0c33e8caf9be68dd7599616) ([merge request](gitlab-org/gitlab!88411)) +- [Delete unused report_not_configured_operational.vue and its test](gitlab-org/gitlab@0f3282898e78155ba0ec36215f119efae3f0a49a) ([merge request](https://gitlab.com/gitlab-org/gitlab/-/merge_requests/88214)) **GitLab Enterprise Edition** +- [Drop temporary index not needed anymore](gitlab-org/gitlab@7794ffedc70435141564662efdce2440c0431ad4) ([merge request](gitlab-org/gitlab!88466)) +- [Remove touch_project_repository_state_updated_at FF](gitlab-org/gitlab@353b54eb48ec1e3fa068de9e889e37a9b8a92a47) ([merge request](gitlab-org/gitlab!88413)) +- [Finalize background migration for discussion IDs](gitlab-org/gitlab@ef016210bae0a03fd5f5e26b7582c332cc8b72cf) ([merge request](gitlab-org/gitlab!88383)) +- [Fix callouts test](gitlab-org/gitlab@b808a27ee6dc407b5a20d70e04a049714f35e1d7) by @chaomao ([merge request](gitlab-org/gitlab!87859)) **GitLab Enterprise Edition** +- [Support push options when creating merge request pipelines](gitlab-org/gitlab@e4d8a348f2ff7a25927631057b7f31c2d2981cc6) ([merge request](gitlab-org/gitlab!87030)) **GitLab Enterprise Edition** +- [Rename ci runner migration](gitlab-org/gitlab@0d33fdc0374ad09461ecb1c03241fd797cfead37) ([merge request](gitlab-org/gitlab!88184)) +- [Defer database query in favor of cached value check](gitlab-org/gitlab@35e59b70b5be47378de3863f85c497e9183ecd86) ([merge request](gitlab-org/gitlab!88163)) +- [Use application settings for pipeline creation rate limit](gitlab-org/gitlab@55819136715e65e020becf90c3358e47daaaced7) ([merge request](gitlab-org/gitlab!87223)) +- [Prepare for lazy upload preauth](gitlab-org/gitlab@fdc6f90bc762eec23b14049302f442461569dfb0) ([merge request](gitlab-org/gitlab!87800)) +- [Do not vary upload tempfile prefix](gitlab-org/gitlab@67fd219058fa50d903203a3fb307ba92b034e9dc) ([merge request](gitlab-org/gitlab!87800)) +- [Workhorse: fix TestUploadProcessingFile](gitlab-org/gitlab@65396f909a3a7e6bfb2f5094f7017bc52bc19aa7) ([merge request](gitlab-org/gitlab!87800)) +- [Create ClusterEnabledGrant model and populates table](gitlab-org/gitlab@beeb662dc91d45fa6a8c4c31327a4983bee8a3be) ([merge request](gitlab-org/gitlab!87149)) +- [Debug batch update](gitlab-org/gitlab@c229f25fb9e4bf4ecd98b081ccc9067f0dc52e50) ([merge request](gitlab-org/gitlab!87149)) +- [Fix countries controller test](gitlab-org/gitlab@5bfed94e5a416816f1933e59ec6f0d732ff7e6f9) by @chaomao ([merge request](gitlab-org/gitlab!87993)) +- [Cleanup phase 4 feature flag and env vars](gitlab-org/gitlab@c4471a7cd0aaf4714864af53a6b3c99300bc9564) ([merge request](gitlab-org/gitlab!84246)) +- [Remove `cross-db` modification from `destroy_batch_service`](gitlab-org/gitlab@1304177768dc633955e6af5296a7e7b2c0ece8f4) ([merge request](gitlab-org/gitlab!87933)) **GitLab Enterprise Edition** +- [Cleanup the `database_geo.yml` stuff](gitlab-org/gitlab@99c0fac52b10cd9df62bbe785db799352a2d9028) ([merge request](gitlab-org/gitlab!87025)) **GitLab Enterprise Edition** +- [Mark stale `security_scans` as purged](gitlab-org/gitlab@edba43567dce621dbadf8acc4351ddf1518d5030) ([merge request](gitlab-org/gitlab!82711)) **GitLab Enterprise Edition** +- [Fix confirm email service test](gitlab-org/gitlab@eaf45cc4d70b9779296f115abf4cd1db2f2ca1c2) by @chaomao ([merge request](gitlab-org/gitlab!87385)) +- [Restructure free user cap under model for better scoping](gitlab-org/gitlab@93660fe7f8f04ad73df337ccba31f639a68821a2) ([merge request](gitlab-org/gitlab!87718)) +- [Fix JH skipped subscription portal spec](gitlab-org/gitlab@0e7e7cb4a62d004989c47fafe6fe1f9ffd90da44) by @chaomao ([merge request](gitlab-org/gitlab!87213)) +- [Add not null constraint to requirements.issue_id validate:false](gitlab-org/gitlab@5ccac890b13c53c5761ccb8e5cb7ca202e0656c3) ([merge request](gitlab-org/gitlab!86590)) ## 15.0.3 (2022-06-16) @@ -798,6 +1785,28 @@ entry. - [Move methods to build email unsubscribe link to helper](gitlab-org/gitlab@ae4391a84d14d51ca5b5f2ffaada96e3b37a1d51) ([merge request](gitlab-org/gitlab!84696)) **GitLab Enterprise Edition** - [Deprecate `push_rules_supersede_code_owners` feature flag](gitlab-org/gitlab@9ee99872b66a69c5a2d1c1c9863d960832a1d91f) ([merge request](gitlab-org/gitlab!85390)) +## 14.10.4 (2022-06-01) + +### Security (7 changes) + +- [Fix IP restrictions not applying to deploy tokens](gitlab-org/security/gitlab@8866d00e50f1d2857d54130239851f21404d7432) ([merge request](gitlab-org/security/gitlab!2471)) +- [Trigger token should respect group IP restrictions](gitlab-org/security/gitlab@8534ca1be10f115dad2e0c1a4e167673049e401a) ([merge request](gitlab-org/security/gitlab!2478)) +- [Fix content injection in Jira issue title](gitlab-org/security/gitlab@b8f82ec8d7ddf30c656642bff12de8fc8b5930a2) ([merge request](gitlab-org/security/gitlab!2464)) +- [Subgroup member can list members of parent group](gitlab-org/security/gitlab@b59c49fa7b681a93bbe4bc69b20e72930a8b9d8d) ([merge request](gitlab-org/security/gitlab!2480)) +- [Do not allow project member import when membership is locked](gitlab-org/security/gitlab@baed30570206b5ed9973ad8bfac5462721745a5d) ([merge request](gitlab-org/security/gitlab!2447)) +- [Disable changing user attributes when updating SCIM provisioned user](gitlab-org/security/gitlab@ae4eb58668513f38c0daf1dc3b977c6b22a9a476) ([merge request](gitlab-org/security/gitlab!2454)) +- [Allow only job owner to run interactive terminal](gitlab-org/security/gitlab@b0819e77b5a65d4412b42f27a513c02cc056a2b8) ([merge request](gitlab-org/security/gitlab!2433)) + +## 14.10.3 (2022-05-20) + +### Added (1 change) + +- [Add option to disable seperated caches](gitlab-org/gitlab@c39af3e813d5d242068a8ae7e8e011284fd385c9) by @Taucher2003 ([merge request](gitlab-org/gitlab!88013)) + +### Fixed (1 change) + +- [Fix assignee filtering on group/project issues list](gitlab-org/gitlab@317c3a6e1e799f53d7e0812921bbffc4f4733d58) ([merge request](gitlab-org/gitlab!87729)) + ## 14.10.2 (2022-05-04) ### Fixed (2 changes) @@ -1499,6 +2508,18 @@ entry. - [Convert ci_builds-runner_id FK to LFK](gitlab-org/gitlab@5e114952616994acb802e5ded373fc07e53a3aaa) ([merge request](gitlab-org/gitlab!83129)) - [Fix related epic links and issue links specs fixtures](gitlab-org/gitlab@ffc7df0cdbdda91fec15d2c4437e64dd7d073d50) ([merge request](gitlab-org/gitlab!82623)) +## 14.9.5 (2022-06-01) + +### Security (7 changes) + +- [Fix IP restrictions not applying to deploy tokens](gitlab-org/security/gitlab@b429997e253110ea5eb4d20a8b90e9879be97300) ([merge request](gitlab-org/security/gitlab!2472)) +- [Trigger token should respect group IP restrictions](gitlab-org/security/gitlab@326993794bba8659208cde212433a5a19fd3e5a9) ([merge request](gitlab-org/security/gitlab!2477)) +- [Fix content injection in Jira issue title](gitlab-org/security/gitlab@c968f7be35d829bfefbf089794343d2d20cdd078) ([merge request](gitlab-org/security/gitlab!2465)) +- [Subgroup member can list members of parent group](gitlab-org/security/gitlab@1606689819eeae574bd5d65c8c971c2d4eb19e41) ([merge request](gitlab-org/security/gitlab!2481)) +- [Do not allow project member import when membership is locked](gitlab-org/security/gitlab@e8324068c61c4c58d50646d4fa8dff77c4d147ae) ([merge request](gitlab-org/security/gitlab!2448)) +- [Disable changing user attributes when updating SCIM provisioned user](gitlab-org/security/gitlab@9d5aca002edb2e0ab3c7d5b6eb00ea781d3dde9f) ([merge request](gitlab-org/security/gitlab!2455)) +- [Allow only job owner to run interactive terminal](gitlab-org/security/gitlab@c9fe31e3a963c421db3d9c47c65dd98a2867a699) ([merge request](gitlab-org/security/gitlab!2434)) + ## 14.9.4 (2022-04-29) ### Security (15 changes) diff --git a/GITALY_SERVER_VERSION b/GITALY_SERVER_VERSION index dbe8a10a6e..a9e1108673 100644 --- a/GITALY_SERVER_VERSION +++ b/GITALY_SERVER_VERSION @@ -1 +1 @@ -15.0.4 \ No newline at end of file +15.1.3 \ No newline at end of file diff --git a/GITLAB_KAS_VERSION b/GITLAB_KAS_VERSION index 94188a7483..d14dfbac36 100644 --- a/GITLAB_KAS_VERSION +++ b/GITLAB_KAS_VERSION @@ -1 +1 @@ -15.0.0 +15.1.0 diff --git a/GITLAB_PAGES_VERSION b/GITLAB_PAGES_VERSION index 79f82f6b8e..bb120e876c 100644 --- a/GITLAB_PAGES_VERSION +++ b/GITLAB_PAGES_VERSION @@ -1 +1 @@ -1.58.0 +1.59.0 diff --git a/GITLAB_SHELL_VERSION b/GITLAB_SHELL_VERSION index 32f02f10eb..2422b2f946 100644 --- a/GITLAB_SHELL_VERSION +++ b/GITLAB_SHELL_VERSION @@ -1 +1 @@ -14.3.0 +14.7.4 diff --git a/Gemfile b/Gemfile index 2486104e7a..195a4b2861 100644 --- a/Gemfile +++ b/Gemfile @@ -4,7 +4,7 @@ source 'https://rubygems.org' gem 'rails', '~> 6.1.4.7' -gem 'bootsnap', '~> 1.9.4', require: false +gem 'bootsnap', '~> 1.12.0', require: false # Responders respond_to and respond_with gem 'responders', '~> 3.0' @@ -17,7 +17,7 @@ gem 'view_component', '~> 2.50.0' gem 'default_value_for', '~> 3.4.0' # Supported DBs -gem 'pg', '~> 1.1' +gem 'pg', '~> 1.3.0' gem 'rugged', '~> 1.2' gem 'grape-path-helpers', '~> 1.7.0' @@ -55,7 +55,7 @@ gem 'omniauth-authentiq', '~> 0.3.3' gem 'gitlab-omniauth-openid-connect', '~> 0.9.0', require: 'omniauth_openid_connect' gem 'omniauth-salesforce', '~> 1.0.5' gem 'omniauth-atlassian-oauth2', '~> 0.2.0' -gem 'rack-oauth2', '~> 1.16.0' +gem 'rack-oauth2', '~> 1.19.0' gem 'jwt', '~> 2.1.0' # Kerberos authentication. EE-only @@ -97,10 +97,10 @@ gem 'net-ldap', '~> 0.16.3' # API gem 'grape', '~> 1.5.2' gem 'grape-entity', '~> 0.10.0' -gem 'rack-cors', '~> 1.0.6', require: 'rack/cors' +gem 'rack-cors', '~> 1.1.0', require: 'rack/cors' # GraphQL API -gem 'graphql', '~> 1.11.10' +gem 'graphql', '~> 1.13.12' gem 'graphiql-rails', '~> 1.8' gem 'apollo_upload_server', '~> 2.1.0' gem 'graphql-docs', '~> 1.6.0', group: [:development, :test] @@ -121,7 +121,7 @@ gem 'carrierwave', '~> 1.3' gem 'mini_magick', '~> 4.10.1' # for backups -gem 'fog-aws', '~> 3.12' +gem 'fog-aws', '~> 3.14' # Locked until fog-google resolves https://github.com/fog/fog-google/issues/421. # Also see config/initializers/fog_core_patch.rb. gem 'fog-core', '= 2.1.0' @@ -130,7 +130,7 @@ gem 'fog-local', '~> 0.6' gem 'fog-openstack', '~> 1.0' gem 'fog-rackspace', '~> 0.1.1' gem 'fog-aliyun', '~> 0.3' -gem 'gitlab-fog-azure-rm', '~> 1.2.0', require: 'fog/azurerm' +gem 'gitlab-fog-azure-rm', '~> 1.3.0', require: 'fog/azurerm' # for Google storage gem 'google-api-client', '~> 0.33' @@ -167,10 +167,10 @@ gem 'asciidoctor', '~> 2.0.10' gem 'asciidoctor-include-ext', '~> 0.4.0', require: false gem 'asciidoctor-plantuml', '~> 0.0.12' gem 'asciidoctor-kroki', '~> 0.5.0', require: false -gem 'rouge', '~> 3.27.0' +gem 'rouge', '~> 3.29.0' gem 'truncato', '~> 0.7.11' gem 'bootstrap_form', '~> 4.2.0' -gem 'nokogiri', '~> 1.12' +gem 'nokogiri', '~> 1.13.6' gem 'escape_utils', '~> 1.1' # Calendar rendering @@ -181,9 +181,9 @@ gem 'diffy', '~> 3.3' gem 'diff_match_patch', '~> 0.1.0' # Application server -gem 'rack', '~> 2.2.3' -# https://github.com/sharpstone/rack-timeout/blob/master/README.md#rails-apps-manually -gem 'rack-timeout', '~> 0.5.1', require: 'rack/timeout/base' +gem 'rack', '~> 2.2.3.0' +# https://github.com/zombocom/rack-timeout/blob/master/README.md#rails-apps-manually +gem 'rack-timeout', '~> 0.6.0', require: 'rack/timeout/base' group :puma do gem 'puma', '~> 5.6.2', require: false @@ -219,7 +219,7 @@ gem 'ruby-progressbar', '~> 1.10' gem 'settingslogic', '~> 2.0.9' # Linear-time regex library for untrusted regular expressions -gem 're2', '~> 1.2.0' +gem 're2', '~> 1.4.0' # Misc @@ -301,7 +301,7 @@ gem 'base32', '~> 0.3.0' gem 'gitlab-license', '~> 2.1.0' # Protect against bruteforcing -gem 'rack-attack', '~> 6.3.0' +gem 'rack-attack', '~> 6.6.0' # Sentry integration gem 'sentry-raven', '~> 3.1' @@ -311,12 +311,12 @@ gem 'sentry-sidekiq', '~> 5.1.1' # PostgreSQL query parsing # -gem 'pg_query', '~> 2.1' +gem 'pg_query', '~> 2.1.0' gem 'premailer-rails', '~> 1.10.3' # LabKit: Tracing and Correlation -gem 'gitlab-labkit', '~> 0.22.0' +gem 'gitlab-labkit', '~> 0.23.0' # Thrift is a dependency of gitlab-labkit, we want a version higher than 0.14.0 # because of https://gitlab.com/gitlab-org/gitlab/-/issues/321900 gem 'thrift', '>= 0.14.0' @@ -344,7 +344,7 @@ gem 'prometheus-client-mmap', '~> 0.15.0', require: 'prometheus/client' gem 'warning', '~> 1.2.0' group :development do - gem 'lefthook', '~> 0.7.0', require: false + gem 'lefthook', '~> 0.8.0', require: false gem 'rubocop' gem 'solargraph', '~> 0.44.3', require: false @@ -381,7 +381,7 @@ group :development, :test do gem 'spring', '~> 2.1.0' gem 'spring-commands-rspec', '~> 1.0.4' - gem 'gitlab-styles', '~> 7.0.0', require: false + gem 'gitlab-styles', '~> 7.1.0', require: false gem 'haml_lint', '~> 0.36.0', require: false gem 'bundler-audit', '~> 0.7.0.1', require: false @@ -402,10 +402,12 @@ group :development, :test do gem 'test_file_finder', '~> 0.1.3' gem 'sigdump', '~> 0.2.4', require: 'sigdump/setup' + + gem 'pact', '~> 1.12' end group :development, :test, :danger do - gem 'gitlab-dangerfiles', '~> 3.0', require: false + gem 'gitlab-dangerfiles', '~> 3.4.0', require: false end group :development, :test, :coverage do @@ -477,13 +479,13 @@ gem 'sys-filesystem', '~> 1.4.3' gem 'net-ntp' # SSH keys support -gem 'ssh_data', '~> 1.2' +gem 'ssh_data', '~> 1.3' # Spamcheck GRPC protocol definitions gem 'spamcheck', '~> 0.1.0' # Gitaly GRPC protocol definitions -gem 'gitaly', '~> 14.10.0-rc1' +gem 'gitaly', '~> 15.1.0-rc1' # KAS GRPC protocol definitions gem 'kas-grpc', '~> 0.0.2' @@ -503,7 +505,7 @@ gem 'gitlab-experiment', '~> 0.7.1' # Structured logging gem 'lograge', '~> 0.5' -gem 'grape_logging', '~> 1.7' +gem 'grape_logging', '~> 1.8' # DNS Lookup gem 'gitlab-net-dns', '~> 0.9.1' @@ -545,3 +547,5 @@ gem 'ipaddress', '~> 0.8.3' gem 'parslet', '~> 1.8' gem 'ipynbdiff', '0.4.7' + +gem 'ed25519', '~> 1.3.0' diff --git a/Gemfile.lock b/Gemfile.lock index fea8f58fe4..dab51a0803 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -150,8 +150,8 @@ GEM rack (>= 0.9.0) bindata (2.4.10) binding_ninja (0.2.3) - bootsnap (1.9.4) - msgpack (~> 1.0) + bootsnap (1.12.0) + msgpack (~> 1.2) bootstrap_form (4.2.0) actionpack (>= 5.0) activemodel (>= 5.0) @@ -221,10 +221,10 @@ GEM creole (0.5.0) crystalball (0.7.0) git - css_parser (1.7.0) + css_parser (1.11.0) addressable daemons (1.3.1) - danger (8.5.0) + danger (8.6.1) claide (~> 1.0) claide-plugins (>= 0.9.2) colored2 (~> 3.1) @@ -313,6 +313,7 @@ GEM e2mmap (0.1.0) ecma-re-validator (0.3.0) regexp_parser (~> 2.0) + ed25519 (1.3.0) elasticsearch (7.13.3) elasticsearch-api (= 7.13.3) elasticsearch-transport (= 7.13.3) @@ -367,7 +368,7 @@ GEM faraday-em_http (1.0.0) faraday-em_synchrony (1.0.0) faraday-excon (1.1.0) - faraday-http-cache (2.2.0) + faraday-http-cache (2.4.0) faraday (>= 0.8) faraday-httpclient (1.0.1) faraday-multipart (1.0.3) @@ -394,6 +395,8 @@ GEM rake ffi-yajl (2.3.4) libyajl2 (~> 1.2) + filelock (1.1.1) + find_a_port (1.0.1) flipper (0.21.0) flipper-active_record (0.21.0) activerecord (>= 5.0, < 7) @@ -409,11 +412,10 @@ GEM fog-json ipaddress (~> 0.8) xml-simple (~> 1.1) - fog-aws (3.12.0) + fog-aws (3.14.0) fog-core (~> 2.1) fog-json (~> 1.1) fog-xml (~> 0.1) - ipaddress (~> 0.8) fog-core (2.1.0) builder excon (~> 0.58) @@ -465,7 +467,7 @@ GEM rails (>= 3.2.0) git (1.7.0) rchardet (~> 1.8) - gitaly (14.10.0.pre.rc1) + gitaly (15.1.0.pre.rc1) grpc (~> 1.0) github-markup (1.7.0) gitlab (4.16.1) @@ -473,21 +475,21 @@ GEM terminal-table (~> 1.5, >= 1.5.1) gitlab-chronic (0.10.5) numerizer (~> 0.2) - gitlab-dangerfiles (3.0.0) + gitlab-dangerfiles (3.4.0) danger (>= 8.4.5) danger-gitlab (>= 8.0.0) rake gitlab-experiment (0.7.1) activesupport (>= 3.0) request_store (>= 1.0) - gitlab-fog-azure-rm (1.2.0) + gitlab-fog-azure-rm (1.3.0) azure-storage-blob (~> 2.0) azure-storage-common (~> 2.0) fog-core (= 2.1.0) fog-json (~> 1.2.0) mime-types ms_rest_azure (~> 0.12.0) - gitlab-labkit (0.22.0) + gitlab-labkit (0.23.0) actionpack (>= 5.0.0, < 7.0.0) activesupport (>= 5.0.0, < 7.0.0) grpc (>= 1.37) @@ -512,7 +514,7 @@ GEM openid_connect (~> 1.2) gitlab-sidekiq-fetcher (0.8.0) sidekiq (~> 6.1) - gitlab-styles (7.0.0) + gitlab-styles (7.1.0) rubocop (~> 0.91, >= 0.91.1) rubocop-gitlab-security (~> 0.1.1) rubocop-graphql (~> 0.10) @@ -571,7 +573,7 @@ GEM grape (~> 1.3) rake (> 12) ruby2_keywords (~> 0.0.2) - grape_logging (1.8.3) + grape_logging (1.8.4) grape rack graphiql-rails (1.8.0) @@ -581,7 +583,7 @@ GEM faraday (>= 1.0) faraday_middleware graphql-client - graphql (1.11.10) + graphql (1.13.12) graphql-client (0.17.0) activesupport (>= 3.0) graphql (~> 1.10) @@ -722,7 +724,7 @@ GEM rest-client (~> 2.0) launchy (2.5.0) addressable (~> 2.7) - lefthook (0.7.5) + lefthook (0.8.0) letter_opener (1.7.0) launchy (~> 2.2) letter_opener_web (2.0.0) @@ -784,7 +786,7 @@ GEM faraday (>= 0.9, < 2.0.0) faraday-cookie_jar (~> 0.0.6) ms_rest (~> 0.7.6) - msgpack (1.5.1) + msgpack (1.5.2) multi_json (1.14.1) multi_xml (0.6.0) multipart-post (2.1.1) @@ -805,7 +807,7 @@ GEM netrc (0.11.0) nio4r (2.5.8) no_proxy_fix (0.1.2) - nokogiri (1.13.3) + nokogiri (1.13.6) mini_portile2 (~> 2.8.0) racc (~> 1.4) notiffany (0.1.3) @@ -859,8 +861,8 @@ GEM addressable (~> 2.3) nokogiri (~> 1.7, >= 1.7.1) omniauth (~> 1.2) - omniauth-dingtalk-oauth2 (1.0.0) - omniauth-oauth2 (~> 1.7.1) + omniauth-dingtalk-oauth2 (1.0.1) + omniauth-oauth2 (~> 1.7) omniauth-facebook (4.0.0) omniauth-oauth2 (~> 1.2) omniauth-github (1.4.0) @@ -915,22 +917,45 @@ GEM rubypants (~> 0.2) orm_adapter (0.5.0) os (1.1.1) - parallel (1.20.1) - parser (3.0.3.2) + pact (1.59.0) + pact-mock_service (~> 3.0, >= 3.3.1) + pact-support (~> 1.15) + rack-test (>= 0.6.3, < 2.0.0) + rspec (~> 3.0) + term-ansicolor (~> 1.0) + thor (>= 0.20, < 2.0) + webrick (~> 1.3) + pact-mock_service (3.6.2) + filelock (~> 1.1) + find_a_port (~> 1.0.1) + json + pact-support (~> 1.12, >= 1.12.0) + rack (~> 2.0) + rspec (>= 2.14) + term-ansicolor (~> 1.0) + thor (>= 0.19, < 2.0) + webrick (~> 1.3) + pact-support (1.15.1) + awesome_print (~> 1.1) + randexp (~> 0.1.7) + rspec (>= 2.14) + term-ansicolor (~> 1.0) + parallel (1.22.1) + parser (3.1.2.0) ast (~> 2.4.1) parslet (1.8.2) pastel (0.8.0) tty-color (~> 0.5) peek (1.1.0) railties (>= 4.0.0) - pg (1.2.3) - pg_query (2.1.1) - google-protobuf (>= 3.17.1) + pg (1.3.5) + pg_query (2.1.3) + google-protobuf (>= 3.19.2) plist (3.6.0) png_quantizator (0.2.1) po_to_json (1.0.1) json (>= 1.6.0) - premailer (1.11.1) + premailer (1.16.0) addressable css_parser (>= 1.6.0) htmlentities (>= 4.0.0) @@ -954,7 +979,7 @@ GEM pry (~> 0.13.0) tty-markdown tty-prompt - public_suffix (4.0.6) + public_suffix (4.0.7) puma (5.6.2) nio4r (~> 2.0) puma_worker_killer (0.3.1) @@ -966,11 +991,11 @@ GEM rack (2.2.3.1) rack-accept (0.4.5) rack (>= 0.4) - rack-attack (6.3.0) + rack-attack (6.6.1) rack (>= 1.0, < 3) - rack-cors (1.0.6) - rack (>= 1.6.0) - rack-oauth2 (1.16.0) + rack-cors (1.1.1) + rack (>= 2.0.0) + rack-oauth2 (1.19.0) activesupport attr_required httpclient @@ -980,7 +1005,7 @@ GEM rack rack-test (1.1.0) rack (>= 1.0, < 3) - rack-timeout (0.5.2) + rack-timeout (0.6.0) rails (6.1.4.7) actioncable (= 6.1.4.7) actionmailbox (= 6.1.4.7) @@ -1014,8 +1039,9 @@ GEM method_source rake (>= 0.13) thor (~> 1.0) - rainbow (3.0.0) + rainbow (3.1.1) rake (13.0.6) + randexp (0.1.7) rb-fsevent (0.10.4) rb-inotify (0.10.1) ffi (~> 1.0) @@ -1026,7 +1052,7 @@ GEM rbtree (0.4.4) rchardet (1.8.0) rdoc (6.3.2) - re2 (1.2.0) + re2 (1.4.0) recaptcha (4.13.1) json recursive-open-struct (1.1.3) @@ -1042,7 +1068,7 @@ GEM redis-store (>= 1.2, < 2) redis-store (1.9.0) redis (>= 4, < 5) - regexp_parser (2.2.1) + regexp_parser (2.5.0) regexp_property_values (1.0.0) representable (3.0.4) declarative (< 0.1.0) @@ -1064,7 +1090,7 @@ GEM rexml (3.2.5) rinku (2.0.0) rotp (6.2.0) - rouge (3.27.0) + rouge (3.29.0) rqrcode (0.7.0) chunky_png rqrcode-rails3 (0.1.7) @@ -1119,11 +1145,11 @@ GEM rubocop-ast (>= 0.6.0) ruby-progressbar (~> 1.7) unicode-display_width (>= 1.4.0, < 2.0) - rubocop-ast (1.4.1) - parser (>= 2.7.1.5) + rubocop-ast (1.18.0) + parser (>= 3.1.1.0) rubocop-gitlab-security (0.1.1) rubocop (>= 0.51) - rubocop-graphql (0.13.0) + rubocop-graphql (0.14.3) rubocop (>= 0.87, < 2) rubocop-performance (1.9.2) rubocop (>= 0.90.0, < 2.0) @@ -1260,7 +1286,7 @@ GEM activesupport (>= 5.2) sprockets (>= 3.0.0) sqlite3 (1.4.2) - ssh_data (1.2.0) + ssh_data (1.3.0) ssrf_filter (1.0.7) stackprof (0.2.15) state_machines (0.5.0) @@ -1279,11 +1305,14 @@ GEM activesupport (>= 3) attr_required (>= 0.0.5) httpclient (>= 2.4) + sync (0.5.0) sys-filesystem (1.4.3) ffi (~> 1.1) sysexits (1.2.0) tanuki_emoji (0.6.0) temple (0.8.2) + term-ansicolor (1.7.1) + tins (~> 1.0) terminal-table (1.8.0) unicode-display_width (~> 1.1, >= 1.1.1) terser (1.0.2) @@ -1302,6 +1331,8 @@ GEM timecop (0.9.1) timeliness (0.3.10) timfel-krb5-auth (0.8.3) + tins (1.31.0) + sync toml-rb (2.0.1) citrus (~> 3.0, > 3.0) tomlrb (1.3.0) @@ -1348,7 +1379,7 @@ GEM unf (0.1.4) unf_ext unf_ext (0.0.8) - unicode-display_width (1.7.0) + unicode-display_width (1.8.0) unicode_utils (1.4.0) uniform_notifier (1.13.0) unleash (3.2.2) @@ -1410,7 +1441,7 @@ GEM nokogiri (~> 1.8) yajl-ruby (1.4.1) yard (0.9.26) - zeitwerk (2.5.4) + zeitwerk (2.6.0) PLATFORMS ruby @@ -1442,7 +1473,7 @@ DEPENDENCIES benchmark-ips (~> 2.3.0) benchmark-memory (~> 0.1) better_errors (~> 2.9.0) - bootsnap (~> 1.9.4) + bootsnap (~> 1.12.0) bootstrap_form (~> 4.2.0) browser (~> 4.2) bullet (~> 6.1.3) @@ -1471,6 +1502,7 @@ DEPENDENCIES discordrb-webhooks (~> 3.4) doorkeeper (~> 5.5.0.rc2) doorkeeper-openid_connect (~> 1.7.5) + ed25519 (~> 1.3.0) elasticsearch-api (= 7.13.3) elasticsearch-model (~> 7.2) elasticsearch-rails (~> 7.2) @@ -1488,7 +1520,7 @@ DEPENDENCIES flipper-active_support_cache_store (~> 0.21.0) flowdock (~> 0.7) fog-aliyun (~> 0.3) - fog-aws (~> 3.12) + fog-aws (~> 3.14) fog-core (= 2.1.0) fog-google (~> 1.15) fog-local (~> 0.6) @@ -1499,13 +1531,13 @@ DEPENDENCIES gettext (~> 3.3) gettext_i18n_rails (~> 1.8.0) gettext_i18n_rails_js (~> 1.3) - gitaly (~> 14.10.0.pre.rc1) + gitaly (~> 15.1.0.pre.rc1) github-markup (~> 1.7.0) gitlab-chronic (~> 0.10.5) - gitlab-dangerfiles (~> 3.0) + gitlab-dangerfiles (~> 3.4.0) gitlab-experiment (~> 0.7.1) - gitlab-fog-azure-rm (~> 1.2.0) - gitlab-labkit (~> 0.22.0) + gitlab-fog-azure-rm (~> 1.3.0) + gitlab-labkit (~> 0.23.0) gitlab-license (~> 2.1.0) gitlab-license_finder (~> 6.0) gitlab-mail_room (~> 0.0.9) @@ -1513,7 +1545,7 @@ DEPENDENCIES gitlab-net-dns (~> 0.9.1) gitlab-omniauth-openid-connect (~> 0.9.0) gitlab-sidekiq-fetcher (= 0.8.0) - gitlab-styles (~> 7.0.0) + gitlab-styles (~> 7.1.0) gitlab_chronic_duration (~> 0.10.6.2) gitlab_omniauth-ldap (~> 2.1.1) gon (~> 6.4.0) @@ -1523,10 +1555,10 @@ DEPENDENCIES grape (~> 1.5.2) grape-entity (~> 0.10.0) grape-path-helpers (~> 1.7.0) - grape_logging (~> 1.7) + grape_logging (~> 1.8) graphiql-rails (~> 1.8) graphlient (~> 0.5.0) - graphql (~> 1.11.10) + graphql (~> 1.13.12) graphql-docs (~> 1.6.0) grpc (~> 1.42.0) gssapi @@ -1554,7 +1586,7 @@ DEPENDENCIES knapsack (~> 1.21.1) kramdown (~> 2.3.1) kubeclient (~> 4.9.2) - lefthook (~> 0.7.0) + lefthook (~> 0.8.0) letter_opener_web (~> 2.0.0) licensee (~> 9.14.1) lockbox (~> 0.6.2) @@ -1571,7 +1603,7 @@ DEPENDENCIES multi_json (~> 1.14.1) net-ldap (~> 0.16.3) net-ntp - nokogiri (~> 1.12) + nokogiri (~> 1.13.6) oauth2 (~> 1.4) octokit (~> 4.15) ohai (~> 16.10) @@ -1596,11 +1628,12 @@ DEPENDENCIES omniauth-twitter (~> 1.4) omniauth_crowd (~> 2.4.0) org-ruby (~> 0.9.12) + pact (~> 1.12) parallel (~> 1.19) parslet (~> 1.8) peek (~> 1.1) - pg (~> 1.1) - pg_query (~> 2.1) + pg (~> 1.3.0) + pg_query (~> 2.1.0) png_quantizator (~> 0.2.1) premailer-rails (~> 1.10.3) prometheus-client-mmap (~> 0.15.0) @@ -1609,19 +1642,19 @@ DEPENDENCIES pry-shell (~> 0.5.0) puma (~> 5.6.2) puma_worker_killer (~> 0.3.1) - rack (~> 2.2.3) - rack-attack (~> 6.3.0) - rack-cors (~> 1.0.6) - rack-oauth2 (~> 1.16.0) + rack (~> 2.2.3.0) + rack-attack (~> 6.6.0) + rack-cors (~> 1.1.0) + rack-oauth2 (~> 1.19.0) rack-proxy (~> 0.7.2) - rack-timeout (~> 0.5.1) + rack-timeout (~> 0.6.0) rails (~> 6.1.4.7) rails-controller-testing rails-i18n (~> 6.0) rainbow (~> 3.0) rbtrace (~> 0.4) rdoc (~> 6.3.2) - re2 (~> 1.2.0) + re2 (~> 1.4.0) recaptcha (~> 4.11) redis (~> 4.4.0) redis-actionpack (~> 5.2.0) @@ -1630,7 +1663,7 @@ DEPENDENCIES responders (~> 3.0) retriable (~> 3.1.2) rexml (~> 3.2.5) - rouge (~> 3.27.0) + rouge (~> 3.29.0) rqrcode-rails3 (~> 0.1.7) rspec-benchmark (~> 0.6.0) rspec-parameterized @@ -1673,7 +1706,7 @@ DEPENDENCIES spring-commands-rspec (~> 1.0.4) sprite-factory (~> 1.7) sprockets (~> 3.7.0) - ssh_data (~> 1.2) + ssh_data (~> 1.3) stackprof (~> 0.2.15) state_machines-activerecord (~> 0.8.0) sys-filesystem (~> 1.4.3) @@ -1705,4 +1738,4 @@ DEPENDENCIES yajl-ruby (~> 1.4.1) BUNDLED WITH - 2.3.6 + 2.3.15 diff --git a/README.md b/README.md index 4bc63759ab..64eedc9079 100644 --- a/README.md +++ b/README.md @@ -36,7 +36,7 @@ files in this repository. ## Hiring -We're hiring developers, support people, and production engineers all the time, please see our [jobs page](https://about.gitlab.com/jobs/). +We are hiring developers, support people, and production engineers all the time, please see our [jobs page](https://about.gitlab.com/jobs/). ## Website diff --git a/VERSION b/VERSION index dbe8a10a6e..a9e1108673 100644 --- a/VERSION +++ b/VERSION @@ -1 +1 @@ -15.0.4 \ No newline at end of file +15.1.3 \ No newline at end of file diff --git a/app/assets/images/auth_buttons/gitlab_64.png b/app/assets/images/auth_buttons/gitlab_64.png index f675678dc9d376dd166b8ad98207d192cc7db09c..860f9c1be9b926bba3d4bba28f7eb39b2d7642ec 100644 GIT binary patch delta 1618 zcmV-Y2Cey)5Y`Nk7k@wq1^@s6s%dfF00009a7bBm000XU000XU0RWnu7ytkO0drDE zLIAGL9O(c600d`2O+f$vv5yPVNub+8XGxCfSxz<(8k0!k>G08xny#LD8> zhx0hGu^qph>^#&9SHVn8bk5Gkd2wpB0fOcb5BaEz%Tr6>;tO#frl=YQ%qpE=b zLIF_dzZ=|KTF{N4VEBJ{Dd203($h^4K+FP!gjKXq8wAPUh7ec>0b&Ete!X7hyGCdM z1==7;{w^B7Hmv_1T}JE)IzINoDbfZZ@^|P_+JqQl1Ah>A6DY_AQS!GTgk6IeA_Ksm zuN!eUu?i``1~KxtiEW%X1qjKz2pb3}(?U_m`%%A#24I-{L|Zmj8;Ho?#cEWaAT$6< zFFf-H7DTDk`QtzhDa%Fn3BoNvqNOu>I?K%lgo-`mo%1951c3pNl$cF54;wsqZFv>s z|63#MzkdY=Krq9OUYCOnjK1201cW`Q0s{~<@DU*o8_3Gvxh`aYG!lUQSL)56fsY`W z+909)ZM3pl8F_T7Bd3KAe1uR`Wt|710~uhLq$xFp<-eY>Ex!B0{hg;geD*6kX~Qwb zFb=0`txnfI_E;cp;By?Hw6f(nb{~j#FP~=o1AinZ0HOn*V}PgI?gU__W^8B|OsHrK zloEsE2B8d2^SWUj7wU$S=$$0ke|N=G>nHyZIDAClad(`&TRi0ogNa!N&zHhiN?_93Ljv$d=a)?@xfIQrX$I%2 za+P;8umE4}m0T#cK%Xh4Vl07@pI#iv?tj9VjQouIVG^VrNC;YD&;t3Xp>%4H=#o|* zVT@Sgfq?~>*@7{!ErD{(8obBs3&|z#Fs!q?BlIWVC7lOw!2ZIc-zYC1Qbjh)$Iwwf z+^gXSCkgVtz^9M`Xo!fi;2G%bN;%v4j5ybG%9&VMU3 zP5{au|L~2;AQctZOwOC|Jl{xyhb>B8yTGh6XrhO8NV&jnlTSJw``A--N$ufeK^Icw z?6kZkY{^%&loJV`^m4a8;++uTqa$F(CZr6?7c;krC9;sb12e9>TOSz_mwM}`&lv;Z z*UUtrO0*?V@{{xFOMVE$I$_;L?tdG0g?@Eqn=dIzEsu#}=-?SkpgqoI)#{kvO>({b z(f2z+KSuUnd+#i-@)ec4kik@$X#o87JGIm>F_%fJBW=daw@bHvY=xZ=+krpas#i;f zc@xB!%EjQ8fQ8}beMlR|Mc-0X{Y@*cMIbzaN!1c%zOC@BGCY35xBGnSL4O)VO5Tsu z5H1x<@F_M}gwZuA48lXc9l$umO5Tt37&fsbY{}2ZocD0J$ssIxKZytNQkL*bJ`Ooc zNJ-w$ShE;HmcaMPaonYX9AcJ`mb{;_r*R@JaS`GrA4ixa7`vB5@_tgA$MRT0R`PK? z=Gz`Pmf(_qFRA4Hq&ksjS$|@ZTVjPNA;#yWA3L1|26p ziJ|oMH^^ou)zNBZQ@Q#bZV5=I<75&p`M1)Myq`?xvh_PJHVC7;{4P~U0^^b=T=JLG zlf0kIC-VoEFn0N^8X!eBlJ}F_YKDv@`26IJ(v`h!$bnp!bNZhx@k_+0+zhou4wCni z`|2iIqO2Hq86mzUc}wz}T=E^rk;0aDElV)4URYuTJ}6zzNAf3}aDs>b06{bzIi);$ Q)Bpeg07*qoM6N<$g844^pa1{> literal 2070 zcmV+x2})a8h(tkpj)>uc&DTXu=w`mzPx@I z7NV9v+Xt#j?9H0yz(RbQKieNFjMD@XDf|ak;GZ}Hs!E)UzrYGCgDzzWyZ{eYAcJS1 zs>CB`gcUG&y(9-9QRlS=wuSlfcU2Pq=>hBe7=O24(IvnKosNG7Oz=0HS|zvt9|G35 z80VCt1fE7FV1h%g^zP(t(B-lLam)xG( z7b+ha@}uFwUkgm|C!7S;MvlX8Ve|Mm&Mc+`9?RXX!P0mLs*T)@9k6+Lcs9-f5U-TP ze*&`w2C71i#7|)z z{RJmSDS>-(x2v1&xD%>EZo(E=M`=9bbO8U|760+D5shAadtxuBa$~MRun|oUDubZ- zAA?`PM)Y$W1yyE;;|H)2{Q)Pql)xR>4ja){+zM4@*I^TEL=Cv#F-BakN)^-d<2*=O9d-KEl-N zAMplj`e?%sSSE|6gSI=~NSLK}rF^NmQj*Wy{(8bNNAz{ILvQvppVxZ*OZIv+l#pSM z8?c!-STl<^ch%WAhv0pnvqaTM&6V;1Rz8q4nfF-}b3`V4nW>HJjXiF|Z9xan9~PVv zCTY)f)P9@^H$Ic_N_qf%)`q8(UaZZ_9wur}_SM9Q76)+Np}c+%wh7;i)H12x)@88t z&e-wy%?S2T%WLz!{S-$wO~BRI2;0meqBB5yQATJt>VGC|* zdH_9PTdBufYNu!POL4<9Ny?x!@n8Q`GFlSbp$BW8ldJn61EKcB{~NG@>M@;@?4q+# z%7Dn0qzokf+g^(p|IVy+s`d(OUVI-%Du(N@7PbK2jME;A@FSH0(Jl4>R@_hg--~qk zz8T9}Su<<_8*rOq7#jX&$VD<#N4bf8Zf?q;$oM}QG5$kXV@>#e;A5O(_${oH1v+c` z%6;Hi2CpSNiEvTze>Fk!9P3^hIM(R8AN*A@Y=w1FkJ(Jp4ecDufC$Hq|9wf*=o0^S zkY;CA?$UFWQ4HUNjdTc;iCHJ7y7alh0X_=@>&Q2w z9hxMfON8T<0Y9_#6{q;qur;~#++^`3T%s7nQ5cBzuuf|DkU`;1lHA~OlShw#D%<#O zNXptl8ns1{>V6}J;n=2)kUSCY&Fh2swR0)VBQ?E3?*o6`lTrpHj(8pG2r6`eJ&du%;|MWZB1a4j$u-T!P-aqg%_u2kXVPtT|2VaO!!{j{# zc?#W!3v1{cW?t#DacSt$72*WH*1ncG-;BE_?nhwAn|`BX_~~J z#;R4bvlZiUB2={=fZPrH^7oiIK^7?3h^}|WC>LKFaOZ)uUfBCz2c+Wvll_EpMnGfqL%yj+vO|K<(Y zfMvoY5-eBH1Al=GiX}VYQcKWu(Z>*+L-R6igjEmllKYKgtj3qddydyfc=`#;VdW8e z>r?PS0ENU*sOOccM!6Rni5w5thG(KS0yaZ1heFpAQf&Mycz~Dyz9o(G*f$BQNyuGI zB$mENxU7N?P+n3$paZN3;M>whGu1AgV6RM}1H=S)Mt@Jiqi`z%P>lQ1r*JC*yb4I+ zjC=_vSZPAtxWFMHy?<${21O5v)N_~3NLfBr&^6ME8T3qmRIzD?yT`ZBKnQ07v zlscgoi^v9&9=OB_=epky+A7o$&;>SGIh|2A1XI}TdOnarS&Ie)tP$b^AwCe|10g;T z;sc#~;D6QP11%(Sc!l^tFW3sBbOr9t8JL|B9XS;4n`mO%^uRzM9JtO9gb?=t&vsgJ z?^>!p_U0L3!&l%LwsAsQQl{>`u(5)i2ymRRt_Mf~IXN({aYEBQC)i9vT2^ntGlC`z z@qrK@2ng72kh^6Q3oyZ16SClEEDJmrn_%7uKz})c(yHg)3BIRX_!K-6Q0W?jIue@jLFJi7>=_yw93h^bp4Nsbo@aQ8 z;=nPMeJo$F{KWE}t2{yx-d_txPb#ev#5VTzb_qL`N)a9&xS?^?&&T^I9@@s%D4g3} zxqo+h^rSij5p3Qfs!$)32%gx9x#w_5>Dvy@j6wD!Bu!C z0$l|w{B_=OuAQHDur;gD;7Raj{cZo3)p- zxm`i-8b=HW=p8#YmDyf6gW>}*xA zW-mx#W29tIT#^%LM_fm3<5~zz!=JJ52X=U#OINMeXCjzJgNJ}P_%b!v9 z9cNtYt~!Bs%yUy))^mW>bYi#_^Kk+%joCAN?#%FvQx8Pixt?jKK5VCa?SP4>uWr3$ zQoYEu~^P>Mq$AJfsz3sw0^L5gQ## zJ-8%I)2U12Q;_rknOwB@f8z#eQay7tRN^~6aQ)bZKnC?tHdq8L&MU8ih=0bWI>sSj zTkizQYkmPepmq)j|4E~A3&;v0b(`~BD_hYyf1n9X9$3a1K?7k^*~1^@s6d?Ij|00001b5ch_0Itp)=>Px#L}ge>W=%~1DgXcg z2mk?xX#fNO00031000^Q000001E2u_0{{R30RRC20H6W@1ONa40RR91AfN*P1ONa4 z0RR91U;qFB0Q7Y_x&QzKkx4{BRA>e5T03miKoIrag(3wVQhz=`6eQ|=8fsb)5?=|S z)PXb+&>$*E8ft_nLQ)3_BoK%QN}x=YTqGo@xeG}{K|^zw8#)$wcC8m(E6PV8bAJN&4cG{FcXvN4bb_ia)FZfUW&xgDuq$2V7y*}1FLir+dk-}vVlgl= zG0~BL=+BspZ0EeK$Mw}}b#ZfZbAiitT9^kID9sav6Cff)Vsdiw0h5yHz7QZl1ot9H zT#(?DAFwNu%G1-+=i2S|GTJ*B^LOg?`fDkRx@~}@&3_&Dp|d9S)E)r%GbqwHKZ*M# zp60qV1Ol@tH)Ne7f5xs;djN`NG~h{V09*x$0G@b3MiJ@nkr27aB}WJJXtIi2Y7byI z%>%T}+C&0*A`$Tfw`)^10X*Rw7@cvEz=U&23uw!!36Nsw?idMp}Th2rv$tVa! zX3r!!SATt$APmC(UJd)dYcK4Q+b-jpI<*G?egy_y;4}7|paEtXwFmIjkD+At58;y& zcy}1G!K|s80067p)e=11K`o<=H!+P`t#)%`W8;H{jJgXj5712a9d`o+uJMy&p;;2( zgn1&IvMHZ>sXY)r(U`-cnIT1+dQ_-AAdE+{U|!|aJs|^$Ga@>s@mM0I&SV0)=77wQ4u{O$!7d&D5i z>9}n)HVSNkq_Wr}?%Qf;bCDZVnYZP<<(@s@wVI)^Bv5)Fbw`BV@L7D6T0vaV7xTM# z3x4a1G00!U2KEVL2cS2X_D@l27Z5n^)3{IJe&zdGPHiLuf@4TWL1M{AmfBK1Ab(|G z)ciMqe8jfvvo2&>5g|t*)dS>q+_C=#9JXSgbumTHJLDo&=2L8>Rup!2cD@b|4}SxR z%cy3;oC-C@z(0!yCyWrQ3uV@VX0!Qge0=iYV6BN|WJ|F*3^ XZ8H=0=*Q4P00000NkvXXu0mjf8`eSp diff --git a/app/assets/javascripts/access_tokens/components/access_token_table_app.vue b/app/assets/javascripts/access_tokens/components/access_token_table_app.vue new file mode 100644 index 0000000000..944a2ef7f6 --- /dev/null +++ b/app/assets/javascripts/access_tokens/components/access_token_table_app.vue @@ -0,0 +1,168 @@ + + + diff --git a/app/assets/javascripts/access_tokens/components/constants.js b/app/assets/javascripts/access_tokens/components/constants.js new file mode 100644 index 0000000000..84e50bc099 --- /dev/null +++ b/app/assets/javascripts/access_tokens/components/constants.js @@ -0,0 +1,61 @@ +import { __, s__ } from '~/locale'; + +export const EVENT_ERROR = 'ajax:error'; +export const EVENT_SUCCESS = 'ajax:success'; +export const FORM_SELECTOR = '#js-new-access-token-form'; + +export const INITIAL_PAGE = 1; +export const PAGE_SIZE = 100; + +export const FIELDS = [ + { + key: 'name', + label: __('Token name'), + sortable: true, + tdClass: `gl-text-black-normal`, + thClass: `gl-text-black-normal`, + }, + { + formatter(scopes) { + return scopes?.length ? scopes.join(', ') : __('no scopes selected'); + }, + key: 'scopes', + label: __('Scopes'), + sortable: true, + tdClass: `gl-text-black-normal`, + thClass: `gl-text-black-normal`, + }, + { + key: 'createdAt', + label: s__('AccessTokens|Created'), + sortable: true, + tdClass: `gl-text-black-normal`, + thClass: `gl-text-black-normal`, + }, + { + key: 'lastUsedAt', + label: __('Last Used'), + sortable: true, + tdClass: `gl-text-black-normal`, + thClass: `gl-text-black-normal`, + }, + { + key: 'expiresAt', + label: __('Expires'), + sortable: true, + tdClass: `gl-text-black-normal`, + thClass: `gl-text-black-normal`, + }, + { + key: 'role', + label: __('Role'), + tdClass: `gl-text-black-normal`, + thClass: `gl-text-black-normal`, + sortable: true, + }, + { + key: 'action', + label: __('Action'), + thClass: `gl-text-black-normal`, + }, +]; diff --git a/app/assets/javascripts/access_tokens/components/expires_at_field.vue b/app/assets/javascripts/access_tokens/components/expires_at_field.vue index 561b2617c5..147de529ee 100644 --- a/app/assets/javascripts/access_tokens/components/expires_at_field.vue +++ b/app/assets/javascripts/access_tokens/components/expires_at_field.vue @@ -21,17 +21,17 @@ export default { required: false, default: () => ({}), }, + minDate: { + type: Date, + required: false, + default: () => new Date(), + }, maxDate: { type: Date, required: false, default: () => null, }, }, - data() { - return { - minDate: new Date(), - }; - }, }; diff --git a/app/assets/javascripts/access_tokens/components/new_access_token_app.vue b/app/assets/javascripts/access_tokens/components/new_access_token_app.vue new file mode 100644 index 0000000000..904052688f --- /dev/null +++ b/app/assets/javascripts/access_tokens/components/new_access_token_app.vue @@ -0,0 +1,130 @@ + + + diff --git a/app/assets/javascripts/access_tokens/index.js b/app/assets/javascripts/access_tokens/index.js index c59bd44553..a7a03523e7 100644 --- a/app/assets/javascripts/access_tokens/index.js +++ b/app/assets/javascripts/access_tokens/index.js @@ -3,12 +3,57 @@ import Vue from 'vue'; import createFlash from '~/flash'; import { convertObjectPropsToCamelCase } from '~/lib/utils/common_utils'; import { parseRailsFormFields } from '~/lib/utils/forms'; -import { __ } from '~/locale'; +import { __, sprintf } from '~/locale'; +import AccessTokenTableApp from './components/access_token_table_app.vue'; import ExpiresAtField from './components/expires_at_field.vue'; +import NewAccessTokenApp from './components/new_access_token_app.vue'; import TokensApp from './components/tokens_app.vue'; import { FEED_TOKEN, INCOMING_EMAIL_TOKEN, STATIC_OBJECT_TOKEN } from './constants'; +export const initAccessTokenTableApp = () => { + const el = document.querySelector('#js-access-token-table-app'); + + if (!el) { + return null; + } + + const { + accessTokenType, + accessTokenTypePlural, + initialActiveAccessTokens: initialActiveAccessTokensJson, + noActiveTokensMessage: noTokensMessage, + } = el.dataset; + + // Default values + const noActiveTokensMessage = + noTokensMessage || + sprintf(__('This user has no active %{accessTokenTypePlural}.'), { accessTokenTypePlural }); + const showRole = 'showRole' in el.dataset; + + const initialActiveAccessTokens = convertObjectPropsToCamelCase( + JSON.parse(initialActiveAccessTokensJson), + { + deep: true, + }, + ); + + return new Vue({ + el, + name: 'AccessTokenTableRoot', + provide: { + accessTokenType, + accessTokenTypePlural, + initialActiveAccessTokens, + noActiveTokensMessage, + showRole, + }, + render(h) { + return h(AccessTokenTableApp); + }, + }); +}; + export const initExpiresAtField = () => { const el = document.querySelector('.js-access-tokens-expires-at'); @@ -17,7 +62,7 @@ export const initExpiresAtField = () => { } const { expiresAt: inputAttrs } = parseRailsFormFields(el); - const { maxDate } = el.dataset; + const { minDate, maxDate } = el.dataset; return new Vue({ el, @@ -25,6 +70,7 @@ export const initExpiresAtField = () => { return h(ExpiresAtField, { props: { inputAttrs, + minDate: minDate ? new Date(minDate) : undefined, maxDate: maxDate ? new Date(maxDate) : undefined, }, }); @@ -32,6 +78,27 @@ export const initExpiresAtField = () => { }); }; +export const initNewAccessTokenApp = () => { + const el = document.querySelector('#js-new-access-token-app'); + + if (!el) { + return null; + } + + const { accessTokenType } = el.dataset; + + return new Vue({ + el, + name: 'NewAccessTokenRoot', + provide: { + accessTokenType, + }, + render(h) { + return h(NewAccessTokenApp); + }, + }); +}; + export const initProjectsField = () => { const el = document.querySelector('.js-access-tokens-projects'); diff --git a/app/assets/javascripts/activities.js b/app/assets/javascripts/activities.js index 7a78ccdb0c..6fc37e9331 100644 --- a/app/assets/javascripts/activities.js +++ b/app/assets/javascripts/activities.js @@ -2,7 +2,7 @@ import $ from 'jquery'; import { setCookie } from '~/lib/utils/common_utils'; -import createFlash from '~/flash'; +import { createAlert } from '~/flash'; import { s__ } from '~/locale'; import { localTimeAgo } from './lib/utils/datetime_utility'; import Pager from './pager'; @@ -31,7 +31,7 @@ export default class Activities { prepareData: (data) => data, successCallback: () => this.updateTooltips(), errorCallback: () => - createFlash({ + createAlert({ message: s__( 'Activity|An error occurred while retrieving activity. Reload the page to try again.', ), diff --git a/app/assets/javascripts/admin/application_settings/inactive_project_deletion/components/form.vue b/app/assets/javascripts/admin/application_settings/inactive_project_deletion/components/form.vue new file mode 100644 index 0000000000..ef4a5319ee --- /dev/null +++ b/app/assets/javascripts/admin/application_settings/inactive_project_deletion/components/form.vue @@ -0,0 +1,249 @@ + + diff --git a/app/assets/javascripts/admin/application_settings/inactive_project_deletion/index.js b/app/assets/javascripts/admin/application_settings/inactive_project_deletion/index.js new file mode 100644 index 0000000000..43e6902885 --- /dev/null +++ b/app/assets/javascripts/admin/application_settings/inactive_project_deletion/index.js @@ -0,0 +1,36 @@ +import Vue from 'vue'; +import { parseBoolean } from '~/lib/utils/common_utils'; +import Form from './components/form.vue'; + +export default () => { + const el = document.querySelector('.js-inactive-project-deletion-form'); + + if (!el) { + return false; + } + + const { + deleteInactiveProjects, + inactiveProjectsDeleteAfterMonths, + inactiveProjectsMinSizeMb, + inactiveProjectsSendWarningEmailAfterMonths, + } = el.dataset; + + return new Vue({ + el, + name: 'InactiveProjectDeletion', + render(createElement) { + return createElement(Form, { + props: { + deleteInactiveProjects: parseBoolean(deleteInactiveProjects), + inactiveProjectsDeleteAfterMonths: parseInt(inactiveProjectsDeleteAfterMonths, 10), + inactiveProjectsMinSizeMb: parseInt(inactiveProjectsMinSizeMb, 10), + inactiveProjectsSendWarningEmailAfterMonths: parseInt( + inactiveProjectsSendWarningEmailAfterMonths, + 10, + ), + }, + }); + }, + }); +}; diff --git a/app/assets/javascripts/admin/users/components/user_actions.vue b/app/assets/javascripts/admin/users/components/user_actions.vue index 829174d759..40e5f8d9d7 100644 --- a/app/assets/javascripts/admin/users/components/user_actions.vue +++ b/app/assets/javascripts/admin/users/components/user_actions.vue @@ -100,7 +100,7 @@ export default { diff --git a/app/assets/javascripts/admin/users/components/users_table.vue b/app/assets/javascripts/admin/users/components/users_table.vue index ede5c26e48..b4b8459427 100644 --- a/app/assets/javascripts/admin/users/components/users_table.vue +++ b/app/assets/javascripts/admin/users/components/users_table.vue @@ -2,7 +2,7 @@ import { GlSkeletonLoader, GlTable } from '@gitlab/ui'; import createFlash from '~/flash'; import { convertNodeIdsFromGraphQLIds } from '~/graphql_shared/utils'; -import { thWidthClass } from '~/lib/utils/table_utility'; +import { thWidthPercent } from '~/lib/utils/table_utility'; import { s__, __ } from '~/locale'; import UserDate from '~/vue_shared/components/user_date.vue'; import getUsersGroupCountsQuery from '../graphql/queries/get_users_group_counts.query.graphql'; @@ -70,32 +70,32 @@ export default { { key: 'name', label: __('Name'), - thClass: thWidthClass(40), + thClass: thWidthPercent(40), }, { key: 'projectsCount', label: __('Projects'), - thClass: thWidthClass(10), + thClass: thWidthPercent(10), }, { key: 'groupCount', label: __('Groups'), - thClass: thWidthClass(10), + thClass: thWidthPercent(10), }, { key: 'createdAt', label: __('Created on'), - thClass: thWidthClass(15), + thClass: thWidthPercent(15), }, { key: 'lastActivityOn', label: __('Last activity'), - thClass: thWidthClass(15), + thClass: thWidthPercent(15), }, { key: 'settings', label: '', - thClass: thWidthClass(10), + thClass: thWidthPercent(10), }, ], }; diff --git a/app/assets/javascripts/alerts_settings/components/alerts_integrations_list.vue b/app/assets/javascripts/alerts_settings/components/alerts_integrations_list.vue index f4cc0678c3..3860831169 100644 --- a/app/assets/javascripts/alerts_settings/components/alerts_integrations_list.vue +++ b/app/assets/javascripts/alerts_settings/components/alerts_integrations_list.vue @@ -42,6 +42,20 @@ const bodyTrClass = export default { i18n, typeSet, + modal: { + actionPrimary: { + text: i18n.deleteIntegration, + attributes: { + variant: 'danger', + }, + }, + actionSecondary: { + text: __('Cancel'), + attributes: { + variant: 'default', + }, + }, + }, components: { GlButtonGroup, GlButton, @@ -204,8 +218,8 @@ export default { -import { GlDeprecatedSkeletonLoading as GlSkeletonLoading } from '@gitlab/ui'; +import { GlSkeletonLoader } from '@gitlab/ui'; import { flatten, isEqual, keyBy } from 'lodash'; import createFlash from '~/flash'; import { sprintf, s__ } from '~/locale'; @@ -48,7 +48,7 @@ const groupRawMetrics = (groups = [], rawData = []) => { export default { name: 'ValueStreamMetrics', components: { - GlSkeletonLoading, + GlSkeletonLoader, MetricTile, }, props: { @@ -119,8 +119,8 @@ export default { };