From b76ae638462ab0f673e5915986070518dd3f9ad3 Mon Sep 17 00:00:00 2001 From: GitLab Bot Date: Thu, 19 Aug 2021 09:08:42 +0000 Subject: Add latest changes from gitlab-org/gitlab@14-2-stable-ee --- .eslintrc.yml | 2 +- .gitlab-ci.yml | 13 +- .gitlab/CODEOWNERS | 5 +- .gitlab/ci/build-images.gitlab-ci.yml | 3 +- .gitlab/ci/cng.gitlab-ci.yml | 2 +- .gitlab/ci/docs.gitlab-ci.yml | 2 +- .gitlab/ci/frontend.gitlab-ci.yml | 4 +- .gitlab/ci/pages.gitlab-ci.yml | 20 +- .gitlab/ci/qa.gitlab-ci.yml | 3 +- .gitlab/ci/rails.gitlab-ci.yml | 41 +- .gitlab/ci/reports.gitlab-ci.yml | 16 + .gitlab/ci/review.gitlab-ci.yml | 15 +- .gitlab/ci/rules.gitlab-ci.yml | 240 +- .gitlab/ci/test-metadata.gitlab-ci.yml | 1 + .gitlab/issue_templates/Design Sprint.md | 4 + .../Geo Replicate a new Git repository type.md | 70 +- .../Geo Replicate a new blob type.md | 2 +- .gitlab/issue_templates/Problem Validation.md | 7 + .../issue_templates/Security developer workflow.md | 2 + .../issue_templates/Task for Configure group.md | 9 + .../Change Documentation Location.md | 10 +- .gitlab/merge_request_templates/Documentation.md | 33 +- .gitpod.yml | 14 +- .markdownlint.yml | 1 + .projections.json.example | 40 + .rubocop.yml | 20 +- .rubocop_manual_todo.yml | 680 +- CHANGELOG.md | 63 + GITALY_SERVER_VERSION | 2 +- GITLAB_ELASTICSEARCH_INDEXER_VERSION | 2 +- GITLAB_KAS_VERSION | 2 +- GITLAB_PAGES_VERSION | 2 +- Gemfile | 24 +- Gemfile.lock | 122 +- .../images/cluster_app_logos/cert_manager.png | Bin 1287 -> 0 bytes app/assets/images/cluster_app_logos/crossplane.png | Bin 1850 -> 0 bytes .../images/cluster_app_logos/elastic_stack.png | Bin 2919 -> 0 bytes .../images/cluster_app_logos/elasticsearch.png | Bin 796 -> 0 bytes app/assets/images/cluster_app_logos/gitlab.png | Bin 1757 -> 0 bytes app/assets/images/cluster_app_logos/helm.png | Bin 1438 -> 0 bytes app/assets/images/cluster_app_logos/jeager.png | Bin 2619 -> 0 bytes app/assets/images/cluster_app_logos/jupyterhub.png | Bin 895 -> 0 bytes app/assets/images/cluster_app_logos/knative.png | Bin 11259 -> 0 bytes app/assets/images/cluster_app_logos/kubernetes.png | Bin 1437 -> 0 bytes app/assets/images/cluster_app_logos/meltano.png | Bin 580 -> 0 bytes .../images/cluster_app_logos/modsecurity.png | Bin 6235 -> 0 bytes app/assets/images/cluster_app_logos/prometheus.png | Bin 923 -> 0 bytes app/assets/images/dev_ops_report_overview.svg | 64 + app/assets/images/gitorious-logo-black.png | Bin 631 -> 0 bytes app/assets/images/gitorious-logo-blue.png | Bin 201 -> 0 bytes .../in_product_marketing/admin_verify-0.png | Bin 0 -> 30421 bytes .../admin/users/components/actions/ban.vue | 7 +- .../admin/users/components/actions/delete.vue | 1 + .../actions/delete_with_contributions.vue | 1 + .../actions/shared/shared_delete_action.vue | 6 +- .../devops_report/components/devops_score.vue | 88 +- .../components/devops_score_callout.vue | 55 + .../components/service_ping_disabled.vue | 14 +- .../analytics/devops_report/constants.js | 11 + .../analytics/devops_report/devops_score.js | 4 +- .../devops_score_disabled_service_ping.js | 8 +- app/assets/javascripts/api/analytics_api.js | 72 +- .../javascripts/behaviors/markdown/render_gfm.js | 2 +- .../javascripts/blob/components/blob_header.vue | 6 + .../components/blob_header_default_actions.vue | 11 +- app/assets/javascripts/blob/csv/csv_viewer.vue | 13 +- app/assets/javascripts/blob/viewer/index.js | 62 +- app/assets/javascripts/blob_edit/edit_blob.js | 36 +- app/assets/javascripts/boards/boards_util.js | 3 + .../boards/components/board_card_inner.vue | 7 +- .../javascripts/boards/components/board_column.vue | 2 +- .../boards/components/board_content.vue | 18 +- .../boards/components/board_content_sidebar.vue | 3 +- .../boards/components/board_filtered_search.vue | 77 +- .../javascripts/boards/components/board_form.vue | 30 +- .../javascripts/boards/components/board_list.vue | 48 +- .../boards/components/board_new_issue.vue | 109 +- .../components/board_new_issue_deprecated.vue | 2 +- .../boards/components/board_new_item.vue | 95 + .../components/issue_board_filtered_search.vue | 57 +- .../components/sidebar/board_editable_item.vue | 5 +- .../sidebar/board_sidebar_labels_select.vue | 21 +- app/assets/javascripts/boards/constants.js | 7 + .../boards/graphql/board_lists.query.graphql | 2 + .../graphql/group_board_members.query.graphql | 2 +- .../graphql/group_board_milestones.query.graphql | 10 + .../graphql/project_board_milestones.query.graphql | 10 + .../boards/mount_multiple_boards_switcher.js | 7 +- app/assets/javascripts/boards/stores/actions.js | 128 +- .../javascripts/boards/stores/boards_store.js | 6 +- .../javascripts/boards/stores/mutation_types.js | 6 +- app/assets/javascripts/boards/stores/mutations.js | 33 +- app/assets/javascripts/boards/stores/state.js | 2 + .../components/ci_variable_modal.vue | 23 + .../javascripts/ci_variable_list/constants.js | 4 + app/assets/javascripts/ci_variable_list/index.js | 2 + .../commit/pipelines/pipelines_table.vue | 3 + app/assets/javascripts/commons/vue.js | 2 + .../content_editor/components/content_editor.vue | 108 +- .../components/content_editor_error.vue | 31 + .../components/content_editor_provider.vue | 24 + .../components/editor_state_observer.vue | 40 + .../components/formatting_bubble_menu.vue | 67 + .../content_editor/components/toolbar_button.vue | 58 +- .../components/toolbar_image_button.vue | 19 +- .../components/toolbar_link_button.vue | 110 +- .../components/toolbar_table_button.vue | 50 +- .../components/toolbar_text_style_dropdown.vue | 60 +- .../content_editor/components/top_toolbar.vue | 53 +- app/assets/javascripts/content_editor/constants.js | 5 + .../content_editor/extensions/attachment.js | 53 + .../content_editor/extensions/blockquote.js | 6 +- .../javascripts/content_editor/extensions/bold.js | 6 +- .../content_editor/extensions/bullet_list.js | 6 +- .../javascripts/content_editor/extensions/code.js | 6 +- .../extensions/code_block_highlight.js | 18 +- .../content_editor/extensions/document.js | 4 +- .../content_editor/extensions/dropcursor.js | 4 +- .../javascripts/content_editor/extensions/emoji.js | 93 + .../content_editor/extensions/gapcursor.js | 4 +- .../content_editor/extensions/hard_break.js | 6 +- .../content_editor/extensions/heading.js | 6 +- .../content_editor/extensions/history.js | 4 +- .../content_editor/extensions/horizontal_rule.js | 4 +- .../javascripts/content_editor/extensions/image.js | 103 +- .../content_editor/extensions/inline_diff.js | 50 + .../content_editor/extensions/italic.js | 5 +- .../javascripts/content_editor/extensions/link.js | 18 +- .../content_editor/extensions/list_item.js | 6 +- .../content_editor/extensions/loading.js | 24 + .../content_editor/extensions/ordered_list.js | 6 +- .../content_editor/extensions/paragraph.js | 6 +- .../content_editor/extensions/reference.js | 78 + .../content_editor/extensions/strike.js | 10 +- .../content_editor/extensions/subscript.js | 1 + .../content_editor/extensions/superscript.js | 1 + .../javascripts/content_editor/extensions/table.js | 8 +- .../content_editor/extensions/table_cell.js | 6 +- .../content_editor/extensions/table_header.js | 6 +- .../content_editor/extensions/table_row.js | 48 +- .../content_editor/extensions/task_item.js | 33 + .../content_editor/extensions/task_list.js | 30 + .../javascripts/content_editor/extensions/text.js | 6 +- .../services/build_serializer_config.js | 22 - .../content_editor/services/content_editor.js | 42 +- .../services/create_content_editor.js | 78 +- .../content_editor/services/markdown_serializer.js | 174 +- .../content_editor/services/track_ui_control.js | 9 + .../content_editor/services/upload_file.js | 44 - .../content_editor/services/upload_helpers.js | 123 + .../javascripts/content_editor/services/utils.js | 14 +- .../components/service_credentials_form.vue | 2 +- .../cycle_analytics/components/base.vue | 228 +- .../cycle_analytics/components/path_navigation.vue | 9 +- .../components/stage_code_component.vue | 56 - .../cycle_analytics/components/stage_component.vue | 54 - .../cycle_analytics/components/stage_nav_item.vue | 60 - .../components/stage_review_component.vue | 70 - .../components/stage_staging_component.vue | 60 - .../cycle_analytics/components/stage_table.vue | 266 + .../components/stage_test_component.vue | 56 - .../components/total_time_component.vue | 50 +- .../components/value_stream_metrics.vue | 107 + .../javascripts/cycle_analytics/constants.js | 59 + .../cycle_analytics/default_event_objects.js | 98 - app/assets/javascripts/cycle_analytics/index.js | 9 +- .../javascripts/cycle_analytics/store/actions.js | 101 +- .../javascripts/cycle_analytics/store/getters.js | 15 +- .../cycle_analytics/store/mutation_types.js | 4 + .../javascripts/cycle_analytics/store/mutations.js | 63 +- .../javascripts/cycle_analytics/store/state.js | 9 +- app/assets/javascripts/cycle_analytics/utils.js | 68 +- .../deprecated_jquery_dropdown/gl_dropdown.js | 1 + .../components/design_notes/design_discussion.vue | 20 + .../design_management/components/image.vue | 14 +- .../components/upload/design_version_dropdown.vue | 30 +- .../javascripts/design_management/graphql.js | 8 +- .../design_management/graphql/fragmentTypes.json | 1 + .../fragments/design_todo_item.fragment.graphql | 11 + .../create_image_diff_note.mutation.graphql | 6 + .../toggle_resolve_discussion.mutation.graphql | 6 + app/assets/javascripts/design_management/index.js | 12 + .../design_management/pages/design/index.vue | 20 +- app/assets/javascripts/diffs/components/app.vue | 94 +- .../javascripts/diffs/components/diff_file.vue | 99 +- .../diffs/components/diff_gutter_avatars.vue | 1 + .../javascripts/diffs/components/diff_row.vue | 19 +- .../javascripts/diffs/components/diff_stats.vue | 4 +- .../diffs/components/settings_dropdown.vue | 4 +- app/assets/javascripts/diffs/constants.js | 2 + app/assets/javascripts/diffs/i18n.js | 22 + app/assets/javascripts/diffs/index.js | 16 +- app/assets/javascripts/diffs/store/actions.js | 50 +- app/assets/javascripts/diffs/store/getters.js | 22 +- .../javascripts/diffs/store/modules/diff_state.js | 1 + .../javascripts/diffs/store/mutation_types.js | 1 + app/assets/javascripts/diffs/store/mutations.js | 3 + app/assets/javascripts/diffs/utils/queue_events.js | 13 + app/assets/javascripts/editor/constants.js | 6 + .../extensions/source_editor_markdown_ext.js | 159 + app/assets/javascripts/editor/source_editor.js | 29 +- app/assets/javascripts/editor/utils.js | 31 +- .../components/confirm_rollback_modal.vue | 135 +- .../environments/components/edit_environment.vue | 58 + .../components/enable_review_app_modal.vue | 17 + .../environments/components/environment_form.vue | 146 + .../environments/components/environment_item.vue | 36 +- .../environments/components/environments_app.vue | 36 +- .../components/environments_detail_header.vue | 174 + .../environments/components/new_environment.vue | 51 + .../components/rollback_modal_manager.vue | 57 + app/assets/javascripts/environments/constants.js | 2 + app/assets/javascripts/environments/edit.js | 18 + .../environments/init_confirm_rollback_modal.js | 16 + .../environments/mixins/environments_mixin.js | 14 +- app/assets/javascripts/environments/mount_show.js | 38 +- app/assets/javascripts/environments/new.js | 11 + .../components/strategies/flexible_rollout.vue | 8 +- .../admin_runners_filtered_search_token_keys.js | 36 - app/assets/javascripts/frequent_items/index.js | 77 - app/assets/javascripts/graphql_shared/constants.js | 2 + .../fragments/issuable_timelogs.fragment.graphql | 1 + .../create_merge_request.mutation.graphql | 8 + .../queries/get_users_projects.query.graphql | 28 + .../queries/group_users_search.query.graphql | 15 + app/assets/javascripts/graphql_shared/utils.js | 19 + .../javascripts/groups/components/group_item.vue | 17 + .../javascripts/groups/store/groups_store.js | 15 +- .../ide/components/commit_sidebar/form.vue | 2 +- .../ide/components/commit_sidebar/list.vue | 15 +- .../javascripts/ide/components/repo_editor.vue | 27 +- .../import_entities/components/group_dropdown.vue | 2 +- .../import_groups/components/import_table.vue | 269 +- .../import_groups/components/import_table_row.vue | 227 - .../components/import_target_cell.vue | 162 + .../import_entities/import_groups/constants.js | 7 + .../import_groups/graphql/client_factory.js | 68 +- .../mutations/set_import_target.mutation.graphql | 13 + .../mutations/set_new_name.mutation.graphql | 8 - .../set_target_namespace.mutation.graphql | 8 - .../graphql/queries/groupAndProject.query.graphql | 9 - .../queries/group_and_project.query.graphql | 9 + .../import_entities/import_groups/index.js | 2 + .../import_entities/import_groups/utils.js | 13 + .../components/provider_repo_table_row.vue | 3 +- .../integrations/edit/components/dynamic_field.vue | 18 +- .../edit/components/integration_form.vue | 2 + .../javascripts/integrations/overrides/api.js | 10 + .../overrides/components/integration_overrides.vue | 127 + .../javascripts/integrations/overrides/index.js | 23 + .../invite_members/components/group_select.vue | 1 + .../components/invite_members_modal.vue | 95 +- .../components/members_token_select.vue | 25 +- app/assets/javascripts/invite_members/constants.js | 7 + .../invite_members/init_invite_members_modal.js | 4 + app/assets/javascripts/issuable_form.js | 17 +- .../issuable_list/components/issuable_item.vue | 26 +- .../issuable_list/components/issuable_tabs.vue | 2 +- .../components/fields/description_template.vue | 2 +- .../issue_show/components/fields/type.vue | 4 +- .../javascripts/issue_show/components/form.vue | 2 +- app/assets/javascripts/issue_show/constants.js | 4 +- .../issues_list/components/issuables_list_app.vue | 6 +- .../components/issue_card_time_info.vue | 6 +- .../issues_list/components/issues_list_app.vue | 56 +- .../components/jira_issues_import_status_app.vue | 8 +- app/assets/javascripts/issues_list/constants.js | 31 +- app/assets/javascripts/issues_list/index.js | 43 +- .../issues_list/queries/get_issues.query.graphql | 4 + .../queries/get_issues_count.query.graphql | 4 + .../issues_list/queries/issue.fragment.graphql | 1 + .../queries/reorder_issues.mutation.graphql | 7 + app/assets/javascripts/issues_list/utils.js | 24 +- app/assets/javascripts/jira_connect/.eslintrc.yml | 5 - app/assets/javascripts/jira_connect/api.js | 31 - .../branches/components/new_branch_form.vue | 174 + .../branches/components/project_dropdown.vue | 4 +- .../javascripts/jira_connect/branches/constants.js | 23 + .../mutations/create_branch.mutation.graphql | 6 + .../javascripts/jira_connect/branches/index.js | 36 + .../jira_connect/branches/pages/index.vue | 60 + .../javascripts/jira_connect/components/app.vue | 125 - .../jira_connect/components/group_item_name.vue | 34 - .../jira_connect/components/groups_list.vue | 129 - .../jira_connect/components/groups_list_item.vue | 85 - .../jira_connect/components/subscriptions_list.vue | 109 - app/assets/javascripts/jira_connect/constants.js | 3 - app/assets/javascripts/jira_connect/index.js | 52 - app/assets/javascripts/jira_connect/store/index.js | 12 - .../jira_connect/store/mutation_types.js | 1 - .../javascripts/jira_connect/store/mutations.js | 7 - app/assets/javascripts/jira_connect/store/state.js | 3 - .../jira_connect/subscriptions/.eslintrc.yml | 5 + .../javascripts/jira_connect/subscriptions/api.js | 31 + .../jira_connect/subscriptions/components/app.vue | 125 + .../subscriptions/components/group_item_name.vue | 34 + .../subscriptions/components/groups_list.vue | 132 + .../subscriptions/components/groups_list_item.vue | 85 + .../components/subscriptions_list.vue | 109 + .../jira_connect/subscriptions/constants.js | 3 + .../jira_connect/subscriptions/index.js | 52 + .../jira_connect/subscriptions/store/index.js | 12 + .../subscriptions/store/mutation_types.js | 1 + .../jira_connect/subscriptions/store/mutations.js | 7 + .../jira_connect/subscriptions/store/state.js | 3 + .../jira_connect/subscriptions/utils.js | 73 + app/assets/javascripts/jira_connect/utils.js | 73 - .../components/sidebar_job_details_container.vue | 2 +- .../jobs/components/stages_dropdown.vue | 13 +- app/assets/javascripts/jobs/store/actions.js | 14 +- app/assets/javascripts/jobs/store/utils.js | 23 +- app/assets/javascripts/jobs/utils.js | 9 + app/assets/javascripts/lazy_loader.js | 2 +- app/assets/javascripts/lib/dompurify.js | 17 +- app/assets/javascripts/lib/utils/common_utils.js | 25 +- app/assets/javascripts/lib/utils/url_utility.js | 16 +- app/assets/javascripts/main.js | 229 +- .../action_buttons/remove_member_button.vue | 35 +- .../filter_sort/members_filtered_search_bar.vue | 25 +- .../members/components/members_tabs.vue | 22 +- .../components/modals/remove_member_modal.vue | 114 + .../members/components/table/members_table.vue | 3 + app/assets/javascripts/members/index.js | 10 +- app/assets/javascripts/members/store/actions.js | 8 + .../javascripts/members/store/mutation_types.js | 3 + app/assets/javascripts/members/store/mutations.js | 7 + app/assets/javascripts/members/store/state.js | 2 + app/assets/javascripts/merge_request_tabs.js | 29 +- .../monitoring/components/dashboard_panel.vue | 13 +- .../javascripts/nav/components/responsive_app.vue | 14 +- app/assets/javascripts/nav/event_hub.js | 5 - app/assets/javascripts/nav/index.js | 5 +- .../javascripts/nav/utils/has_menu_expanded.js | 2 - app/assets/javascripts/nav/utils/index.js | 1 - .../notes/components/comment_field_layout.vue | 10 +- .../javascripts/notes/components/comment_form.vue | 1 + .../notes/components/discussion_resolve_button.vue | 2 +- .../discussion_resolve_with_issue_button.vue | 2 +- .../javascripts/notes/components/note_body.vue | 6 +- .../javascripts/notes/components/note_form.vue | 5 +- .../javascripts/notes/components/noteable_note.vue | 5 +- app/assets/javascripts/notes/index.js | 9 +- .../components/details/additional_metadata.vue | 106 + .../package_registry/components/details/app.vue | 248 +- .../components/details/composer_installation.vue | 87 + .../components/details/conan_installation.vue | 79 + .../components/details/dependency_row.vue | 38 + .../components/details/file_sha.vue | 41 + .../components/details/installation_commands.vue | 45 + .../components/details/installation_title.vue | 38 + .../components/details/maven_installation.vue | 229 + .../components/details/npm_installation.vue | 141 + .../components/details/nuget_installation.vue | 75 + .../components/details/package_files.vue | 163 + .../components/details/package_history.vue | 169 + .../components/details/package_title.vue | 134 + .../components/details/pypi_installation.vue | 93 + .../components/details/version_row.vue | 71 + .../package_registry/constants.js | 88 + .../package_registry/graphql/fragmentTypes.json | 17 + .../package_registry/graphql/index.js | 23 + .../mutations/destroy_package.mutation.graphql | 5 + .../destroy_package_file.mutation.graphql | 5 + .../queries/get_package_details.query.graphql | 111 + .../package_registry/pages/details.js | 5 +- .../package_registry/utils.js | 40 + .../general/components/signup_form.vue | 64 +- .../metrics_and_profiling/usage_statistics.js | 26 +- .../javascripts/pages/admin/groups/edit/index.js | 2 +- .../javascripts/pages/admin/groups/show/index.js | 22 +- .../pages/admin/integrations/overrides/index.js | 3 + .../jobs/index/components/stop_jobs_modal.vue | 2 +- .../javascripts/pages/admin/projects/index.js | 18 - .../javascripts/pages/admin/runners/index/index.js | 18 +- .../pages/admin/serverless/domains/index.js | 28 +- .../pages/dashboard/merge_requests/index.js | 16 +- .../pages/dashboard/milestones/index/index.js | 2 +- .../javascripts/pages/explore/groups/index.js | 6 +- .../pages/groups/group_members/index.js | 17 - .../javascripts/pages/groups/runners/index.js | 3 + .../pages/groups/settings/badges/index.js | 4 +- app/assets/javascripts/pages/help/index/index.js | 6 +- app/assets/javascripts/pages/help/ui/index.js | 2 +- .../pages/import/bitbucket/status/index.js | 6 +- .../pages/import/bitbucket_server/status/index.js | 6 +- .../pages/import/fogbugz/new_user_map/index.js | 2 +- .../pages/import/fogbugz/status/index.js | 6 +- .../javascripts/pages/import/gitea/status/index.js | 6 +- .../pages/import/github/status/index.js | 6 +- .../pages/import/gitlab/status/index.js | 6 +- .../pages/import/gitlab_projects/new/index.js | 2 +- .../pages/import/manifest/status/index.js | 6 +- .../pages/jira_connect/branches/new/index.js | 3 + .../pages/ldap/omniauth_callbacks/index.js | 2 +- .../javascripts/pages/omniauth_callbacks/index.js | 2 +- .../pages/profiles/accounts/show/index.js | 2 +- .../javascripts/pages/profiles/keys/index.js | 8 +- .../pages/profiles/two_factor_auths/index.js | 18 +- .../pages/projects/artifacts/file/index.js | 2 +- .../javascripts/pages/projects/blob/show/index.js | 4 +- .../pages/projects/compare/show/index.js | 10 +- .../pages/projects/cycle_analytics/show/index.js | 2 +- .../javascripts/pages/projects/edit/index.js | 6 +- .../pages/projects/environments/edit/index.js | 3 + .../pages/projects/environments/folder/index.js | 2 +- .../pages/projects/environments/metrics/index.js | 2 +- .../pages/projects/environments/new/index.js | 3 + .../pages/projects/environments/show/index.js | 6 +- .../pages/projects/environments/terminal/index.js | 2 +- .../pages/projects/graphs/charts/index.js | 268 +- .../pages/projects/graphs/show/index.js | 2 +- .../pages/projects/import/jira/index.js | 2 +- .../pages/projects/issues/edit/index.js | 2 +- .../javascripts/pages/projects/issues/show.js | 4 +- .../pages/projects/jobs/terminal/index.js | 2 +- .../pages/projects/network/show/index.js | 4 +- .../pages/projects/pages_domains/new/index.js | 2 +- .../pages/projects/pages_domains/show/index.js | 2 +- .../projects/pipeline_schedules/index/index.js | 6 +- .../pages/projects/project_members/index.js | 17 - .../pages/projects/security/configuration/index.js | 4 +- .../pages/projects/services/edit/index.js | 20 +- .../permissions/components/settings_panel.vue | 106 +- .../pages/projects/shared/permissions/constants.js | 2 +- .../javascripts/pages/projects/show/index.js | 2 +- .../projects/static_site_editor/show/index.js | 4 +- app/assets/javascripts/pages/sessions/index.js | 2 +- app/assets/javascripts/pages/sessions/new/index.js | 24 +- .../pages/shared/wikis/components/wiki_form.vue | 75 +- app/assets/javascripts/performance/constants.js | 11 + .../components/performance_bar_app.vue | 2 +- app/assets/javascripts/persistent_user_callouts.js | 1 - .../components/file_nav/branch_switcher.vue | 1 + .../components/header/pipeline_status.vue | 89 +- .../pipelines/components/graph/graph_component.vue | 15 +- .../components/graph/graph_component_legacy.vue | 269 - .../components/graph/graph_component_wrapper.vue | 48 +- .../components/graph/linked_pipelines_column.vue | 10 +- .../graph/linked_pipelines_column_legacy.vue | 91 - .../pipelines/components/graph/perf_utils.js | 50 + .../graph/stage_column_component_legacy.vue | 112 - .../pipelines/components/graph/utils.js | 26 + .../components/graph_shared/drawing_utils.js | 2 +- .../components/graph_shared/links_inner.vue | 10 +- .../components/graph_shared/links_layer.vue | 117 +- .../pipelines/components/header_component.vue | 9 +- .../pipelines/components/parsing_utils.js | 8 +- .../pipelines_list/pipeline_multi_actions.vue | 5 + .../pipelines_list/pipeline_operations.vue | 4 +- .../components/pipelines_list/pipeline_url.vue | 6 +- .../components/pipelines_list/pipelines.vue | 48 +- .../pipelines_list/pipelines_filtered_search.vue | 31 +- .../components/pipelines_list/pipelines_table.vue | 144 +- .../tokens/pipeline_source_token.vue | 106 + app/assets/javascripts/pipelines/constants.js | 16 +- .../mixins/graph_pipeline_bundle_mixin.js | 65 - .../pipelines/pipeline_details_bundle.js | 66 +- .../pipelines/pipeline_details_mediator.js | 81 - .../pipelines/services/pipeline_service.js | 21 - .../javascripts/pipelines/stores/pipeline_store.js | 206 - .../preferences/components/profile_preferences.vue | 26 +- .../components/commit_box_pipeline_mini_graph.vue | 94 + .../queries/get_linked_pipelines.query.graphql | 32 + .../info/init_commit_pipeline_mini_graph.js | 27 +- .../projects/compare/components/app.vue | 2 +- .../projects/compare/components/app_legacy.vue | 112 - app/assets/javascripts/projects/compare/index.js | 43 +- .../charts/components/pipeline_charts.vue | 2 +- .../components/terraform_notification.vue | 42 +- .../projects/terraform_notification/index.js | 13 +- .../components/details_page/delete_modal.vue | 27 +- .../components/details_page/details_header.vue | 23 +- .../components/list_page/cleanup_status.vue | 6 +- .../registry/explorer/constants/details.js | 11 +- .../get_container_repository_details.query.graphql | 1 + .../registry/explorer/pages/details.vue | 4 +- .../grouped_codequality_reports_app.vue | 11 - .../reports/codequality_report/store/actions.js | 12 +- .../reports/codequality_report/store/getters.js | 4 +- .../reports/codequality_report/store/mutations.js | 4 +- .../reports/codequality_report/store/state.js | 3 +- app/assets/javascripts/reports/constants.js | 1 + .../grouped_test_report/components/modal.vue | 2 +- .../repository/components/blob_button_group.vue | 29 +- .../repository/components/blob_content_viewer.vue | 34 +- .../repository/components/blob_edit.vue | 22 +- .../repository/components/breadcrumbs.vue | 3 +- .../repository/components/delete_blob_modal.vue | 99 +- .../repository/components/table/row.vue | 1 + app/assets/javascripts/repository/constants.js | 3 + .../mutations/lock_path.mutation.graphql | 13 + .../repository/queries/blob_info.query.graphql | 11 +- .../runner/admin_runners/admin_runners_app.vue | 133 + .../javascripts/runner/admin_runners/index.js | 43 + .../components/runner_registration_token_reset.vue | 41 +- .../runner/components/runner_type_alert.vue | 17 +- .../runner/components/runner_update_form.vue | 8 +- .../runner/components/search_tokens/tag_token.vue | 6 - .../runner/group_runners/group_runners_app.vue | 35 + .../javascripts/runner/group_runners/index.js | 40 + app/assets/javascripts/runner/runner_list/index.js | 43 - .../runner/runner_list/runner_list_app.vue | 133 - .../runner/runner_list/runner_search_utils.js | 114 - .../javascripts/runner/runner_search_utils.js | 114 + app/assets/javascripts/search/store/actions.js | 36 +- app/assets/javascripts/search/store/utils.js | 4 +- .../javascripts/search/topbar/components/app.vue | 5 +- .../search/topbar/components/group_filter.vue | 14 +- .../search/topbar/components/project_filter.vue | 9 +- app/assets/javascripts/search_autocomplete.js | 8 +- .../security_configuration/components/app.vue | 211 +- .../components/auto_dev_ops_enabled_alert.vue | 30 + .../components/configuration_table.vue | 109 - .../security_configuration/components/constants.js | 80 +- .../components/feature_card.vue | 14 +- .../components/redesigned_app.vue | 179 - .../components/section_layout.vue | 2 +- .../security_configuration/components/upgrade.vue | 32 - .../components/upgrade_banner.vue | 22 +- .../javascripts/security_configuration/index.js | 41 +- .../self_monitor/components/self_monitor_form.vue | 36 +- .../javascripts/self_monitor/store/actions.js | 4 +- .../components/assignees/assignee_avatar_link.vue | 9 +- .../components/assignees/assignee_title.vue | 2 +- .../sidebar/components/labels/sidebar_labels.vue | 15 +- .../sidebar/components/lock/issuable_lock_form.vue | 2 +- .../components/participants/participants.vue | 10 +- .../participants/sidebar_participants_widget.vue | 1 + .../components/reviewers/reviewer_title.vue | 2 +- .../components/severity/sidebar_severity.vue | 2 + .../sidebar/components/sidebar_dropdown_widget.vue | 37 +- .../sidebar/components/sidebar_editable_item.vue | 5 +- .../components/time_tracking/help_state.vue | 18 +- .../sidebar/components/time_tracking/report.vue | 10 +- app/assets/javascripts/sidebar/constants.js | 2 + app/assets/javascripts/sidebar/mount_sidebar.js | 7 +- .../sidebar/queries/group_milestones.query.graphql | 20 + .../sidebar/queries/milestone.fragment.graphql | 1 + .../snippets/components/snippet_blob_view.vue | 9 - .../snippets/components/snippet_header.vue | 35 +- app/assets/javascripts/snippets/index.js | 10 +- app/assets/javascripts/snippets/mixins/snippets.js | 15 +- app/assets/javascripts/sourcegraph/load.js | 5 +- app/assets/javascripts/syntax_highlight.js | 36 +- .../terraform/components/empty_state.vue | 30 +- .../terraform/components/init_command_modal.vue | 86 + .../terraform/components/states_table_actions.vue | 30 +- app/assets/javascripts/terraform/index.js | 7 +- .../token_access/components/token_access.vue | 7 +- .../components/token_projects_table.vue | 1 - app/assets/javascripts/tracking/constants.js | 25 + .../tracking/dispatch_snowplow_event.js | 23 + app/assets/javascripts/tracking/index.js | 266 +- app/assets/javascripts/tracking/tracking.js | 193 + app/assets/javascripts/tracking/utils.js | 102 + .../components/deployment/deployment.vue | 17 - .../components/deployment/deployment_actions.vue | 17 - .../components/deployment/deployment_list.vue | 9 - .../deployment/deployment_view_button.vue | 24 - .../components/mr_widget_author.vue | 7 +- .../components/mr_widget_header.vue | 64 +- .../components/mr_widget_pipeline_container.vue | 7 - .../components/mr_widget_related_links.vue | 8 +- .../states/mr_widget_auto_merge_enabled.vue | 56 +- .../components/states/mr_widget_closed.vue | 1 - .../components/states/mr_widget_conflicts.vue | 1 - .../states/mr_widget_failed_to_merge.vue | 1 - .../components/states/mr_widget_merged.vue | 2 - .../components/states/mr_widget_merging.vue | 1 - .../components/states/ready_to_merge.vue | 22 - .../components/states/sha_mismatch.vue | 32 +- .../javascripts/vue_merge_request_widget/i18n.js | 5 + .../vue_merge_request_widget/mixins/auto_merge.js | 11 +- .../vue_merge_request_widget/mr_widget_options.vue | 7 +- .../stores/get_state_key.js | 4 +- .../stores/mr_widget_store.js | 16 +- .../dropdown_widget/dropdown_widget.stories.js | 27 + .../dropdown/dropdown_widget/dropdown_widget.vue | 165 + .../components/filtered_search_bar/constants.js | 12 +- .../filtered_search_bar_root.vue | 9 +- .../filtered_search_bar/filtered_search_utils.js | 9 + .../filtered_search_bar/tokens/author_token.vue | 22 +- .../filtered_search_bar/tokens/base_token.vue | 63 +- .../filtered_search_bar/tokens/branch_token.vue | 100 +- .../filtered_search_bar/tokens/emoji_token.vue | 109 +- .../filtered_search_bar/tokens/epic_token.vue | 16 +- .../filtered_search_bar/tokens/iteration_token.vue | 99 +- .../filtered_search_bar/tokens/label_token.vue | 18 +- .../filtered_search_bar/tokens/milestone_token.vue | 97 +- .../filtered_search_bar/tokens/weight_token.vue | 56 +- .../vue_shared/components/markdown/header.vue | 235 +- .../components/markdown/toolbar_button.vue | 17 +- .../paginated_table_with_search_and_tabs.vue | 4 +- .../vue_shared/components/papa_parse_alert.vue | 44 + .../project_selector/project_selector.vue | 7 +- .../vue_shared/components/remove_member_modal.vue | 116 - .../dropdown_contents_labels_view.vue | 3 + .../sidebar/labels_select_vue/dropdown_title.vue | 5 +- .../labels_select_vue/labels_select_root.vue | 5 +- .../sidebar/labels_select_vue/store/actions.js | 9 +- .../labels_select_vue/store/mutation_types.js | 2 + .../sidebar/labels_select_vue/store/mutations.js | 20 +- .../sidebar/labels_select_vue/store/state.js | 1 + .../labels_select_widget/dropdown_contents.vue | 34 +- .../dropdown_contents_labels_view.vue | 260 +- .../labels_select_widget/dropdown_title.vue | 5 +- .../graphql/project_labels.query.graphql | 12 + .../labels_select_widget/labels_select_root.vue | 34 +- .../sidebar/labels_select_widget/store/actions.js | 22 - .../labels_select_widget/store/mutation_types.js | 8 - .../labels_select_widget/store/mutations.js | 21 - .../components/sidebar/todo_toggle/todo_button.vue | 18 +- .../components/sidebar/todo_toggle/utils.js | 16 + .../components/user_avatar/user_avatar_link.vue | 6 + .../vue_shared/components/user_date.vue | 10 +- .../vue_shared/components/web_ide_link.vue | 36 +- app/assets/javascripts/vue_shared/constants.js | 4 + .../new_namespace/components/welcome.vue | 12 +- .../vue_shared/security_configuration/provider.js | 2 +- .../merge_request_artifact_download.vue | 2 +- .../security_report_download_dropdown.vue | 6 + .../fragments/job_artifacts.fragment.graphql | 13 + ...port_merge_request_download_paths.query.graphql | 24 + ...ty_report_pipeline_download_paths.query.graphql | 10 + ...port_merge_request_download_paths.query.graphql | 24 - ...ty_report_pipeline_download_paths.query.graphql | 18 - .../security_reports/security_reports_app.vue | 2 +- .../vue_shared/security_reports/utils.js | 2 +- app/assets/stylesheets/_jh/application_jh.scss | 5 + app/assets/stylesheets/application.scss | 3 + .../stylesheets/components/content_editor.scss | 56 + app/assets/stylesheets/components/whats_new.scss | 10 +- app/assets/stylesheets/framework/animations.scss | 1 - app/assets/stylesheets/framework/blocks.scss | 2 +- app/assets/stylesheets/framework/diffs.scss | 16 +- app/assets/stylesheets/framework/dropdowns.scss | 61 - app/assets/stylesheets/framework/files.scss | 56 + app/assets/stylesheets/framework/header.scss | 50 +- .../stylesheets/framework/markdown_area.scss | 35 +- .../framework/secondary_navigation_elements.scss | 1 - app/assets/stylesheets/framework/sidebar.scss | 4 + .../stylesheets/framework/source_editor.scss | 15 + .../lazy_bundles/select2_overrides.scss | 18 +- app/assets/stylesheets/page_bundles/boards.scss | 23 +- app/assets/stylesheets/page_bundles/import.scss | 21 +- app/assets/stylesheets/page_bundles/wiki.scss | 1 + app/assets/stylesheets/pages/events.scss | 15 - app/assets/stylesheets/pages/merge_requests.scss | 4 +- app/assets/stylesheets/pages/note_form.scss | 8 +- app/assets/stylesheets/pages/notes.scss | 2 +- app/assets/stylesheets/pages/search.scss | 4 - app/assets/stylesheets/startup/startup-dark.scss | 23 +- .../stylesheets/startup/startup-general.scss | 21 - app/assets/stylesheets/themes/_dark.scss | 18 +- app/assets/stylesheets/utilities.scss | 23 +- .../admin/clusters/applications_controller.rb | 11 - app/controllers/admin/integrations_controller.rb | 17 +- .../admin/runner_projects_controller.rb | 2 +- app/controllers/admin/runners_controller.rb | 8 - app/controllers/admin/services_controller.rb | 47 - app/controllers/admin/users_controller.rb | 11 +- .../clusters/applications_controller.rb | 56 - .../analytics/cycle_analytics/stage_actions.rb | 96 + app/controllers/concerns/cycle_analytics_params.rb | 34 +- app/controllers/concerns/dependency_proxy/auth.rb | 43 - .../concerns/dependency_proxy/group_access.rb | 6 +- app/controllers/concerns/find_snippet.rb | 6 +- app/controllers/concerns/integrations_actions.rb | 3 +- app/controllers/concerns/issuable_actions.rb | 50 +- app/controllers/concerns/lfs_request.rb | 15 +- app/controllers/concerns/spammable_actions.rb | 73 - .../akismet_mark_as_spam_action.rb | 28 + .../concerns/spammable_actions/attributes.rb | 13 + .../spammable_actions/captcha_check/common.rb | 23 + .../captcha_check/html_format_actions_support.rb | 35 + .../captcha_check/json_format_actions_support.rb | 25 + app/controllers/customers_dot/proxy_controller.rb | 21 - app/controllers/dashboard/projects_controller.rb | 2 +- app/controllers/explore/projects_controller.rb | 2 +- app/controllers/groups/application_controller.rb | 8 - app/controllers/groups/boards_controller.rb | 2 +- .../groups/clusters/applications_controller.rb | 18 - .../groups/dependency_proxies_controller.rb | 2 +- .../dependency_proxy/application_controller.rb | 66 + .../groups/dependency_proxy_auth_controller.rb | 4 +- .../dependency_proxy_for_containers_controller.rb | 27 +- .../groups/email_campaigns_controller.rb | 6 +- app/controllers/groups/group_members_controller.rb | 2 +- app/controllers/groups/runners_controller.rb | 13 +- .../groups/settings/ci_cd_controller.rb | 5 + .../groups/settings/integrations_controller.rb | 4 - app/controllers/groups_controller.rb | 2 - .../import/available_namespaces_controller.rb | 2 +- app/controllers/import/base_controller.rb | 11 +- app/controllers/invites_controller.rb | 12 +- .../jira_connect/app_descriptor_controller.rb | 40 +- .../jira_connect/branches_controller.rb | 29 + .../jira_connect/subscriptions_controller.rb | 7 + app/controllers/jwt_controller.rb | 7 +- .../profiles/two_factor_auths_controller.rb | 4 + app/controllers/profiles_controller.rb | 1 + .../analytics/cycle_analytics/stages_controller.rb | 37 +- app/controllers/projects/blob_controller.rb | 1 + .../projects/clusters/applications_controller.rb | 15 - app/controllers/projects/compare_controller.rb | 5 - .../projects/environments_controller.rb | 8 +- .../projects/error_tracking_controller.rb | 10 +- app/controllers/projects/forks_controller.rb | 2 +- app/controllers/projects/issues_controller.rb | 13 +- app/controllers/projects/jobs_controller.rb | 26 +- .../merge_requests/creations_controller.rb | 4 - .../projects/merge_requests/diffs_controller.rb | 38 +- .../projects/merge_requests_controller.rb | 23 +- .../packages/infrastructure_registry_controller.rb | 9 +- app/controllers/projects/pipelines_controller.rb | 18 +- .../projects/project_members_controller.rb | 2 +- app/controllers/projects/raw_controller.rb | 2 +- .../projects/runner_projects_controller.rb | 2 +- .../projects/security/configuration_controller.rb | 4 - app/controllers/projects/services_controller.rb | 25 +- app/controllers/projects/snippets_controller.rb | 8 +- app/controllers/projects/templates_controller.rb | 2 +- app/controllers/projects_controller.rb | 11 +- .../registrations/welcome_controller.rb | 8 +- app/controllers/registrations_controller.rb | 4 +- .../repositories/git_http_client_controller.rb | 2 +- app/controllers/repositories/lfs_api_controller.rb | 6 +- .../repositories/lfs_locks_api_controller.rb | 4 + .../repositories/lfs_storage_controller.rb | 4 + app/controllers/runner_setup_controller.rb | 2 +- app/controllers/search_controller.rb | 16 +- app/controllers/snippets_controller.rb | 2 +- app/experiments/application_experiment.rb | 8 +- app/experiments/force_company_trial_experiment.rb | 11 + app/experiments/members/invite_email_experiment.rb | 93 - .../new_project_readme_content_experiment.rb | 2 +- app/experiments/new_project_readme_experiment.rb | 38 - app/finders/alert_management/alerts_finder.rb | 2 +- app/finders/ci/pipelines_finder.rb | 10 + app/finders/error_tracking/errors_finder.rb | 37 + app/finders/group_members_finder.rb | 9 + app/finders/groups_finder.rb | 10 + app/finders/issuable_finder.rb | 3 +- app/finders/issuable_finder/params.rb | 28 +- app/finders/issues_finder.rb | 20 +- app/finders/issues_finder/params.rb | 8 +- app/finders/lfs_pointers_finder.rb | 36 + app/finders/merge_requests_finder.rb | 13 +- app/finders/packages/pypi/packages_finder.rb | 7 +- .../members/effective_access_level_finder.rb | 10 +- .../effective_access_level_per_user_finder.rb | 20 + app/finders/security/jobs_finder.rb | 19 +- app/graphql/gitlab_schema.rb | 24 +- .../mutations/admin/sidekiq_queues/delete_jobs.rb | 6 +- .../alert_management/alerts/set_assignees.rb | 6 +- app/graphql/mutations/alert_management/base.rb | 14 +- .../alert_management/http_integration/create.rb | 10 +- .../alert_management/http_integration/destroy.rb | 2 +- .../http_integration/http_integration_base.rb | 2 +- .../http_integration/reset_token.rb | 2 +- .../alert_management/http_integration/update.rb | 8 +- .../prometheus_integration/create.rb | 8 +- .../prometheus_integration_base.rb | 2 +- .../prometheus_integration/reset_token.rb | 2 +- .../prometheus_integration/update.rb | 6 +- .../alert_management/update_alert_status.rb | 2 +- app/graphql/mutations/award_emojis/base.rb | 6 +- app/graphql/mutations/award_emojis/toggle.rb | 2 +- app/graphql/mutations/base_mutation.rb | 8 +- .../mutations/boards/common_mutation_arguments.rb | 8 +- app/graphql/mutations/boards/create.rb | 2 +- app/graphql/mutations/boards/destroy.rb | 4 +- .../mutations/boards/issues/issue_move_list.rb | 18 +- app/graphql/mutations/boards/lists/base_create.rb | 2 +- app/graphql/mutations/boards/lists/base_update.rb | 4 +- app/graphql/mutations/boards/lists/destroy.rb | 2 +- app/graphql/mutations/boards/update.rb | 4 +- app/graphql/mutations/branches/create.rb | 6 +- app/graphql/mutations/ci/ci_cd_settings_update.rb | 8 +- app/graphql/mutations/ci/job/base.rb | 2 +- app/graphql/mutations/ci/job/cancel.rb | 28 + app/graphql/mutations/ci/job/play.rb | 2 +- app/graphql/mutations/ci/job/retry.rb | 2 +- app/graphql/mutations/ci/job/unschedule.rb | 28 + .../mutations/ci/job_token_scope/add_project.rb | 10 +- .../mutations/ci/job_token_scope/remove_project.rb | 10 +- app/graphql/mutations/ci/pipeline/base.rb | 2 +- app/graphql/mutations/ci/pipeline/retry.rb | 2 +- app/graphql/mutations/ci/runner/update.rb | 14 +- .../ci/runners_registration_token/reset.rb | 6 +- app/graphql/mutations/commits/create.rb | 14 +- .../mutations/concerns/mutations/assignable.rb | 6 +- .../concerns/mutations/can_mutate_spammable.rb | 20 +- .../concerns/mutations/resolves_resource_parent.rb | 4 +- .../concerns/mutations/resolves_subscription.rb | 4 +- .../container_expiration_policies/update.rb | 8 +- .../mutations/container_repositories/destroy.rb | 2 +- .../container_repositories/destroy_tags.rb | 4 +- app/graphql/mutations/custom_emoji/create.rb | 8 +- app/graphql/mutations/design_management/base.rb | 8 +- app/graphql/mutations/design_management/delete.rb | 6 +- app/graphql/mutations/design_management/move.rb | 2 +- app/graphql/mutations/design_management/upload.rb | 4 +- .../mutations/discussions/toggle_resolve.rb | 6 +- app/graphql/mutations/echo.rb | 6 +- .../environments/canary_ingress/update.rb | 6 +- app/graphql/mutations/groups/update.rb | 40 + app/graphql/mutations/issues/base.rb | 10 +- .../mutations/issues/common_mutation_arguments.rb | 6 +- app/graphql/mutations/issues/create.rb | 24 +- app/graphql/mutations/issues/move.rb | 4 +- app/graphql/mutations/issues/set_confidential.rb | 2 +- app/graphql/mutations/issues/set_due_date.rb | 13 +- app/graphql/mutations/issues/set_locked.rb | 2 +- app/graphql/mutations/issues/set_subscription.rb | 10 +- app/graphql/mutations/issues/update.rb | 46 +- app/graphql/mutations/jira_import/import_users.rb | 8 +- app/graphql/mutations/jira_import/start.rb | 12 +- app/graphql/mutations/labels/create.rb | 8 +- app/graphql/mutations/merge_requests/accept.rb | 12 +- app/graphql/mutations/merge_requests/base.rb | 10 +- app/graphql/mutations/merge_requests/create.rb | 14 +- .../mutations/merge_requests/reviewer_rereview.rb | 2 +- app/graphql/mutations/merge_requests/set_draft.rb | 2 +- app/graphql/mutations/merge_requests/set_labels.rb | 2 +- app/graphql/mutations/merge_requests/set_locked.rb | 2 +- .../mutations/merge_requests/set_milestone.rb | 2 +- .../mutations/merge_requests/set_subscription.rb | 10 +- app/graphql/mutations/merge_requests/set_wip.rb | 2 +- app/graphql/mutations/merge_requests/update.rb | 8 +- .../metrics/dashboard/annotations/create.rb | 14 +- .../mutations/namespace/package_settings/update.rb | 10 +- app/graphql/mutations/notes/base.rb | 2 +- app/graphql/mutations/notes/create/base.rb | 8 +- app/graphql/mutations/notes/create/note.rb | 2 +- app/graphql/mutations/notes/destroy.rb | 2 +- .../mutations/notes/reposition_image_diff_note.rb | 2 +- app/graphql/mutations/notes/update/base.rb | 2 +- .../mutations/notes/update/image_diff_note.rb | 2 +- app/graphql/mutations/notes/update/note.rb | 6 +- app/graphql/mutations/packages/destroy_file.rb | 35 + .../mutations/release_asset_links/create.rb | 6 +- .../mutations/release_asset_links/delete.rb | 2 +- .../mutations/release_asset_links/update.rb | 10 +- app/graphql/mutations/releases/base.rb | 2 +- app/graphql/mutations/releases/create.rb | 18 +- app/graphql/mutations/releases/delete.rb | 4 +- app/graphql/mutations/releases/update.rb | 14 +- .../ci_configuration/base_security_analyzer.rb | 6 +- app/graphql/mutations/snippets/base.rb | 2 +- app/graphql/mutations/snippets/create.rb | 16 +- app/graphql/mutations/snippets/destroy.rb | 2 +- app/graphql/mutations/snippets/mark_as_spam.rb | 4 +- app/graphql/mutations/snippets/update.rb | 8 +- app/graphql/mutations/todos/create.rb | 4 +- app/graphql/mutations/todos/mark_done.rb | 4 +- app/graphql/mutations/todos/restore.rb | 4 +- app/graphql/mutations/todos/restore_many.rb | 2 +- app/graphql/mutations/user_callouts/create.rb | 6 +- .../get_design_list.query.graphql | 7 + .../usage_trends/measurements_resolver.rb | 2 +- .../resolvers/alert_management/alert_resolver.rb | 6 +- .../alert_status_counts_resolver.rb | 4 +- app/graphql/resolvers/blobs_resolver.rb | 6 +- app/graphql/resolvers/board_resolver.rb | 2 +- app/graphql/resolvers/ci/config_resolver.rb | 10 +- app/graphql/resolvers/ci/runner_setup_resolver.rb | 4 +- app/graphql/resolvers/ci/runners_resolver.rb | 4 +- app/graphql/resolvers/ci/template_resolver.rb | 2 +- app/graphql/resolvers/ci/test_suite_resolver.rb | 2 +- .../resolvers/concerns/group_issuable_resolver.rb | 2 +- .../resolvers/concerns/issue_resolver_arguments.rb | 39 +- app/graphql/resolvers/concerns/resolves_ids.rb | 16 + .../resolvers/concerns/resolves_pipelines.rb | 4 +- .../resolvers/concerns/resolves_snippets.rb | 16 +- .../resolvers/container_repositories_resolver.rb | 2 +- .../design_at_version_resolver.rb | 2 +- .../resolvers/design_management/design_resolver.rb | 2 +- .../design_management/designs_resolver.rb | 2 +- .../version/design_at_version_resolver.rb | 8 +- .../version/designs_at_version_resolver.rb | 2 +- .../version_in_collection_resolver.rb | 6 +- .../design_management/version_resolver.rb | 2 +- .../design_management/versions_resolver.rb | 6 +- app/graphql/resolvers/echo_resolver.rb | 4 +- app/graphql/resolvers/environments_resolver.rb | 6 +- .../error_tracking/sentry_errors_resolver.rb | 4 +- app/graphql/resolvers/full_path_resolver.rb | 4 +- app/graphql/resolvers/group_labels_resolver.rb | 4 +- app/graphql/resolvers/group_milestones_resolver.rb | 4 +- app/graphql/resolvers/groups_resolver.rb | 39 + app/graphql/resolvers/issues_resolver.rb | 3 +- app/graphql/resolvers/labels_resolver.rb | 4 +- app/graphql/resolvers/members_resolver.rb | 2 +- app/graphql/resolvers/merge_request_resolver.rb | 2 +- .../resolvers/merge_requests_count_resolver.rb | 17 + app/graphql/resolvers/merge_requests_resolver.rb | 20 +- .../resolvers/metrics/dashboard_resolver.rb | 2 +- app/graphql/resolvers/milestones_resolver.rb | 6 +- .../resolvers/namespace_projects_resolver.rb | 6 +- app/graphql/resolvers/packages_base_resolver.rb | 4 +- app/graphql/resolvers/paginated_tree_resolver.rb | 47 + .../resolvers/project_milestones_resolver.rb | 2 +- app/graphql/resolvers/project_pipeline_resolver.rb | 4 +- .../resolvers/projects/jira_projects_resolver.rb | 2 +- .../resolvers/projects/services_resolver.rb | 2 +- app/graphql/resolvers/projects_resolver.rb | 12 +- app/graphql/resolvers/release_resolver.rb | 2 +- .../resolvers/repository_branch_names_resolver.rb | 8 +- app/graphql/resolvers/snippets/blobs_resolver.rb | 2 +- app/graphql/resolvers/snippets_resolver.rb | 3 +- app/graphql/resolvers/terraform/states_resolver.rb | 2 +- app/graphql/resolvers/timelog_resolver.rb | 101 +- app/graphql/resolvers/todo_resolver.rb | 6 +- app/graphql/resolvers/tree_resolver.rb | 6 +- .../resolvers/user_discussions_count_resolver.rb | 2 +- .../resolvers/user_merge_requests_resolver_base.rb | 2 +- app/graphql/resolvers/user_notes_count_resolver.rb | 2 +- app/graphql/resolvers/user_resolver.rb | 2 +- .../resolvers/user_starred_projects_resolver.rb | 2 +- .../resolvers/users/group_count_resolver.rb | 2 +- app/graphql/resolvers/users_resolver.rb | 8 +- app/graphql/types/access_level_type.rb | 2 +- .../analytics/usage_trends/measurement_type.rb | 2 +- .../sidekiq_queues/delete_jobs_response_type.rb | 6 +- .../alert_management/alert_status_counts_type.rb | 6 +- app/graphql/types/alert_management/alert_type.rb | 22 +- .../types/alert_management/integration_type.rb | 12 +- app/graphql/types/award_emojis/award_emoji_type.rb | 10 +- app/graphql/types/base_argument.rb | 22 + app/graphql/types/blob_viewer_type.rb | 12 +- app/graphql/types/board_list_type.rb | 12 +- app/graphql/types/board_type.rb | 12 +- .../types/boards/board_issuable_input_base_type.rb | 6 +- .../types/boards/board_issue_input_base_type.rb | 13 +- app/graphql/types/boards/board_issue_input_type.rb | 2 +- app/graphql/types/branch_type.rb | 2 +- app/graphql/types/ci/analytics_type.rb | 22 +- app/graphql/types/ci/application_setting_type.rb | 2 +- app/graphql/types/ci/build_need_type.rb | 4 +- app/graphql/types/ci/ci_cd_setting_type.rb | 8 +- app/graphql/types/ci/config/config_type.rb | 4 +- app/graphql/types/ci/config/group_type.rb | 4 +- .../types/ci/config/job_restriction_type.rb | 2 +- app/graphql/types/ci/config/job_type.rb | 20 +- app/graphql/types/ci/config/need_type.rb | 2 +- app/graphql/types/ci/config/stage_type.rb | 2 +- app/graphql/types/ci/detailed_status_type.rb | 18 +- app/graphql/types/ci/group_type.rb | 6 +- app/graphql/types/ci/job_artifact_type.rb | 2 +- app/graphql/types/ci/job_type.rb | 34 +- app/graphql/types/ci/pipeline_type.rb | 30 +- app/graphql/types/ci/recent_failures_type.rb | 4 +- app/graphql/types/ci/runner_architecture_type.rb | 4 +- app/graphql/types/ci/runner_platform_type.rb | 4 +- app/graphql/types/ci/runner_setup_type.rb | 4 +- app/graphql/types/ci/runner_type.rb | 25 +- app/graphql/types/ci/stage_type.rb | 16 +- app/graphql/types/ci/status_action_type.rb | 12 +- app/graphql/types/ci/template_type.rb | 4 +- app/graphql/types/ci/test_case_type.rb | 12 +- app/graphql/types/ci/test_report_total_type.rb | 12 +- app/graphql/types/ci/test_suite_summary_type.rb | 16 +- app/graphql/types/ci/test_suite_type.rb | 14 +- .../sast/analyzers_entity_input_type.rb | 4 +- .../ci_configuration/sast/analyzers_entity_type.rb | 8 +- .../ci_configuration/sast/entity_input_type.rb | 6 +- .../types/ci_configuration/sast/entity_type.rb | 12 +- .../ci_configuration/sast/options_entity_type.rb | 4 +- app/graphql/types/commit_action_type.rb | 10 +- app/graphql/types/commit_type.rb | 22 +- .../types/container_expiration_policy_type.rb | 2 +- app/graphql/types/container_repository_tag_type.rb | 14 +- app/graphql/types/container_repository_type.rb | 12 +- app/graphql/types/countable_connection_type.rb | 2 +- app/graphql/types/custom_emoji_type.rb | 6 +- .../types/design_management/design_fields.rb | 12 +- .../types/design_management/version_type.rb | 4 +- app/graphql/types/diff_paths_input_type.rb | 4 +- app/graphql/types/diff_refs_type.rb | 6 +- app/graphql/types/diff_stats_summary_type.rb | 8 +- app/graphql/types/diff_stats_type.rb | 6 +- app/graphql/types/environment_type.rb | 8 +- .../error_tracking/sentry_detailed_error_type.rb | 46 +- .../error_tracking/sentry_error_collection_type.rb | 2 +- .../error_tracking/sentry_error_frequency_type.rb | 2 +- .../sentry_error_stack_trace_context_type.rb | 4 +- .../sentry_error_stack_trace_entry_type.rb | 8 +- .../sentry_error_stack_trace_type.rb | 4 +- .../types/error_tracking/sentry_error_tags_type.rb | 4 +- .../types/error_tracking/sentry_error_type.rb | 26 +- app/graphql/types/event_type.rb | 2 +- app/graphql/types/evidence_type.rb | 6 +- app/graphql/types/grafana_integration_type.rb | 6 +- app/graphql/types/group_type.rb | 30 +- app/graphql/types/invitation_interface.rb | 2 +- app/graphql/types/issue_status_counts_type.rb | 2 +- app/graphql/types/issue_type.rb | 51 +- app/graphql/types/issue_type_enum.rb | 2 +- .../issues/negated_issue_filter_input_type.rb | 13 +- app/graphql/types/jira_import_type.rb | 8 +- app/graphql/types/jira_user_type.rb | 12 +- app/graphql/types/jira_users_mapping_input_type.rb | 4 +- app/graphql/types/label_type.rb | 10 +- app/graphql/types/member_interface.rb | 2 +- app/graphql/types/merge_request_sort_enum.rb | 2 + app/graphql/types/merge_request_type.rb | 112 +- app/graphql/types/metadata/kas_type.rb | 6 +- app/graphql/types/metadata_type.rb | 4 +- app/graphql/types/metrics/dashboard_type.rb | 4 +- .../types/metrics/dashboards/annotation_type.rb | 6 +- app/graphql/types/milestone_stats_type.rb | 4 +- app/graphql/types/milestone_type.rb | 18 +- app/graphql/types/milestone_wildcard_id_enum.rb | 13 + app/graphql/types/mutation_type.rb | 4 + .../types/namespace/package_settings_type.rb | 4 +- .../types/namespace/shared_runners_setting_enum.rb | 13 + app/graphql/types/namespace_type.rb | 23 +- .../types/negated_milestone_wildcard_id_enum.rb | 11 + .../types/notes/diff_image_position_input_type.rb | 8 +- .../types/notes/diff_position_base_input_type.rb | 6 +- .../types/notes/diff_position_input_type.rb | 4 +- app/graphql/types/notes/diff_position_type.rb | 18 +- app/graphql/types/notes/note_type.rb | 10 +- .../notes/update_diff_image_position_input_type.rb | 8 +- app/graphql/types/packages/composer/json_type.rb | 8 +- .../types/packages/composer/metadatum_type.rb | 2 +- .../types/packages/conan/file_metadatum_type.rb | 6 +- app/graphql/types/packages/conan/metadatum_type.rb | 8 +- .../packages/dependency_link_metadata_type.rb | 23 + app/graphql/types/packages/maven/metadatum_type.rb | 8 +- .../nuget/dependency_link_metadatum_type.rb | 17 + app/graphql/types/packages/nuget/metadatum_type.rb | 6 +- .../types/packages/package_dependency_link_type.rb | 40 + .../types/packages/package_dependency_type.rb | 16 + .../types/packages/package_dependency_type_enum.rb | 13 + app/graphql/types/packages/package_details_type.rb | 2 + app/graphql/types/packages/package_file_type.rb | 12 +- app/graphql/types/packages/package_tag_type.rb | 4 +- app/graphql/types/packages/package_type.rb | 4 +- app/graphql/types/packages/pypi/metadatum_type.rb | 2 +- .../types/permission_types/base_permission_type.rb | 2 +- app/graphql/types/project_type.rb | 83 +- app/graphql/types/projects/service_type.rb | 4 +- .../types/projects/services/jira_project_type.rb | 6 +- app/graphql/types/prometheus_alert_type.rb | 4 +- app/graphql/types/query_complexity_type.rb | 4 +- app/graphql/types/query_type.rb | 9 +- .../release_asset_link_shared_input_arguments.rb | 6 +- app/graphql/types/release_asset_link_type.rb | 12 +- app/graphql/types/release_assets_type.rb | 2 +- app/graphql/types/release_links_type.rb | 14 +- app/graphql/types/release_source_type.rb | 4 +- app/graphql/types/release_type.rb | 10 +- app/graphql/types/repository/blob_type.rb | 44 +- app/graphql/types/repository_type.rb | 14 +- app/graphql/types/resolvable_interface.rb | 4 +- app/graphql/types/snippet_type.rb | 14 +- .../types/snippets/blob_action_input_type.rb | 6 +- app/graphql/types/snippets/blob_type.rb | 22 +- app/graphql/types/task_completion_status.rb | 4 +- app/graphql/types/terraform/state_type.rb | 4 +- app/graphql/types/terraform/state_version_type.rb | 6 +- app/graphql/types/timelog_type.rb | 6 +- app/graphql/types/todo_type.rb | 4 +- app/graphql/types/tree/blob_type.rb | 8 +- app/graphql/types/tree/entry_type.rb | 10 +- app/graphql/types/tree/submodule_type.rb | 4 +- app/graphql/types/tree/tree_entry_type.rb | 4 +- app/graphql/types/user_interface.rb | 31 +- .../types/user_merge_request_interaction_type.rb | 8 +- app/graphql/types/user_status_type.rb | 4 +- app/helpers/admin/user_actions_helper.rb | 4 +- app/helpers/analytics/navbar_helper.rb | 28 - app/helpers/application_helper.rb | 6 + app/helpers/application_settings_helper.rb | 6 + app/helpers/boards_helper.rb | 8 - app/helpers/button_helper.rb | 6 +- app/helpers/ci/pipeline_editor_helper.rb | 4 +- app/helpers/clusters_helper.rb | 3 +- app/helpers/commits_helper.rb | 2 +- app/helpers/compare_helper.rb | 6 +- app/helpers/dashboard_helper.rb | 4 - app/helpers/diff_helper.rb | 8 +- app/helpers/emails_helper.rb | 34 +- app/helpers/environment_helper.rb | 27 + app/helpers/environments_helper.rb | 8 + app/helpers/groups/group_members_helper.rb | 4 +- app/helpers/groups_helper.rb | 106 +- app/helpers/ide_helper.rb | 2 +- app/helpers/integrations_helper.rb | 19 + app/helpers/invite_members_helper.rb | 64 +- .../issuables_description_templates_helper.rb | 7 +- app/helpers/issues_helper.rb | 14 +- app/helpers/markup_helper.rb | 2 +- app/helpers/merge_requests_helper.rb | 5 +- app/helpers/nav/new_dropdown_helper.rb | 2 +- app/helpers/nav_helper.rb | 9 - app/helpers/packages_helper.rb | 5 +- app/helpers/projects/project_members_helper.rb | 28 +- app/helpers/projects/terraform_helper.rb | 5 +- app/helpers/projects_helper.rb | 59 +- app/helpers/search_helper.rb | 4 +- app/helpers/snippets_helper.rb | 6 + app/helpers/sorting_helper.rb | 10 +- app/helpers/sorting_titles_values_helper.rb | 24 + app/helpers/time_zone_helper.rb | 5 + app/helpers/tree_helper.rb | 2 +- app/helpers/user_callouts_helper.rb | 13 +- app/helpers/users_helper.rb | 2 +- app/mailers/emails/members.rb | 4 + app/mailers/emails/pipelines.rb | 3 +- app/mailers/emails/projects.rb | 23 + app/mailers/previews/notify_preview.rb | 2 +- app/models/alert_management/alert.rb | 93 +- .../analytics/cycle_analytics/stage_event_hash.rb | 42 + app/models/application_record.rb | 33 + app/models/application_setting.rb | 22 +- app/models/application_setting_implementation.rb | 4 +- app/models/ci/application_record.rb | 15 + app/models/ci/base_model.rb | 17 - app/models/ci/build.rb | 31 +- app/models/ci/build_metadata.rb | 3 +- app/models/ci/build_need.rb | 4 +- app/models/ci/build_pending_state.rb | 4 +- app/models/ci/build_report_result.rb | 4 +- app/models/ci/build_runner_session.rb | 3 +- app/models/ci/build_trace_chunk.rb | 3 +- app/models/ci/build_trace_metadata.rb | 13 + app/models/ci/build_trace_section.rb | 17 - app/models/ci/build_trace_section_name.rb | 13 - app/models/ci/ci_database_record.rb | 17 + app/models/ci/daily_build_group_report_result.rb | 4 +- app/models/ci/deleted_object.rb | 4 +- app/models/ci/freeze_period.rb | 6 +- app/models/ci/group_variable.rb | 3 +- app/models/ci/instance_variable.rb | 3 +- app/models/ci/job_artifact.rb | 3 +- app/models/ci/job_variable.rb | 3 +- app/models/ci/pending_build.rb | 13 +- app/models/ci/pipeline.rb | 20 +- app/models/ci/pipeline_artifact.rb | 3 +- app/models/ci/pipeline_chat_data.rb | 4 +- app/models/ci/pipeline_config.rb | 4 +- app/models/ci/pipeline_message.rb | 4 +- app/models/ci/pipeline_schedule.rb | 5 +- app/models/ci/pipeline_schedule_variable.rb | 3 +- app/models/ci/pipeline_variable.rb | 3 +- app/models/ci/processable.rb | 6 +- app/models/ci/ref.rb | 3 +- app/models/ci/resource.rb | 19 +- app/models/ci/resource_group.rb | 4 +- app/models/ci/runner.rb | 12 +- app/models/ci/runner_namespace.rb | 4 +- app/models/ci/runner_project.rb | 4 +- app/models/ci/running_build.rb | 4 +- app/models/ci/sources/pipeline.rb | 4 +- app/models/ci/stage.rb | 3 +- app/models/ci/trigger.rb | 3 +- app/models/ci/trigger_request.rb | 4 +- app/models/ci/unit_test.rb | 4 +- app/models/ci/unit_test_failure.rb | 4 +- app/models/ci/variable.rb | 3 +- app/models/ci_platform_metric.rb | 4 +- app/models/clusters/applications/runner.rb | 2 +- app/models/commit.rb | 16 +- app/models/commit_status.rb | 3 +- .../concerns/analytics/cycle_analytics/stage.rb | 18 + app/models/concerns/any_field_validation.rb | 25 - app/models/concerns/cache_markdown_field.rb | 25 + .../cascading_namespace_setting_attribute.rb | 2 +- app/models/concerns/ci/has_status.rb | 1 + app/models/concerns/ci/metadatable.rb | 10 +- app/models/concerns/ci/namespaced_model_name.rb | 13 + app/models/concerns/counter_attribute.rb | 3 +- app/models/concerns/each_batch.rb | 6 +- app/models/concerns/enums/ci/pipeline.rb | 8 +- app/models/concerns/expirable.rb | 3 + app/models/concerns/has_integrations.rb | 12 - .../concerns/incident_management/escalatable.rb | 104 + app/models/concerns/issuable.rb | 4 +- app/models/concerns/limitable.rb | 2 + app/models/concerns/mentionable.rb | 19 + .../concerns/packages/debian/distribution.rb | 19 +- .../concerns/project_features_compatibility.rb | 7 + app/models/concerns/restricted_signup.rb | 52 + .../concerns/select_for_project_authorization.rb | 2 +- app/models/concerns/sha256_attribute.rb | 2 +- app/models/concerns/sha_attribute.rb | 2 +- app/models/concerns/spammable.rb | 2 +- app/models/concerns/strip_attribute.rb | 8 +- app/models/concerns/time_trackable.rb | 8 +- app/models/concerns/timebox.rb | 2 +- .../concerns/vulnerability_finding_helpers.rb | 33 +- .../vulnerability_finding_signature_helpers.rb | 28 +- .../concerns/x509_serial_number_attribute.rb | 2 +- app/models/customer_relations/organization.rb | 31 + app/models/deploy_token.rb | 15 + app/models/deployment.rb | 2 +- app/models/design_management/version.rb | 2 +- app/models/diff_discussion.rb | 6 +- app/models/discussion.rb | 9 +- app/models/environment.rb | 8 +- app/models/error_tracking/client_key.rb | 22 + app/models/error_tracking/error.rb | 69 + app/models/error_tracking/error_event.rb | 65 + .../project_error_tracking_setting.rb | 21 +- app/models/event.rb | 6 +- app/models/group.rb | 15 +- app/models/group_deploy_token.rb | 9 +- app/models/hooks/web_hook.rb | 13 +- .../issuable_escalation_status.rb | 15 + app/models/instance_configuration.rb | 76 +- app/models/integration.rb | 43 +- app/models/integrations/bamboo.rb | 2 +- app/models/integrations/datadog.rb | 56 +- app/models/integrations/irker.rb | 40 +- app/models/integrations/jenkins.rb | 2 +- app/models/integrations/jira.rb | 10 +- app/models/integrations/microsoft_teams.rb | 2 +- app/models/integrations/packagist.rb | 29 +- app/models/integrations/pushover.rb | 51 +- app/models/integrations/teamcity.rb | 2 +- app/models/integrations/unify_circuit.rb | 2 +- app/models/internal_id.rb | 4 +- app/models/issuable_severity.rb | 8 + app/models/issue.rb | 56 +- app/models/jira_connect_installation.rb | 1 + app/models/label.rb | 4 - app/models/member.rb | 26 +- app/models/members/group_member.rb | 16 +- app/models/members/project_member.rb | 24 +- app/models/merge_request.rb | 18 +- app/models/merge_request_context_commit.rb | 2 +- .../merge_request_context_commit_diff_file.rb | 2 +- app/models/merge_request_diff.rb | 10 +- app/models/merge_request_diff_commit.rb | 2 +- app/models/milestone.rb | 30 +- app/models/namespace.rb | 38 +- app/models/namespace_setting.rb | 27 +- app/models/namespaces/traversal/linear.rb | 29 +- app/models/namespaces/traversal/linear_scopes.rb | 68 + app/models/namespaces/traversal/recursive.rb | 1 + .../namespaces/traversal/recursive_scopes.rb | 36 + app/models/note.rb | 25 + app/models/notification_setting.rb | 6 +- app/models/operations/feature_flags/strategy.rb | 2 +- app/models/packages/debian.rb | 2 + app/models/packages/event.rb | 8 +- app/models/packages/npm.rb | 13 + app/models/packages/package.rb | 14 +- app/models/packages/package_file.rb | 24 +- app/models/personal_access_token.rb | 4 + app/models/postgresql/detached_partition.rb | 7 + app/models/postgresql/replication_slot.rb | 50 + .../user_max_access_level_in_projects_preloader.rb | 6 +- app/models/project.rb | 90 +- app/models/project_feature.rb | 25 +- app/models/project_setting.rb | 4 + app/models/project_team.rb | 8 +- app/models/projects/ci_feature_usage.rb | 27 + app/models/release_highlight.rb | 8 +- app/models/remote_mirror.rb | 52 +- app/models/repository.rb | 41 +- app/models/snippet.rb | 2 +- app/models/terraform/state.rb | 1 - app/models/timelog.rb | 8 + app/models/tree.rb | 6 +- app/models/user.rb | 112 +- app/models/user_callout.rb | 5 +- app/models/user_detail.rb | 1 + app/models/user_interacted_project.rb | 12 +- app/models/users/banned_user.rb | 12 + app/models/users/in_product_marketing_email.rb | 5 +- app/models/work_item/type.rb | 38 + app/policies/group_policy.rb | 22 +- app/policies/issue_policy.rb | 7 + app/policies/packages/dependency_link_policy.rb | 6 + .../nuget/dependency_link_metadatum_policy.rb | 8 + app/policies/project_policy.rb | 13 +- app/policies/release_policy.rb | 6 +- app/presenters/ci/build_runner_presenter.rb | 6 +- app/presenters/ci/runner_presenter.rb | 12 + app/presenters/clusterable_presenter.rb | 8 - app/presenters/gitlab/blame_presenter.rb | 7 +- app/presenters/group_clusterable_presenter.rb | 10 - app/presenters/instance_clusterable_presenter.rb | 10 - app/presenters/merge_request_presenter.rb | 17 +- app/presenters/project_clusterable_presenter.rb | 10 - app/presenters/project_presenter.rb | 14 +- app/serializers/build_details_entity.rb | 2 +- app/serializers/ci/pipeline_entity.rb | 1 + .../concerns/diff_file_conflict_type.rb | 24 + app/serializers/diff_file_entity.rb | 7 +- app/serializers/diff_file_metadata_entity.rb | 2 + app/serializers/diffs_entity.rb | 7 +- app/serializers/diffs_metadata_entity.rb | 9 +- .../group_link/project_group_link_entity.rb | 5 +- app/serializers/integrations/project_entity.rb | 15 + app/serializers/integrations/project_serializer.rb | 9 + .../jira_connect/app_data_serializer.rb | 28 + app/serializers/jira_connect/group_entity.rb | 8 + .../jira_connect/subscription_entity.rb | 11 + .../merge_request_poll_cached_widget_entity.rb | 6 +- .../merge_request_poll_widget_entity.rb | 8 - app/serializers/merge_request_widget_entity.rb | 25 + app/serializers/paginated_diff_entity.rb | 2 +- app/services/admin/propagate_service_template.rb | 4 +- .../container_registry_authentication_service.rb | 22 +- .../dependency_proxy_authentication_service.rb | 20 +- .../project_recalculate_per_user_service.rb | 22 + .../project_recalculate_service.rb | 13 +- app/services/auto_merge/base_service.rb | 6 +- app/services/boards/base_item_move_service.rb | 14 +- app/services/boards/issues/list_service.rb | 2 +- app/services/bulk_update_integration_service.rb | 13 +- app/services/ci/after_requeue_job_service.rb | 2 +- app/services/ci/append_build_trace_service.rb | 3 +- app/services/ci/build_cancel_service.rb | 35 + app/services/ci/build_unschedule_service.rb | 35 + .../ci/create_downstream_pipeline_service.rb | 5 +- app/services/ci/create_pipeline_service.rb | 18 +- .../ci/daily_build_group_report_result_service.rb | 8 +- app/services/ci/delete_unit_tests_service.rb | 2 +- app/services/ci/destroy_pipeline_service.rb | 2 +- app/services/ci/drop_pipeline_service.rb | 13 +- .../create_pipeline_service.rb | 11 +- .../extract_sections_from_build_trace_service.rb | 34 - app/services/ci/pipeline_trigger_service.rb | 8 +- app/services/ci/pipelines/add_job_service.rb | 30 +- app/services/ci/queue/builds_table_strategy.rb | 8 + app/services/ci/queue/pending_builds_strategy.rb | 58 +- .../assign_resource_from_resource_group_service.rb | 10 + app/services/ci/stop_environments_service.rb | 50 - app/services/ci/unlock_artifacts_service.rb | 2 +- .../find_or_create_blob_service.rb | 4 +- .../find_or_create_manifest_service.rb | 8 +- .../dependency_proxy/pull_manifest_service.rb | 2 +- .../deployments/update_environment_service.rb | 2 +- .../copy_design_collection/copy_service.rb | 14 +- app/services/draft_notes/publish_service.rb | 30 +- app/services/environments/auto_stop_service.rb | 2 +- app/services/environments/stop_service.rb | 49 + .../error_tracking/issue_details_service.rb | 26 +- .../error_tracking/issue_latest_event_service.rb | 27 +- .../error_tracking/issue_update_service.rb | 32 +- app/services/error_tracking/list_issues_service.rb | 37 +- app/services/feature_flags/create_service.rb | 2 +- app/services/feature_flags/destroy_service.rb | 2 +- app/services/feature_flags/update_service.rb | 2 +- app/services/git/base_hooks_service.rb | 5 +- app/services/git/branch_hooks_service.rb | 7 +- app/services/git/branch_push_service.rb | 2 +- app/services/git/process_ref_changes_service.rb | 6 +- app/services/groups/transfer_service.rb | 4 +- app/services/import/github_service.rb | 2 +- app/services/issuable/clone/attributes_rewriter.rb | 2 +- app/services/issuable/clone/base_service.rb | 2 +- .../issuable/common_system_notes_service.rb | 2 +- .../issuable/destroy_label_links_service.rb | 2 +- app/services/issuable_base_service.rb | 6 + app/services/issues/close_service.rb | 8 +- app/services/issues/create_service.rb | 5 - app/services/issues/reopen_service.rb | 6 + app/services/jira/requests/base.rb | 80 +- app/services/members/create_service.rb | 15 + .../members/import_project_team_service.rb | 37 + app/services/merge_requests/base_service.rb | 4 +- .../merge_requests/conflicts/base_service.rb | 5 +- .../merge_requests/conflicts/list_service.rb | 6 +- .../merge_requests/create_pipeline_service.rb | 6 +- .../merge_requests/merge_to_ref_service.rb | 14 + .../merge_requests/push_options_handler_service.rb | 2 +- .../in_product_marketing_emails_service.rb | 27 +- app/services/notes/create_service.rb | 8 +- .../packages/composer/create_package_service.rb | 4 +- app/services/packages/create_dependency_service.rb | 4 +- .../debian/generate_distribution_key_service.rb | 61 +- .../debian/generate_distribution_service.rb | 95 +- .../packages/debian/sign_distribution_service.rb | 38 + app/services/packages/go/create_package_service.rb | 2 +- .../packages/npm/create_package_service.rb | 2 +- .../packages/nuget/create_dependency_service.rb | 2 +- .../nuget/update_package_from_metadata_service.rb | 63 +- .../terraform_module/create_package_service.rb | 2 +- .../packages/update_package_file_service.rb | 58 + app/services/packages/update_tags_service.rb | 2 +- app/services/post_receive_service.rb | 7 +- app/services/projects/after_rename_service.rb | 2 +- app/services/projects/cleanup_service.rb | 2 +- app/services/projects/create_service.rb | 8 +- .../detect_repository_languages_service.rb | 2 +- .../projects/fetch_statistics_increment_service.rb | 2 +- .../hashed_storage/migrate_repository_service.rb | 2 +- .../hashed_storage/rollback_repository_service.rb | 2 +- .../projects/lfs_pointers/lfs_link_service.rb | 2 +- .../lfs_object_download_list_service.rb | 18 +- app/services/projects/operations/update_service.rb | 9 +- app/services/projects/overwrite_project_service.rb | 17 + .../projects/protect_default_branch_service.rb | 2 + app/services/projects/transfer_service.rb | 10 +- app/services/projects/update_pages_service.rb | 120 +- .../projects/update_remote_mirror_service.rb | 7 +- app/services/releases/base_service.rb | 9 - app/services/releases/create_service.rb | 4 - app/services/releases/destroy_service.rb | 2 - app/services/releases/update_service.rb | 4 +- .../resource_events/change_labels_service.rb | 2 +- app/services/search/global_service.rb | 3 +- app/services/security/merge_reports_service.rb | 70 + .../service_ping/permit_data_categories_service.rb | 20 +- app/services/service_ping/service_ping_settings.rb | 17 + app/services/service_ping/submit_service.rb | 2 +- app/services/spam/akismet_mark_as_spam_service.rb | 24 + app/services/spam/mark_as_spam_service.rb | 24 - app/services/spam/spam_action_service.rb | 4 +- app/services/suggestions/create_service.rb | 2 +- .../todos/destroy/destroyed_issuable_service.rb | 2 +- app/services/todos/destroy/entity_leave_service.rb | 15 +- app/services/users/ban_service.rb | 22 +- app/services/users/banned_user_base_service.rb | 37 + app/services/users/set_status_service.rb | 12 +- app/services/users/unban_service.rb | 15 + .../debian/distribution_release_file_uploader.rb | 7 +- app/validators/any_field_validator.rb | 35 + .../admin/application_settings/_ci_cd.html.haml | 28 +- .../admin/application_settings/_email.html.haml | 10 +- .../admin/application_settings/_grafana.html.haml | 8 +- .../application_settings/_help_page.html.haml | 12 +- .../admin/application_settings/_kroki.html.haml | 11 +- .../_package_registry.html.haml | 2 +- .../admin/application_settings/_pages.html.haml | 54 +- .../_performance_bar.html.haml | 4 +- .../admin/application_settings/_plantuml.html.haml | 7 +- .../application_settings/_prometheus.html.haml | 15 +- .../admin/application_settings/_realtime.html.haml | 3 +- .../_repository_static_objects.html.haml | 4 +- .../admin/application_settings/_signin.html.haml | 47 +- .../admin/application_settings/_signup.html.haml | 3 +- .../admin/application_settings/_terms.html.haml | 6 +- .../_visibility_and_access.html.haml | 1 + .../appearances/_form.html.haml | 2 +- .../admin/application_settings/general.html.haml | 6 +- .../metrics_and_profiling.html.haml | 10 +- .../admin/application_settings/network.html.haml | 3 +- .../application_settings/preferences.html.haml | 7 +- .../application_settings/repository.html.haml | 5 +- app/views/admin/applications/_form.html.haml | 4 +- app/views/admin/applications/new.html.haml | 7 +- app/views/admin/applications/show.html.haml | 48 +- app/views/admin/dashboard/index.html.haml | 5 +- app/views/admin/dev_ops_report/_callout.html.haml | 13 - app/views/admin/dev_ops_report/_report.html.haml | 5 +- app/views/admin/groups/_form.html.haml | 2 +- app/views/admin/groups/show.html.haml | 1 - app/views/admin/projects/show.html.haml | 1 - app/views/admin/runners/_runner.html.haml | 80 - app/views/admin/runners/_sort_dropdown.html.haml | 11 - app/views/admin/runners/index.html.haml | 138 +- app/views/admin/services/_form.html.haml | 9 - .../_service_templates_deprecated_alert.html.haml | 10 - app/views/admin/services/edit.html.haml | 6 - app/views/admin/services/index.html.haml | 43 - app/views/ci/runner/_how_to_setup_runner.html.haml | 3 +- .../_how_to_setup_runner_automatically.html.haml | 21 - app/views/ci/variables/_index.html.haml | 1 + .../clusters/clusters/_integrations.html.haml | 26 +- .../clusters/_multiple_clusters_message.html.haml | 2 +- app/views/dashboard/_projects_head.html.haml | 2 +- app/views/devise/shared/_email_opted_in.html.haml | 4 +- .../groups/_import_group_from_file_panel.html.haml | 3 +- app/views/groups/_invite_members_modal.html.haml | 8 +- app/views/groups/dependency_proxies/_url.html.haml | 6 +- app/views/groups/dependency_proxies/show.html.haml | 2 +- app/views/groups/group_members/index.html.haml | 13 +- app/views/groups/runners/_group_runners.html.haml | 11 +- app/views/groups/runners/_settings.html.haml | 3 +- app/views/groups/runners/_sort_dropdown.html.haml | 10 + app/views/groups/runners/index.html.haml | 6 + app/views/groups/settings/_advanced.html.haml | 4 +- app/views/groups/settings/_lfs.html.haml | 9 +- app/views/groups/settings/_permissions.html.haml | 40 +- .../_project_access_token_creation.html.haml | 13 +- .../groups/settings/_two_factor_auth.html.haml | 14 +- app/views/groups/sidebar/_packages.html.haml | 27 - .../groups/sidebar/_packages_settings.html.haml | 5 - app/views/help/instance_configuration.html.haml | 2 + .../_package_registry.html.haml | 48 + .../_rate_limit_row.html.haml | 7 + .../instance_configuration/_rate_limits.html.haml | 36 + app/views/import/bulk_imports/status.html.haml | 5 +- app/views/jira_connect/branches/new.html.haml | 5 + .../jira_connect/subscriptions/index.html.haml | 7 +- app/views/layouts/_head.html.haml | 2 +- app/views/layouts/_loading_hints.html.haml | 10 +- app/views/layouts/_mailer.html.haml | 1 + app/views/layouts/_page.html.haml | 3 +- .../layouts/_recaptcha_verification.html.haml | 10 - app/views/layouts/header/_default.html.haml | 28 +- ...service_templates_deprecation_callout.html.haml | 21 - app/views/layouts/nav/_dashboard.html.haml | 90 - app/views/layouts/nav/_explore.html.haml | 19 - .../layouts/nav/_top_nav_responsive.html.haml | 2 - .../layouts/nav/groups_dropdown/_show.html.haml | 23 - .../layouts/nav/projects_dropdown/_show.html.haml | 28 - .../layouts/nav/sidebar/_analytics_links.html.haml | 22 - .../layouts/nav/sidebar/_group_menus.html.haml | 163 - app/views/layouts/nav/sidebar/_wiki_link.html.haml | 11 - app/views/notify/member_invited_email.html.haml | 126 +- app/views/profiles/show.html.haml | 14 +- app/views/projects/_home_panel.html.haml | 38 +- app/views/projects/_invite_members_modal.html.haml | 9 +- app/views/projects/_last_push.html.haml | 30 +- app/views/projects/_new_project_fields.html.haml | 3 +- app/views/projects/_terraform_banner.html.haml | 2 +- app/views/projects/blame/show.html.haml | 2 +- app/views/projects/blob/_editor.html.haml | 2 +- .../projects/blob/viewers/_gitlab_ci_yml.html.haml | 2 +- .../blob/viewers/_gitlab_ci_yml_loading.html.haml | 2 +- .../projects/blob/viewers/_route_map.html.haml | 2 +- .../blob/viewers/_route_map_loading.html.haml | 2 +- app/views/projects/branches/_branch.html.haml | 2 +- app/views/projects/ci/builds/_build.html.haml | 16 +- app/views/projects/commit/_commit_box.html.haml | 2 +- app/views/projects/commit/show.html.haml | 2 +- app/views/projects/commits/show.html.haml | 2 +- .../deployments/_confirm_rollback_modal.html.haml | 23 - app/views/projects/deployments/_rollback.haml | 3 +- app/views/projects/diffs/_file.html.haml | 2 +- app/views/projects/edit.html.haml | 4 +- app/views/projects/empty.html.haml | 2 +- .../projects/environments/_external_url.html.haml | 4 - app/views/projects/environments/_form.html.haml | 21 - .../environments/_metrics_button.html.haml | 7 - .../projects/environments/_pin_button.html.haml | 3 - .../environments/_terminal_button.html.haml | 3 - app/views/projects/environments/edit.html.haml | 7 +- app/views/projects/environments/new.html.haml | 5 +- app/views/projects/environments/show.html.haml | 54 +- app/views/projects/feature_flags/edit.html.haml | 2 +- app/views/projects/feature_flags/new.html.haml | 2 +- app/views/projects/issues/_issue.html.haml | 5 +- app/views/projects/issues/captcha_check.html.haml | 7 + app/views/projects/issues/verify.html.haml | 3 - app/views/projects/jobs/_table.html.haml | 2 +- .../merge_requests/_merge_request.html.haml | 2 +- .../merge_requests/creations/_new_submit.html.haml | 2 +- app/views/projects/merge_requests/show.html.haml | 3 +- app/views/projects/mirrors/_mirror_repos.html.haml | 6 +- .../projects/mirrors/_mirror_repos_push.html.haml | 4 +- .../projects/packages/packages/show.html.haml | 6 +- app/views/projects/pipelines/show.html.haml | 4 +- app/views/projects/project_members/index.html.haml | 43 +- .../projects/runners/_specific_runners.html.haml | 4 - .../projects/security/configuration/show.html.haml | 3 +- app/views/projects/settings/_general.html.haml | 2 - app/views/projects/show.html.haml | 1 + app/views/projects/snippets/show.html.haml | 2 +- app/views/search/results/_blob_data.html.haml | 15 +- app/views/search/results/_issuable.html.haml | 2 +- app/views/search/show.html.haml | 8 +- app/views/shared/_allow_request_access.html.haml | 8 +- app/views/shared/_captcha_check.html.haml | 37 + .../shared/_check_recovery_settings.html.haml | 15 +- app/views/shared/_group_form.html.haml | 3 +- app/views/shared/_recaptcha_form.html.haml | 23 - app/views/shared/_service_ping_consent.html.haml | 10 +- app/views/shared/access_tokens/_table.html.haml | 6 +- app/views/shared/blob/_markdown_buttons.html.haml | 2 +- app/views/shared/boards/_show.html.haml | 6 +- app/views/shared/deploy_tokens/_form.html.haml | 23 +- app/views/shared/deploy_tokens/_index.html.haml | 2 +- .../shared/doorkeeper/applications/_show.html.haml | 15 +- app/views/shared/groups/_empty_state.html.haml | 5 - .../shared/icons/_dev_ops_report_overview.svg | 64 - app/views/shared/integrations/_form.html.haml | 3 - app/views/shared/integrations/_tabs.html.haml | 18 + app/views/shared/integrations/edit.html.haml | 6 +- app/views/shared/integrations/overrides.html.haml | 10 + app/views/shared/issuable/_form.html.haml | 2 - .../shared/issuable/_sidebar_assignees.html.haml | 2 +- .../issuable/_sidebar_user_dropdown.html.haml | 2 +- app/views/shared/issuable/_sort_dropdown.html.haml | 1 + .../form/_metadata_issuable_reviewer.html.haml | 3 +- .../shared/issuable/form/_type_selector.html.haml | 6 +- app/views/shared/nav/_sidebar_menu.html.haml | 49 +- app/views/shared/notes/_comment_button.html.haml | 2 +- app/views/shared/notes/_form.html.haml | 2 +- app/views/shared/projects/_project.html.haml | 4 + app/views/shared/projects/_topics.html.haml | 32 + app/views/snippets/show.html.haml | 2 +- app/views/users/show.html.haml | 8 + app/workers/admin_email_worker.rb | 3 +- app/workers/all_queues.yml | 59 +- .../usage_trends/count_job_trigger_worker.rb | 3 +- .../analytics/usage_trends/counter_job_worker.rb | 2 + ...pprove_blocked_pending_approval_users_worker.rb | 2 + app/workers/authorized_keys_worker.rb | 2 + .../periodic_recalculate_worker.rb | 3 +- .../project_create_worker.rb | 2 + .../project_group_link_create_worker.rb | 2 + .../project_recalculate_worker.rb | 4 +- .../user_refresh_from_replica_worker.rb | 1 + app/workers/authorized_projects_worker.rb | 2 + app/workers/auto_devops/disable_worker.rb | 2 + app/workers/auto_merge_process_worker.rb | 2 + app/workers/background_migration_worker.rb | 2 + app/workers/build_success_worker.rb | 2 + app/workers/bulk_import_worker.rb | 2 + app/workers/bulk_imports/entity_worker.rb | 2 + app/workers/bulk_imports/export_request_worker.rb | 2 + app/workers/bulk_imports/pipeline_worker.rb | 2 + app/workers/bulk_imports/relation_export_worker.rb | 2 + app/workers/chaos/cpu_spin_worker.rb | 2 + app/workers/chaos/db_spin_worker.rb | 2 + app/workers/chaos/kill_worker.rb | 2 + app/workers/chaos/leak_mem_worker.rb | 2 + app/workers/chaos/sleep_worker.rb | 2 + app/workers/chat_notification_worker.rb | 2 + app/workers/ci/archive_trace_worker.rb | 2 + app/workers/ci/archive_traces_cron_worker.rb | 3 +- app/workers/ci/build_finished_worker.rb | 3 +- app/workers/ci/build_prepare_worker.rb | 2 + app/workers/ci/build_schedule_worker.rb | 2 + app/workers/ci/build_trace_chunk_flush_worker.rb | 2 + .../ci/daily_build_group_report_results_worker.rb | 2 + app/workers/ci/delete_objects_worker.rb | 2 + app/workers/ci/delete_unit_tests_worker.rb | 2 + app/workers/ci/drop_pipeline_worker.rb | 2 + app/workers/ci/initial_pipeline_process_worker.rb | 2 + .../add_todo_when_build_fails_worker.rb | 2 + .../pipeline_artifacts/coverage_report_worker.rb | 2 + .../create_quality_report_worker.rb | 2 + .../pipeline_artifacts/expire_artifacts_worker.rb | 3 +- .../ci/pipeline_success_unlock_artifacts_worker.rb | 2 + .../ci/ref_delete_unlock_artifacts_worker.rb | 2 + .../assign_resource_from_resource_group_worker.rb | 2 + .../ci/schedule_delete_objects_cron_worker.rb | 3 +- app/workers/ci/test_failure_history_worker.rb | 2 + .../ci_platform_metrics_update_cron_worker.rb | 2 +- app/workers/cleanup_container_repository_worker.rb | 2 + app/workers/cluster_configure_istio_worker.rb | 2 + app/workers/cluster_install_app_worker.rb | 2 + app/workers/cluster_patch_app_worker.rb | 2 + app/workers/cluster_provision_worker.rb | 2 + app/workers/cluster_update_app_worker.rb | 2 + app/workers/cluster_upgrade_app_worker.rb | 2 + .../cluster_wait_for_app_installation_worker.rb | 2 + app/workers/cluster_wait_for_app_update_worker.rb | 2 + .../cluster_wait_for_ingress_ip_address_worker.rb | 2 + .../applications/activate_service_worker.rb | 2 + .../applications/check_prometheus_health_worker.rb | 3 +- .../applications/deactivate_service_worker.rb | 10 +- .../clusters/applications/uninstall_worker.rb | 2 + .../applications/wait_for_uninstall_app_worker.rb | 2 + app/workers/concerns/application_worker.rb | 4 + .../gitlab/github_import/object_importer.rb | 41 +- app/workers/concerns/gitlab/github_import/queue.rb | 11 +- .../concerns/gitlab/github_import/stage_methods.rb | 35 +- .../cleanup_container_repository_worker.rb | 15 +- app/workers/container_expiration_policy_worker.rb | 3 +- app/workers/create_commit_signature_worker.rb | 2 + app/workers/create_note_diff_file_worker.rb | 2 + app/workers/create_pipeline_worker.rb | 2 + .../batched_background_migration_worker.rb | 3 +- .../database/drop_detached_partitions_worker.rb | 18 + .../database/partition_management_worker.rb | 3 +- app/workers/delete_container_repository_worker.rb | 2 + app/workers/delete_diff_files_worker.rb | 2 + app/workers/delete_merged_branches_worker.rb | 2 + app/workers/delete_stored_files_worker.rb | 2 + app/workers/delete_user_worker.rb | 2 + .../deployments/drop_older_deployments_worker.rb | 2 + app/workers/deployments/finished_worker.rb | 2 + .../deployments/forward_deployment_worker.rb | 2 + app/workers/deployments/hooks_worker.rb | 2 + .../deployments/link_merge_request_worker.rb | 2 + app/workers/deployments/success_worker.rb | 2 + .../deployments/update_environment_worker.rb | 2 + .../copy_design_collection_worker.rb | 2 + .../design_management/new_version_worker.rb | 2 + app/workers/destroy_pages_deployments_worker.rb | 2 + app/workers/detect_repository_languages_worker.rb | 2 + .../disallow_two_factor_for_group_worker.rb | 2 + .../disallow_two_factor_for_subgroups_worker.rb | 2 + app/workers/email_receiver_worker.rb | 5 + app/workers/emails_on_push_worker.rb | 2 + .../environments/auto_delete_cron_worker.rb | 34 + app/workers/environments/auto_stop_cron_worker.rb | 4 +- .../environments/canary_ingress/update_worker.rb | 2 + app/workers/error_tracking_issue_link_worker.rb | 2 + .../experiments/record_conversion_event_worker.rb | 2 + app/workers/expire_build_artifacts_worker.rb | 3 +- .../expire_build_instance_artifacts_worker.rb | 2 + app/workers/expire_job_cache_worker.rb | 2 + app/workers/export_csv_worker.rb | 2 + app/workers/file_hook_worker.rb | 2 + app/workers/flush_counter_increments_worker.rb | 2 + .../gitlab/github_import/advance_stage_worker.rb | 2 + .../import_pull_request_merged_by_worker.rb | 1 + .../import_pull_request_review_worker.rb | 1 + .../github_import/refresh_import_jid_worker.rb | 2 + .../github_import/stage/finish_import_worker.rb | 2 + .../github_import/stage/import_base_data_worker.rb | 2 + .../stage/import_issues_and_diff_notes_worker.rb | 2 + .../stage/import_lfs_objects_worker.rb | 2 + .../github_import/stage/import_notes_worker.rb | 2 + .../stage/import_pull_requests_merged_by_worker.rb | 2 + .../stage/import_pull_requests_reviews_worker.rb | 2 + .../stage/import_pull_requests_worker.rb | 2 + .../stage/import_repository_worker.rb | 8 +- app/workers/gitlab/import/stuck_import_job.rb | 26 +- .../gitlab/jira_import/advance_stage_worker.rb | 2 + .../gitlab/jira_import/import_issue_worker.rb | 6 +- .../jira_import/stage/start_import_worker.rb | 2 + .../phabricator_import/import_tasks_worker.rb | 2 + app/workers/gitlab_performance_bar_stats_worker.rb | 3 + app/workers/gitlab_service_ping_worker.rb | 3 + app/workers/gitlab_shell_worker.rb | 2 + app/workers/group_destroy_worker.rb | 2 + app/workers/group_export_worker.rb | 2 + app/workers/group_import_worker.rb | 2 + app/workers/hashed_storage/migrator_worker.rb | 7 +- .../hashed_storage/project_migrate_worker.rb | 7 +- .../hashed_storage/project_rollback_worker.rb | 7 +- app/workers/hashed_storage/rollbacker_worker.rb | 7 +- .../import_export_project_cleanup_worker.rb | 3 +- app/workers/import_issues_csv_worker.rb | 2 + .../add_severity_system_note_worker.rb | 3 + .../pager_duty/process_incident_worker.rb | 2 + .../incident_management/process_alert_worker_v2.rb | 3 + app/workers/invalid_gpg_signature_update_worker.rb | 2 + app/workers/irker_worker.rb | 3 +- app/workers/issuable/label_links_destroy_worker.rb | 2 + app/workers/issuable_export_csv_worker.rb | 2 + .../issuables/clear_groups_issue_counter_worker.rb | 2 + app/workers/issue_due_scheduler_worker.rb | 3 +- app/workers/issue_placement_worker.rb | 2 + app/workers/issue_rebalancing_worker.rb | 2 + app/workers/jira_connect/forward_event_worker.rb | 16 +- app/workers/jira_connect/retry_request_worker.rb | 22 + app/workers/jira_connect/sync_branch_worker.rb | 2 +- app/workers/jira_connect/sync_builds_worker.rb | 2 +- .../jira_connect/sync_deployments_worker.rb | 2 +- .../jira_connect/sync_feature_flags_worker.rb | 2 +- .../jira_connect/sync_merge_request_worker.rb | 2 +- app/workers/jira_connect/sync_project_worker.rb | 2 +- app/workers/mail_scheduler/issue_due_worker.rb | 2 + .../mail_scheduler/notification_service_worker.rb | 2 + .../member_invitation_reminder_emails_worker.rb | 3 +- .../members_destroyer/unassign_issuables_worker.rb | 2 + app/workers/merge_request_cleanup_refs_worker.rb | 2 + .../merge_request_mergeability_check_worker.rb | 10 +- .../merge_requests/create_pipeline_worker.rb | 2 + .../merge_requests/delete_source_branch_worker.rb | 2 + .../handle_assignees_change_worker.rb | 2 + app/workers/merge_requests/resolve_todos_worker.rb | 2 + app/workers/merge_worker.rb | 2 + .../dashboard/prune_old_annotations_worker.rb | 2 + .../dashboard/schedule_annotations_prune_worker.rb | 3 +- .../metrics/dashboard/sync_dashboards_worker.rb | 2 + app/workers/migrate_external_diffs_worker.rb | 2 + .../namespaceless_project_destroy_worker.rb | 2 + .../in_product_marketing_emails_worker.rb | 3 +- .../namespaces/onboarding_issue_created_worker.rb | 2 + .../onboarding_pipeline_created_worker.rb | 2 + .../namespaces/onboarding_progress_worker.rb | 3 + .../namespaces/onboarding_user_added_worker.rb | 2 + .../prune_aggregation_schedules_worker.rb | 3 +- app/workers/namespaces/root_statistics_worker.rb | 2 + .../namespaces/schedule_aggregation_worker.rb | 2 + app/workers/new_issue_worker.rb | 2 + app/workers/new_merge_request_worker.rb | 2 + app/workers/new_note_worker.rb | 2 + app/workers/object_pool/create_worker.rb | 2 + app/workers/object_pool/destroy_worker.rb | 2 + app/workers/object_pool/join_worker.rb | 2 + app/workers/object_pool/schedule_join_worker.rb | 2 + .../object_storage/background_move_worker.rb | 2 + .../object_storage/migrate_uploads_worker.rb | 2 + .../packages/composer/cache_cleanup_worker.rb | 3 +- .../packages/composer/cache_update_worker.rb | 2 + .../debian/generate_distribution_worker.rb | 2 + .../packages/debian/process_changes_worker.rb | 2 + app/workers/packages/go/sync_packages_worker.rb | 2 + app/workers/packages/helm/extraction_worker.rb | 2 + app/workers/packages/maven/metadata/sync_worker.rb | 2 + app/workers/packages/nuget/extraction_worker.rb | 2 + app/workers/packages/rubygems/extraction_worker.rb | 2 + app/workers/pages_domain_removal_cron_worker.rb | 3 +- .../pages_domain_ssl_renewal_cron_worker.rb | 4 +- app/workers/pages_domain_ssl_renewal_worker.rb | 2 + .../pages_domain_verification_cron_worker.rb | 4 +- app/workers/pages_domain_verification_worker.rb | 2 + app/workers/pages_remove_worker.rb | 2 + app/workers/pages_transfer_worker.rb | 2 + app/workers/pages_update_configuration_worker.rb | 2 + app/workers/pages_worker.rb | 3 + app/workers/partition_creation_worker.rb | 3 +- .../expired_notification_worker.rb | 3 +- .../personal_access_tokens/expiring_worker.rb | 3 +- app/workers/pipeline_hooks_worker.rb | 2 +- app/workers/pipeline_metrics_worker.rb | 2 + app/workers/pipeline_notification_worker.rb | 1 + app/workers/pipeline_process_worker.rb | 2 + app/workers/pipeline_schedule_worker.rb | 3 +- app/workers/post_receive.rb | 3 +- app/workers/process_commit_worker.rb | 2 + app/workers/project_cache_worker.rb | 2 + app/workers/project_daily_statistics_worker.rb | 2 + app/workers/project_destroy_worker.rb | 2 + app/workers/project_export_worker.rb | 2 + app/workers/project_service_worker.rb | 4 +- app/workers/projects/post_creation_worker.rb | 2 + .../schedule_bulk_repository_shard_moves_worker.rb | 2 + .../prometheus/create_default_alerts_worker.rb | 2 + app/workers/propagate_integration_group_worker.rb | 4 +- ...pagate_integration_inherit_descendant_worker.rb | 4 +- .../propagate_integration_inherit_worker.rb | 4 +- .../propagate_integration_project_worker.rb | 4 +- app/workers/propagate_integration_worker.rb | 6 +- app/workers/propagate_service_template_worker.rb | 5 +- app/workers/prune_old_events_worker.rb | 3 +- app/workers/purge_dependency_proxy_cache_worker.rb | 2 + app/workers/rebase_worker.rb | 2 + app/workers/releases/create_evidence_worker.rb | 2 + app/workers/releases/manage_evidence_worker.rb | 3 +- app/workers/remote_mirror_notification_worker.rb | 2 + app/workers/remove_expired_group_links_worker.rb | 3 +- app/workers/remove_expired_members_worker.rb | 3 +- .../remove_unaccepted_member_invites_worker.rb | 3 +- .../remove_unreferenced_lfs_objects_worker.rb | 3 +- app/workers/repository_archive_cache_worker.rb | 3 +- app/workers/repository_check/batch_worker.rb | 2 + app/workers/repository_check/clear_worker.rb | 2 + app/workers/repository_check/dispatch_worker.rb | 3 +- .../repository_check/single_repository_worker.rb | 2 + app/workers/repository_cleanup_worker.rb | 2 + app/workers/repository_fork_worker.rb | 2 + app/workers/repository_import_worker.rb | 2 + app/workers/repository_remove_remote_worker.rb | 25 +- .../repository_update_remote_mirror_worker.rb | 2 + app/workers/requests_profiles_worker.rb | 3 +- app/workers/run_pipeline_schedule_worker.rb | 2 + .../schedule_merge_request_cleanup_refs_worker.rb | 3 +- .../schedule_migrate_external_diffs_worker.rb | 3 +- .../self_monitoring_project_create_worker.rb | 2 + .../self_monitoring_project_delete_worker.rb | 2 + app/workers/service_desk_email_receiver_worker.rb | 5 + .../schedule_bulk_repository_shard_moves_worker.rb | 2 + .../ssh_keys/expired_notification_worker.rb | 3 +- .../ssh_keys/expiring_soon_notification_worker.rb | 3 +- app/workers/stage_update_worker.rb | 2 + app/workers/stuck_ci_jobs_worker.rb | 3 +- app/workers/stuck_export_jobs_worker.rb | 3 +- app/workers/stuck_merge_jobs_worker.rb | 3 +- app/workers/system_hook_push_worker.rb | 2 + .../todos_destroyer/confidential_issue_worker.rb | 2 + .../todos_destroyer/destroyed_issuable_worker.rb | 2 + app/workers/todos_destroyer/entity_leave_worker.rb | 2 + .../todos_destroyer/group_private_worker.rb | 2 + .../todos_destroyer/private_features_worker.rb | 2 + .../todos_destroyer/project_private_worker.rb | 2 + app/workers/trending_projects_worker.rb | 3 +- .../update_container_registry_info_worker.rb | 3 +- .../update_external_pull_requests_worker.rb | 2 + ...pdate_head_pipeline_for_merge_request_worker.rb | 2 + app/workers/update_highest_role_worker.rb | 2 + app/workers/update_merge_requests_worker.rb | 2 + app/workers/update_project_statistics_worker.rb | 2 + app/workers/upload_checksum_worker.rb | 2 + app/workers/user_status_cleanup/batch_worker.rb | 3 +- app/workers/users/create_statistics_worker.rb | 3 +- .../users/deactivate_dormant_users_worker.rb | 2 + app/workers/wait_for_cluster_creation_worker.rb | 2 + app/workers/web_hook_worker.rb | 10 +- app/workers/web_hooks/destroy_worker.rb | 3 +- app/workers/web_hooks/log_execution_worker.rb | 4 +- app/workers/x509_certificate_revoke_worker.rb | 2 + app/workers/x509_issuer_crl_check_worker.rb | 3 +- bin/secpick | 2 +- changelogs/archive-10.md | 2 +- changelogs/archive.md | 2 +- config.ru | 2 +- config/application.rb | 29 +- config/environments/production.rb | 3 - ...vices_prometheus_disabled_manual_prometheus.yml | 4 +- ...rvices_prometheus_enabled_manual_prometheus.yml | 4 +- config/feature_categories.yml | 4 - .../allow_archive_as_web_access_format.yml | 8 - .../development/allow_editing_commit_messages.yml | 8 - .../development/between_uses_list_commits.yml | 8 + .../development/cache_merge_to_ref_calls.yml | 8 + .../development/cache_shared_runners_enabled.yml | 8 + .../cancel_pipelines_prior_to_destroy.yml | 8 - .../development/changes_batch_commits.yml | 8 + .../development/ci_build_metadata_config.yml | 8 - .../ci_daily_limit_for_pipeline_schedules.yml | 2 +- .../feature_flags/development/ci_include_rules.yml | 8 + .../development/ci_jobs_trace_size_limit.yml | 8 - .../ci_modified_paths_of_external_prs.yml | 2 +- .../ci_pending_builds_maintain_ci_minutes_data.yml | 8 + ...pending_builds_maintain_shared_runners_data.yml | 4 +- .../development/ci_pipeline_add_job_with_lock.yml | 8 + ...queueing_denormalize_ci_minutes_information.yml | 8 + ...eing_denormalize_shared_runners_information.yml | 8 + .../development/ci_runner_limits_override.yml | 8 + .../development/ci_same_stage_job_needs.yml | 2 +- .../development/ci_wildcard_file_paths.yml | 8 - config/feature_flags/development/combined_menu.yml | 8 - .../development/compare_repo_dropdown.yml | 8 - .../development/dast_meta_tag_validation.yml | 8 + .../development/dast_profile_disable_joins.yml | 8 + .../development/dast_runner_site_validation.yml | 2 +- .../dast_scanner_profile_disable_joins.yml | 8 + .../dast_site_profile_disable_joins.yml | 8 + .../development/debian_group_packages.yml | 8 + .../feature_flags/development/debian_packages.yml | 2 +- .../development/devops_adoption_feature.yml | 8 - .../development/diff_searching_usage_data.yml | 8 + .../development/diffs_virtual_scrolling.yml | 2 +- .../display_merge_conflicts_in_diff.yml | 2 +- .../development/drop_detached_partitions.yml | 8 + .../development/efficient_counter_attribute.yml | 8 - ...alute_protected_tag_for_release_permissions.yml | 8 - .../development/fetch_remote_params.yml | 8 - .../development/get_tag_signatures.yml | 8 + .../git_access_batched_changes_size.yml | 8 - config/feature_flags/development/gitaly_backup.yml | 2 +- ...porter_query_only_unimported_merge_requests.yml | 8 - .../development/graphql_board_lists.yml | 2 +- .../development/graphql_pipeline_details.yml | 8 - .../development/graphql_pipeline_details_users.yml | 8 - .../development/import_redis_increment_by.yml | 8 + .../development/infrastructure_registry_page.yml | 8 - .../development/jira_issue_details_edit_labels.yml | 2 +- .../development/jira_issue_details_edit_status.yml | 2 +- .../development/linear_project_ancestors.yml | 8 + config/feature_flags/development/list_commits.yml | 8 - ...load_balancing_for_deployments_hooks_worker.yml | 8 + .../load_balancing_for_export_workers.yml | 8 + ...load_balancing_refine_load_balancer_methods.yml | 8 - ...ge_request_cached_merge_pipeline_serializer.yml | 8 - .../development/merge_request_draft_filter.yml | 8 - .../merge_request_show_render_cached.yml | 8 + .../development/milestone_reference_pattern.yml | 8 + .../development/mr_collapsed_approval_rules.yml | 8 - .../development/multiple_database_metrics.yml | 8 - .../development/one_megabyte_file_size_limit.yml | 8 - .../optimize_safe_find_or_create_by.yml | 8 + .../development/package_details_apollo.yml | 2 +- .../packages_nuget_new_package_file_updater.yml | 8 + .../development/pages_smart_check_outdated_sha.yml | 8 + .../development/paginated_tree_graphql_query.yml | 8 + .../development/partition_pruning.yml | 8 + .../development/partition_pruning_dry_run.yml | 8 - .../development/pipeline_graph_layers_view.yml | 8 - .../development/pipeline_source_filter.yml | 8 + ...load_associations_jobs_request_api_endpoint.yml | 8 - .../development/prevent_retry_of_retried_jobs.yml | 8 - .../project_overwrite_service_tracking.yml | 8 + .../development/remove_composer_v1_cache_code.yml | 8 + .../development/report_on_long_redis_durations.yml | 8 + .../development/runner_list_group_view_vue_ui.yml | 8 + .../development/runner_list_view_vue_ui.yml | 8 - .../development/runner_registration_control.yml | 2 +- .../search_sort_issues_by_popularity.yml | 8 - .../security_configuration_redesign.yml | 8 - .../security_configuration_redesign_ee.yml | 8 - config/feature_flags/development/set_full_path.yml | 8 + .../development/similarity_search.yml | 8 - ...zed_service_for_project_member_auth_refresh.yml | 8 + ...er_for_group_lock_update_auth_recalculation.yml | 8 + .../store_mentions_without_subtransaction.yml | 8 + .../development/update_remote_mirror_inmemory.yml | 8 - ...ta_i_testing_full_code_quality_report_total.yml | 8 - .../development/vuln_report_new_project_filter.yml | 8 + .../vulnerability_finding_replace_metadata.yml | 7 + .../development/web_hooks_disable_failed.yml | 2 +- .../experiment/force_company_trial.yml | 8 + .../experiment/invite_email_preview_text.yml | 8 + ...empty_group_version_a_experiment_percentage.yml | 8 - .../experiment/member_areas_of_focus.yml | 8 + .../experiment/members_invite_email.yml | 8 - .../ops/active_record_subtransactions_counter.yml | 8 + .../ops/active_record_transactions_tracking.yml | 8 + .../ops/api_kaminari_count_with_limit.yml | 2 +- config/gitlab.yml.example | 9 + config/helpers/is_jh_env.js | 16 + config/initializers/00_rails_disable_joins.rb | 16 + .../0_inject_enterprise_edition_module.rb | 26 +- config/initializers/0_log_deprecations.rb | 22 + config/initializers/1_postgresql_only.rb | 2 +- config/initializers/1_settings.rb | 20 +- config/initializers/2_gitlab.rb | 3 - config/initializers/active_record_build_select.rb | 6 - config/initializers/active_record_lifecycle.rb | 2 +- .../active_record_transaction_observer.rb | 18 + .../active_record_transaction_patches.rb | 11 + .../check_decomposition_database_config.rb | 7 - config/initializers/console_message.rb | 4 +- config/initializers/content_security_policy.rb | 9 +- config/initializers/database_config.rb | 8 +- .../initializers/forbid_sidekiq_in_transactions.rb | 2 +- config/initializers/gitlab_experiment.rb | 55 +- config/initializers/load_balancing.rb | 9 +- config/initializers/rails_asset_host.rb | 15 + config/initializers/session_store.rb | 2 +- config/initializers/smtp_settings.rb.sample | 10 + config/initializers/transaction_metrics.rb | 3 - .../initializers_before_autoloader/004_zeitwerk.rb | 9 +- config/metrics/aggregates/code_review.yml | 2 + .../counts_28d/20210201124930_deployments.yml | 5 +- ...lytics_unique_visits_for_any_target_monthly.yml | 10 +- ...0210216174933_p_analytics_pipelines_monthly.yml | 9 +- ...10216174941_p_analytics_valuestream_monthly.yml | 9 +- .../20210216174956_i_analytics_cohorts_monthly.yml | 11 +- ...216175000_i_analytics_dev_ops_score_monthly.yml | 9 +- ...216175004_g_analytics_merge_request_monthly.yml | 9 +- ...012_i_analytics_instance_statistics_monthly.yml | 9 +- ...75016_analytics_total_unique_counts_monthly.yml | 23 +- .../counts_28d/20210216175055_merge_requests.yml | 3 +- ...able_overriding_approvers_per_merge_request.yml | 3 +- ...able_overriding_approvers_per_merge_request.yml | 3 +- .../20210216175101_merge_requests_users.yml | 5 +- .../counts_28d/20210216175109_suggestions.yml | 3 +- ...20210216175113_merge_request_action_monthly.yml | 13 +- ...117_i_source_code_code_intelligence_monthly.yml | 13 +- ...210216175120_i_code_review_mr_diffs_monthly.yml | 13 +- ..._code_review_user_single_file_diffs_monthly.yml | 13 +- ..._i_code_review_mr_single_file_diffs_monthly.yml | 16 +- ...175132_i_code_review_user_create_mr_monthly.yml | 13 +- ...6175136_i_code_review_user_close_mr_monthly.yml | 13 +- ...175140_i_code_review_user_reopen_mr_monthly.yml | 13 +- ...6175144_i_code_review_user_merge_mr_monthly.yml | 13 +- ..._code_review_user_create_mr_comment_monthly.yml | 13 +- ..._i_code_review_user_edit_mr_comment_monthly.yml | 13 +- ..._code_review_user_remove_mr_comment_monthly.yml | 13 +- ...9_i_code_review_user_add_suggestion_monthly.yml | 6 +- ...i_code_review_user_apply_suggestion_monthly.yml | 6 +- ...6175405_clusters_applications_cert_managers.yml | 5 +- .../20210216175407_clusters_applications_helm.yml | 5 +- ...0210216175409_clusters_applications_ingress.yml | 5 +- ...0210216175411_clusters_applications_knative.yml | 5 +- .../20210216175413_clusters_management_project.yml | 3 +- .../20210216175415_clusters_disabled.yml | 5 +- .../counts_28d/20210216175417_clusters_enabled.yml | 5 +- .../20210216175419_clusters_platforms_gke.yml | 5 +- .../20210216175420_clusters_platforms_eks.yml | 5 +- .../20210216175422_clusters_platforms_user.yml | 5 +- .../20210216175424_instance_clusters_disabled.yml | 5 +- .../20210216175426_instance_clusters_enabled.yml | 5 +- .../20210216175428_group_clusters_disabled.yml | 5 +- .../20210216175430_group_clusters_enabled.yml | 5 +- .../20210216175432_project_clusters_disabled.yml | 5 +- .../20210216175434_project_clusters_enabled.yml | 5 +- .../counts_28d/20210216175542_ci_builds.yml | 4 +- .../20210216175544_ci_external_pipelines.yml | 3 +- .../20210216175546_ci_internal_pipelines.yml | 3 +- ...210216175548_ci_pipeline_config_auto_devops.yml | 3 +- ...0210216175550_ci_pipeline_config_repository.yml | 3 +- .../20210216175552_ci_pipeline_schedules.yml | 3 +- .../counts_28d/20210216175554_ci_pipelines.yml | 8 +- .../counts_28d/20210216175556_ci_triggers.yml | 3 +- .../counts_28d/20210216175616_user_dast_jobs.yml | 17 - .../counts_28d/20210216175618_dast_pipeline.yml | 17 - .../20210216180308_personal_snippets.yml | 3 +- .../counts_28d/20210216180310_project_snippets.yml | 3 +- .../metrics/counts_28d/20210216180312_snippets.yml | 3 +- .../metrics/counts_28d/20210216180317_snippets.yml | 5 +- ...19_action_monthly_active_users_web_ide_edit.yml | 5 +- ...180321_action_monthly_active_users_sfe_edit.yml | 3 +- ...on_monthly_active_users_snippet_editor_edit.yml | 3 +- ...180325_action_monthly_active_users_sse_edit.yml | 3 +- ...180327_action_monthly_active_users_ide_edit.yml | 5 +- .../20210216180330_g_edit_by_web_ide_monthly.yml | 7 +- .../20210216180334_g_edit_by_sfe_monthly.yml | 7 +- ...0210216180338_g_edit_by_snippet_ide_monthly.yml | 7 +- ...180341_ide_edit_total_unique_counts_monthly.yml | 10 +- .../20210216180355_user_api_fuzzing_jobs.yml | 17 - .../20210216180357_user_api_fuzzing_dnd_jobs.yml | 17 - .../20210216180424_i_search_total_monthly.yml | 7 +- ...16180431_search_total_unique_counts_monthly.yml | 10 +- ...ident_management_alerts_total_unique_counts.yml | 3 +- ...nt_management_incidents_total_unique_counts.yml | 3 +- .../20210216180524_projects_with_incidents.yml | 3 +- ...0210216180526_projects_with_alert_incidents.yml | 3 +- ...ent_management_alert_status_changed_monthly.yml | 9 +- ..._incident_management_alert_assigned_monthly.yml | 9 +- ...0537_incident_management_alert_todo_monthly.yml | 9 +- ...ncident_management_incident_created_monthly.yml | 9 +- ...cident_management_incident_reopened_monthly.yml | 9 +- ...incident_management_incident_closed_monthly.yml | 9 +- ...cident_management_incident_assigned_monthly.yml | 9 +- ...6_incident_management_incident_todo_monthly.yml | 9 +- ...ncident_management_incident_comment_monthly.yml | 9 +- ...nt_management_incident_zoom_meeting_monthly.yml | 9 +- ...incident_management_incident_relate_monthly.yml | 9 +- ...cident_management_incident_unrelate_monthly.yml | 9 +- ...gement_incident_change_confidential_monthly.yml | 9 +- ...dent_management_total_unique_counts_monthly.yml | 25 +- ...nt_management_alert_create_incident_monthly.yml | 7 +- ...0210216180731_projects_imported_from_github.yml | 13 +- ...tion_monthly_active_users_design_management.yml | 4 +- ...80747_action_monthly_active_users_wiki_repo.yml | 3 +- .../metrics/counts_28d/20210216180814_events.yml | 12 +- .../metrics/counts_28d/20210216180816_groups.yml | 3 +- .../counts_28d/20210216180818_users_created.yml | 3 +- ...10216180955_projects_with_prometheus_alerts.yml | 15 +- .../metrics/counts_28d/20210216180956_clusters.yml | 15 +- ...0216180958_clusters_applications_prometheus.yml | 15 +- ...1000_operations_dashboard_default_dashboard.yml | 15 +- ...0210216181002_projects_with_tracing_enabled.yml | 15 +- ...181004_projects_with_error_tracking_enabled.yml | 15 +- ...rations_dashboard_users_with_projects_added.yml | 15 +- .../metrics/counts_28d/20210216181050_packages.yml | 3 +- .../20210216181057_projects_with_packages.yml | 3 +- .../metrics/counts_28d/20210216181139_issues.yml | 3 +- config/metrics/counts_28d/20210216181141_notes.yml | 9 +- .../metrics/counts_28d/20210216181143_projects.yml | 11 +- config/metrics/counts_28d/20210216181145_todos.yml | 11 +- ...0210216181147_service_desk_enabled_projects.yml | 14 +- .../20210216181148_service_desk_issues.yml | 14 +- .../20210216181150_projects_jira_active.yml | 17 +- ...10216181152_projects_jira_dvcs_cloud_active.yml | 17 +- ...0216181154_projects_jira_dvcs_server_active.yml | 18 +- config/metrics/counts_28d/20210216181158_epics.yml | 18 +- .../counts_28d/20210216181200_label_lists.yml | 15 +- ...ject_management_issue_title_changed_monthly.yml | 7 +- ...anagement_issue_description_changed_monthly.yml | 11 +- ...t_management_issue_assignee_changed_monthly.yml | 18 +- ..._management_issue_made_confidential_monthly.yml | 11 +- ...oject_management_issue_made_visible_monthly.yml | 11 +- ..._g_project_management_issue_created_monthly.yml | 9 +- ...6_g_project_management_issue_closed_monthly.yml | 11 +- ...g_project_management_issue_reopened_monthly.yml | 11 +- ...ject_management_issue_label_changed_monthly.yml | 7 +- ..._management_issue_milestone_changed_monthly.yml | 7 +- ...t_management_issue_cross_referenced_monthly.yml | 7 +- ...52_g_project_management_issue_moved_monthly.yml | 7 +- ..._g_project_management_issue_related_monthly.yml | 7 +- ..._project_management_issue_unrelated_monthly.yml | 7 +- ...anagement_issue_marked_as_duplicate_monthly.yml | 7 +- ...7_g_project_management_issue_locked_monthly.yml | 7 +- ...g_project_management_issue_unlocked_monthly.yml | 7 +- ...ject_management_issue_designs_added_monthly.yml | 7 +- ...t_management_issue_designs_modified_monthly.yml | 7 +- ...ct_management_issue_designs_removed_monthly.yml | 7 +- ...t_management_issue_due_date_changed_monthly.yml | 7 +- ...agement_issue_time_estimate_changed_monthly.yml | 7 +- ...management_issue_time_spent_changed_monthly.yml | 7 +- ...ject_management_issue_comment_added_monthly.yml | 7 +- ...ect_management_issue_comment_edited_monthly.yml | 7 +- ...ct_management_issue_comment_removed_monthly.yml | 7 +- ...1_g_project_management_issue_cloned_monthly.yml | 7 +- ...504_issues_edit_total_unique_counts_monthly.yml | 42 +- ...210216181508_i_quickactions_approve_monthly.yml | 6 +- ...181512_i_quickactions_assign_single_monthly.yml | 6 +- ...16181519_i_quickactions_assign_self_monthly.yml | 6 +- ...1523_i_quickactions_assign_reviewer_monthly.yml | 6 +- ...20210216181527_i_quickactions_award_monthly.yml | 6 +- ...216181530_i_quickactions_board_move_monthly.yml | 6 +- ...20210216181541_i_quickactions_clone_monthly.yml | 6 +- ...20210216181545_i_quickactions_close_monthly.yml | 6 +- ...6181549_i_quickactions_confidential_monthly.yml | 6 +- ...actions_copy_metadata_merge_request_monthly.yml | 6 +- ..._i_quickactions_copy_metadata_issue_monthly.yml | 6 +- ...i_quickactions_create_merge_request_monthly.yml | 6 +- .../20210216181604_i_quickactions_done_monthly.yml | 6 +- ...20210216181607_i_quickactions_draft_monthly.yml | 6 +- .../20210216181611_i_quickactions_due_monthly.yml | 6 +- ...0216181615_i_quickactions_duplicate_monthly.yml | 6 +- ...10216181622_i_quickactions_estimate_monthly.yml | 6 +- ...20210216181629_i_quickactions_label_monthly.yml | 6 +- .../20210216181633_i_quickactions_lock_monthly.yml | 6 +- ...20210216181637_i_quickactions_merge_monthly.yml | 6 +- ...0216181641_i_quickactions_milestone_monthly.yml | 6 +- .../20210216181644_i_quickactions_move_monthly.yml | 6 +- ...10216181659_i_quickactions_reassign_monthly.yml | 6 +- ...03_i_quickactions_reassign_reviewer_monthly.yml | 8 +- ...0210216181707_i_quickactions_rebase_monthly.yml | 6 +- ...210216181710_i_quickactions_relabel_monthly.yml | 6 +- ...0210216181714_i_quickactions_relate_monthly.yml | 6 +- ...1721_i_quickactions_remove_due_date_monthly.yml | 6 +- ...1729_i_quickactions_remove_estimate_monthly.yml | 6 +- ...736_i_quickactions_remove_milestone_monthly.yml | 6 +- ...44_i_quickactions_remove_time_spent_monthly.yml | 6 +- ...16181747_i_quickactions_remove_zoom_monthly.yml | 6 +- ...0210216181751_i_quickactions_reopen_monthly.yml | 6 +- ...20210216181755_i_quickactions_shrug_monthly.yml | 6 +- ...81758_i_quickactions_spend_subtract_monthly.yml | 6 +- ...0216181802_i_quickactions_spend_add_monthly.yml | 6 +- ...181806_i_quickactions_submit_review_monthly.yml | 6 +- ...0216181809_i_quickactions_subscribe_monthly.yml | 6 +- ...0216181813_i_quickactions_tableflip_monthly.yml | 6 +- .../20210216181817_i_quickactions_tag_monthly.yml | 6 +- ...181821_i_quickactions_target_branch_monthly.yml | 6 +- ...20210216181824_i_quickactions_title_monthly.yml | 6 +- .../20210216181828_i_quickactions_todo_monthly.yml | 6 +- ...32_i_quickactions_unassign_specific_monthly.yml | 6 +- ...6181835_i_quickactions_unassign_all_monthly.yml | 6 +- ...39_i_quickactions_unassign_reviewer_monthly.yml | 6 +- ...843_i_quickactions_unlabel_specific_monthly.yml | 6 +- ...16181846_i_quickactions_unlabel_all_monthly.yml | 6 +- ...0210216181850_i_quickactions_unlock_monthly.yml | 6 +- ...16181854_i_quickactions_unsubscribe_monthly.yml | 6 +- .../20210216181901_i_quickactions_wip_monthly.yml | 6 +- .../20210216181905_i_quickactions_zoom_monthly.yml | 6 +- .../20210216181923_successful_deployments.yml | 10 +- .../20210216181924_failed_deployments.yml | 10 +- .../counts_28d/20210216181935_deployments.yml | 12 +- .../20210216181937_failed_deployments.yml | 12 +- .../metrics/counts_28d/20210216181939_releases.yml | 14 +- .../20210216181941_successful_deployments.yml | 12 +- ...20210216181951_clusters_applications_runner.yml | 5 +- ...81956_user_unique_users_all_secure_scanners.yml | 12 +- .../counts_28d/20210216182034_deploy_keys.yml | 3 +- config/metrics/counts_28d/20210216182036_keys.yml | 3 +- .../counts_28d/20210216182038_remote_mirrors.yml | 3 +- ...40_action_monthly_active_users_project_repo.yml | 6 +- ...82041_action_monthly_active_users_git_write.yml | 3 +- .../20210216182051_protected_branches.yml | 3 +- .../20210216182102_wiki_action_monthly.yml | 7 +- .../20210216182106_design_action_monthly.yml | 7 +- .../20210216182109_project_action_monthly.yml | 7 +- .../counts_28d/20210216182125_user_sast_jobs.yml | 5 +- .../20210216182127_user_secret_detection_jobs.yml | 5 +- .../counts_28d/20210216182129_sast_pipeline.yml | 3 +- .../20210216182131_secret_detection_pipeline.yml | 3 +- ...16182136_i_testing_test_case_parsed_monthly.yml | 7 +- ...20210216183159_projects_with_alerts_created.yml | 15 +- ...183203_product_analytics_test_metrics_union.yml | 2 +- ...product_analytics_test_metrics_intersection.yml | 2 +- .../20210216183627_omniauth_providers.yml | 3 +- .../counts_28d/20210216183629_two-factor.yml | 2 +- .../20210216183631_two-factor-via-u2f-device.yml | 2 +- ...210216183633_two-factor-via-webauthn-device.yml | 2 +- .../metrics/counts_28d/20210216183634_standard.yml | 3 +- .../counts_28d/20210216183636_google_oauth2.yml | 3 +- .../20210216183638_unique_users_all_imports.yml | 9 +- .../metrics/counts_28d/20210216183640_gitlab.yml | 19 +- .../counts_28d/20210216183642_gitlab_v1.yml | 18 +- .../counts_28d/20210216183644_gitlab_project.yml | 6 +- .../metrics/counts_28d/20210216183646_gitlab.yml | 4 +- .../metrics/counts_28d/20210216183648_github.yml | 4 +- .../counts_28d/20210216183650_bitbucket.yml | 4 +- .../counts_28d/20210216183652_bitbucket_server.yml | 4 +- config/metrics/counts_28d/20210216183653_gitea.yml | 4 +- config/metrics/counts_28d/20210216183655_git.yml | 4 +- .../metrics/counts_28d/20210216183657_manifest.yml | 6 +- .../counts_28d/20210216183659_gitlab_migration.yml | 6 +- config/metrics/counts_28d/20210216183701_jira.yml | 18 +- .../metrics/counts_28d/20210216183703_fogbugz.yml | 18 +- .../counts_28d/20210216183705_phabricator.yml | 18 +- config/metrics/counts_28d/20210216183707_csv.yml | 18 +- .../counts_28d/20210216183709_group_import.yml | 4 +- .../counts_28d/20210216183711_gitlab_migration.yml | 18 +- config/metrics/counts_28d/20210216183712_total.yml | 19 +- .../counts_28d/20210216183714_gitlab_project.yml | 19 +- .../metrics/counts_28d/20210216183716_gitlab.yml | 19 +- .../metrics/counts_28d/20210216183718_github.yml | 19 +- .../counts_28d/20210216183720_bitbucket.yml | 5 +- .../counts_28d/20210216183722_bitbucket_server.yml | 5 +- config/metrics/counts_28d/20210216183724_gitea.yml | 19 +- config/metrics/counts_28d/20210216183726_git.yml | 19 +- .../metrics/counts_28d/20210216183728_manifest.yml | 19 +- config/metrics/counts_28d/20210216183730_jira.yml | 19 +- .../metrics/counts_28d/20210216183731_fogbugz.yml | 19 +- .../counts_28d/20210216183733_phabricator.yml | 19 +- config/metrics/counts_28d/20210216183735_csv.yml | 19 +- .../counts_28d/20210216183737_groups_imported.yml | 13 +- .../20210216183817_user_coverage_fuzzing_jobs.yml | 17 - .../counts_28d/20210216183826_sast_scans.yml | 5 +- .../20210216183830_container_scanning_scans.yml | 5 +- .../counts_28d/20210216183832_dast_scans.yml | 17 - .../20210216183834_secret_detection_scans.yml | 5 +- .../20210216183836_coverage_fuzzing_scans.yml | 17 - .../20210216183838_api_fuzzing_scans.yml | 17 - ...search_unique_visits_for_any_target_monthly.yml | 8 +- .../20210216184024_g_edit_by_sse_monthly.yml | 7 +- .../20210216184047_git_write_action_monthly.yml | 7 +- ...6184140_testing_total_unique_counts_monthly.yml | 17 +- .../20210216184255_i_snippets_show_monthly.yml | 7 +- ..._p_terraform_state_api_unique_users_monthly.yml | 10 +- ...nique_users_committing_ciconfigfile_monthly.yml | 7 +- ...eview_user_toggled_task_item_status_monthly.yml | 6 +- ...84322_i_code_review_user_approve_mr_monthly.yml | 6 +- ...326_i_code_review_user_unapprove_mr_monthly.yml | 6 +- ...0_i_code_review_user_resolve_thread_monthly.yml | 6 +- ...i_code_review_user_unresolve_thread_monthly.yml | 6 +- ...6184338_i_code_review_edit_mr_title_monthly.yml | 6 +- ...16184342_i_code_review_edit_mr_desc_monthly.yml | 6 +- ...code_review_user_create_review_note_monthly.yml | 13 +- ...7_i_code_review_user_publish_review_monthly.yml | 13 +- ...ew_user_create_multiline_mr_comment_monthly.yml | 13 +- ...view_user_edit_multiline_mr_comment_monthly.yml | 13 +- ...ew_user_remove_multiline_mr_comment_monthly.yml | 6 +- ...6184418_i_code_review_user_assigned_monthly.yml | 6 +- ..._i_code_review_user_marked_as_draft_monthly.yml | 6 +- ..._code_review_user_unmarked_as_draft_monthly.yml | 6 +- ...i_code_review_user_review_requested_monthly.yml | 6 +- ...ode_review_user_approval_rule_added_monthly.yml | 6 +- ...e_review_user_approval_rule_deleted_monthly.yml | 6 +- ...de_review_user_approval_rule_edited_monthly.yml | 6 +- ...ode_review_user_vs_code_api_request_monthly.yml | 13 +- ...de_review_user_create_mr_from_issue_monthly.yml | 10 +- ...454_code_review_total_unique_counts_monthly.yml | 68 +- ...p_ci_templates_implicit_auto_devops_monthly.yml | 6 +- ...emplates_implicit_auto_devops_build_monthly.yml | 6 +- ...mplates_implicit_auto_devops_deploy_monthly.yml | 6 +- ...ci_templates_implicit_security_sast_monthly.yml | 6 +- ..._implicit_security_secret_detection_monthly.yml | 6 +- ...p_ci_templates_5_min_production_app_monthly.yml | 7 +- ...16184523_p_ci_templates_auto_devops_monthly.yml | 7 +- ...26_p_ci_templates_aws_cf_deploy_ec2_monthly.yml | 6 +- ...84530_p_ci_templates_aws_deploy_ecs_monthly.yml | 6 +- ...34_p_ci_templates_auto_devops_build_monthly.yml | 7 +- ...8_p_ci_templates_auto_devops_deploy_monthly.yml | 7 +- ...templates_auto_devops_deploy_latest_monthly.yml | 6 +- ...184546_p_ci_templates_security_sast_monthly.yml | 7 +- ...templates_security_secret_detection_monthly.yml | 7 +- ..._ci_templates_terraform_base_latest_monthly.yml | 7 +- ...59_ci_templates_total_unique_counts_monthly.yml | 22 +- ...03_quickactions_total_unique_counts_monthly.yml | 73 +- ...806_i_package_composer_deploy_token_monthly.yml | 6 +- ...184810_i_package_conan_deploy_token_monthly.yml | 6 +- ...14_i_package_container_deploy_token_monthly.yml | 6 +- ...84818_i_package_debian_deploy_token_monthly.yml | 6 +- ...4822_i_package_generic_deploy_token_monthly.yml | 6 +- ...84826_i_package_golang_deploy_token_monthly.yml | 6 +- ...184830_i_package_maven_deploy_token_monthly.yml | 7 +- ...16184834_i_package_npm_deploy_token_monthly.yml | 7 +- ...184838_i_package_nuget_deploy_token_monthly.yml | 7 +- ...6184842_i_package_pypi_deploy_token_monthly.yml | 8 +- ...16184846_i_package_tag_deploy_token_monthly.yml | 6 +- ..._token_packages_total_unique_counts_monthly.yml | 20 +- ...10216184854_i_package_composer_user_monthly.yml | 7 +- ...20210216184858_i_package_conan_user_monthly.yml | 7 +- ...0216184902_i_package_container_user_monthly.yml | 6 +- ...0210216184906_i_package_debian_user_monthly.yml | 6 +- ...210216184910_i_package_generic_user_monthly.yml | 6 +- ...0210216184913_i_package_golang_user_monthly.yml | 6 +- ...20210216184917_i_package_maven_user_monthly.yml | 7 +- .../20210216184921_i_package_npm_user_monthly.yml | 7 +- ...20210216184925_i_package_nuget_user_monthly.yml | 7 +- .../20210216184929_i_package_pypi_user_monthly.yml | 7 +- .../20210216184933_i_package_tag_user_monthly.yml | 6 +- ...7_user_packages_total_unique_counts_monthly.yml | 22 +- ..._ecosystem_jira_service_close_issue_monthly.yml | 10 +- ...system_jira_service_cross_reference_monthly.yml | 10 +- ...84957_ecosystem_total_unique_counts_monthly.yml | 27 +- ..._i_quickactions_invite_email_single_monthly.yml | 6 +- ..._quickactions_invite_email_multiple_monthly.yml | 6 +- ...e_review_user_time_estimate_changed_monthly.yml | 6 +- ...code_review_user_time_spent_changed_monthly.yml | 6 +- ...de_review_user_mr_discussion_locked_monthly.yml | 6 +- ..._review_user_mr_discussion_unlocked_monthly.yml | 6 +- ...nique_users_pushing_mr_ciconfigfile_monthly.yml | 7 +- ..._code_review_user_milestone_changed_monthly.yml | 6 +- ...7_i_code_review_user_labels_changed_monthly.yml | 6 +- ..._code_review_user_assignees_changed_monthly.yml | 6 +- ..._code_review_user_reviewers_changed_monthly.yml | 6 +- ...em_slack_service_issue_notification_monthly.yml | 10 +- ...tem_slack_service_push_notification_monthly.yml | 10 +- ...ack_service_deployment_notification_monthly.yml | 10 +- ...lack_service_wiki_page_notification_monthly.yml | 10 +- ..._service_merge_request_notification_monthly.yml | 10 +- ...tem_slack_service_note_notification_monthly.yml | 10 +- ...slack_service_tag_push_notification_monthly.yml | 10 +- ...vice_confidential_note_notification_monthly.yml | 10 +- ...ice_confidential_issue_notification_monthly.yml | 10 +- ...626_i_package_rubygems_deploy_token_monthly.yml | 6 +- ...10303154654_i_package_rubygems_user_monthly.yml | 6 +- ...rs_expanding_secure_security_report_monthly.yml | 6 +- ...panding_testing_code_quality_report_monthly.yml | 6 +- ...anding_testing_accessibility_report_monthly.yml | 6 +- ...ckage_terraform_module_deploy_token_monthly.yml | 6 +- ...208_i_package_terraform_module_user_monthly.yml | 6 +- ...5507_i_testing_summary_widget_total_monthly.yml | 6 +- ...view_click_single_file_mode_setting_monthly.yml | 6 +- ...e_review_click_file_browser_setting_monthly.yml | 6 +- ...ode_review_click_whitespace_setting_monthly.yml | 6 +- ...1516_i_code_review_diff_view_inline_monthly.yml | 6 +- ...13_i_code_review_diff_view_parallel_monthly.yml | 6 +- ..._code_review_file_browser_tree_view_monthly.yml | 6 +- ..._code_review_file_browser_list_view_monthly.yml | 6 +- ..._i_code_review_diff_show_whitespace_monthly.yml | 6 +- ..._i_code_review_diff_hide_whitespace_monthly.yml | 6 +- ...2121_i_code_review_diff_single_file_monthly.yml | 6 +- ...2_i_code_review_diff_multiple_files_monthly.yml | 6 +- ...8_code_review_category_monthly_active_users.yml | 17 +- ...iew_extension_category_monthly_active_users.yml | 17 +- ...3119_code_review_group_monthly_active_users.yml | 17 +- ...eline_authoring_total_unique_counts_monthly.yml | 9 +- ...0210427213346_geo_secondary_web_oauth_users.yml | 19 +- ...i_code_review_user_resolve_conflict_monthly.yml | 6 +- ...i_code_review_user_load_conflict_ui_monthly.yml | 6 +- .../20210514141518_monthly_projects_creation.yml | 2 +- ...7074859_i_package_helm_deploy_token_monthly.yml | 6 +- .../20210517075259_i_package_helm_user_monthly.yml | 6 +- config/metrics/counts_28d/20210520111133_total.yml | 2 +- ...code_review_click_diff_view_setting_monthly.yml | 6 +- ...05_i_code_review_user_searches_diff_monthly.yml | 25 + ...10721042227_i_quickactions_severity_monthly.yml | 25 + ...oject_management_issue_title_changed_weekly.yml | 7 +- ...5010_i_analytics_instance_statistics_weekly.yml | 9 +- ...175014_analytics_total_unique_counts_weekly.yml | 25 +- .../20210216175111_merge_request_action_weekly.yml | 13 +- ...5114_i_source_code_code_intelligence_weekly.yml | 13 +- ...0210216175118_i_code_review_mr_diffs_weekly.yml | 13 +- ...i_code_review_user_single_file_diffs_weekly.yml | 13 +- ...6_i_code_review_mr_single_file_diffs_weekly.yml | 16 +- ...6175130_i_code_review_user_create_mr_weekly.yml | 13 +- ...16175134_i_code_review_user_close_mr_weekly.yml | 13 +- ...6175138_i_code_review_user_reopen_mr_weekly.yml | 13 +- ...16175142_i_code_review_user_merge_mr_weekly.yml | 13 +- ...i_code_review_user_create_mr_comment_weekly.yml | 17 +- ...0_i_code_review_user_edit_mr_comment_weekly.yml | 13 +- ...i_code_review_user_remove_mr_comment_weekly.yml | 13 +- ...58_i_code_review_user_add_suggestion_weekly.yml | 6 +- ..._i_code_review_user_apply_suggestion_weekly.yml | 6 +- .../20210216180328_g_edit_by_web_ide_weekly.yml | 7 +- .../20210216180332_g_edit_by_sfe_weekly.yml | 7 +- ...20210216180336_g_edit_by_snippet_ide_weekly.yml | 7 +- ...6180339_ide_edit_total_unique_counts_weekly.yml | 10 +- .../20210216180422_i_search_total_weekly.yml | 7 +- ...216180429_search_total_unique_counts_weekly.yml | 9 +- ...ident_management_alerts_total_unique_counts.yml | 2 +- ...nt_management_incidents_total_unique_counts.yml | 2 +- ...dent_management_alert_status_changed_weekly.yml | 9 +- ...2_incident_management_alert_assigned_weekly.yml | 9 +- ...80535_incident_management_alert_todo_weekly.yml | 9 +- ...incident_management_incident_created_weekly.yml | 9 +- ...ncident_management_incident_reopened_weekly.yml | 9 +- ..._incident_management_incident_closed_weekly.yml | 9 +- ...ncident_management_incident_assigned_weekly.yml | 9 +- ...54_incident_management_incident_todo_weekly.yml | 9 +- ...incident_management_incident_comment_weekly.yml | 9 +- ...ent_management_incident_zoom_meeting_weekly.yml | 9 +- ..._incident_management_incident_relate_weekly.yml | 9 +- ...ncident_management_incident_unrelate_weekly.yml | 9 +- ...agement_incident_change_confidential_weekly.yml | 9 +- ...ident_management_total_unique_counts_weekly.yml | 22 +- ...ent_management_alert_create_incident_weekly.yml | 7 +- ...management_issue_description_changed_weekly.yml | 11 +- ...ct_management_issue_assignee_changed_weekly.yml | 13 +- ...t_management_issue_made_confidential_weekly.yml | 12 +- ...roject_management_issue_made_visible_weekly.yml | 12 +- ...1_g_project_management_issue_created_weekly.yml | 9 +- ...24_g_project_management_issue_closed_weekly.yml | 12 +- ..._g_project_management_issue_reopened_weekly.yml | 11 +- ...oject_management_issue_label_changed_weekly.yml | 7 +- ...t_management_issue_milestone_changed_weekly.yml | 9 +- ...ct_management_issue_cross_referenced_weekly.yml | 7 +- ...350_g_project_management_issue_moved_weekly.yml | 7 +- ...4_g_project_management_issue_related_weekly.yml | 7 +- ...g_project_management_issue_unrelated_weekly.yml | 8 +- ...management_issue_marked_as_duplicate_weekly.yml | 7 +- ...05_g_project_management_issue_locked_weekly.yml | 8 +- ..._g_project_management_issue_unlocked_weekly.yml | 8 +- ...oject_management_issue_designs_added_weekly.yml | 8 +- ...ct_management_issue_designs_modified_weekly.yml | 8 +- ...ect_management_issue_designs_removed_weekly.yml | 9 +- ...ct_management_issue_due_date_changed_weekly.yml | 8 +- ...nagement_issue_time_estimate_changed_weekly.yml | 7 +- ..._management_issue_time_spent_changed_weekly.yml | 7 +- ...oject_management_issue_comment_added_weekly.yml | 8 +- ...ject_management_issue_comment_edited_weekly.yml | 8 +- ...ect_management_issue_comment_removed_weekly.yml | 8 +- ...59_g_project_management_issue_cloned_weekly.yml | 9 +- ...1503_issues_edit_total_unique_counts_weekly.yml | 39 +- ...0210216181506_i_quickactions_approve_weekly.yml | 6 +- ...6181510_i_quickactions_assign_single_weekly.yml | 6 +- ...216181517_i_quickactions_assign_self_weekly.yml | 6 +- ...81521_i_quickactions_assign_reviewer_weekly.yml | 6 +- .../20210216181525_i_quickactions_award_weekly.yml | 6 +- ...0216181529_i_quickactions_board_move_weekly.yml | 6 +- .../20210216181540_i_quickactions_clone_weekly.yml | 6 +- .../20210216181543_i_quickactions_close_weekly.yml | 6 +- ...16181547_i_quickactions_confidential_weekly.yml | 6 +- ...kactions_copy_metadata_merge_request_weekly.yml | 6 +- ...4_i_quickactions_copy_metadata_issue_weekly.yml | 6 +- ..._i_quickactions_create_merge_request_weekly.yml | 6 +- .../20210216181602_i_quickactions_done_weekly.yml | 6 +- .../20210216181605_i_quickactions_draft_weekly.yml | 6 +- .../20210216181609_i_quickactions_due_weekly.yml | 6 +- ...10216181613_i_quickactions_duplicate_weekly.yml | 6 +- ...210216181620_i_quickactions_estimate_weekly.yml | 6 +- .../20210216181628_i_quickactions_label_weekly.yml | 6 +- .../20210216181631_i_quickactions_lock_weekly.yml | 6 +- .../20210216181635_i_quickactions_merge_weekly.yml | 6 +- ...10216181639_i_quickactions_milestone_weekly.yml | 6 +- .../20210216181642_i_quickactions_move_weekly.yml | 6 +- ...210216181657_i_quickactions_reassign_weekly.yml | 6 +- ...701_i_quickactions_reassign_reviewer_weekly.yml | 8 +- ...20210216181705_i_quickactions_rebase_weekly.yml | 6 +- ...0210216181708_i_quickactions_relabel_weekly.yml | 6 +- ...20210216181712_i_quickactions_relate_weekly.yml | 6 +- ...81719_i_quickactions_remove_due_date_weekly.yml | 6 +- ...81727_i_quickactions_remove_estimate_weekly.yml | 6 +- ...1734_i_quickactions_remove_milestone_weekly.yml | 6 +- ...742_i_quickactions_remove_time_spent_weekly.yml | 6 +- ...216181745_i_quickactions_remove_zoom_weekly.yml | 6 +- ...20210216181749_i_quickactions_reopen_weekly.yml | 6 +- .../20210216181753_i_quickactions_shrug_weekly.yml | 6 +- ...181756_i_quickactions_spend_subtract_weekly.yml | 6 +- ...10216181800_i_quickactions_spend_add_weekly.yml | 6 +- ...6181804_i_quickactions_submit_review_weekly.yml | 6 +- ...10216181808_i_quickactions_subscribe_weekly.yml | 6 +- ...10216181811_i_quickactions_tableflip_weekly.yml | 6 +- .../20210216181815_i_quickactions_tag_weekly.yml | 6 +- ...6181819_i_quickactions_target_branch_weekly.yml | 6 +- .../20210216181822_i_quickactions_title_weekly.yml | 6 +- .../20210216181826_i_quickactions_todo_weekly.yml | 6 +- ...830_i_quickactions_unassign_specific_weekly.yml | 6 +- ...16181833_i_quickactions_unassign_all_weekly.yml | 6 +- ...837_i_quickactions_unassign_reviewer_weekly.yml | 6 +- ...1841_i_quickactions_unlabel_specific_weekly.yml | 6 +- ...216181845_i_quickactions_unlabel_all_weekly.yml | 6 +- ...20210216181848_i_quickactions_unlock_weekly.yml | 6 +- ...216181852_i_quickactions_unsubscribe_weekly.yml | 6 +- .../20210216181859_i_quickactions_wip_weekly.yml | 6 +- .../20210216181903_i_quickactions_zoom_weekly.yml | 6 +- .../20210216182100_wiki_action_weekly.yml | 9 +- .../20210216182104_design_action_weekly.yml | 9 +- .../20210216182107_project_action_weekly.yml | 7 +- ...216182134_i_testing_test_case_parsed_weekly.yml | 7 +- ...183213_product_analytics_test_metrics_union.yml | 2 +- ...product_analytics_test_metrics_intersection.yml | 2 +- .../20210216184022_g_edit_by_sse_weekly.yml | 7 +- .../20210216184045_git_write_action_weekly.yml | 7 +- .../20210216184253_i_snippets_show_weekly.yml | 7 +- ...unique_users_committing_ciconfigfile_weekly.yml | 6 +- ...review_user_toggled_task_item_status_weekly.yml | 6 +- ...184320_i_code_review_user_approve_mr_weekly.yml | 6 +- ...4324_i_code_review_user_unapprove_mr_weekly.yml | 6 +- ...28_i_code_review_user_resolve_thread_weekly.yml | 6 +- ..._i_code_review_user_unresolve_thread_weekly.yml | 6 +- ...16184336_i_code_review_edit_mr_title_weekly.yml | 6 +- ...216184340_i_code_review_edit_mr_desc_weekly.yml | 6 +- ..._code_review_user_create_review_note_weekly.yml | 13 +- ...55_i_code_review_user_publish_review_weekly.yml | 13 +- ...iew_user_create_multiline_mr_comment_weekly.yml | 13 +- ...eview_user_edit_multiline_mr_comment_weekly.yml | 13 +- ...iew_user_remove_multiline_mr_comment_weekly.yml | 6 +- ...16184416_i_code_review_user_assigned_weekly.yml | 6 +- ...0_i_code_review_user_marked_as_draft_weekly.yml | 6 +- ...i_code_review_user_unmarked_as_draft_weekly.yml | 6 +- ..._i_code_review_user_review_requested_weekly.yml | 6 +- ...code_review_user_approval_rule_added_weekly.yml | 6 +- ...de_review_user_approval_rule_deleted_weekly.yml | 6 +- ...ode_review_user_approval_rule_edited_weekly.yml | 6 +- ...code_review_user_vs_code_api_request_weekly.yml | 6 +- ...ode_review_user_create_mr_from_issue_weekly.yml | 6 +- ...4452_code_review_total_unique_counts_weekly.yml | 68 +- ..._p_ci_templates_5_min_production_app_weekly.yml | 6 +- ...524_p_ci_templates_aws_cf_deploy_ec2_weekly.yml | 6 +- ...184528_p_ci_templates_aws_deploy_ecs_weekly.yml | 6 +- ...557_ci_templates_total_unique_counts_weekly.yml | 22 +- ...4805_i_package_composer_deploy_token_weekly.yml | 6 +- ...6184808_i_package_conan_deploy_token_weekly.yml | 6 +- ...812_i_package_container_deploy_token_weekly.yml | 6 +- ...184816_i_package_debian_deploy_token_weekly.yml | 6 +- ...84820_i_package_generic_deploy_token_weekly.yml | 6 +- ...184824_i_package_golang_deploy_token_weekly.yml | 6 +- ...6184828_i_package_maven_deploy_token_weekly.yml | 7 +- ...216184832_i_package_npm_deploy_token_weekly.yml | 7 +- ...6184836_i_package_nuget_deploy_token_weekly.yml | 7 +- ...16184840_i_package_pypi_deploy_token_weekly.yml | 7 +- ...216184844_i_package_tag_deploy_token_weekly.yml | 6 +- ...y_token_packages_total_unique_counts_weekly.yml | 20 +- ...210216184852_i_package_composer_user_weekly.yml | 7 +- .../20210216184856_i_package_conan_user_weekly.yml | 7 +- ...10216184900_i_package_container_user_weekly.yml | 6 +- ...20210216184904_i_package_debian_user_weekly.yml | 6 +- ...0210216184908_i_package_generic_user_weekly.yml | 6 +- ...20210216184911_i_package_golang_user_weekly.yml | 6 +- .../20210216184916_i_package_maven_user_weekly.yml | 7 +- .../20210216184919_i_package_npm_user_weekly.yml | 7 +- .../20210216184923_i_package_nuget_user_weekly.yml | 7 +- .../20210216184927_i_package_pypi_user_weekly.yml | 7 +- .../20210216184931_i_package_tag_user_weekly.yml | 6 +- ...35_user_packages_total_unique_counts_weekly.yml | 20 +- ...i_ecosystem_jira_service_close_issue_weekly.yml | 10 +- ...osystem_jira_service_cross_reference_weekly.yml | 10 +- ...184955_ecosystem_total_unique_counts_weekly.yml | 22 +- ...unique_users_pushing_mr_ciconfigfile_weekly.yml | 6 +- ...tem_slack_service_issue_notification_weekly.yml | 10 +- ...de_review_user_time_estimate_changed_weekly.yml | 6 +- ..._code_review_user_time_spent_changed_weekly.yml | 6 +- ...stem_slack_service_push_notification_weekly.yml | 10 +- ...lack_service_deployment_notification_weekly.yml | 10 +- ...slack_service_wiki_page_notification_weekly.yml | 10 +- ...k_service_merge_request_notification_weekly.yml | 10 +- ...stem_slack_service_note_notification_weekly.yml | 10 +- ..._slack_service_tag_push_notification_weekly.yml | 10 +- ...rvice_confidential_note_notification_weekly.yml | 10 +- ...vice_confidential_issue_notification_weekly.yml | 10 +- ...e_review_user_mr_discussion_unlocked_weekly.yml | 6 +- ...ode_review_user_mr_discussion_locked_weekly.yml | 6 +- ...i_code_review_user_milestone_changed_weekly.yml | 6 +- ...48_i_code_review_user_labels_changed_weekly.yml | 6 +- ...i_code_review_user_assignees_changed_weekly.yml | 6 +- ...i_code_review_user_reviewers_changed_weekly.yml | 6 +- ...7_i_quickactions_invite_email_single_weekly.yml | 6 +- ...i_quickactions_invite_email_multiple_weekly.yml | 6 +- ...4624_i_package_rubygems_deploy_token_weekly.yml | 6 +- ...210303154652_i_package_rubygems_user_weekly.yml | 6 +- ...ers_expanding_secure_security_report_weekly.yml | 6 +- ...xpanding_testing_code_quality_report_weekly.yml | 6 +- ...panding_testing_accessibility_report_weekly.yml | 6 +- ...ackage_terraform_module_deploy_token_weekly.yml | 6 +- ...2209_i_package_terraform_module_user_weekly.yml | 6 +- ...05507_i_testing_summary_widget_total_weekly.yml | 6 +- ...eview_click_single_file_mode_setting_weekly.yml | 6 +- ...de_review_click_file_browser_setting_weekly.yml | 6 +- ...code_review_click_whitespace_setting_weekly.yml | 6 +- ...01512_i_code_review_diff_view_inline_weekly.yml | 6 +- ...609_i_code_review_diff_view_parallel_weekly.yml | 6 +- ...i_code_review_file_browser_tree_view_weekly.yml | 6 +- ...i_code_review_file_browser_list_view_weekly.yml | 6 +- ...5_i_code_review_diff_show_whitespace_weekly.yml | 6 +- ...7_i_code_review_diff_hide_whitespace_weekly.yml | 6 +- ...02118_i_code_review_diff_single_file_weekly.yml | 6 +- ...59_i_code_review_diff_multiple_files_weekly.yml | 6 +- ...3328_code_review_group_monthly_active_users.yml | 2 +- ...7_code_review_category_monthly_active_users.yml | 2 +- ...iew_extension_category_monthly_active_users.yml | 2 +- ...peline_authoring_total_unique_counts_weekly.yml | 9 +- ..._i_code_review_user_load_conflict_ui_weekly.yml | 6 +- ..._i_code_review_user_resolve_conflict_weekly.yml | 6 +- ...17074851_i_package_helm_deploy_token_weekly.yml | 6 +- .../20210517075252_i_package_helm_user_weekly.yml | 6 +- ..._code_review_click_diff_view_setting_weekly.yml | 6 +- ...005_i_code_review_user_searches_diff_weekly.yml | 25 + ...210721042223_i_quickactions_severity_weekly.yml | 25 + .../counts_all/20210201124934_deployments.yml | 5 +- .../metrics/counts_all/20210204124930_servers.yml | 2 +- .../metrics/counts_all/20210204124932_clusters.yml | 2 +- .../20210216174832_cycle_analytics_views.yml | 5 +- .../20210216174846_p_analytics_pipelines.yml | 2 +- .../20210216174850_p_analytics_valuestream.yml | 2 +- .../counts_all/20210216174856_p_analytics_repo.yml | 2 +- .../20210216174858_i_analytics_cohorts.yml | 2 +- .../20210216174900_i_analytics_dev_ops_score.yml | 2 +- .../20210216174902_g_analytics_merge_request.yml | 2 +- ...10216174906_i_analytics_instance_statistics.yml | 2 +- ...4908_analytics_unique_visits_for_any_target.yml | 7 +- ...10216175019_projects_with_prometheus_alerts.yml | 3 +- .../20210216175021_pod_logs_usages_total.yml | 3 +- ...0210216175024_service_desk_enabled_projects.yml | 3 +- .../20210216175026_service_desk_issues.yml | 3 +- .../counts_all/20210216175037_suggestions.yml | 9 +- .../counts_all/20210216175039_merge_requests.yml | 3 +- .../20210216175041_merge_request_comment.yml | 3 +- .../20210216175043_merge_request_create.yml | 3 +- .../counts_all/20210216175045_merge_requests.yml | 2 +- .../counts_all/20210216175053_suggestions.yml | 2 +- ..._merged_merge_requests_using_approval_rules.yml | 3 +- .../20210216175229_auto_devops_enabled.yml | 3 +- .../20210216175231_auto_devops_disabled.yml | 5 +- .../metrics/counts_all/20210216175232_clusters.yml | 5 +- .../counts_all/20210216175234_clusters_enabled.yml | 3 +- .../20210216175236_project_clusters_enabled.yml | 5 +- .../20210216175238_group_clusters_enabled.yml | 5 +- .../20210216175240_instance_clusters_enabled.yml | 5 +- .../20210216175242_clusters_disabled.yml | 3 +- .../20210216175244_project_clusters_disabled.yml | 5 +- .../20210216175246_group_clusters_disabled.yml | 5 +- .../20210216175248_instance_clusters_disabled.yml | 5 +- .../20210216175250_clusters_platforms_eks.yml | 5 +- .../20210216175251_clusters_platforms_gke.yml | 5 +- .../20210216175253_clusters_platforms_user.yml | 5 +- .../20210216175255_clusters_applications_helm.yml | 5 +- ...0210216175257_clusters_applications_ingress.yml | 5 +- ...6175259_clusters_applications_cert_managers.yml | 5 +- ...0216175301_clusters_applications_crossplane.yml | 5 +- ...0216175303_clusters_applications_prometheus.yml | 5 +- ...20210216175305_clusters_applications_runner.yml | 3 +- ...0210216175307_clusters_applications_knative.yml | 5 +- ...6175309_clusters_applications_elastic_stack.yml | 5 +- ...0210216175310_clusters_applications_jupyter.yml | 5 +- ...20210216175312_clusters_applications_cilium.yml | 5 +- .../20210216175314_clusters_management_project.yml | 5 +- ...10216175320_projects_with_terraform_reports.yml | 3 +- ...210216175322_projects_with_terraform_states.yml | 3 +- .../20210216175324_terraform_reports.yml | 5 +- .../counts_all/20210216175326_terraform_states.yml | 3 +- ...6175329_clusters_applications_cert_managers.yml | 2 +- .../20210216175331_clusters_applications_helm.yml | 2 +- ...0210216175333_clusters_applications_ingress.yml | 2 +- ...0210216175335_clusters_applications_knative.yml | 2 +- .../20210216175337_clusters_management_project.yml | 2 +- .../20210216175339_clusters_disabled.yml | 2 +- .../counts_all/20210216175341_clusters_enabled.yml | 2 +- .../20210216175343_clusters_platforms_gke.yml | 2 +- .../20210216175345_clusters_platforms_eks.yml | 2 +- .../20210216175346_clusters_platforms_user.yml | 2 +- .../20210216175348_instance_clusters_disabled.yml | 2 +- .../20210216175350_instance_clusters_enabled.yml | 2 +- .../20210216175352_group_clusters_disabled.yml | 2 +- .../20210216175354_group_clusters_enabled.yml | 2 +- .../20210216175356_project_clusters_disabled.yml | 2 +- .../20210216175358_project_clusters_enabled.yml | 2 +- ...10216175403_projects_with_prometheus_alerts.yml | 2 +- ...75442_ingress_modsecurity_packets_processed.yml | 3 +- ...75444_ingress_modsecurity_packets_anomalous.yml | 3 +- .../20210216175446_network_policy_forwards.yml | 3 +- .../20210216175448_network_policy_drops.yml | 3 +- .../20210216175450_ingress_modsecurity_logging.yml | 3 +- ...20210216175452_ingress_modsecurity_blocking.yml | 3 +- ...20210216175454_ingress_modsecurity_disabled.yml | 2 +- ...216175456_ingress_modsecurity_not_installed.yml | 3 +- .../counts_all/20210216175510_ci_builds.yml | 3 +- .../20210216175512_ci_internal_pipelines.yml | 3 +- .../20210216175514_ci_external_pipelines.yml | 3 +- ...210216175516_ci_pipeline_config_auto_devops.yml | 3 +- ...0210216175518_ci_pipeline_config_repository.yml | 3 +- .../counts_all/20210216175520_ci_runners.yml | 3 +- .../counts_all/20210216175521_ci_triggers.yml | 3 +- .../20210216175523_ci_pipeline_schedules.yml | 3 +- .../counts_all/20210216175525_ci_builds.yml | 2 +- .../20210216175527_ci_external_pipelines.yml | 2 +- .../20210216175529_ci_internal_pipelines.yml | 2 +- ...210216175531_ci_pipeline_config_auto_devops.yml | 2 +- ...0210216175533_ci_pipeline_config_repository.yml | 2 +- .../20210216175535_ci_pipeline_schedules.yml | 2 +- .../counts_all/20210216175537_ci_pipelines.yml | 2 +- .../counts_all/20210216175539_ci_triggers.yml | 2 +- .../counts_all/20210216175612_dast_jobs.yml | 17 - .../counts_all/20210216175614_user_dast_jobs.yml | 17 - .../counts_all/20210216175621_web_hooks.yml | 11 +- .../20210216175623_projects_asana_active.yml | 7 +- .../20210216175625_groups_asana_active.yml | 7 +- .../20210216175627_templates_asana_active.yml | 7 +- .../20210216175628_instances_asana_active.yml | 7 +- ...0216175630_projects_inheriting_asana_active.yml | 7 +- ...210216175632_groups_inheriting_asana_active.yml | 7 +- .../20210216175634_projects_assembla_active.yml | 7 +- .../20210216175636_groups_assembla_active.yml | 7 +- .../20210216175638_templates_assembla_active.yml | 7 +- .../20210216175640_instances_assembla_active.yml | 7 +- ...6175642_projects_inheriting_assembla_active.yml | 7 +- ...216175644_groups_inheriting_assembla_active.yml | 7 +- .../20210216175645_projects_bamboo_active.yml | 7 +- .../20210216175647_groups_bamboo_active.yml | 7 +- .../20210216175649_templates_bamboo_active.yml | 7 +- .../20210216175651_instances_bamboo_active.yml | 7 +- ...216175653_projects_inheriting_bamboo_active.yml | 7 +- ...10216175655_groups_inheriting_bamboo_active.yml | 7 +- .../20210216175657_projects_bugzilla_active.yml | 7 +- .../20210216175659_groups_bugzilla_active.yml | 7 +- .../20210216175701_templates_bugzilla_active.yml | 7 +- .../20210216175702_instances_bugzilla_active.yml | 7 +- ...6175704_projects_inheriting_bugzilla_active.yml | 7 +- ...216175706_groups_inheriting_bugzilla_active.yml | 7 +- .../20210216175708_projects_buildkite_active.yml | 7 +- .../20210216175710_groups_buildkite_active.yml | 7 +- .../20210216175712_templates_buildkite_active.yml | 7 +- .../20210216175714_instances_buildkite_active.yml | 7 +- ...175716_projects_inheriting_buildkite_active.yml | 7 +- ...16175717_groups_inheriting_buildkite_active.yml | 7 +- .../20210216175719_projects_campfire_active.yml | 7 +- .../20210216175721_groups_campfire_active.yml | 7 +- .../20210216175723_templates_campfire_active.yml | 7 +- .../20210216175725_instances_campfire_active.yml | 7 +- ...6175727_projects_inheriting_campfire_active.yml | 7 +- ...216175729_groups_inheriting_campfire_active.yml | 7 +- .../20210216175731_projects_confluence_active.yml | 7 +- .../20210216175733_groups_confluence_active.yml | 7 +- .../20210216175734_templates_confluence_active.yml | 7 +- .../20210216175736_instances_confluence_active.yml | 7 +- ...75738_projects_inheriting_confluence_active.yml | 7 +- ...6175740_groups_inheriting_confluence_active.yml | 7 +- ...175742_projects_custom_issue_tracker_active.yml | 7 +- ...16175744_groups_custom_issue_tracker_active.yml | 7 +- ...75745_templates_custom_issue_tracker_active.yml | 7 +- ...75747_instances_custom_issue_tracker_active.yml | 7 +- ...ects_inheriting_custom_issue_tracker_active.yml | 7 +- ...oups_inheriting_custom_issue_tracker_active.yml | 7 +- .../20210216175753_projects_discord_active.yml | 7 +- .../20210216175755_groups_discord_active.yml | 7 +- .../20210216175756_templates_discord_active.yml | 7 +- .../20210216175758_instances_discord_active.yml | 7 +- ...16175800_projects_inheriting_discord_active.yml | 7 +- ...0216175802_groups_inheriting_discord_active.yml | 7 +- .../20210216175804_projects_drone_ci_active.yml | 7 +- .../20210216175806_groups_drone_ci_active.yml | 7 +- .../20210216175807_templates_drone_ci_active.yml | 7 +- .../20210216175809_instances_drone_ci_active.yml | 7 +- ...6175811_projects_inheriting_drone_ci_active.yml | 7 +- ...216175813_groups_inheriting_drone_ci_active.yml | 7 +- ...210216175815_projects_emails_on_push_active.yml | 7 +- ...20210216175817_groups_emails_on_push_active.yml | 7 +- ...10216175818_templates_emails_on_push_active.yml | 7 +- ...10216175820_instances_emails_on_push_active.yml | 7 +- ...2_projects_inheriting_emails_on_push_active.yml | 7 +- ...824_groups_inheriting_emails_on_push_active.yml | 7 +- ...0210216175826_projects_external_wiki_active.yml | 7 +- .../20210216175828_groups_external_wiki_active.yml | 7 +- ...210216175829_templates_external_wiki_active.yml | 7 +- ...210216175831_instances_external_wiki_active.yml | 7 +- ...33_projects_inheriting_external_wiki_active.yml | 7 +- ...5835_groups_inheriting_external_wiki_active.yml | 7 +- .../20210216175837_projects_flowdock_active.yml | 7 +- .../20210216175839_groups_flowdock_active.yml | 7 +- .../20210216175840_templates_flowdock_active.yml | 7 +- .../20210216175842_instances_flowdock_active.yml | 7 +- ...6175844_projects_inheriting_flowdock_active.yml | 7 +- ...216175846_groups_inheriting_flowdock_active.yml | 7 +- ...0210216175859_projects_hangouts_chat_active.yml | 7 +- .../20210216175901_groups_hangouts_chat_active.yml | 7 +- ...210216175902_templates_hangouts_chat_active.yml | 7 +- ...210216175904_instances_hangouts_chat_active.yml | 7 +- ...06_projects_inheriting_hangouts_chat_active.yml | 7 +- ...5908_groups_inheriting_hangouts_chat_active.yml | 7 +- .../20210216175910_projects_hipchat_active.yml | 7 +- .../20210216175912_groups_hipchat_active.yml | 7 +- .../20210216175913_templates_hipchat_active.yml | 7 +- .../20210216175915_instances_hipchat_active.yml | 7 +- ...16175917_projects_inheriting_hipchat_active.yml | 7 +- ...0216175919_groups_inheriting_hipchat_active.yml | 7 +- .../20210216175921_projects_irker_active.yml | 7 +- .../20210216175923_groups_irker_active.yml | 7 +- .../20210216175924_templates_irker_active.yml | 7 +- .../20210216175926_instances_irker_active.yml | 7 +- ...0216175928_projects_inheriting_irker_active.yml | 7 +- ...210216175930_groups_inheriting_irker_active.yml | 7 +- .../20210216175932_projects_jenkins_active.yml | 7 +- .../20210216175934_groups_jenkins_active.yml | 7 +- .../20210216175935_templates_jenkins_active.yml | 7 +- .../20210216175937_instances_jenkins_active.yml | 7 +- ...16175939_projects_inheriting_jenkins_active.yml | 7 +- ...0216175941_groups_inheriting_jenkins_active.yml | 7 +- .../20210216175943_projects_jira_active.yml | 7 +- .../20210216175945_groups_jira_active.yml | 7 +- .../20210216175946_templates_jira_active.yml | 7 +- .../20210216175948_instances_jira_active.yml | 7 +- ...10216175950_projects_inheriting_jira_active.yml | 7 +- ...0210216175952_groups_inheriting_jira_active.yml | 7 +- .../20210216175954_projects_mattermost_active.yml | 7 +- .../20210216175956_groups_mattermost_active.yml | 7 +- .../20210216175957_templates_mattermost_active.yml | 7 +- .../20210216175959_instances_mattermost_active.yml | 7 +- ...80001_projects_inheriting_mattermost_active.yml | 7 +- ...6180003_groups_inheriting_mattermost_active.yml | 7 +- ...5_projects_mattermost_slash_commands_active.yml | 7 +- ...006_groups_mattermost_slash_commands_active.yml | 7 +- ..._templates_mattermost_slash_commands_active.yml | 7 +- ..._instances_mattermost_slash_commands_active.yml | 7 +- ...inheriting_mattermost_slash_commands_active.yml | 7 +- ...inheriting_mattermost_slash_commands_active.yml | 7 +- ...10216180016_projects_microsoft_teams_active.yml | 7 +- ...0210216180018_groups_microsoft_teams_active.yml | 7 +- ...0216180019_templates_microsoft_teams_active.yml | 7 +- ...0216180021_instances_microsoft_teams_active.yml | 7 +- ..._projects_inheriting_microsoft_teams_active.yml | 7 +- ...25_groups_inheriting_microsoft_teams_active.yml | 7 +- .../20210216180027_projects_packagist_active.yml | 7 +- .../20210216180029_groups_packagist_active.yml | 7 +- .../20210216180030_templates_packagist_active.yml | 7 +- .../20210216180032_instances_packagist_active.yml | 7 +- ...180034_projects_inheriting_packagist_active.yml | 7 +- ...16180036_groups_inheriting_packagist_active.yml | 7 +- ...10216180038_projects_pipelines_email_active.yml | 7 +- ...0210216180040_groups_pipelines_email_active.yml | 7 +- ...0216180041_templates_pipelines_email_active.yml | 7 +- ...0216180043_instances_pipelines_email_active.yml | 7 +- ..._projects_inheriting_pipelines_email_active.yml | 7 +- ...47_groups_inheriting_pipelines_email_active.yml | 7 +- ...210216180049_projects_pivotaltracker_active.yml | 7 +- ...20210216180051_groups_pivotaltracker_active.yml | 7 +- ...10216180052_templates_pivotaltracker_active.yml | 7 +- ...10216180054_instances_pivotaltracker_active.yml | 7 +- ...6_projects_inheriting_pivotaltracker_active.yml | 7 +- ...058_groups_inheriting_pivotaltracker_active.yml | 7 +- .../20210216180100_projects_pushover_active.yml | 7 +- .../20210216180102_groups_pushover_active.yml | 7 +- .../20210216180104_templates_pushover_active.yml | 7 +- .../20210216180105_instances_pushover_active.yml | 7 +- ...6180107_projects_inheriting_pushover_active.yml | 7 +- ...216180109_groups_inheriting_pushover_active.yml | 7 +- .../20210216180111_projects_redmine_active.yml | 7 +- .../20210216180113_groups_redmine_active.yml | 7 +- .../20210216180115_templates_redmine_active.yml | 7 +- .../20210216180116_instances_redmine_active.yml | 7 +- ...16180118_projects_inheriting_redmine_active.yml | 7 +- ...0216180120_groups_inheriting_redmine_active.yml | 7 +- .../20210216180122_projects_slack_active.yml | 7 +- .../20210216180124_groups_slack_active.yml | 7 +- .../20210216180126_templates_slack_active.yml | 7 +- .../20210216180127_instances_slack_active.yml | 7 +- ...0216180129_projects_inheriting_slack_active.yml | 7 +- ...210216180131_groups_inheriting_slack_active.yml | 7 +- ...180133_projects_slack_slash_commands_active.yml | 7 +- ...16180135_groups_slack_slash_commands_active.yml | 7 +- ...80137_templates_slack_slash_commands_active.yml | 7 +- ...80138_instances_slack_slash_commands_active.yml | 7 +- ...ects_inheriting_slack_slash_commands_active.yml | 7 +- ...oups_inheriting_slack_slash_commands_active.yml | 7 +- .../20210216180144_projects_teamcity_active.yml | 7 +- .../20210216180146_groups_teamcity_active.yml | 7 +- .../20210216180148_templates_teamcity_active.yml | 7 +- .../20210216180149_instances_teamcity_active.yml | 7 +- ...6180151_projects_inheriting_teamcity_active.yml | 7 +- ...216180153_groups_inheriting_teamcity_active.yml | 7 +- ...0210216180155_projects_unify_circuit_active.yml | 7 +- .../20210216180157_groups_unify_circuit_active.yml | 7 +- ...210216180159_templates_unify_circuit_active.yml | 7 +- ...210216180201_instances_unify_circuit_active.yml | 7 +- ...03_projects_inheriting_unify_circuit_active.yml | 7 +- ...0204_groups_inheriting_unify_circuit_active.yml | 7 +- .../20210216180206_projects_webex_teams_active.yml | 7 +- .../20210216180208_groups_webex_teams_active.yml | 7 +- ...20210216180210_templates_webex_teams_active.yml | 7 +- ...20210216180212_instances_webex_teams_active.yml | 7 +- ...0214_projects_inheriting_webex_teams_active.yml | 7 +- ...180215_groups_inheriting_webex_teams_active.yml | 7 +- .../20210216180217_projects_youtrack_active.yml | 7 +- .../20210216180219_groups_youtrack_active.yml | 7 +- .../20210216180221_templates_youtrack_active.yml | 7 +- .../20210216180223_instances_youtrack_active.yml | 7 +- ...6180225_projects_inheriting_youtrack_active.yml | 7 +- ...216180226_groups_inheriting_youtrack_active.yml | 7 +- .../20210216180228_projects_jira_server_active.yml | 7 +- .../20210216180230_projects_jira_cloud_active.yml | 7 +- ...10216180232_projects_jira_dvcs_cloud_active.yml | 7 +- ...0216180234_projects_jira_dvcs_server_active.yml | 7 +- .../20210216180239_personal_snippets.yml | 3 +- .../counts_all/20210216180241_project_snippets.yml | 3 +- .../counts_all/20210216180242_web_ide_commits.yml | 3 +- .../counts_all/20210216180244_web_ide_views.yml | 3 +- .../20210216180246_web_ide_merge_requests.yml | 3 +- .../counts_all/20210216180248_web_ide_previews.yml | 3 +- .../20210216180250_web_ide_terminals.yml | 3 +- .../20210216180252_web_ide_pipelines.yml | 3 +- .../counts_all/20210216180253_snippet_comment.yml | 3 +- .../counts_all/20210216180255_snippet_create.yml | 3 +- .../counts_all/20210216180257_snippet_update.yml | 3 +- .../20210216180259_static_site_editor_views.yml | 5 +- .../20210216180301_static_site_editor_commits.yml | 2 +- ...216180303_static_site_editor_merge_requests.yml | 2 +- ...180304_user_preferences_user_gitpod_enabled.yml | 3 +- .../metrics/counts_all/20210216180306_snippets.yml | 3 +- .../metrics/counts_all/20210216180316_snippets.yml | 2 +- .../counts_all/20210216180344_api_fuzzing_jobs.yml | 17 - .../20210216180346_api_fuzzing_dnd_jobs.yml | 17 - .../20210216180348_user_api_fuzzing_jobs.yml | 17 - .../20210216180350_user_api_fuzzing_dnd_jobs.yml | 17 - .../20210216180410_pool_repositories.yml | 3 +- .../counts_all/20210216180413_all_searches.yml | 3 +- .../counts_all/20210216180414_navbar_searches.yml | 6 +- .../counts_all/20210216180416_i_search_total.yml | 2 +- ...ssues_created_from_gitlab_error_tracking_ui.yml | 3 +- ...0216180436_issues_with_associated_zoom_link.yml | 3 +- ...10216180438_issues_using_zoom_quick_actions.yml | 3 +- ..._issues_with_embedded_grafana_charts_approx.yml | 3 +- .../20210216180441_issues_created_from_alerts.yml | 3 +- ...20210216180443_issues_created_gitlab_alerts.yml | 3 +- ...6180445_issues_created_manually_from_alerts.yml | 3 +- .../counts_all/20210216180447_incident_issues.yml | 3 +- .../20210216180449_alert_bot_incident_issues.yml | 3 +- .../20210216180451_incident_labeled_issues.yml | 3 +- .../20210216180453_projects_creating_incidents.yml | 3 +- ...180454_projects_with_error_tracking_enabled.yml | 3 +- ...180456_projects_with_alerts_service_enabled.yml | 3 +- ...20210216180458_projects_with_alerts_created.yml | 3 +- ...00_projects_with_enabled_alert_integrations.yml | 3 +- ...180517_projects_with_error_tracking_enabled.yml | 2 +- .../20210216180518_projects_with_incidents.yml | 2 +- ...0210216180520_projects_with_alert_incidents.yml | 2 +- ...0210216180628_projects_imported_from_github.yml | 11 +- ...0210216180630_projects_imported_from_github.yml | 12 +- .../20210216180632_unique_users_all_imports.yml | 10 +- .../metrics/counts_all/20210216180634_gitlab.yml | 10 +- .../counts_all/20210216180636_gitlab_v1.yml | 10 +- .../counts_all/20210216180638_gitlab_project.yml | 4 +- .../metrics/counts_all/20210216180639_gitlab.yml | 4 +- .../metrics/counts_all/20210216180641_github.yml | 4 +- .../counts_all/20210216180643_bitbucket.yml | 4 +- .../counts_all/20210216180645_bitbucket_server.yml | 4 +- config/metrics/counts_all/20210216180647_gitea.yml | 4 +- config/metrics/counts_all/20210216180649_git.yml | 4 +- .../metrics/counts_all/20210216180650_manifest.yml | 4 +- .../counts_all/20210216180652_gitlab_migration.yml | 4 +- config/metrics/counts_all/20210216180654_jira.yml | 10 +- .../metrics/counts_all/20210216180656_fogbugz.yml | 10 +- .../counts_all/20210216180658_phabricator.yml | 10 +- config/metrics/counts_all/20210216180700_csv.yml | 10 +- .../counts_all/20210216180702_group_import.yml | 12 +- .../counts_all/20210216180703_gitlab_migration.yml | 10 +- config/metrics/counts_all/20210216180705_total.yml | 10 +- .../counts_all/20210216180707_gitlab_project.yml | 10 +- .../metrics/counts_all/20210216180709_gitlab.yml | 10 +- .../metrics/counts_all/20210216180711_github.yml | 10 +- .../counts_all/20210216180713_bitbucket.yml | 10 +- .../counts_all/20210216180715_bitbucket_server.yml | 10 +- config/metrics/counts_all/20210216180716_gitea.yml | 10 +- config/metrics/counts_all/20210216180718_git.yml | 10 +- .../metrics/counts_all/20210216180720_manifest.yml | 10 +- config/metrics/counts_all/20210216180722_jira.yml | 10 +- .../metrics/counts_all/20210216180724_fogbugz.yml | 10 +- .../counts_all/20210216180726_phabricator.yml | 10 +- config/metrics/counts_all/20210216180727_csv.yml | 10 +- .../counts_all/20210216180729_groups_imported.yml | 10 +- .../20210216180734_wiki_pages_create.yml | 3 +- .../20210216180736_wiki_pages_update.yml | 3 +- .../20210216180738_wiki_pages_delete.yml | 3 +- ...0216180740_design_management_designs_create.yml | 3 +- ...0216180741_design_management_designs_update.yml | 3 +- ...0216180743_design_management_designs_delete.yml | 3 +- .../metrics/counts_all/20210216180750_groups.yml | 3 +- config/metrics/counts_all/20210216180752_keys.yml | 3 +- .../metrics/counts_all/20210216180754_events.yml | 11 +- .../metrics/counts_all/20210216180756_groups.yml | 2 +- .../counts_all/20210216180758_users_created.yml | 2 +- .../20210216180927_grafana_integrated_projects.yml | 5 +- ...0210216180929_projects_with_tracing_enabled.yml | 15 +- .../20210216180931_projects_prometheus_active.yml | 5 +- .../20210216180933_groups_prometheus_active.yml | 5 +- .../20210216180934_templates_prometheus_active.yml | 5 +- .../20210216180936_instances_prometheus_active.yml | 5 +- ...80938_projects_inheriting_prometheus_active.yml | 5 +- ...6180940_groups_inheriting_prometheus_active.yml | 5 +- ...0942_operations_dashboard_default_dashboard.yml | 15 +- ...rations_dashboard_users_with_projects_added.yml | 15 +- .../metrics/counts_all/20210216180945_clusters.yml | 2 +- ...0216180947_clusters_applications_prometheus.yml | 2 +- ...0949_operations_dashboard_default_dashboard.yml | 2 +- ...0210216180951_projects_with_tracing_enabled.yml | 2 +- ...rations_dashboard_users_with_projects_added.yml | 2 +- .../counts_all/20210216181009_lfs_objects.yml | 7 +- .../20210216181011_projects_with_packages.yml | 3 +- .../metrics/counts_all/20210216181012_packages.yml | 3 +- ...14_projects_with_expiration_policy_disabled.yml | 3 +- ...016_projects_with_expiration_policy_enabled.yml | 3 +- ...iration_policy_enabled_with_keep_n_set_to_1.yml | 3 +- ...iration_policy_enabled_with_keep_n_set_to_5.yml | 3 +- ...ration_policy_enabled_with_keep_n_set_to_10.yml | 3 +- ...ration_policy_enabled_with_keep_n_set_to_25.yml | 3 +- ...ration_policy_enabled_with_keep_n_set_to_50.yml | 3 +- ...ation_policy_enabled_with_keep_n_set_to_100.yml | 3 +- ...ation_policy_enabled_with_cadence_set_to_1d.yml | 3 +- ...ation_policy_enabled_with_cadence_set_to_7d.yml | 3 +- ...tion_policy_enabled_with_cadence_set_to_14d.yml | 3 +- ...n_policy_enabled_with_cadence_set_to_1month.yml | 3 +- ...n_policy_enabled_with_cadence_set_to_3month.yml | 3 +- ...on_policy_enabled_with_older_than_set_to_7d.yml | 3 +- ...n_policy_enabled_with_older_than_set_to_14d.yml | 3 +- ...n_policy_enabled_with_older_than_set_to_30d.yml | 3 +- ...n_policy_enabled_with_older_than_set_to_90d.yml | 3 +- ...expiration_policy_enabled_with_keep_n_unset.yml | 3 +- ...ration_policy_enabled_with_older_than_unset.yml | 3 +- .../metrics/counts_all/20210216181051_vendor.yml | 2 +- .../20210216181055_projects_with_packages.yml | 2 +- .../metrics/counts_all/20210216181102_issues.yml | 3 +- .../counts_all/20210216181104_label_lists.yml | 15 +- .../counts_all/20210216181108_milestones.yml | 13 +- .../metrics/counts_all/20210216181109_uploads.yml | 7 +- .../metrics/counts_all/20210216181111_labels.yml | 5 +- config/metrics/counts_all/20210216181113_notes.yml | 5 +- .../metrics/counts_all/20210216181115_issues.yml | 2 +- config/metrics/counts_all/20210216181117_notes.yml | 2 +- .../metrics/counts_all/20210216181119_projects.yml | 2 +- config/metrics/counts_all/20210216181121_todos.yml | 2 +- ...0210216181122_service_desk_enabled_projects.yml | 13 +- .../20210216181124_service_desk_issues.yml | 13 +- .../20210216181126_projects_jira_active.yml | 16 +- ...10216181128_projects_jira_dvcs_cloud_active.yml | 16 +- ...0216181130_projects_jira_dvcs_server_active.yml | 16 +- config/metrics/counts_all/20210216181134_epics.yml | 15 +- .../counts_all/20210216181135_label_lists.yml | 2 +- .../counts_all/20210216181249_feature_flags.yml | 11 +- .../metrics/counts_all/20210216181252_boards.yml | 3 +- .../metrics/counts_all/20210216181254_projects.yml | 9 +- config/metrics/counts_all/20210216181256_todos.yml | 3 +- ...216181258_jira_imports_total_imported_count.yml | 7 +- .../20210216181259_jira_imports_projects_count.yml | 7 +- ...01_jira_imports_total_imported_issues_count.yml | 7 +- .../counts_all/20210216181908_deploy_keys.yml | 13 +- .../20210216181911_successful_deployments.yml | 11 +- .../20210216181912_failed_deployments.yml | 11 +- .../counts_all/20210216181914_environments.yml | 11 +- .../counts_all/20210216181916_in_review_folder.yml | 13 +- .../metrics/counts_all/20210216181918_releases.yml | 13 +- .../counts_all/20210216181926_deployments.yml | 12 +- .../20210216181928_failed_deployments.yml | 12 +- .../metrics/counts_all/20210216181930_releases.yml | 12 +- .../20210216181932_successful_deployments.yml | 12 +- .../counts_all/20210216181946_pages_domains.yml | 11 +- ...20210216181949_clusters_applications_runner.yml | 2 +- ...81954_user_unique_users_all_secure_scanners.yml | 2 +- .../counts_all/20210216182002_remote_mirrors.yml | 3 +- .../counts_all/20210216182004_commit_comment.yml | 3 +- .../20210216182006_source_code_pushes.yml | 7 +- .../counts_all/20210216182010_deploy_keys.yml | 2 +- config/metrics/counts_all/20210216182012_keys.yml | 2 +- ...able_overriding_approvers_per_merge_request.yml | 2 +- ...able_overriding_approvers_per_merge_request.yml | 2 +- .../counts_all/20210216182017_remote_mirrors.yml | 2 +- .../counts_all/20210216182112_sast_jobs.yml | 3 +- .../20210216182114_secret_detection_jobs.yml | 3 +- .../counts_all/20210216182116_user_sast_jobs.yml | 2 +- .../20210216182118_user_secret_detection_jobs.yml | 2 +- ...216182454_protected_branches_except_default.yml | 3 +- .../20210216182547_projects_datadog_active.yml | 7 +- .../20210216182549_groups_datadog_active.yml | 7 +- .../20210216182551_templates_datadog_active.yml | 6 +- .../20210216182553_instances_datadog_active.yml | 7 +- ...16182555_projects_inheriting_datadog_active.yml | 7 +- ...0216182557_groups_inheriting_datadog_active.yml | 7 +- .../20210216182614_projects_ewm_active.yml | 7 +- .../20210216182616_groups_ewm_active.yml | 7 +- .../20210216182618_templates_ewm_active.yml | 7 +- .../20210216182620_instances_ewm_active.yml | 7 +- ...210216182622_projects_inheriting_ewm_active.yml | 7 +- ...20210216182623_groups_inheriting_ewm_active.yml | 7 +- .../20210216182722_projects_mock_ci_active.yml | 6 +- .../20210216182724_groups_mock_ci_active.yml | 6 +- .../20210216182726_templates_mock_ci_active.yml | 6 +- .../20210216182728_instances_mock_ci_active.yml | 6 +- ...16182730_projects_inheriting_mock_ci_active.yml | 6 +- ...0216182732_groups_inheriting_mock_ci_active.yml | 6 +- ...10216182734_projects_mock_monitoring_active.yml | 6 +- ...0210216182736_groups_mock_monitoring_active.yml | 6 +- ...0216182738_templates_mock_monitoring_active.yml | 6 +- ...0216182739_instances_mock_monitoring_active.yml | 6 +- ..._projects_inheriting_mock_monitoring_active.yml | 6 +- ...43_groups_inheriting_mock_monitoring_active.yml | 6 +- ...ge_events_i_package_composer_delete_package.yml | 2 +- ...kage_events_i_package_composer_pull_package.yml | 2 +- ...kage_events_i_package_composer_push_package.yml | 3 +- ...ckage_events_i_package_conan_delete_package.yml | 2 +- ...package_events_i_package_conan_pull_package.yml | 3 +- ...package_events_i_package_conan_push_package.yml | 3 +- ...e_events_i_package_container_delete_package.yml | 2 +- ...age_events_i_package_container_pull_package.yml | 2 +- ...age_events_i_package_container_push_package.yml | 2 +- ...kage_events_i_package_debian_delete_package.yml | 2 +- ...ackage_events_i_package_debian_pull_package.yml | 2 +- ...ackage_events_i_package_debian_push_package.yml | 2 +- ...919_package_events_i_package_delete_package.yml | 2 +- ...ts_i_package_delete_package_by_deploy_token.yml | 2 +- ...ge_events_i_package_delete_package_by_guest.yml | 2 +- ...age_events_i_package_delete_package_by_user.yml | 2 +- ...age_events_i_package_generic_delete_package.yml | 2 +- ...ckage_events_i_package_generic_pull_package.yml | 2 +- ...ckage_events_i_package_generic_push_package.yml | 2 +- ...kage_events_i_package_golang_delete_package.yml | 2 +- ...ackage_events_i_package_golang_pull_package.yml | 2 +- ...ackage_events_i_package_golang_push_package.yml | 2 +- ...ckage_events_i_package_maven_delete_package.yml | 2 +- ...package_events_i_package_maven_pull_package.yml | 3 +- ...package_events_i_package_maven_push_package.yml | 3 +- ...package_events_i_package_npm_delete_package.yml | 2 +- ...6_package_events_i_package_npm_pull_package.yml | 3 +- ...8_package_events_i_package_npm_push_package.yml | 3 +- ...ckage_events_i_package_nuget_delete_package.yml | 2 +- ...package_events_i_package_nuget_pull_package.yml | 3 +- ...package_events_i_package_nuget_push_package.yml | 3 +- ...82956_package_events_i_package_pull_package.yml | 3 +- ...ents_i_package_pull_package_by_deploy_token.yml | 3 +- ...kage_events_i_package_pull_package_by_guest.yml | 3 +- ...ckage_events_i_package_pull_package_by_user.yml | 3 +- ...83004_package_events_i_package_push_package.yml | 5 +- ...ents_i_package_push_package_by_deploy_token.yml | 3 +- ...kage_events_i_package_push_package_by_guest.yml | 2 +- ...ckage_events_i_package_push_package_by_user.yml | 3 +- ...ackage_events_i_package_pypi_delete_package.yml | 2 +- ..._package_events_i_package_pypi_pull_package.yml | 3 +- ..._package_events_i_package_pypi_push_package.yml | 3 +- ...package_events_i_package_tag_delete_package.yml | 2 +- ...9_package_events_i_package_tag_pull_package.yml | 2 +- ...1_package_events_i_package_tag_push_package.yml | 2 +- .../counts_all/20210216183023_wiki_pages_view.yml | 3 +- .../20210216183146_coverage_fuzzing_jobs.yml | 17 - .../20210216183149_dast_on_demand_pipelines.yml | 17 - .../20210216183400_omniauth_providers.yml | 2 +- .../counts_all/20210216183402_two-factor.yml | 2 +- .../20210216183404_two-factor-via-u2f-device.yml | 2 +- ...210216183406_two-factor-via-webauthn-device.yml | 2 +- .../metrics/counts_all/20210216183408_standard.yml | 2 +- .../counts_all/20210216183410_google_oauth2.yml | 2 +- .../20210216183514_user_coverage_fuzzing_jobs.yml | 17 - ...ge_events_i_package_rubygems_delete_package.yml | 2 +- ...kage_events_i_package_rubygems_pull_package.yml | 2 +- ...kage_events_i_package_rubygems_push_package.yml | 2 +- ...s_with_enabled_alert_integrations_histogram.yml | 2 +- ...s_i_package_terraform_module_delete_package.yml | 2 +- ...nts_i_package_terraform_module_pull_package.yml | 2 +- ...nts_i_package_terraform_module_push_package.yml | 2 +- ...20210423005644_i_analytics_dev_ops_adoption.yml | 2 +- ...0210427212450_geo_secondary_web_oauth_users.yml | 2 +- ...ers_viewing_analytics_group_devops_adoption.yml | 2 +- ...10502045402_ci_runners_instance_type_active.yml | 2 +- ...20210502050341_ci_runners_group_type_active.yml | 2 +- ...210502050834_ci_runners_project_type_active.yml | 2 +- .../20210502050942_ci_runners_online.yml | 2 +- ...1651_ci_runners_instance_type_active_online.yml | 2 +- ...2051922_ci_runners_group_type_active_online.yml | 2 +- ...52036_ci_runners_project_type_active_online.yml | 2 +- ...37_in_product_marketing_email_create_0_sent.yml | 2 +- ...roduct_marketing_email_create_0_cta_clicked.yml | 2 +- ...48_in_product_marketing_email_create_1_sent.yml | 2 +- ...roduct_marketing_email_create_1_cta_clicked.yml | 2 +- ...04_in_product_marketing_email_create_2_sent.yml | 2 +- ...roduct_marketing_email_create_2_cta_clicked.yml | 2 +- ...07_in_product_marketing_email_verify_0_sent.yml | 2 +- ...roduct_marketing_email_verify_0_cta_clicked.yml | 2 +- ...55_in_product_marketing_email_verify_1_sent.yml | 2 +- ...roduct_marketing_email_verify_1_cta_clicked.yml | 2 +- ...15_in_product_marketing_email_verify_2_sent.yml | 2 +- ...roduct_marketing_email_verify_2_cta_clicked.yml | 2 +- ...035_in_product_marketing_email_trial_0_sent.yml | 2 +- ...product_marketing_email_trial_0_cta_clicked.yml | 2 +- ...054_in_product_marketing_email_trial_1_sent.yml | 2 +- ...product_marketing_email_trial_1_cta_clicked.yml | 2 +- ...114_in_product_marketing_email_trial_2_sent.yml | 2 +- ...product_marketing_email_trial_2_cta_clicked.yml | 2 +- ...3134_in_product_marketing_email_team_0_sent.yml | 2 +- ..._product_marketing_email_team_0_cta_clicked.yml | 2 +- ...3153_in_product_marketing_email_team_1_sent.yml | 2 +- ..._product_marketing_email_team_1_cta_clicked.yml | 2 +- ...3213_in_product_marketing_email_team_2_sent.yml | 2 +- ..._product_marketing_email_team_2_cta_clicked.yml | 2 +- .../20210514141520_project_imports_total.yml | 2 +- ..._package_events_i_package_helm_pull_package.yml | 2 +- ...n_product_marketing_email_experience_0_sent.yml | 2 +- ..._package_events_i_package_helm_push_package.yml | 2 +- ..._events_i_package_nuget_pull_symbol_package.yml | 2 +- ..._events_i_package_nuget_push_symbol_package.yml | 2 +- ...ackage_events_i_package_pull_symbol_package.yml | 2 +- ...package_pull_symbol_package_by_deploy_token.yml | 2 +- ...ents_i_package_pull_symbol_package_by_guest.yml | 2 +- ...vents_i_package_pull_symbol_package_by_user.yml | 2 +- ...ackage_events_i_package_push_symbol_package.yml | 2 +- ...package_push_symbol_package_by_deploy_token.yml | 2 +- ...ents_i_package_push_symbol_package_by_guest.yml | 2 +- ...vents_i_package_push_symbol_package_by_user.yml | 2 +- .../counts_all/20210723075525_diff_searches.yml | 21 + ...ct_marketing_email_team_short_0_cta_clicked.yml | 22 + ...n_product_marketing_email_team_short_0_sent.yml | 22 + ...t_marketing_email_trial_short_0_cta_clicked.yml | 22 + ..._product_marketing_email_trial_short_0_sent.yml | 22 + ..._marketing_email_admin_verify_0_cta_clicked.yml | 22 + ...product_marketing_email_admin_verify_0_sent.yml | 22 + .../metrics/license/20210201124932_recorded_at.yml | 3 +- config/metrics/license/20210201124933_uuid.yml | 3 +- config/metrics/license/20210204124827_hostname.yml | 3 +- .../license/20210204124829_active_user_count.yml | 3 +- config/metrics/license/20210204124928_version.yml | 3 +- .../license/20210204124936_pages_version.yml | 20 + config/metrics/license/20210204124936_version.yml | 17 - .../20210204124938_recording_ce_finished_at.yml | 3 +- config/metrics/license/20210216175601_version.yml | 3 +- .../license/20210216175602_installation_type.yml | 4 +- config/metrics/license/20210216181053_version.yml | 3 +- config/metrics/license/20210216183237_version.yml | 3 +- .../collected_data_categories_schema.json | 2 +- ..._with_enabled_alert_integrations_histogram.json | 2 +- .../metrics/objects_schemas/topology_schema.json | 4 +- config/metrics/schema.json | 9 +- .../settings/20210201124935_database_adapter.yml | 3 +- ...20210204124856_instance_auto_devops_enabled.yml | 3 +- .../20210204124858_container_registry_enabled.yml | 3 +- .../20210204124900_dependency_proxy_enabled.yml | 3 +- ...0210204124902_gitlab_shared_runners_enabled.yml | 3 +- .../settings/20210204124904_gravatar_enabled.yml | 4 +- .../settings/20210204124906_ldap_enabled.yml | 3 +- .../settings/20210204124908_mattermost_enabled.yml | 7 +- .../settings/20210204124910_omniauth_enabled.yml | 3 +- .../settings/20210204124912_prometheus_enabled.yml | 3 +- .../20210204124914_prometheus_metrics_enabled.yml | 3 +- .../20210204124916_reply_by_email_enabled.yml | 13 +- .../settings/20210204124918_signup_enabled.yml | 3 +- ...04124920_web_ide_clientside_preview_enabled.yml | 3 +- .../20210204124922_grafana_link_enabled.yml | 3 +- config/metrics/settings/20210204124934_enabled.yml | 17 - .../settings/20210204124934_pages_enabled.yml | 20 + .../settings/20210216174829_smtp_server.yml | 3 +- .../20210216175459_ingress_modsecurity_enabled.yml | 3 +- config/metrics/settings/20210216175604_edition.yml | 4 +- ...210216175606_ldap_encrypted_secrets_enabled.yml | 4 +- config/metrics/settings/20210216175609_version.yml | 4 +- .../settings/20210216180314_gitpod_enabled.yml | 3 +- config/metrics/settings/20210216180836_enabled.yml | 3 +- config/metrics/settings/20210216180838_enabled.yml | 3 +- .../settings/20210216180840_direct_upload.yml | 3 +- .../settings/20210216180841_background_upload.yml | 3 +- .../metrics/settings/20210216180843_provider.yml | 3 +- config/metrics/settings/20210216180845_enabled.yml | 3 +- config/metrics/settings/20210216180847_enabled.yml | 3 +- .../settings/20210216180849_direct_upload.yml | 3 +- .../settings/20210216180851_background_upload.yml | 3 +- .../metrics/settings/20210216180852_provider.yml | 3 +- config/metrics/settings/20210216180854_enabled.yml | 3 +- config/metrics/settings/20210216180856_enabled.yml | 3 +- .../settings/20210216180858_direct_upload.yml | 3 +- .../settings/20210216180900_background_upload.yml | 3 +- .../metrics/settings/20210216180902_provider.yml | 3 +- config/metrics/settings/20210216180903_enabled.yml | 3 +- config/metrics/settings/20210216180905_enabled.yml | 3 +- .../settings/20210216180907_direct_upload.yml | 3 +- .../settings/20210216180909_background_upload.yml | 3 +- .../metrics/settings/20210216180911_provider.yml | 3 +- config/metrics/settings/20210216180913_enabled.yml | 3 +- config/metrics/settings/20210216180915_enabled.yml | 3 +- .../settings/20210216180916_direct_upload.yml | 3 +- .../settings/20210216180918_background_upload.yml | 3 +- .../metrics/settings/20210216180920_provider.yml | 3 +- .../settings/20210216183241_filesystems.yml | 3 +- .../settings/20210216183248_pg_system_id.yml | 5 +- .../settings/20210225045628_operating_system.yml | 3 +- .../settings/20210321224827_gitaly_apdex.yml | 3 +- .../metrics/settings/20210323120839_topology.yml | 5 +- .../20210702140138_collected_data_categories.yml | 4 +- ...210812202137_smtp_encrypted_secrets_enabled.yml | 20 + config/puma.rb.example | 9 + config/routes.rb | 7 - config/routes/admin.rb | 2 +- config/routes/jira_connect.rb | 1 + config/routes/project.rb | 11 +- config/settings.rb | 6 - config/sidekiq_queues.yml | 2 + config/webpack.config.js | 21 +- danger/metadata/Dangerfile | 2 +- danger/pajamas/Dangerfile | 5 - danger/product_intelligence/Dangerfile | 9 - danger/roulette/Dangerfile | 4 +- danger/specialization_labels/Dangerfile | 2 +- data/whats_new/202102180001_13_09.yml | 2 +- data/whats_new/202104220001_13_11.yml | 2 +- data/whats_new/202105220001_13_12.yml | 2 +- db/ci_migrate | 1 + ...617101848_create_ci_instance_variables_on_ci.rb | 31 - db/ci_schema_migrations/20210617101848 | 1 - db/ci_structure.sql | 46 +- db/fixtures/development/17_cycle_analytics.rb | 2 +- db/fixtures/development/31_error_tracking.rb | 49 + ...add_allow_to_edit_commit_to_project_settings.rb | 8 +- ...082822_add_pages_file_entries_to_plan_limits.rb | 7 + ...10628154900_create_detached_partitions_table.rb | 17 + ...ssociate_existing_dast_builds_with_variables.rb | 77 + ..._dot_jwt_signing_key_to_application_settings.rb | 10 + ...24625_generate_customers_dot_jwt_signing_key.rb | 32 + ...add_remaining_ci_minutes_to_ci_pending_build.rb | 21 + ...dd_namespace_foreign_key_to_ci_pending_build.rb | 18 + ...dd_scanners_column_to_approval_project_rules.rb | 11 + .../20210709221051_create_work_item_types.rb | 34 + ...0210709221659_add_work_item_type_id_to_issue.rb | 31 + ...abel_applied_issuable_closed_to_issuable_sla.rb | 8 + .../20210713123345_create_dast_profile_schedule.rb | 36 + db/migrate/20210713211008_create_banned_users.rb | 20 + ...emove_null_constraint_from_security_findings.rb | 11 + ..._add_index_for_label_applied_to_issuable_sla.rb | 17 + ...ey_to_dast_profile_schedules_on_dast_profile.rb | 17 + ...oreign_key_to_dast_profile_schedules_on_user.rb | 17 + ...ign_key_to_dast_profile_schedules_on_project.rb | 17 + db/migrate/20210719145532_add_foreign_keys_view.rb | 26 + ...44_add_request_response_to_supporing_message.rb | 20 + ...719192928_add_invite_email_success_to_member.rb | 11 + ...0720130006_create_error_tracking_client_keys.rb | 24 + ...20140841_create_postgres_async_indexes_table.rb | 21 + ...ile_to_packages_debian_project_distributions.rb | 13 + ..._file_to_packages_debian_group_distributions.rb | 13 + ...es_debian_project_distributions_signed_files.rb | 14 + ...ages_debian_group_distributions_signed_files.rb | 14 + .../20210721134706_add_type_new_to_integrations.rb | 10 + ...4707_add_text_limit_to_integrations_type_new.rb | 15 + ...135638_add_triggers_to_integrations_type_new.rb | 79 + db/migrate/20210721145029_add_state_to_members.rb | 13 + ...721174411_add_is_removed_to_escalation_rules.rb | 7 + ...lation_rule_fk_for_pending_alert_escalations.rb | 29 + ...l_constraints_from_pending_escalations_alert.rb | 34 + ...ty_amount_column_into_approval_project_rules.rb | 11 + ...constraint_on_schedule_from_escalation_rules.rb | 13 + .../20210722074242_add_user_to_escalation_rules.rb | 17 + ...722074256_add_user_index_to_escalation_rules.rb | 33 + ...210722074309_add_user_fk_to_escalation_rules.rb | 17 + ...dd_xor_check_constraint_for_escalation_rules.rb | 17 + ...32844_devops_adoption_drop_redundant_indexes.rb | 20 + ...eature_flags_correct_flexible_rollout_values.rb | 29 + ...20210722151951_add_columns_to_security_scans.rb | 21 + ...041_add_overridden_uuid_to_security_findings.rb | 17 + ..._create_index_on_environments_auto_delete_at.rb | 20 + ...950_add_integrated_to_error_tracking_setting.rb | 11 + ...ility_severities_into_approval_project_rules.rb | 11 + ...728110654_add_status_to_error_tracking_error.rb | 11 + ...10728174349_add_fk_to_security_scans_columns.rb | 21 + ...0729061526_add_pronunciation_to_user_details.rb | 20 + ...add_text_limit_to_user_details_pronunciation.rb | 15 + db/migrate/20210729123101_confirm_security_bot.rb | 18 + ...move_foreign_keys_from_ci_test_case_failures.rb | 24 + ...92148_remove_foreign_keys_from_ci_test_cases.rb | 19 + ...dent_management_issuable_escalation_statuses.rb | 20 + ...analytics_cycle_analytics_stage_event_hashes.rb | 10 + ...30102952_add_stage_hash_fk_to_project_stages.rb | 20 + ...0730103808_add_stage_hash_fk_to_group_stages.rb | 20 + ...dd_unique_index_to_vulnerability_flags_table.rb | 17 + .../20210804150320_create_base_work_item_types.rb | 35 + ...0114_create_customer_relations_organizations.rb | 27 + ...dd_tmp_index_approval_project_rules_scanners.rb | 20 + ...security_orchestration_policy_rule_schedules.rb | 7 + ..._requests_forwarding_to_application_settings.rb | 17 + ...9194250_rename_tables_ci_build_trace_section.rb | 11 + ...10812171704_create_project_ci_feature_usages.rb | 12 + .../20210813101742_create_zentao_tracker_data.rb | 18 + ...0210813111909_create_ci_build_trace_metadata.rb | 32 + ...6161107_remove_index_containing_faulty_regex.rb | 18 + ...y_from_ci_build_metadata_to_ci_job_artifacts.rb | 20 + ...8034001_index_historical_data_on_recorded_at.rb | 17 + ...dd_unique_commit_design_user_mention_indexes.rb | 29 + ...190517153211_migrate_k8s_service_integration.rb | 2 +- ...4_migrate_saml_identities_to_scim_identities.rb | 2 +- ...dule_backfill_draft_status_on_merge_requests.rb | 27 +- ...2141148_schedule_delete_orphaned_deployments.rb | 13 +- ...2_finalize_ci_builds_needs_bigint_conversion.rb | 69 + ...19_re_schedule_latest_pipeline_id_population.rb | 27 +- ..._finalize_ci_job_artifacts_bigint_conversion.rb | 84 + ...7210916_finalize_ci_stages_bigint_conversion.rb | 77 + ...lize_push_event_payloads_bigint_conversion_2.rb | 13 + ...alize_ci_sources_pipelines_bigint_conversion.rb | 67 + ...e_latest_pipeline_id_population_with_logging.rb | 12 + ...lize_ci_build_trace_chunks_bigint_conversion.rb | 67 + ...s_from_packages_debian_project_distributions.rb | 10 + ...eys_from_packages_debian_group_distributions.rb | 10 + ...escalation_rule_on_pending_alert_escalations.rb | 56 + ...10101_reschedule_delete_orphaned_deployments.rb | 28 + ...2939_update_issuable_slas_where_issue_closed.rb | 31 + ...55217_add_updated_at_index_on_merge_requests.rb | 17 + ...nvert_geo_job_artifact_deleted_events_bigint.rb | 55 + ...0210727113447_backfill_integrations_type_new.rb | 23 + ...unused_columns_from_elastic_reindexing_tasks.rb | 27 + ...ion_with_all_security_related_artifact_types.rb | 30 + ...10729192959_drop_ci_test_case_failures_table.rb | 24 + .../20210729193056_drop_ci_test_cases_table.rb | 23 + ...730170823_schedule_security_setting_creation.rb | 26 + ...lize_push_event_payloads_bigint_conversion_3.rb | 87 + ...roject_id_and_state_id_and_created_at_and_id.rb | 18 + ...02131812_finalize_convert_deployments_bigint.rb | 45 + ...r_image_scanning_from_approval_project_rules.rb | 11 + ...ndexes_for_ci_job_artifact_bigint_conversion.rb | 34 + ...repare_indexes_for_tagging_bigint_conversion.rb | 29 + ...epare_indexes_for_ci_stage_bigint_conversion.rb | 19 + ...e_ci_builds_runner_session_bigint_conversion.rb | 67 + ...al_plans_ci_daily_pipeline_schedule_triggers.rb | 48 + ...ackfill_draft_column_on_merge_requests_rerun.rb | 13 + ...0210809123658_orphaned_invite_tokens_cleanup.rb | 28 + ...id_conversion_to_bigint_for_ci_job_artifacts.rb | 79 + ...ule_copy_ci_builds_columns_to_security_scans.rb | 13 + ...12145010_reset_job_token_scope_enabled_again.rb | 16 + ...lculate_uuid_on_vulnerabilities_occurrences3.rb | 30 + ...le_copy_ci_builds_columns_to_security_scans2.rb | 35 + db/schema_migrations/20210611082822 | 1 + db/schema_migrations/20210628154900 | 1 + db/schema_migrations/20210629031900 | 1 + db/schema_migrations/20210630222522 | 1 + db/schema_migrations/20210630224625 | 1 + db/schema_migrations/20210701033622 | 1 + db/schema_migrations/20210706151154 | 1 + db/schema_migrations/20210706151446 | 1 + db/schema_migrations/20210706212710 | 1 + db/schema_migrations/20210707210916 | 1 + db/schema_migrations/20210708202548 | 1 + db/schema_migrations/20210709024048 | 1 + db/schema_migrations/20210709221051 | 1 + db/schema_migrations/20210709221659 | 1 + db/schema_migrations/20210712052519 | 1 + db/schema_migrations/20210713042153 | 1 + db/schema_migrations/20210713075117 | 1 + db/schema_migrations/20210713123345 | 1 + db/schema_migrations/20210713211008 | 1 + db/schema_migrations/20210713223941 | 1 + db/schema_migrations/20210714015537 | 1 + db/schema_migrations/20210714043818 | 1 + db/schema_migrations/20210715074359 | 1 + db/schema_migrations/20210715074933 | 1 + db/schema_migrations/20210715075203 | 1 + db/schema_migrations/20210719145532 | 1 + db/schema_migrations/20210719182944 | 1 + db/schema_migrations/20210719192928 | 1 + db/schema_migrations/20210720130006 | 1 + db/schema_migrations/20210720140841 | 1 + db/schema_migrations/20210721125525 | 1 + db/schema_migrations/20210721125545 | 1 + db/schema_migrations/20210721125620 | 1 + db/schema_migrations/20210721125637 | 1 + db/schema_migrations/20210721125804 | 1 + db/schema_migrations/20210721125820 | 1 + db/schema_migrations/20210721134706 | 1 + db/schema_migrations/20210721134707 | 1 + db/schema_migrations/20210721135638 | 1 + db/schema_migrations/20210721145029 | 1 + db/schema_migrations/20210721174411 | 1 + db/schema_migrations/20210721174441 | 1 + db/schema_migrations/20210721174453 | 1 + db/schema_migrations/20210721174521 | 1 + db/schema_migrations/20210721211602 | 1 + db/schema_migrations/20210722010101 | 1 + db/schema_migrations/20210722042939 | 1 + db/schema_migrations/20210722055217 | 1 + db/schema_migrations/20210722074220 | 1 + db/schema_migrations/20210722074242 | 1 + db/schema_migrations/20210722074256 | 1 + db/schema_migrations/20210722074309 | 1 + db/schema_migrations/20210722074339 | 1 + db/schema_migrations/20210722132844 | 1 + db/schema_migrations/20210722150102 | 1 + db/schema_migrations/20210722151951 | 1 + db/schema_migrations/20210722155635 | 1 + db/schema_migrations/20210722210041 | 1 + db/schema_migrations/20210723173132 | 1 + db/schema_migrations/20210726134950 | 1 + db/schema_migrations/20210726202748 | 1 + db/schema_migrations/20210727113447 | 1 + db/schema_migrations/20210727175201 | 1 + db/schema_migrations/20210728110654 | 1 + db/schema_migrations/20210728174349 | 1 + db/schema_migrations/20210729061526 | 1 + db/schema_migrations/20210729061556 | 1 + db/schema_migrations/20210729123101 | 1 + db/schema_migrations/20210729161242 | 1 + db/schema_migrations/20210729163312 | 1 + db/schema_migrations/20210729192148 | 1 + db/schema_migrations/20210729192959 | 1 + db/schema_migrations/20210729193056 | 1 + db/schema_migrations/20210729202143 | 1 + db/schema_migrations/20210730101609 | 1 + db/schema_migrations/20210730102952 | 1 + db/schema_migrations/20210730103808 | 1 + db/schema_migrations/20210730170823 | 1 + db/schema_migrations/20210802043253 | 1 + db/schema_migrations/20210802112233 | 1 + db/schema_migrations/20210802131812 | 1 + db/schema_migrations/20210803110920 | 1 + db/schema_migrations/20210804150320 | 1 + db/schema_migrations/20210804150624 | 1 + db/schema_migrations/20210804151444 | 1 + db/schema_migrations/20210804153307 | 1 + db/schema_migrations/20210804154407 | 1 + db/schema_migrations/20210804200114 | 1 + db/schema_migrations/20210804202057 | 1 + db/schema_migrations/20210805085706 | 1 + db/schema_migrations/20210805131510 | 1 + db/schema_migrations/20210805192450 | 1 + db/schema_migrations/20210806011811 | 1 + db/schema_migrations/20210806152104 | 1 + db/schema_migrations/20210809123658 | 1 + db/schema_migrations/20210809143931 | 1 + db/schema_migrations/20210809194250 | 1 + db/schema_migrations/20210811214811 | 1 + db/schema_migrations/20210812145010 | 1 + db/schema_migrations/20210812171704 | 1 + db/schema_migrations/20210813101742 | 1 + db/schema_migrations/20210813111909 | 1 + db/schema_migrations/20210813195518 | 1 + db/schema_migrations/20210816161107 | 1 + db/schema_migrations/20210816183304 | 1 + db/schema_migrations/20210817084338 | 1 + db/schema_migrations/20210818034001 | 1 + db/schema_migrations/20210818055357 | 1 + db/structure.sql | 760 +- doc/.vale/gitlab/Acronyms.yml | 1 + doc/.vale/gitlab/LatinTerms.yml | 2 - doc/.vale/gitlab/ReadingLevel.yml | 12 + doc/.vale/gitlab/SubstitutionWarning.yml | 2 + doc/.vale/gitlab/Wordy.yml | 13 + doc/.vale/gitlab/spelling-exceptions.txt | 10 +- doc/README.md | 1 + doc/administration/audit_events.md | 6 +- doc/administration/auth/atlassian.md | 13 +- doc/administration/auth/cognito.md | 9 +- doc/administration/auth/ldap/index.md | 6 +- .../auth/ldap/ldap-troubleshooting.md | 4 +- doc/administration/auth/oidc.md | 4 +- doc/administration/compliance.md | 2 +- doc/administration/encrypted_configuration.md | 1 + doc/administration/feature_flags.md | 21 +- .../disaster_recovery/background_verification.md | 4 +- .../geo/disaster_recovery/planned_failover.md | 2 +- .../runbooks/planned_failover_multi_node.md | 4 +- .../runbooks/planned_failover_single_node.md | 4 +- doc/administration/geo/index.md | 9 +- .../geo/replication/configuration.md | 163 +- doc/administration/geo/replication/datatypes.md | 12 +- .../img/adding_a_secondary_node_v13_3.png | Bin 20195 -> 0 bytes .../replication/img/adding_a_secondary_v13_3.png | Bin 0 -> 20195 bytes .../geo/replication/img/geo_dashboard_v14_0.png | Bin 0 -> 48805 bytes .../replication/img/geo_node_dashboard_v14_0.png | Bin 48805 -> 0 bytes .../geo/replication/img/geo_node_health_v14_0.png | Bin 57973 -> 0 bytes .../geo/replication/img/geo_site_health_v14_0.png | Bin 0 -> 57973 bytes .../geo/replication/location_aware_git_url.md | 4 +- .../geo/replication/multiple_servers.md | 326 +- .../geo/replication/object_storage.md | 5 + .../geo/replication/troubleshooting.md | 56 +- doc/administration/geo/setup/database.md | 36 +- doc/administration/geo/setup/external_database.md | 7 +- doc/administration/get_started.md | 8 +- doc/administration/git_annex.md | 9 - doc/administration/git_protocol.md | 13 +- doc/administration/gitaly/configure_gitaly.md | 105 +- doc/administration/gitaly/faq.md | 6 +- doc/administration/gitaly/index.md | 295 +- doc/administration/gitaly/praefect.md | 254 +- doc/administration/gitaly/reference.md | 2 +- doc/administration/gitaly/troubleshooting.md | 30 + doc/administration/img/time_zone_settings.png | Bin 15330 -> 0 bytes doc/administration/index.md | 4 +- doc/administration/instance_limits.md | 55 +- doc/administration/integration/kroki.md | 4 +- doc/administration/integration/plantuml.md | 2 +- doc/administration/integration/terminal.md | 4 +- doc/administration/job_logs.md | 2 +- doc/administration/lfs/index.md | 4 +- doc/administration/libravatar.md | 2 +- doc/administration/logs.md | 9 +- doc/administration/maintenance_mode/index.md | 2 +- .../gitlab_self_monitoring_project/index.md | 79 +- doc/administration/monitoring/ip_whitelist.md | 2 +- .../performance/grafana_configuration.md | 30 +- .../monitoring/performance/performance_bar.md | 62 +- .../monitoring/prometheus/gitlab_metrics.md | 16 +- doc/administration/monitoring/prometheus/index.md | 25 +- doc/administration/nfs.md | 2 +- doc/administration/object_storage.md | 6 +- .../operations/extra_sidekiq_processes.md | 52 +- .../operations/extra_sidekiq_routing.md | 8 +- .../operations/fast_ssh_key_lookup.md | 2 +- .../operations/moving_repositories.md | 126 +- doc/administration/packages/container_registry.md | 78 +- .../pages/img/lets_encrypt_integration_v12_1.png | Bin 33137 -> 0 bytes doc/administration/pages/index.md | 21 +- doc/administration/pages/source.md | 36 +- doc/administration/polling.md | 42 +- doc/administration/postgresql/pgbouncer.md | 39 + .../postgresql/replication_and_failover.md | 205 +- doc/administration/raketasks/check.md | 2 +- doc/administration/raketasks/doctor.md | 2 + doc/administration/raketasks/smtp.md | 103 + doc/administration/raketasks/uploads/migrate.md | 6 +- doc/administration/read_only_gitlab.md | 2 +- .../redis/replication_and_failover.md | 8 +- .../redis/replication_and_failover_external.md | 2 +- .../reference_architectures/10k_users.md | 111 +- .../reference_architectures/1k_users.md | 1 + .../reference_architectures/25k_users.md | 111 +- .../reference_architectures/2k_users.md | 165 +- .../reference_architectures/3k_users.md | 228 +- .../reference_architectures/50k_users.md | 111 +- .../reference_architectures/5k_users.md | 85 +- .../reference_architectures/index.md | 2 + doc/administration/repository_storage_paths.md | 35 +- doc/administration/sidekiq.md | 14 + .../static_objects_external_storage.md | 32 +- doc/administration/timezone.md | 17 +- doc/administration/troubleshooting/debug.md | 6 +- .../troubleshooting/gitlab_rails_cheat_sheet.md | 23 +- .../troubleshooting/kubernetes_cheat_sheet.md | 2 +- doc/administration/troubleshooting/log_parsing.md | 2 +- .../navigating_gitlab_via_rails_console.md | 2 +- doc/administration/troubleshooting/ssl.md | 2 +- doc/administration/wikis/index.md | 8 + doc/api/README.md | 1 + doc/api/api_resources.md | 4 +- doc/api/audit_events.md | 12 +- doc/api/bulk_imports.md | 41 + doc/api/container_registry.md | 49 + doc/api/custom_attributes.md | 4 +- doc/api/dependencies.md | 2 +- doc/api/discussions.md | 12 +- doc/api/dora4_group_analytics.md | 9 - doc/api/environments.md | 46 + doc/api/error_tracking.md | 15 +- doc/api/events.md | 6 +- doc/api/experiments.md | 50 +- doc/api/features.md | 2 +- doc/api/freeze_periods.md | 2 +- doc/api/graphql/audit_report.md | 4 +- doc/api/graphql/custom_emoji.md | 2 +- doc/api/graphql/getting_started.md | 4 +- doc/api/graphql/img/custom_emoji_query_example.png | Bin 178815 -> 51531 bytes doc/api/graphql/index.md | 4 +- doc/api/graphql/reference/index.md | 1145 +- doc/api/graphql/removed_items.md | 4 +- doc/api/graphql/users_example.md | 4 +- doc/api/group_milestones.md | 8 +- doc/api/group_protected_environments.md | 2 +- doc/api/group_repository_storage_moves.md | 44 +- doc/api/groups.md | 11 +- doc/api/index.md | 23 +- doc/api/invitations.md | 1 + doc/api/issues.md | 1 + doc/api/job_artifacts.md | 4 +- doc/api/members.md | 12 +- doc/api/merge_request_approvals.md | 2 +- doc/api/merge_requests.md | 1 + doc/api/namespaces.md | 52 +- doc/api/oauth2.md | 46 +- doc/api/openapi/openapi_interactive.md | 4 +- doc/api/packages/debian.md | 128 +- doc/api/packages/debian_group_distributions.md | 33 +- doc/api/packages/debian_project_distributions.md | 32 +- doc/api/packages/helm.md | 3 +- doc/api/pipelines.md | 61 +- doc/api/project_badges.md | 1 + doc/api/project_repository_storage_moves.md | 2 +- doc/api/projects.md | 79 +- doc/api/releases/index.md | 9 + doc/api/repositories.md | 20 +- doc/api/repository_files.md | 2 +- doc/api/services.md | 25 +- doc/api/settings.md | 15 +- doc/api/snippet_repository_storage_moves.md | 2 +- doc/api/system_hooks.md | 4 +- doc/api/usage_data.md | 2 +- doc/api/users.md | 33 +- doc/api/v3_to_v4.md | 4 +- doc/api/version.md | 4 +- .../consolidating_groups_and_projects/index.md | 155 + .../patterns/img/db_terminology_v14_2.png | Bin 0 -> 51264 bytes .../img/read_mostly_licenses_calls_v14_2.png | Bin 0 -> 157824 bytes .../img/read_mostly_licenses_fixed_v14_2.png | Bin 0 -> 85790 bytes .../img/read_mostly_readwriteratio_v14_2.png | Bin 0 -> 93291 bytes .../img/read_mostly_subscriptions_reads_v14_2.png | Bin 0 -> 60703 bytes .../img/read_mostly_subscriptions_writes_v14_2.png | Bin 0 -> 52727 bytes .../database/scalability/patterns/index.md | 12 + .../database/scalability/patterns/read_mostly.md | 152 + .../database/scalability/patterns/time_decay.md | 361 + .../blueprints/database_scaling/size-limits.md | 176 + .../blueprints/database_testing/index.md | 2 +- doc/ci/README.md | 1 + doc/ci/caching/index.md | 2 +- doc/ci/chatops/index.md | 14 +- .../bitbucket_integration.md | 11 +- .../ci_cd_for_external_repos/github_integration.md | 74 +- doc/ci/ci_cd_for_external_repos/index.md | 8 +- doc/ci/cloud_deployment/index.md | 2 +- doc/ci/docker/using_kaniko.md | 6 +- doc/ci/enable_or_disable_ci.md | 80 +- doc/ci/environments/deployment_safety.md | 2 +- doc/ci/environments/incremental_rollouts.md | 10 +- doc/ci/environments/index.md | 36 +- doc/ci/environments/protected_environments.md | 39 +- doc/ci/examples/README.md | 1 + .../authenticating-with-hashicorp-vault/index.md | 4 +- doc/ci/examples/deployment/README.md | 1 + doc/ci/examples/deployment/composer-npm-deploy.md | 4 +- doc/ci/examples/deployment/index.md | 28 +- doc/ci/examples/index.md | 2 +- doc/ci/examples/semantic-release.md | 24 +- doc/ci/img/add_file_template_11_10.png | Bin 55910 -> 0 bytes doc/ci/index.md | 4 +- doc/ci/interactive_web_terminal/index.md | 4 +- doc/ci/jobs/index.md | 26 +- doc/ci/jobs/job_control.md | 114 + doc/ci/lint.md | 4 +- doc/ci/merge_request_pipelines/index.md | 1 + .../pipelines_for_merged_results/index.md | 1 + .../merge_trains/index.md | 1 + doc/ci/metrics_reports.md | 2 +- doc/ci/migration/circleci.md | 2 +- doc/ci/migration/jenkins.md | 20 +- doc/ci/multi_project_pipelines.md | 1 + doc/ci/parent_child_pipelines.md | 1 + .../img/coverage_check_approval_rule_14_1.png | Bin 116394 -> 34393 bytes ...ipelines_graph_dependency_view_hover_v13_12.png | Bin 83953 -> 32488 bytes ...ipelines_graph_dependency_view_links_v13_12.png | Bin 81552 -> 30970 bytes .../img/pipelines_graph_dependency_view_v13_12.png | Bin 77811 -> 29871 bytes .../img/pipelines_graph_stage_view_v13_12.png | Bin 63697 -> 25204 bytes doc/ci/pipelines/index.md | 52 +- doc/ci/pipelines/job_artifacts.md | 8 +- doc/ci/pipelines/merge_request_pipelines.md | 4 +- doc/ci/pipelines/merge_trains.md | 55 +- doc/ci/pipelines/multi_project_pipelines.md | 4 +- doc/ci/pipelines/parent_child_pipelines.md | 6 +- doc/ci/pipelines/pipelines_for_merged_results.md | 2 +- doc/ci/pipelines/settings.md | 11 +- doc/ci/quick_start/index.md | 5 - doc/ci/review_apps/img/review_button.png | Bin 16524 -> 0 bytes doc/ci/review_apps/index.md | 61 +- doc/ci/runners/README.md | 1 + doc/ci/runners/build_cloud/linux_build_cloud.md | 10 +- doc/ci/runners/build_cloud/macos/environment.md | 43 + doc/ci/runners/build_cloud/macos_build_cloud.md | 62 + doc/ci/runners/build_cloud/windows_build_cloud.md | 25 +- doc/ci/runners/index.md | 12 +- doc/ci/runners/runners_scope.md | 4 +- doc/ci/secrets/index.md | 34 +- doc/ci/ssh_keys/index.md | 6 +- doc/ci/triggers/README.md | 1 + doc/ci/triggers/index.md | 2 +- doc/ci/unit_test_reports.md | 9 +- doc/ci/variables/README.md | 1 + doc/ci/variables/index.md | 52 +- doc/ci/variables/predefined_variables.md | 5 +- doc/ci/variables/where_variables_can_be_used.md | 6 +- doc/ci/yaml/README.md | 1 + doc/ci/yaml/gitlab_ci_yaml.md | 7 +- doc/ci/yaml/index.md | 710 +- doc/ci/yaml/script.md | 79 + doc/development/README.md | 1 + doc/development/adding_database_indexes.md | 87 +- doc/development/adding_service_component.md | 2 +- doc/development/api_graphql_styleguide.md | 94 +- doc/development/api_styleguide.md | 2 +- doc/development/architecture.md | 16 +- doc/development/audit_event_guide/index.md | 2 +- doc/development/avoiding_downtime_in_migrations.md | 7 +- doc/development/backend/ruby_style_guide.md | 72 + doc/development/background_migrations.md | 31 +- doc/development/build_test_package.md | 2 +- doc/development/caching.md | 348 + doc/development/cicd/index.md | 8 +- doc/development/cicd/templates.md | 4 +- doc/development/code_review.md | 20 +- doc/development/contributing/community_roles.md | 2 +- doc/development/contributing/index.md | 14 +- doc/development/contributing/issue_workflow.md | 31 +- .../contributing/merge_request_workflow.md | 14 +- doc/development/contributing/style_guides.md | 6 +- doc/development/creating_enums.md | 6 +- doc/development/dangerbot.md | 14 +- .../database/constraint_naming_convention.md | 2 +- .../database/database_migration_pipeline.md | 55 + doc/development/database/multiple_databases.md | 198 +- doc/development/database/not_null_constraints.md | 2 +- doc/development/database_review.md | 21 +- doc/development/deleting_migrations.md | 4 +- doc/development/dependencies.md | 56 + doc/development/directory_structure.md | 2 +- doc/development/distributed_tracing.md | 2 +- doc/development/documentation/feature_flags.md | 326 +- doc/development/documentation/index.md | 14 +- .../documentation/site_architecture/index.md | 4 +- .../site_architecture/release_process.md | 9 - doc/development/documentation/structure.md | 12 +- doc/development/documentation/styleguide/index.md | 207 +- .../documentation/styleguide/word_list.md | 214 +- doc/development/documentation/testing.md | 28 +- doc/development/ee_features.md | 48 +- doc/development/elasticsearch.md | 12 +- doc/development/emails.md | 6 +- .../experiment_guide/gitlab_experiment.md | 8 +- doc/development/experiment_guide/index.md | 1 + doc/development/export_csv.md | 2 +- doc/development/fe_guide/dependencies.md | 47 +- doc/development/fe_guide/design_anti_patterns.md | 11 +- doc/development/fe_guide/design_patterns.md | 3 +- doc/development/fe_guide/graphql.md | 2 +- doc/development/fe_guide/haml.md | 74 + doc/development/fe_guide/index.md | 8 + doc/development/fe_guide/performance.md | 6 +- doc/development/fe_guide/style/scss.md | 3 + doc/development/fe_guide/troubleshooting.md | 2 +- doc/development/fe_guide/vue.md | 69 +- doc/development/feature_flags/controls.md | 24 +- doc/development/geo.md | 2 +- doc/development/gitaly.md | 6 +- doc/development/github_importer.md | 29 +- doc/development/graphql_guide/authorization.md | 4 +- doc/development/graphql_guide/batchloader.md | 2 +- doc/development/i18n/externalization.md | 128 +- doc/development/i18n/proofreader.md | 103 +- doc/development/i18n/translation.md | 4 + .../stage_group_dashboards_error_attribution.png | Bin 166125 -> 61561 bytes .../stage_group_dashboards_service_sli_detail.png | Bin 110562 -> 41130 bytes doc/development/import_project.md | 2 +- doc/development/index.md | 8 +- doc/development/integrations/jenkins.md | 6 +- doc/development/integrations/jira_connect.md | 12 +- doc/development/integrations/secure.md | 2 +- doc/development/internal_api.md | 34 +- doc/development/iterating_tables_in_batches.md | 4 +- doc/development/logging.md | 2 +- doc/development/migration_style_guide.md | 108 +- doc/development/namespaces_storage_statistics.md | 2 +- doc/development/permissions.md | 3 +- doc/development/pipelines.md | 71 +- doc/development/projections.md | 2 + doc/development/query_performance.md | 4 +- doc/development/reference_processing.md | 3 +- doc/development/service_ping/dictionary.md | 23249 +----------------- doc/development/service_ping/implement.md | 210 + doc/development/service_ping/index.md | 512 +- doc/development/service_ping/metrics_dictionary.md | 15 +- .../service_ping/metrics_instrumentation.md | 44 +- doc/development/service_ping/metrics_lifecycle.md | 187 + doc/development/service_ping/review_guidelines.md | 18 +- doc/development/sidekiq_style_guide.md | 18 + doc/development/snowplow.md | 8 - doc/development/snowplow/dictionary.md | 2 +- doc/development/snowplow/index.md | 17 +- doc/development/sql.md | 92 +- doc/development/stage_group_dashboards.md | 2 +- doc/development/testing_guide/best_practices.md | 25 +- .../testing_guide/end_to_end/best_practices.md | 10 + .../end_to_end/environment_selection.md | 8 - doc/development/testing_guide/end_to_end/index.md | 2 +- .../end_to_end/rspec_metadata_tests.md | 2 +- .../running_tests_that_require_special_setup.md | 2 +- doc/development/testing_guide/frontend_testing.md | 51 +- .../testing_guide/testing_migrations_guide.md | 138 +- doc/development/uploads.md | 3 +- doc/development/usage_ping/dictionary.md | 23421 +------------------ doc/development/verifying_database_capabilities.md | 4 +- doc/development/what_requires_downtime.md | 9 - doc/gitlab-basics/create-your-ssh-keys.md | 9 - doc/gitlab-basics/start-using-git.md | 6 +- doc/install/aws/index.md | 2 +- doc/install/azure/index.md | 8 + doc/install/docker.md | 13 +- doc/install/installation.md | 2 +- doc/install/postgresql_extensions.md | 2 +- doc/install/requirements.md | 6 +- doc/integration/README.md | 9 - doc/integration/akismet.md | 17 +- doc/integration/auth0.md | 4 +- doc/integration/azure.md | 4 +- doc/integration/bitbucket.md | 4 +- doc/integration/cas.md | 4 +- doc/integration/datadog.md | 67 +- doc/integration/elasticsearch.md | 4 +- doc/integration/external-issue-tracker.md | 4 +- doc/integration/facebook.md | 4 +- doc/integration/github.md | 4 +- doc/integration/gitlab.md | 4 +- doc/integration/gitpod.md | 29 +- doc/integration/gmail_action_buttons_for_gitlab.md | 4 +- doc/integration/google.md | 4 +- doc/integration/img/gitpod-button_v14_2.png | Bin 0 -> 8742 bytes doc/integration/index.md | 5 +- doc/integration/jenkins.md | 4 +- doc/integration/jenkins_deprecated.md | 4 +- doc/integration/jira/configure.md | 59 + doc/integration/jira/connect-app.md | 8 +- doc/integration/jira/development_panel.md | 62 +- doc/integration/jira/dvcs.md | 6 +- .../jira/img/jira_dev_panel_jira_setup_3.png | Bin 37257 -> 80136 bytes doc/integration/jira/index.md | 36 +- doc/integration/jira/issues.md | 48 +- doc/integration/jira/jira_cloud_configuration.md | 8 +- doc/integration/jira/jira_server_configuration.md | 6 +- doc/integration/jira_development_panel.md | 9 - doc/integration/kerberos.md | 2 +- doc/integration/oauth2_generic.md | 4 +- doc/integration/oauth_provider.md | 18 +- doc/integration/omniauth.md | 19 +- doc/integration/openid_connect_provider.md | 4 +- doc/integration/recaptcha.md | 4 +- doc/integration/salesforce.md | 4 +- doc/integration/saml.md | 2 +- doc/integration/slash_commands.md | 4 +- doc/integration/trello_power_up.md | 4 +- doc/integration/twitter.md | 4 +- doc/legal/developer_certificate_of_origin.md | 35 + doc/migrate_ci_to_ce/README.md | 9 - doc/migrate_ci_to_ce/index.md | 9 - doc/operations/error_tracking.md | 38 +- doc/operations/incident_management/alerts.md | 37 +- .../incident_management/escalation_policies.md | 49 +- doc/operations/incident_management/incidents.md | 2 + .../incident_management/oncall_schedules.md | 73 +- doc/operations/incident_management/paging.md | 9 +- doc/operations/incident_management/status_page.md | 41 +- doc/operations/metrics/dashboards/settings.md | 2 +- .../metrics/img/linked_runbooks_on_charts.png | Bin 16966 -> 0 bytes doc/operations/metrics/img/prometheus_alert.png | Bin 6611 -> 0 bytes doc/operations/metrics/index.md | 2 +- doc/public_access/public_access.md | 17 +- doc/push_rules/push_rules.md | 8 +- doc/raketasks/backup_restore.md | 238 +- doc/raketasks/import.md | 2 +- doc/raketasks/index.md | 1 + doc/security/README.md | 1 + doc/security/cicd_variables.md | 9 - doc/ssh/README.md | 1 + doc/ssh/index.md | 17 +- doc/subscriptions/gitlab_com/index.md | 16 + doc/subscriptions/quarterly_reconciliation.md | 20 + doc/subscriptions/self_managed/index.md | 307 +- doc/system_hooks/system_hooks.md | 2 +- doc/topics/autodevops/customize.md | 13 +- .../autodevops/img/guide_cluster_apps_v12_3.png | Bin 166526 -> 0 bytes .../autodevops/img/guide_first_pipeline_v12_3.png | Bin 27345 -> 0 bytes .../img/guide_gitlab_gke_details_v12_3.png | Bin 105931 -> 0 bytes .../autodevops/img/guide_google_auth_v12_3.png | Bin 12729 -> 0 bytes .../autodevops/img/guide_google_signin_v12_3.png | Bin 43412 -> 0 bytes doc/topics/autodevops/index.md | 422 +- .../autodevops/multiple_clusters_auto_devops.md | 53 + doc/topics/autodevops/prepare_deployment.md | 71 + doc/topics/autodevops/quick_start_guide.md | 93 +- doc/topics/autodevops/requirements.md | 86 +- doc/topics/autodevops/stages.md | 6 +- .../upgrading_auto_deploy_dependencies.md | 2 +- doc/topics/autodevops/upgrading_postgresql.md | 8 +- doc/topics/git/git_rebase.md | 33 +- doc/topics/git/lfs/index.md | 6 +- .../git/lfs/migrate_from_git_annex_to_git_lfs.md | 9 - doc/topics/git/merge_requests.md | 9 - doc/topics/img/gitlab_flow.png | Bin 47430 -> 46844 bytes doc/university/index.md | 9 - doc/university/training/index.md | 9 - doc/university/training/topics/agile_git.md | 9 - doc/university/training/topics/bisect.md | 9 - doc/university/training/topics/env_setup.md | 9 - .../training/topics/feature_branching.md | 9 - doc/university/training/topics/getting_started.md | 9 - doc/university/training/topics/git_add.md | 9 - doc/university/training/topics/git_intro.md | 9 - doc/university/training/topics/git_log.md | 9 - doc/university/training/topics/merge_conflicts.md | 9 - doc/university/training/topics/merge_requests.md | 9 - doc/university/training/topics/rollback_commits.md | 9 - doc/university/training/topics/stash.md | 9 - doc/university/training/topics/subtree.md | 9 - doc/university/training/topics/unstage.md | 9 - doc/university/training/user_training.md | 9 - .../batched_background_migrations_queued_v14_0.png | Bin 0 -> 11690 bytes doc/update/index.md | 67 +- doc/update/mysql_to_postgresql.md | 8 +- doc/update/restore_after_failure.md | 18 +- doc/update/upgrading_from_source.md | 22 +- doc/update/upgrading_postgresql_using_slony.md | 78 +- doc/user/abuse_reports.md | 9 - doc/user/admin_area/abuse_reports.md | 9 - .../admin_area/activating_deactivating_users.md | 9 - doc/user/admin_area/analytics/dev_ops_report.md | 35 +- .../analytics/img/admin_devops_adoption_v14_1.png | Bin 53453 -> 0 bytes .../analytics/img/admin_devops_adoption_v14_2.png | Bin 0 -> 67833 bytes doc/user/admin_area/approving_users.md | 59 +- doc/user/admin_area/blocking_unblocking_users.md | 9 - doc/user/admin_area/custom_project_templates.md | 6 +- doc/user/admin_area/geo_nodes.md | 53 +- doc/user/admin_area/index.md | 6 +- doc/user/admin_area/license.md | 20 +- doc/user/admin_area/merge_requests_approvals.md | 6 +- doc/user/admin_area/moderate_users.md | 113 +- .../admin_area/monitoring/background_migrations.md | 13 +- .../batched_background_migrations_queued_v14_0.png | Bin 11690 -> 0 bytes .../settings/account_and_limit_settings.md | 7 +- .../admin_area/settings/continuous_integration.md | 18 +- doc/user/admin_area/settings/email.md | 44 +- doc/user/admin_area/settings/floc.md | 4 +- doc/user/admin_area/settings/help_page.md | 71 +- ...ckage_registry_npm_package_requests_forward.png | Bin 28630 -> 0 bytes .../admin_area/settings/img/clone_panel_v12_4.png | Bin 6771 -> 0 bytes .../admin_area/settings/img/domain_denylist.png | Bin 13601 -> 0 bytes .../settings/img/domain_denylist_v14_1.png | Bin 0 -> 49389 bytes doc/user/admin_area/settings/img/enforce_terms.png | Bin 54958 -> 0 bytes .../img/rate_limit_on_issues_creation_v13_1.png | Bin 13479 -> 0 bytes .../img/rate_limit_on_issues_creation_v14_2.png | Bin 0 -> 29368 bytes .../admin_area/settings/img/respond_to_terms.png | Bin 81046 -> 0 bytes doc/user/admin_area/settings/index.md | 10 +- .../settings/project_integration_management.md | 16 +- .../settings/rate_limit_on_issues_creation.md | 6 +- .../settings/rate_limit_on_notes_creation.md | 2 +- .../admin_area/settings/sign_up_restrictions.md | 9 +- doc/user/admin_area/settings/terms.md | 48 +- doc/user/admin_area/settings/usage_statistics.md | 52 +- .../settings/visibility_and_access_controls.md | 228 +- doc/user/analytics/index.md | 13 +- doc/user/analytics/value_stream_analytics.md | 4 +- .../api_fuzzing_configuration_snippet_v13.10.png | Bin 27293 -> 0 bytes doc/user/application_security/api_fuzzing/index.md | 4 +- .../application_security/configuration/index.md | 122 +- .../container_scanning/index.md | 6 +- doc/user/application_security/cve_id_request.md | 8 +- .../application_security/dast/browser_based.md | 72 +- .../dast/dast_troubleshooting.md | 26 + doc/user/application_security/dast/index.md | 283 +- .../application_security/dast/run_dast_offline.md | 63 + .../application_security/dependency_list/index.md | 15 +- .../dependency_scanning/index.md | 352 +- ...ty_page_merge_request_button_dropdown_v13_1.png | Bin 53561 -> 0 bytes doc/user/application_security/index.md | 2 +- .../offline_deployments/index.md | 4 +- doc/user/application_security/policies/index.md | 36 +- .../application_security/sast/img/sast_v13_2.png | Bin 7703 -> 0 bytes doc/user/application_security/sast/index.md | 10 +- .../application_security/secret_detection/index.md | 2 +- .../img/pipeline_security_dashboard_v13_10.png | Bin 80367 -> 0 bytes .../img/pipeline_security_dashboard_v14_2.png | Bin 0 -> 83851 bytes .../security_dashboard/index.md | 2 +- .../application_security/vulnerabilities/index.md | 2 +- .../img/group_vulnerability_report_v13_9.png | Bin 54478 -> 0 bytes .../img/group_vulnerability_report_v14_2.png | Bin 0 -> 109933 bytes ...ect_security_dashboard_status_change_v13_10.png | Bin 41154 -> 0 bytes ...ject_security_dashboard_status_change_v14_2.png | Bin 0 -> 63558 bytes .../vulnerability_report/index.md | 20 +- doc/user/clusters/agent/ci_cd_tunnel.md | 42 +- doc/user/clusters/agent/index.md | 53 +- doc/user/clusters/img/jupyter-git-extension.gif | Bin 495240 -> 0 bytes doc/user/clusters/img/jupyter-gitclone.png | Bin 22862 -> 0 bytes doc/user/clusters/img/threat_monitoring_v12_9.png | Bin 53242 -> 0 bytes doc/user/clusters/integrations.md | 4 +- doc/user/clusters/management_project_template.md | 34 +- .../img/compliance_dashboard_v13_11.png | Bin 15732 -> 0 bytes .../compliance_dashboard/img/failed_icon_v13_3.png | Bin 4118 -> 0 bytes .../img/success_icon_v13_3.png | Bin 4121 -> 0 bytes .../img/warning_icon_v13_3.png | Bin 4095 -> 0 bytes doc/user/compliance/compliance_dashboard/index.md | 103 +- .../compliance_report/img/failed_icon_v13_3.png | Bin 0 -> 4118 bytes .../compliance_report/img/success_icon_v13_3.png | Bin 0 -> 4121 bytes .../compliance_report/img/warning_icon_v13_3.png | Bin 0 -> 4095 bytes doc/user/compliance/compliance_report/index.md | 99 + doc/user/compliance/index.md | 2 +- .../img/policies_maintainer_edit_v14_2.png | Bin 49070 -> 9843 bytes doc/user/compliance/license_compliance/index.md | 3 + ...nly_allow_merge_if_all_threads_are_resolved.png | Bin 18257 -> 0 bytes doc/user/discussions/index.md | 2 + doc/user/feature_flags.md | 26 +- doc/user/gitlab_com/index.md | 13 +- doc/user/group/bulk_editing/index.md | 9 - doc/user/group/contribution_analytics/index.md | 1 + .../img/group_devops_adoption_v14_1.png | Bin 54919 -> 0 bytes .../img/group_devops_adoption_v14_2.png | Bin 0 -> 59733 bytes doc/user/group/devops_adoption/index.md | 34 +- doc/user/group/epics/manage_epics.md | 13 +- doc/user/group/import/index.md | 9 +- doc/user/group/index.md | 77 +- doc/user/group/issues_analytics/index.md | 4 +- doc/user/group/iterations/index.md | 2 +- doc/user/group/roadmap/index.md | 2 +- .../group/saml_sso/img/saml_group_links_v13_6.png | Bin 9138 -> 0 bytes doc/user/group/saml_sso/index.md | 9 +- doc/user/group/saml_sso/scim_setup.md | 2 +- doc/user/group/settings/img/export_panel_v13_0.png | Bin 47857 -> 0 bytes doc/user/group/settings/import_export.md | 33 +- doc/user/group/value_stream_analytics/index.md | 7 +- .../img/feature_flags_history_note_info_v13_2.png | Bin 21794 -> 0 bytes doc/user/img/todos_index_v13_11.png | Bin 49150 -> 0 bytes doc/user/img/todos_todo_list_item.png | Bin 18776 -> 0 bytes .../img/version_history_notes_collapsed_v13_2.png | Bin 7770 -> 0 bytes .../management_project_applications/apparmor.md | 30 + .../management_project_applications/certmanager.md | 56 + .../management_project_applications/cilium.md | 128 + .../elasticstack.md | 34 + .../management_project_applications/falco.md | 101 + .../management_project_applications/fluentd.md | 36 + .../management_project_applications/ingress.md | 31 + .../management_project_applications/prometheus.md | 32 + .../management_project_applications/runner.md | 48 + .../management_project_applications/sentry.md | 76 + .../management_project_applications/vault.md | 108 + doc/user/infrastructure/iac/index.md | 162 + .../img/terraform_list_view_actions_v13_8.png | Bin 36949 -> 0 bytes doc/user/infrastructure/index.md | 137 +- doc/user/infrastructure/mr_integration.md | 13 +- doc/user/infrastructure/terraform_state.md | 21 +- doc/user/instance/clusters/index.md | 2 +- doc/user/markdown.md | 4 +- doc/user/packages/composer_repository/index.md | 2 +- doc/user/packages/conan_repository/index.md | 7 - doc/user/packages/container_registry/index.md | 67 +- doc/user/packages/debian_repository/index.md | 59 +- doc/user/packages/dependency_proxy/index.md | 25 +- doc/user/packages/generic_packages/index.md | 38 +- doc/user/packages/helm_repository/index.md | 22 +- doc/user/packages/maven_repository/index.md | 8 +- doc/user/packages/npm_registry/index.md | 12 + doc/user/packages/nuget_repository/index.md | 19 +- doc/user/packages/pypi_repository/index.md | 16 +- .../packages/terraform_module_registry/index.md | 4 +- doc/user/permissions.md | 284 +- doc/user/profile/account/delete_account.md | 2 +- doc/user/profile/index.md | 35 +- doc/user/profile/notifications.md | 17 +- doc/user/profile/personal_access_tokens.md | 31 +- doc/user/profile/preferences.md | 7 +- doc/user/project/bulk_editing.md | 9 - doc/user/project/clusters/add_remove_clusters.md | 6 +- doc/user/project/clusters/cluster_access.md | 4 +- .../clusters/runbooks/img/ingress-install.png | Bin 44363 -> 0 bytes .../clusters/runbooks/img/jupyterhub-install.png | Bin 41588 -> 0 bytes .../project/clusters/serverless/img/dns-entry.png | Bin 21299 -> 0 bytes .../clusters/serverless/img/install-knative.png | Bin 27104 -> 0 bytes doc/user/project/code_owners.md | 310 +- doc/user/project/deploy_boards.md | 2 +- doc/user/project/deploy_tokens/index.md | 12 + doc/user/project/highlighting.md | 11 +- .../project/img/code_owners_mr_widget_v12_4.png | Bin 27875 -> 0 bytes doc/user/project/img/epics_swimlanes_v13.6.png | Bin 66710 -> 0 bytes doc/user/project/img/epics_swimlanes_v14_1.png | Bin 0 -> 22460 bytes .../project/img/issue_board_add_list_v13_6.png | Bin 11433 -> 0 bytes .../project/img/issue_board_add_list_v14_1.png | Bin 0 -> 10676 bytes .../img/issue_board_assignee_lists_v13_6.png | Bin 32007 -> 0 bytes .../img/issue_board_assignee_lists_v14_1.png | Bin 0 -> 14776 bytes .../img/issue_board_milestone_lists_v13_6.png | Bin 20456 -> 0 bytes .../img/issue_board_milestone_lists_v14_1.png | Bin 0 -> 11293 bytes doc/user/project/img/issue_boards_core_v13_6.png | Bin 78044 -> 0 bytes doc/user/project/img/issue_boards_core_v14_1.png | Bin 0 -> 42135 bytes .../project/img/issue_boards_premium_v13_6.png | Bin 92133 -> 0 bytes .../project/img/issue_boards_premium_v14_1.png | Bin 0 -> 42642 bytes .../img/protected_branches_devs_can_push_v12_3.png | Bin 11941 -> 0 bytes doc/user/project/img/remaining_time_v14_2.png | Bin 0 -> 4239 bytes doc/user/project/import/clearcase.md | 2 +- doc/user/project/import/gemnasium.md | 9 - doc/user/project/import/github.md | 4 +- doc/user/project/import/gitlab_com.md | 2 +- doc/user/project/import/jira.md | 4 +- doc/user/project/import/phabricator.md | 2 +- doc/user/project/index.md | 4 +- doc/user/project/integrations/asana.md | 4 +- doc/user/project/integrations/bamboo.md | 6 +- doc/user/project/integrations/bugzilla.md | 4 +- .../project/integrations/custom_issue_tracker.md | 4 +- .../project/integrations/discord_notifications.md | 4 +- doc/user/project/integrations/emails_on_push.md | 4 +- doc/user/project/integrations/ewm.md | 4 +- doc/user/project/integrations/github.md | 4 +- .../integrations/gitlab_slack_application.md | 4 +- doc/user/project/integrations/hangouts_chat.md | 4 +- .../project/integrations/img/prometheus_deploy.png | Bin 8413 -> 0 bytes .../img/services_templates_redmine_example.png | Bin 8336 -> 0 bytes doc/user/project/integrations/index.md | 4 +- doc/user/project/integrations/irker.md | 98 +- doc/user/project/integrations/jira.md | 9 - doc/user/project/integrations/jira_integrations.md | 9 - doc/user/project/integrations/mattermost.md | 4 +- .../integrations/mattermost_slash_commands.md | 6 +- doc/user/project/integrations/microsoft_teams.md | 8 +- doc/user/project/integrations/mock_ci.md | 4 +- doc/user/project/integrations/overview.md | 10 +- doc/user/project/integrations/pivotal_tracker.md | 4 +- doc/user/project/integrations/prometheus.md | 2 +- doc/user/project/integrations/redmine.md | 4 +- doc/user/project/integrations/servicenow.md | 4 +- doc/user/project/integrations/slack.md | 88 +- .../project/integrations/slack_slash_commands.md | 4 +- doc/user/project/integrations/unify_circuit.md | 4 +- doc/user/project/integrations/webex_teams.md | 4 +- doc/user/project/integrations/webhooks.md | 13 +- doc/user/project/integrations/youtrack.md | 4 +- doc/user/project/issue_board.md | 64 +- doc/user/project/issues/confidential_issues.md | 59 +- doc/user/project/issues/csv_export.md | 7 +- doc/user/project/issues/design_management.md | 2 +- .../img/confidential_mr_branch_dropdown_v12_1.png | Bin 38985 -> 0 bytes .../issues/img/confidential_mr_dropdown_v12_1.png | Bin 40672 -> 0 bytes doc/user/project/issues/index.md | 2 +- doc/user/project/issues/issue_data_and_actions.md | 2 +- doc/user/project/issues/managing_issues.md | 2 +- doc/user/project/members/index.md | 12 +- doc/user/project/merge_requests/approvals/index.md | 21 +- doc/user/project/merge_requests/approvals/rules.md | 8 +- .../project/merge_requests/approvals/settings.md | 73 +- doc/user/project/merge_requests/changes.md | 14 +- .../project/merge_requests/cherry_pick_changes.md | 7 +- doc/user/project/merge_requests/code_quality.md | 38 +- doc/user/project/merge_requests/commits.md | 2 +- doc/user/project/merge_requests/confidential.md | 75 + .../merge_requests/creating_merge_requests.md | 2 +- doc/user/project/merge_requests/csv_export.md | 4 +- .../project/merge_requests/fail_fast_testing.md | 2 +- doc/user/project/merge_requests/getting_started.md | 4 +- .../project/merge_requests/img/checkout_button.png | Bin 5977 -> 0 bytes .../img/code_quality_mr_diff_report_v13_11.png | Bin 28144 -> 0 bytes .../img/code_quality_mr_diff_report_v14.png | Bin 13676 -> 0 bytes .../img/code_quality_mr_diff_report_v14_2.png | Bin 0 -> 40901 bytes .../merge_requests/img/merge_request_diff.png | Bin 26650 -> 0 bytes .../img/merge_request_diff_v14_2.png | Bin 0 -> 26430 bytes doc/user/project/merge_requests/index.md | 4 +- .../merge_requests/merge_request_approvals.md | 9 - .../reviewing_and_managing_merge_requests.md | 9 - .../reviews/img/pending_review_comment.png | Bin 75625 -> 0 bytes doc/user/project/merge_requests/reviews/index.md | 86 +- .../project/merge_requests/squash_and_merge.md | 2 +- doc/user/project/merge_requests/status_checks.md | 3 - .../custom_domains_ssl_tls_certification/index.md | 4 +- .../lets_encrypt_integration.md | 2 +- .../ssl_tls_concepts.md | 3 + doc/user/project/protected_branches.md | 15 +- doc/user/project/quick_actions.md | 1 + doc/user/project/releases/index.md | 35 +- doc/user/project/repository/branches/default.md | 5 +- .../img/csv_file_rendered_as_table_v14_1.png | Bin 39700 -> 17547 bytes .../img/web_editor_new_branch_dropdown.png | Bin 10324 -> 0 bytes .../img/web_editor_new_branch_dropdown_v14_1.png | Bin 0 -> 24244 bytes ...r_new_branch_from_issue_create_button_v12_6.png | Bin 19967 -> 0 bytes ...r_new_branch_from_issue_create_button_v14_1.png | Bin 0 -> 18848 bytes .../img/web_editor_new_branch_from_issue_v14_1.png | Bin 0 -> 24768 bytes .../web_editor_new_branch_from_issue_v_12_6.png | Bin 24507 -> 0 bytes .../repository/img/web_editor_new_branch_page.png | Bin 5886 -> 0 bytes .../img/web_editor_new_branch_page_v14_1.png | Bin 0 -> 12442 bytes .../img/web_editor_new_directory_dialog.png | Bin 7157 -> 0 bytes .../img/web_editor_new_directory_dialog_v14_1.png | Bin 0 -> 13757 bytes .../img/web_editor_new_directory_dropdown.png | Bin 9916 -> 0 bytes .../web_editor_new_directory_dropdown_v14_1.png | Bin 0 -> 21934 bytes .../img/web_editor_new_file_dropdown.png | Bin 10152 -> 0 bytes .../img/web_editor_new_file_dropdown_v14_1.png | Bin 0 -> 21097 bytes .../repository/img/web_editor_new_file_editor.png | Bin 38068 -> 0 bytes .../img/web_editor_new_file_editor_v14_1.png | Bin 0 -> 60751 bytes .../web_editor_template_dropdown_first_file.png | Bin 8844 -> 0 bytes ...b_editor_template_dropdown_first_file_v14_1.png | Bin 0 -> 17652 bytes .../web_editor_template_dropdown_mit_license.png | Bin 30924 -> 0 bytes ..._editor_template_dropdown_mit_license_v14_1.png | Bin 0 -> 41669 bytes .../img/web_editor_upload_file_dialog.png | Bin 12553 -> 0 bytes .../img/web_editor_upload_file_dialog_v14_1.png | Bin 0 -> 17522 bytes .../img/web_editor_upload_file_dropdown.png | Bin 10200 -> 0 bytes .../img/web_editor_upload_file_dropdown_v14_1.png | Bin 0 -> 23599 bytes .../repository/reducing_the_repo_size_using_git.md | 6 +- .../project/repository/repository_mirroring.md | 21 +- doc/user/project/repository/web_editor.md | 26 +- .../repository/x509_signed_commits/index.md | 16 + doc/user/project/requirements/index.md | 4 +- doc/user/project/settings/import_export.md | 80 +- doc/user/project/settings/index.md | 54 +- doc/user/project/settings/project_access_tokens.md | 59 + doc/user/project/time_tracking.md | 18 +- doc/user/project/web_ide/index.md | 25 +- doc/user/project/wiki/index.md | 25 +- doc/user/project/working_with_projects.md | 73 +- doc/user/report_abuse.md | 2 +- doc/user/search/advanced_search.md | 6 +- doc/user/search/index.md | 11 +- doc/user/snippets.md | 16 +- doc/user/todos.md | 144 +- doc/user/upgrade_email_bypass.md | 2 +- doc/user/workspace/img/1.1-Instance_overview.png | Bin 30491 -> 15189 bytes doc/user/workspace/img/1.2-Groups_overview.png | Bin 24876 -> 12431 bytes doc/user/workspace/img/1.3-Admin.png | Bin 32534 -> 16113 bytes doc/user/workspace/img/Admin_Settings.png | Bin 519556 -> 76891 bytes doc/user/workspace/img/hardware_settings.png | Bin 0 -> 76085 bytes doc/user/workspace/index.md | 13 +- .../post_deployment_migration/migration.rb | 25 + .../rails/post_deployment_migration/migration.rb | 25 - .../usage_metric_definition/metric_definition.yml | 3 +- lefthook.yml | 7 +- lib/after_commit_queue.rb | 2 +- lib/api/api.rb | 9 +- lib/api/appearance.rb | 2 + lib/api/badges.rb | 2 +- lib/api/bulk_imports.rb | 53 +- lib/api/ci/helpers/runner.rb | 123 + lib/api/ci/job_artifacts.rb | 143 + lib/api/ci/jobs.rb | 206 + lib/api/ci/pipelines.rb | 27 +- lib/api/ci/runner.rb | 22 +- lib/api/ci/triggers.rb | 148 + lib/api/ci/variables.rb | 126 + lib/api/commits.rb | 2 +- .../packages/debian_distribution_endpoints.rb | 4 + .../concerns/packages/debian_package_endpoints.rb | 165 +- lib/api/debian_group_packages.rb | 47 +- lib/api/debian_project_packages.rb | 50 +- lib/api/entities/ci/job_request/dependency.rb | 2 +- lib/api/entities/ci/pipeline_basic.rb | 2 + lib/api/entities/error_tracking.rb | 1 + lib/api/entities/issue_basic.rb | 2 +- lib/api/entities/project.rb | 1 + lib/api/entities/project_with_access.rb | 6 +- lib/api/environments.rb | 6 +- lib/api/error_tracking.rb | 5 + lib/api/error_tracking_collector.rb | 26 +- lib/api/group_debian_distributions.rb | 35 + lib/api/group_variables.rb | 2 +- lib/api/groups.rb | 10 +- lib/api/helpers.rb | 4 + lib/api/helpers/groups_helpers.rb | 2 +- lib/api/helpers/members_helpers.rb | 8 + .../helpers/packages/dependency_proxy_helpers.rb | 23 +- lib/api/helpers/packages/npm.rb | 14 +- lib/api/helpers/projects_helpers.rb | 11 +- lib/api/helpers/runner.rb | 121 - lib/api/internal/base.rb | 4 +- lib/api/invitations.rb | 11 +- lib/api/issues.rb | 4 +- lib/api/job_artifacts.rb | 141 - lib/api/jobs.rb | 204 - lib/api/members.rb | 8 +- lib/api/merge_requests.rb | 1 + lib/api/namespaces.rb | 5 +- lib/api/project_debian_distributions.rb | 2 - lib/api/project_templates.rb | 2 +- lib/api/projects.rb | 48 +- lib/api/pypi_packages.rb | 43 +- lib/api/repositories.rb | 12 +- lib/api/rubygem_packages.rb | 2 +- lib/api/settings.rb | 2 +- lib/api/tags.rb | 2 - lib/api/templates.rb | 19 +- lib/api/time_tracking_endpoints.rb | 1 + lib/api/triggers.rb | 146 - lib/api/user_counts.rb | 6 +- lib/api/v3/github.rb | 2 + lib/api/variables.rb | 124 - lib/atlassian/jira_connect/client.rb | 2 +- lib/backup.rb | 39 + lib/backup/gitaly_backup.rb | 19 +- lib/backup/manager.rb | 13 +- lib/banzai/filter/references/reference_cache.rb | 57 +- lib/banzai/filter/table_of_contents_tag_filter.rb | 44 +- lib/error_tracking/collector/sentry_auth_parser.rb | 25 + lib/extracts_path.rb | 10 - lib/feature.rb | 6 +- lib/feature/gitaly.rb | 2 +- lib/gem_extensions/active_record/association.rb | 37 + .../active_record/associations/builder/has_many.rb | 21 + .../active_record/associations/builder/has_one.rb | 21 + .../associations/has_many_through_association.rb | 18 + .../associations/has_one_through_association.rb | 17 + .../associations/preloader/through_association.rb | 22 + .../active_record/configurable_disable_joins.rb | 17 + lib/gem_extensions/active_record/delegate_cache.rb | 34 + .../associations/association_scope.rb | 78 + .../active_record/disable_joins/relation.rb | 43 + .../database_instrumentation_class.rb.template | 17 + .../generic_instrumentation_class.rb.template | 15 + .../templates/instrumentation_class.rb.template | 14 - .../gitlab/usage_metric/usage_metric_generator.rb | 71 - lib/generators/gitlab/usage_metric_generator.rb | 81 + .../post_deployment_migration_generator.rb | 17 + .../post_deployment_migration_generator.rb | 17 - lib/gitlab.rb | 1 - .../analytics/cycle_analytics/records_fetcher.rb | 59 +- .../analytics/cycle_analytics/request_params.rb | 186 + .../cycle_analytics/stage_query_helpers.rb | 2 +- lib/gitlab/auth.rb | 20 +- lib/gitlab/auth/auth_finders.rb | 2 +- .../auth/otp/strategies/forti_token_cloud.rb | 2 +- lib/gitlab/auth/result.rb | 36 +- lib/gitlab/background_migration.rb | 21 +- .../backfill_draft_status_on_merge_requests.rb | 11 + .../backfill_integrations_type_new.rb | 86 + .../backfill_project_repositories.rb | 2 +- .../backfill_snippet_repositories.rb | 2 +- .../copy_ci_builds_columns_to_security_scans.rb | 44 + .../create_security_setting.rb | 14 + .../migrate_fingerprint_sha256_within_keys.rb | 2 +- .../migrate_issue_trackers_sensitive_data.rb | 2 +- .../populate_issue_email_participants.rb | 2 +- ...recalculate_vulnerabilities_occurrences_uuid.rb | 5 + lib/gitlab/bare_repository_import/importer.rb | 2 +- lib/gitlab/bitbucket_server_import/importer.rb | 3 +- lib/gitlab/cache/import/caching.rb | 20 +- lib/gitlab/chaos.rb | 2 +- lib/gitlab/chat/command.rb | 4 +- lib/gitlab/checks/branch_check.rb | 2 +- lib/gitlab/checks/changes_access.rb | 52 +- lib/gitlab/checks/single_change_access.rb | 3 +- lib/gitlab/ci/ansi2html.rb | 3 + lib/gitlab/ci/ansi2json/line.rb | 9 +- lib/gitlab/ci/config.rb | 36 +- lib/gitlab/ci/config/entry/include.rb | 18 +- lib/gitlab/ci/config/entry/include/rules.rb | 28 + lib/gitlab/ci/config/entry/include/rules/rule.rb | 30 + lib/gitlab/ci/config/entry/inherit/variables.rb | 11 - lib/gitlab/ci/config/entry/job.rb | 3 - lib/gitlab/ci/config/entry/processable.rb | 21 +- lib/gitlab/ci/config/entry/rules.rb | 2 +- lib/gitlab/ci/config/external/file/remote.rb | 2 +- lib/gitlab/ci/config/external/mapper.rb | 12 +- lib/gitlab/ci/config/external/rules.rb | 31 + lib/gitlab/ci/config/normalizer/matrix_strategy.rb | 1 - lib/gitlab/ci/features.rb | 2 +- lib/gitlab/ci/limit.rb | 11 +- lib/gitlab/ci/lint.rb | 1 + lib/gitlab/ci/model.rb | 15 - lib/gitlab/ci/parsers.rb | 4 +- lib/gitlab/ci/parsers/security/common.rb | 266 + .../parsers/security/concerns/deprecated_syntax.rb | 36 + lib/gitlab/ci/parsers/security/sast.rb | 26 + lib/gitlab/ci/parsers/security/secret_detection.rb | 27 + .../security/validators/schema_validator.rb | 68 + .../parsers/security/validators/schemas/sast.json | 706 + .../validators/schemas/secret_detection.json | 729 + lib/gitlab/ci/pipeline/chain/command.rb | 9 +- lib/gitlab/ci/pipeline/chain/config/process.rb | 2 +- lib/gitlab/ci/pipeline/chain/sequence.rb | 1 + lib/gitlab/ci/pipeline/chain/skip.rb | 8 +- .../ci/pipeline/expression/lexeme/pattern.rb | 2 +- lib/gitlab/ci/pipeline/metrics.rb | 11 +- lib/gitlab/ci/pipeline/seed/build.rb | 4 +- .../ci/reports/security/aggregated_report.rb | 24 + lib/gitlab/ci/reports/security/finding.rb | 150 + lib/gitlab/ci/reports/security/finding_key.rb | 36 + .../ci/reports/security/finding_signature.rb | 46 + lib/gitlab/ci/reports/security/locations/base.rb | 41 + lib/gitlab/ci/reports/security/locations/sast.rb | 33 + .../reports/security/locations/secret_detection.rb | 33 + lib/gitlab/ci/reports/security/report.rb | 76 + lib/gitlab/ci/reports/security/reports.rb | 42 + .../security/vulnerability_reports_comparer.rb | 163 + .../5-Minute-Production-App.gitlab-ci.yml | 2 +- lib/gitlab/ci/templates/Bash.gitlab-ci.yml | 2 +- lib/gitlab/ci/templates/Django.gitlab-ci.yml | 2 +- .../ci/templates/Getting-Started.gitlab-ci.yml | 2 +- .../ci/templates/Jobs/Code-Quality.gitlab-ci.yml | 2 +- .../Jobs/DAST-Default-Branch-Deploy.gitlab-ci.yml | 2 +- lib/gitlab/ci/templates/Jobs/Deploy.gitlab-ci.yml | 2 +- lib/gitlab/ci/templates/Jobs/SAST.gitlab-ci.yml | 1 + .../templates/Jobs/Secret-Detection.gitlab-ci.yml | 4 +- lib/gitlab/ci/templates/Laravel.gitlab-ci.yml | 2 +- lib/gitlab/ci/templates/Nodejs.gitlab-ci.yml | 2 +- lib/gitlab/ci/templates/Pages/Gatsby.gitlab-ci.yml | 2 +- lib/gitlab/ci/templates/Ruby.gitlab-ci.yml | 3 +- .../Security/Cluster-Image-Scanning.gitlab-ci.yml | 2 +- .../Security/DAST-Runner-Validation.gitlab-ci.yml | 23 + .../Security/Secure-Binaries.gitlab-ci.yml | 12 +- lib/gitlab/ci/templates/Terraform.gitlab-ci.yml | 2 +- .../ci/templates/Terraform.latest.gitlab-ci.yml | 15 +- .../ci/templates/Terraform/Base.gitlab-ci.yml | 64 + .../templates/Terraform/Base.latest.gitlab-ci.yml | 16 +- lib/gitlab/ci/yaml_processor/dag.rb | 2 +- lib/gitlab/ci/yaml_processor/result.rb | 2 +- lib/gitlab/config/entry/validators.rb | 18 +- .../config_checker/external_database_checker.rb | 4 +- lib/gitlab/conflict/file.rb | 22 +- lib/gitlab/conflict/file_collection.rb | 4 +- .../content_security_policy/config_loader.rb | 83 +- lib/gitlab/current_settings.rb | 2 +- lib/gitlab/data_builder/deployment.rb | 1 + lib/gitlab/data_builder/pipeline.rb | 51 +- lib/gitlab/database.rb | 337 +- lib/gitlab/database/as_with_materialized.rb | 2 +- lib/gitlab/database/async_indexes.rb | 15 + lib/gitlab/database/async_indexes/index_creator.rb | 63 + .../database/async_indexes/migration_helpers.rb | 80 + .../database/async_indexes/postgres_async_index.rb | 22 + lib/gitlab/database/batch_counter.rb | 2 +- lib/gitlab/database/connection.rb | 249 + .../database/count/reltuples_count_strategy.rb | 2 +- .../database/count/tablesample_count_strategy.rb | 2 +- lib/gitlab/database/grant.rb | 2 +- lib/gitlab/database/load_balancing.rb | 35 +- .../database/load_balancing/active_record_proxy.rb | 2 +- .../database/load_balancing/connection_proxy.rb | 34 +- lib/gitlab/database/load_balancing/host.rb | 20 +- lib/gitlab/database/load_balancing/host_list.rb | 17 +- .../database/load_balancing/load_balancer.rb | 142 +- .../database/load_balancing/rack_middleware.rb | 12 +- .../database/load_balancing/service_discovery.rb | 53 +- lib/gitlab/database/load_balancing/sticking.rb | 12 +- lib/gitlab/database/metrics.rb | 26 + lib/gitlab/database/migration_helpers.rb | 37 +- .../migrations/background_migration_helpers.rb | 34 + lib/gitlab/database/migrations/instrumentation.rb | 20 +- lib/gitlab/database/migrations/observation.rb | 3 +- lib/gitlab/database/migrations/observers.rb | 8 +- .../migrations/observers/migration_observer.rb | 7 +- .../database/migrations/observers/query_details.rb | 8 +- .../database/migrations/observers/query_log.rb | 8 +- .../migrations/observers/query_statistics.rb | 2 +- .../observers/total_database_size_change.rb | 2 +- lib/gitlab/database/multi_threaded_migration.rb | 52 - .../partitioning/detached_partition_dropper.rb | 56 + .../database/partitioning/monthly_strategy.rb | 2 +- .../database/partitioning/partition_manager.rb | 34 +- .../database/partitioning/partition_monitoring.rb | 5 + lib/gitlab/database/partitioning/time_partition.rb | 7 + lib/gitlab/database/postgres_foreign_key.rb | 15 + .../postgres_hll/batch_distinct_counter.rb | 2 +- lib/gitlab/database/postgres_index.rb | 7 +- lib/gitlab/database/postgres_partition.rb | 8 +- lib/gitlab/database/reindexing.rb | 27 +- .../database/reindexing/reindex_concurrently.rb | 7 - lib/gitlab/database/schema_migrations/context.rb | 13 +- lib/gitlab/database/similarity_score.rb | 4 +- lib/gitlab/database/transaction/context.rb | 125 + lib/gitlab/database/transaction/observer.rb | 66 + lib/gitlab/deprecation_json_logger.rb | 9 + lib/gitlab/diff/file_collection/base.rb | 6 + lib/gitlab/email/handler/create_note_handler.rb | 11 +- lib/gitlab/email/handler/reply_processing.rb | 31 +- .../message/in_product_marketing/admin_verify.rb | 43 + .../email/message/in_product_marketing/base.rb | 8 +- .../email/message/in_product_marketing/create.rb | 2 +- .../email/message/in_product_marketing/team.rb | 4 + .../message/in_product_marketing/team_short.rb | 47 + .../email/message/in_product_marketing/trial.rb | 4 + .../message/in_product_marketing/trial_short.rb | 47 + .../email/message/in_product_marketing/verify.rb | 2 +- lib/gitlab/email/reply_parser.rb | 14 +- lib/gitlab/email/smtp_config.rb | 29 + lib/gitlab/encoding_helper.rb | 9 + lib/gitlab/encrypted_command_base.rb | 105 + lib/gitlab/encrypted_ldap_command.rb | 92 +- lib/gitlab/encrypted_smtp_command.rb | 23 + lib/gitlab/etag_caching/router/restful.rb | 2 +- lib/gitlab/experimentation.rb | 18 +- lib/gitlab/fake_application_settings.rb | 52 +- lib/gitlab/form_builders/gitlab_ui_form_builder.rb | 55 + lib/gitlab/git/blob.rb | 4 +- lib/gitlab/git/commit.rb | 12 +- lib/gitlab/git/commit_stats.rb | 24 +- lib/gitlab/git/conflict/file.rb | 12 +- lib/gitlab/git/conflict/resolver.rb | 5 +- lib/gitlab/git/remote_mirror.rb | 6 +- lib/gitlab/git/repository.rb | 53 +- lib/gitlab/git/rugged_impl/tree.rb | 7 +- lib/gitlab/git/tag.rb | 16 +- lib/gitlab/git/tree.rb | 8 +- lib/gitlab/git_access.rb | 17 +- lib/gitlab/gitaly_client/commit_service.rb | 43 +- .../gitaly_client/conflict_files_stitcher.rb | 1 + lib/gitlab/gitaly_client/conflicts_service.rb | 5 +- lib/gitlab/gitaly_client/ref_service.rb | 39 +- lib/gitlab/gitaly_client/remote_service.rb | 29 +- lib/gitlab/gitaly_client/repository_service.rb | 48 +- lib/gitlab/github_import/bulk_importing.rb | 43 +- .../github_import/importer/diff_note_importer.rb | 2 +- .../github_import/importer/issue_importer.rb | 2 +- .../github_import/importer/label_links_importer.rb | 2 +- .../github_import/importer/labels_importer.rb | 14 +- .../github_import/importer/lfs_objects_importer.rb | 6 +- .../github_import/importer/milestones_importer.rb | 14 +- lib/gitlab/github_import/importer/note_importer.rb | 2 +- .../importer/pull_requests_importer.rb | 6 +- .../importer/pull_requests_reviews_importer.rb | 43 +- .../github_import/importer/releases_importer.rb | 14 +- .../github_import/importer/repository_importer.rb | 12 +- lib/gitlab/github_import/logger.rb | 11 + lib/gitlab/github_import/object_counter.rb | 31 +- lib/gitlab/github_import/parallel_scheduling.rb | 35 +- lib/gitlab/github_import/user_finder.rb | 14 +- lib/gitlab/graphql/copy_field_description.rb | 2 +- lib/gitlab/graphql/markdown_field.rb | 2 +- lib/gitlab/highlight.rb | 6 +- lib/gitlab/http.rb | 19 +- lib/gitlab/i18n.rb | 28 +- lib/gitlab/import/database_helpers.rb | 2 +- lib/gitlab/import/import_failure_service.rb | 76 + lib/gitlab/import/logger.rb | 4 + lib/gitlab/import_export/json/legacy_reader.rb | 2 +- lib/gitlab/import_export/json/ndjson_reader.rb | 4 +- .../import_export/json/streaming_serializer.rb | 15 +- lib/gitlab/import_export/lfs_restorer.rb | 2 +- lib/gitlab/import_export/project/import_export.yml | 3 + lib/gitlab/import_export/project/object_builder.rb | 2 +- lib/gitlab/instrumentation/redis_interceptor.rb | 20 + lib/gitlab/instrumentation_helper.rb | 5 + lib/gitlab/integrations/sti_type.rb | 12 +- lib/gitlab/jira/http_client.rb | 8 + lib/gitlab/jira_import/issue_serializer.rb | 5 +- lib/gitlab/json_cache.rb | 4 +- lib/gitlab/json_logger.rb | 8 +- lib/gitlab/kas.rb | 7 + lib/gitlab/kubernetes/default_namespace.rb | 17 +- lib/gitlab/kubernetes/kubeconfig/entry/cluster.rb | 43 + lib/gitlab/kubernetes/kubeconfig/entry/context.rb | 39 + lib/gitlab/kubernetes/kubeconfig/entry/user.rb | 29 + lib/gitlab/kubernetes/kubeconfig/template.rb | 59 + lib/gitlab/language_detection.rb | 2 +- lib/gitlab/markdown_cache.rb | 10 +- .../markdown_cache/active_record/extension.rb | 5 +- lib/gitlab/metrics/requests_rack_middleware.rb | 16 +- lib/gitlab/metrics/samplers/base_sampler.rb | 2 +- lib/gitlab/metrics/subscribers/action_cable.rb | 2 +- lib/gitlab/metrics/subscribers/action_view.rb | 2 +- lib/gitlab/metrics/subscribers/active_record.rb | 130 +- lib/gitlab/metrics/subscribers/rails_cache.rb | 2 +- lib/gitlab/middleware/go.rb | 16 +- lib/gitlab/middleware/multipart.rb | 2 +- lib/gitlab/optimistic_locking.rb | 2 +- lib/gitlab/otp_key_rotator.rb | 4 +- .../pagination/keyset/column_condition_builder.rb | 206 + lib/gitlab/pagination/keyset/order.rb | 48 +- .../pagination/keyset/simple_order_builder.rb | 1 + lib/gitlab/profiler.rb | 6 +- lib/gitlab/project_search_results.rb | 5 +- .../query_limiting/active_support_subscriber.rb | 6 +- lib/gitlab/query_limiting/middleware.rb | 2 +- lib/gitlab/quick_actions/issuable_actions.rb | 41 + lib/gitlab/reactive_cache_set_cache.rb | 5 - lib/gitlab/redis/wrapper.rb | 4 + lib/gitlab/regex.rb | 10 +- lib/gitlab/repository_set_cache.rb | 5 - lib/gitlab/search_results.rb | 2 +- lib/gitlab/set_cache.rb | 6 - lib/gitlab/setup_helper.rb | 8 +- lib/gitlab/sidekiq_cluster/cli.rb | 16 + lib/gitlab/sidekiq_config/dummy_worker.rb | 5 +- lib/gitlab/sidekiq_config/worker.rb | 14 +- lib/gitlab/signed_tag.rb | 47 + lib/gitlab/slash_commands/presenters/help.rb | 2 +- lib/gitlab/sql/glob.rb | 2 +- lib/gitlab/sql/set_operator.rb | 31 +- lib/gitlab/tracking/docs/helper.rb | 2 +- lib/gitlab/usage/docs/helper.rb | 64 - lib/gitlab/usage/docs/renderer.rb | 32 - lib/gitlab/usage/docs/templates/default.md.haml | 48 - lib/gitlab/usage/docs/value_formatter.rb | 28 - lib/gitlab/usage/metric.rb | 49 +- lib/gitlab/usage/metric_definition.rb | 22 +- lib/gitlab/usage/metrics/aggregates.rb | 26 + lib/gitlab/usage/metrics/aggregates/aggregate.rb | 17 - lib/gitlab/usage/metrics/aggregates/sources.rb | 13 + .../usage/metrics/aggregates/sources/redis_hll.rb | 2 - .../usage/metrics/instrumentations/base_metric.rb | 4 + .../collected_data_categories_metric.rb | 4 +- .../metrics/instrumentations/database_metric.rb | 12 +- .../metrics/instrumentations/generic_metric.rb | 22 +- .../metrics/instrumentations/redis_hll_metric.rb | 9 +- .../usage/metrics/instrumentations/redis_metric.rb | 49 + .../usage/metrics/names_suggestions/generator.rb | 6 + lib/gitlab/usage_data.rb | 27 +- lib/gitlab/usage_data_counters.rb | 3 +- lib/gitlab/usage_data_counters/diffs_counter.rb | 10 + .../usage_data_counters/hll_redis_counter.rb | 7 +- .../known_events/code_review_events.yml | 5 + .../usage_data_counters/known_events/common.yml | 1 - .../known_events/quickactions.yml | 4 + lib/gitlab/usage_data_counters/redis_counter.rb | 4 +- lib/gitlab/usage_data_metrics.rb | 21 +- lib/gitlab/usage_data_non_sql_metrics.rb | 16 + lib/gitlab/usage_data_queries.rb | 16 + lib/gitlab/utils.rb | 2 +- lib/gitlab/utils/usage_data.rb | 6 + lib/gitlab/visibility_level.rb | 1 + lib/gitlab/web_ide/config/entry/terminal.rb | 1 - lib/gitlab/x509/tag.rb | 33 +- lib/peek/views/active_record.rb | 13 +- lib/product_analytics/tracker.rb | 2 +- lib/sidebars/concerns/has_partial.rb | 21 + lib/sidebars/concerns/has_pill.rb | 13 + lib/sidebars/groups/menus/ci_cd_menu.rb | 51 + .../groups/menus/group_information_menu.rb | 79 + lib/sidebars/groups/menus/issues_menu.rb | 101 + lib/sidebars/groups/menus/kubernetes_menu.rb | 41 + lib/sidebars/groups/menus/merge_requests_menu.rb | 58 + .../groups/menus/packages_registries_menu.rb | 74 + lib/sidebars/groups/menus/settings_menu.rb | 117 + lib/sidebars/groups/panel.rb | 10 + lib/sidebars/menu.rb | 3 +- .../projects/menus/packages_registries_menu.rb | 8 +- lib/support/init.d/gitlab | 2 +- lib/support/init.d/gitlab.default.example | 2 +- lib/support/nginx/gitlab-pages-ssl | 15 +- lib/support/nginx/gitlab-ssl | 18 +- lib/support/nginx/registry-ssl | 21 +- lib/tasks/gitlab/backup.rake | 4 +- lib/tasks/gitlab/db.rake | 10 +- lib/tasks/gitlab/docs/redirect.rake | 63 - lib/tasks/gitlab/gitaly.rake | 55 + lib/tasks/gitlab/graphql.rake | 4 +- lib/tasks/gitlab/info.rake | 4 +- lib/tasks/gitlab/product_intelligence.rake | 24 + lib/tasks/gitlab/smtp.rake | 23 + lib/tasks/gitlab/storage.rake | 2 +- lib/tasks/gitlab/usage_data.rake | 6 - locale/am_ET/gitlab.po | 2866 ++- locale/ar_SA/gitlab.po | 2884 ++- locale/as_IN/gitlab.po | 2864 ++- locale/az_AZ/gitlab.po | 2864 ++- locale/ba_RU/gitlab.po | 2857 ++- locale/bg/gitlab.po | 2864 ++- locale/bn_BD/gitlab.po | 2864 ++- locale/bn_IN/gitlab.po | 2864 ++- locale/br_FR/gitlab.po | 2879 ++- locale/bs_BA/gitlab.po | 2869 ++- locale/ca_ES/gitlab.po | 2866 ++- locale/cs_CZ/gitlab.po | 2874 ++- locale/cy_GB/gitlab.po | 2884 ++- locale/da_DK/gitlab.po | 2866 ++- locale/de/gitlab.po | 2908 ++- locale/el_GR/gitlab.po | 2864 ++- locale/eo/gitlab.po | 2864 ++- locale/es/gitlab.po | 2972 ++- locale/et_EE/gitlab.po | 2864 ++- locale/fa_IR/gitlab.po | 2864 ++- locale/fi_FI/gitlab.po | 2864 ++- locale/fil_PH/gitlab.po | 2864 ++- locale/fr/gitlab.po | 2894 ++- locale/gitlab.pot | 2085 +- locale/gl_ES/gitlab.po | 2864 ++- locale/he_IL/gitlab.po | 2874 ++- locale/hi_IN/gitlab.po | 2864 ++- locale/hr_HR/gitlab.po | 2869 ++- locale/hu_HU/gitlab.po | 2864 ++- locale/hy_AM/gitlab.po | 2864 ++- locale/id_ID/gitlab.po | 2857 ++- locale/ig_NG/gitlab.po | 2857 ++- locale/is_IS/gitlab.po | 2864 ++- locale/it/gitlab.po | 2866 ++- locale/ja/gitlab.po | 2985 ++- locale/ka_GE/gitlab.po | 2864 ++- locale/kab/gitlab.po | 2864 ++- locale/ko/gitlab.po | 2893 ++- locale/ku_TR/gitlab.po | 2864 ++- locale/ky_KG/gitlab.po | 2864 ++- locale/lt_LT/gitlab.po | 2874 ++- locale/mk_MK/gitlab.po | 2864 ++- locale/mn_MN/gitlab.po | 2864 ++- locale/nb_NO/gitlab.po | 2946 ++- locale/nl_NL/gitlab.po | 2864 ++- locale/pa_IN/gitlab.po | 2864 ++- locale/pl_PL/gitlab.po | 3302 ++- locale/pt_BR/gitlab.po | 9282 ++++---- locale/pt_PT/gitlab.po | 2878 ++- locale/ro_RO/gitlab.po | 2869 ++- locale/ru/gitlab.po | 2974 ++- locale/si_LK/gitlab.po | 2864 ++- locale/sk_SK/gitlab.po | 2874 ++- locale/sl_SI/gitlab.po | 2874 ++- locale/sq_AL/gitlab.po | 2864 ++- locale/sr_CS/gitlab.po | 2869 ++- locale/sr_SP/gitlab.po | 2869 ++- locale/sv_SE/gitlab.po | 2866 ++- locale/sw_KE/gitlab.po | 2864 ++- locale/ta_IN/gitlab.po | 2864 ++- locale/tr_TR/gitlab.po | 3232 ++- locale/uk/gitlab.po | 3734 +-- locale/ur_PK/gitlab.po | 2864 ++- locale/uz_UZ/gitlab.po | 2864 ++- locale/vi_VN/gitlab.po | 2857 ++- locale/zh_CN/gitlab.po | 6411 ++--- locale/zh_HK/gitlab.po | 2867 ++- locale/zh_TW/gitlab.po | 2877 ++- package.json | 21 +- public/robots.txt | 1 + qa/Gemfile | 12 +- qa/Gemfile.lock | 41 +- qa/chemlab-library-gitlab.gemspec | 22 + qa/lib/gitlab.rb | 20 + qa/lib/gitlab/page/group/settings/billing.rb | 19 + qa/lib/gitlab/page/group/settings/billing.stub.rb | 107 + qa/lib/gitlab/page/main/login.rb | 22 + qa/lib/gitlab/page/main/login.stub.rb | 101 + qa/lib/gitlab/page/subscriptions/new.rb | 41 + qa/lib/gitlab/page/subscriptions/new.stub.rb | 545 + qa/qa.rb | 13 +- qa/qa/fixtures/export.tar.gz | Bin 306887 -> 308811 bytes qa/qa/page/base.rb | 16 +- qa/qa/page/component/content_editor.rb | 54 + qa/qa/page/component/import/gitlab.rb | 4 +- qa/qa/page/component/invite_members_modal.rb | 12 +- qa/qa/page/component/wiki.rb | 12 + qa/qa/page/component/wiki_page_form.rb | 7 + qa/qa/page/dashboard/projects.rb | 8 + qa/qa/page/group/bulk_import.rb | 8 +- qa/qa/page/group/dependency_proxy.rb | 26 + qa/qa/page/group/members.rb | 2 +- qa/qa/page/group/menu.rb | 110 +- qa/qa/page/group/settings/billing.rb | 13 - qa/qa/page/merge_request/show.rb | 9 +- .../page/project/deployments/environments/show.rb | 23 - qa/qa/page/project/import/github.rb | 96 +- qa/qa/page/project/new.rb | 4 +- qa/qa/page/project/registry/show.rb | 2 +- qa/qa/page/project/secure/configuration_form.rb | 31 + qa/qa/page/project/wiki/edit.rb | 1 + qa/qa/resource/base.rb | 21 +- qa/qa/resource/bulk_import_group.rb | 85 + qa/qa/resource/group_base.rb | 2 + qa/qa/resource/issue.rb | 41 +- qa/qa/resource/merge_request.rb | 13 +- qa/qa/resource/project.rb | 68 +- qa/qa/resource/project_imported_from_github.rb | 7 +- qa/qa/runtime/allure_report.rb | 21 +- qa/qa/runtime/api/request.rb | 6 +- qa/qa/runtime/application_settings.rb | 2 +- qa/qa/runtime/browser.rb | 3 +- qa/qa/runtime/env.rb | 4 + qa/qa/runtime/feature.rb | 10 +- .../api/1_manage/bulk_import_group_spec.rb | 102 + .../api/1_manage/import_github_repo_spec.rb | 2 +- .../api/1_manage/import_large_github_repo_spec.rb | 362 + .../push_options_target_branch_spec.rb | 12 - .../repository/project_archive_compare_spec.rb | 2 +- .../api/5_package/container_registry_spec.rb | 16 +- .../1_manage/group/bulk_import_group_spec.rb | 51 +- .../1_manage/project/create_project_spec.rb | 54 +- .../1_manage/project/import_github_repo_spec.rb | 42 +- .../modify_design_content_spec.rb | 2 +- .../view_merge_request_diff_patch_spec.rb | 7 +- .../3_create/wiki/content_editor_spec.rb | 43 + ...e_local_config_file_paths_with_wildcard_spec.rb | 6 +- .../merge_mr_when_pipline_is_blocked_spec.rb | 2 +- .../pipeline/mr_event_rule_pipeline_spec.rb | 81 + ...tenv_variables_to_downstream_via_bridge_spec.rb | 2 +- .../4_verify/testing/view_code_coverage_spec.rb | 4 +- .../5_package/container_registry_omnibus_spec.rb | 2 +- .../browser_ui/5_package/dependency_proxy_spec.rb | 104 + .../5_package/online_garbage_collection_spec.rb | 2 +- .../browser_ui/5_package/pypi_repository_spec.rb | 53 +- .../deploy_key/clone_using_deploy_key_spec.rb | 68 +- .../kubernetes/kubernetes_integration_spec.rb | 6 +- qa/qa/specs/helpers/context_formatter.rb | 68 + qa/qa/specs/helpers/context_selector.rb | 12 - qa/qa/specs/helpers/quarantine.rb | 44 +- qa/qa/specs/helpers/quarantine_formatter.rb | 45 + qa/qa/specs/helpers/rspec.rb | 4 +- qa/qa/support/allure_metadata_formatter.rb | 37 + qa/qa/support/api.rb | 33 +- qa/qa/support/repeater.rb | 26 +- qa/qa/support/retrier.rb | 20 +- qa/spec/page/logging_spec.rb | 1 + qa/spec/qa_deprecation_toolkit_env.rb | 22 + qa/spec/resource/base_spec.rb | 78 +- qa/spec/runtime/api/request_spec.rb | 2 +- qa/spec/spec_helper.rb | 7 +- qa/spec/specs/allure_report_spec.rb | 93 + qa/spec/specs/helpers/context_selector_spec.rb | 28 +- qa/spec/specs/helpers/quarantine_spec.rb | 28 +- qa/spec/support/allure_metadata_formatter_spec.rb | 46 + qa/spec/support/matchers/eventually_matcher.rb | 19 +- qa/spec/support/retrier_spec.rb | 10 +- rubocop/cop/gitlab/bulk_insert.rb | 6 +- rubocop/cop/gitlab/json.rb | 2 +- rubocop/cop/gitlab/mark_used_feature_flags.rb | 1 + rubocop/cop/graphql/descriptions.rb | 34 +- rubocop/cop/graphql/id_type.rb | 4 +- rubocop/cop/graphql/json_type.rb | 2 +- rubocop/cop/graphql/old_types.rb | 44 + rubocop/cop/graphql/resolver_type.rb | 4 +- rubocop/cop/ignored_columns.rb | 50 +- rubocop/cop/qa/selector_usage.rb | 39 + rubocop/rubocop-usage-data.yml | 2 +- scripts/api/cancel_pipeline.rb | 29 +- scripts/api/default_options.rb | 11 + scripts/api/download_job_artifact.rb | 18 +- scripts/api/get_job_id.rb | 45 +- scripts/api/play_job.rb | 63 - scripts/frontend/startup_css/constants.js | 2 - scripts/lint-doc.sh | 8 +- scripts/lint-docs-metadata.sh | 75 + scripts/review_apps/base-config.yaml | 24 +- scripts/review_apps/review-apps.sh | 2 +- scripts/rspec_helpers.sh | 14 +- scripts/static-analysis | 22 +- scripts/trigger-build | 43 +- .../admin/clusters/applications_controller_spec.rb | 139 - .../admin/integrations_controller_spec.rb | 46 +- spec/controllers/admin/runners_controller_spec.rb | 33 +- spec/controllers/admin/services_controller_spec.rb | 75 - spec/controllers/admin/users_controller_spec.rb | 14 +- spec/controllers/concerns/redis_tracking_spec.rb | 6 +- .../akismet_mark_as_spam_action_spec.rb | 71 + .../html_format_actions_support_spec.rb | 74 + .../json_format_actions_support_spec.rb | 60 + .../controllers/concerns/spammable_actions_spec.rb | 112 - .../dashboard/projects_controller_spec.rb | 2 +- .../clusters/applications_controller_spec.rb | 148 - .../dependency_proxy_auth_controller_spec.rb | 57 +- ...endency_proxy_for_containers_controller_spec.rb | 143 +- spec/controllers/groups/runners_controller_spec.rb | 27 + .../settings/integrations_controller_spec.rb | 10 +- .../import/available_namespaces_controller_spec.rb | 88 +- .../controllers/import/manifest_controller_spec.rb | 1 - spec/controllers/invites_controller_spec.rb | 69 +- .../jira_connect/app_descriptor_controller_spec.rb | 81 +- .../jira_connect/branches_controller_spec.rb | 47 + .../jira_connect/subscriptions_controller_spec.rb | 48 +- .../profiles/notifications_controller_spec.rb | 2 +- .../profiles/two_factor_auths_controller_spec.rb | 12 + spec/controllers/profiles_controller_spec.rb | 11 + .../cycle_analytics/stages_controller_spec.rb | 148 +- .../clusters/applications_controller_spec.rb | 215 - .../projects/environments_controller_spec.rb | 49 +- .../error_tracking/stack_traces_controller_spec.rb | 2 +- .../projects/error_tracking_controller_spec.rb | 6 +- .../projects/feature_flags_controller_spec.rb | 8 +- .../controllers/projects/issues_controller_spec.rb | 2 +- spec/controllers/projects/jobs_controller_spec.rb | 158 +- .../merge_requests/diffs_controller_spec.rb | 179 +- .../infrastructure_registry_controller_spec.rb | 8 +- .../projects/project_members_controller_spec.rb | 14 +- spec/controllers/projects/raw_controller_spec.rb | 12 +- .../projects/services_controller_spec.rb | 77 +- .../projects/snippets_controller_spec.rb | 20 +- spec/controllers/projects_controller_spec.rb | 57 +- .../registrations/welcome_controller_spec.rb | 22 +- spec/controllers/registrations_controller_spec.rb | 62 +- spec/controllers/search_controller_spec.rb | 16 + spec/controllers/snippets_controller_spec.rb | 2 +- spec/crystalball_env.rb | 2 +- spec/db/schema_spec.rb | 3 +- spec/deprecation_toolkit_env.rb | 10 +- spec/experiments/application_experiment_spec.rb | 114 +- .../force_company_trial_experiment_spec.rb | 24 + .../members/invite_email_experiment_spec.rb | 117 - .../new_project_readme_content_experiment_spec.rb | 4 +- .../new_project_readme_experiment_spec.rb | 75 - spec/factories/alert_management/alerts.rb | 6 +- spec/factories/ci/build_trace_section_names.rb | 8 - spec/factories/ci/builds.rb | 22 +- spec/factories/ci/job_artifacts.rb | 70 + spec/factories/ci/pending_builds.rb | 2 + .../ci/reports/security/aggregated_reports.rb | 14 + spec/factories/ci/reports/security/finding_keys.rb | 18 + spec/factories/ci/reports/security/findings.rb | 54 + .../ci/reports/security/locations/sast.rb | 23 + spec/factories/ci/reports/security/reports.rb | 28 + spec/factories/customer_relations/organizations.rb | 9 + spec/factories/deploy_tokens.rb | 6 +- spec/factories/design_management/designs.rb | 2 +- spec/factories/environments.rb | 5 + spec/factories/error_tracking/client_key.rb | 12 + spec/factories/error_tracking/detailed_error.rb | 2 +- spec/factories/error_tracking/error.rb | 18 +- spec/factories/error_tracking/error_event.rb | 13 +- .../database/async_indexes/postgres_async_index.rb | 9 + .../issuable_escalation_statuses.rb | 25 + spec/factories/integrations.rb | 2 +- spec/factories/packages/debian/distribution.rb | 10 + spec/factories/packages/debian/distribution_key.rb | 4 +- spec/factories/packages/debian/file_metadatum.rb | 22 +- spec/factories/project_error_tracking_settings.rb | 4 + spec/factories/projects.rb | 10 +- spec/factories/projects/ci_feature_usages.rb | 9 + spec/factories/sequences.rb | 1 + spec/factories/usage_data.rb | 3 +- spec/factories/user_details.rb | 1 + spec/factories/work_item/work_item_types.rb | 30 + spec/factories_spec.rb | 1 - spec/fast_spec_helper.rb | 8 +- spec/features/admin/admin_appearance_spec.rb | 2 +- spec/features/admin/admin_dev_ops_report_spec.rb | 4 +- spec/features/admin/admin_groups_spec.rb | 4 +- .../admin/admin_manage_applications_spec.rb | 56 +- spec/features/admin/admin_mode/logout_spec.rb | 76 +- spec/features/admin/admin_mode_spec.rb | 217 +- spec/features/admin/admin_settings_spec.rb | 22 +- spec/features/admin/dashboard_spec.rb | 4 +- ...user_activates_mattermost_slash_command_spec.rb | 6 + .../admin_visits_service_templates_spec.rb | 53 - spec/features/admin/users/user_spec.rb | 37 +- spec/features/boards/boards_spec.rb | 791 +- .../callouts/service_templates_deprecation_spec.rb | 59 - .../clusters/cluster_health_dashboard_spec.rb | 16 +- spec/features/cycle_analytics_spec.rb | 87 +- spec/features/dashboard/active_tab_spec.rb | 43 - ...ard_with_external_authorization_service_spec.rb | 72 +- spec/features/dashboard/projects_spec.rb | 23 + spec/features/dashboard/shortcuts_spec.rb | 98 +- .../frequently_visited_projects_and_groups_spec.rb | 72 +- spec/features/groups/board_sidebar_spec.rb | 28 +- spec/features/groups/board_spec.rb | 73 +- ...user_activates_mattermost_slash_command_spec.rb | 5 + .../features/groups/members/manage_members_spec.rb | 54 + spec/features/groups/packages_spec.rb | 2 + .../groups/settings/manage_applications_spec.rb | 16 + .../settings/packages_and_registries_spec.rb | 2 +- .../settings/user_searches_in_settings_spec.rb | 2 +- spec/features/groups_spec.rb | 2 +- spec/features/invites_spec.rb | 28 +- ..._issue_for_discussions_in_merge_request_spec.rb | 2 +- ..._for_single_discussion_in_merge_request_spec.rb | 2 +- spec/features/issues/form_spec.rb | 36 +- spec/features/issues/issue_sidebar_spec.rb | 4 +- spec/features/issues/user_creates_issue_spec.rb | 6 +- spec/features/jira_connect/branches_spec.rb | 86 + spec/features/labels_hierarchy_spec.rb | 76 +- .../user_merges_when_pipeline_succeeds_spec.rb | 8 +- ...lves_diff_notes_and_discussions_resolve_spec.rb | 20 +- .../user_sees_closing_issues_message_spec.rb | 16 +- .../user_sees_merge_request_pipelines_spec.rb | 32 +- .../merge_request/user_sees_pipelines_spec.rb | 2 +- .../merge_request/user_views_diffs_spec.rb | 2 +- .../user_lists_merge_requests_spec.rb | 32 +- spec/features/nav/top_nav_responsive_spec.rb | 2 - spec/features/profile_spec.rb | 2 - .../profiles/user_manages_applications_spec.rb | 49 +- spec/features/project_variables_spec.rb | 2 +- .../activity/user_sees_design_activity_spec.rb | 18 +- spec/features/projects/blobs/blob_show_spec.rb | 969 +- spec/features/projects/ci/editor_spec.rb | 40 +- .../projects/commit/mini_pipeline_graph_spec.rb | 3 +- .../environments/environment_metrics_spec.rb | 12 +- .../projects/environments/environment_spec.rb | 47 +- .../projects/environments/environments_spec.rb | 4 +- .../projects/environments_pod_logs_spec.rb | 2 +- .../user_sees_feature_flag_list_spec.rb | 2 +- ...to_create_license_file_in_empty_project_spec.rb | 2 +- spec/features/projects/fork_spec.rb | 4 +- .../projects/import_export/export_file_spec.rb | 3 +- .../projects/import_export/import_file_spec.rb | 2 +- .../projects/infrastructure_registry_spec.rb | 6 +- .../user_uses_inherited_settings_spec.rb | 91 + .../features/projects/members/invite_group_spec.rb | 4 +- spec/features/projects/new_project_spec.rb | 514 +- spec/features/projects/packages_spec.rb | 2 + spec/features/projects/pipelines/pipeline_spec.rb | 201 +- spec/features/projects/pipelines/pipelines_spec.rb | 22 +- .../projects/services/user_activates_irker_spec.rb | 6 +- .../services/user_activates_pushover_spec.rb | 2 +- .../projects/services/user_views_services_spec.rb | 2 +- .../projects/settings/registry_settings_spec.rb | 6 +- spec/features/projects/show/schema_markup_spec.rb | 2 +- .../show/user_sees_collaboration_links_spec.rb | 4 +- .../features/projects/tags/user_edits_tags_spec.rb | 2 +- spec/features/projects/terraform_spec.rb | 23 +- .../projects/tree/create_directory_spec.rb | 4 +- spec/features/projects/tree/create_file_spec.rb | 4 +- spec/features/projects/tree/tree_show_spec.rb | 6 +- .../features/projects/user_creates_project_spec.rb | 9 +- spec/features/projects_spec.rb | 16 +- spec/features/registrations/welcome_spec.rb | 21 - spec/features/runners_spec.rb | 10 +- .../search/user_uses_header_search_field_spec.rb | 1 + spec/features/users/show_spec.rb | 58 + spec/finders/ci/pipelines_finder_spec.rb | 23 + spec/finders/ci/runners_finder_spec.rb | 158 +- spec/finders/error_tracking/errors_finder_spec.rb | 28 + spec/finders/group_members_finder_spec.rb | 6 + spec/finders/groups_finder_spec.rb | 31 + spec/finders/issues_finder_spec.rb | 162 +- spec/finders/lfs_pointers_finder_spec.rb | 44 + spec/finders/merge_requests_finder_spec.rb | 12 - spec/finders/packages/pypi/packages_finder_spec.rb | 10 +- .../effective_access_level_per_user_finder_spec.rb | 38 + .../schemas/graphql/packages/package_details.json | 42 + .../package_nuget_dependency_link_metadata.json | 12 + spec/fixtures/api/schemas/pipeline_schedule.json | 1 + .../api/schemas/public_api/v4/environments.json | 9 + spec/fixtures/emails/no_content_with_quote.eml | 23 + .../sample_metric.yml | 3 +- .../sample_metric_with_ee.yml | 3 +- .../sample_metric_with_name_suggestions.yml | 3 +- .../sample_database_metric.rb | 17 + .../sample_generic_metric.rb | 15 + .../gitlab/usage_metric_generator/sample_metric.rb | 14 - .../packages/debian/distribution/InRelease | 8 + spec/fixtures/private_key.asc | 17 + spec/fixtures/public_key.asc | 15 + .../deprecated/gl-sast-report.json | 964 + .../feature-branch/gl-sast-report.json | 177 + .../feature-branch/gl-secret-detection-report.json | 5 + .../master/gl-common-scanning-report-names.json | 168 + .../master/gl-common-scanning-report.json | 160 + .../master/gl-sast-missing-scanner.json | 802 + spec/fixtures/trace/sample_trace | 2 +- spec/frontend/__helpers__/mock_dom_observer.js | 22 +- .../__helpers__/mock_window_location_helper.js | 2 +- .../__helpers__/set_window_location_helper.js | 75 +- .../__helpers__/set_window_location_helper_spec.js | 161 +- .../components/devops_score_callout_spec.js | 67 + .../devops_score/components/devops_score_spec.js | 27 +- .../admin/analytics/devops_score/mock_data.js | 2 + .../components/signup_form_spec.js | 40 +- .../admin/signup_restrictions/mock_data.js | 2 + .../admin/users/components/actions/actions_spec.js | 49 +- .../admin/users/components/user_date_spec.js | 16 +- spec/frontend/admin/users/mock_data.js | 2 +- .../components/alerts_settings_wrapper_spec.js | 2 - .../components/service_ping_disabled_spec.js | 12 +- .../authentication/two_factor_auth/index_spec.js | 4 +- .../frontend/authentication/webauthn/error_spec.js | 16 +- .../authentication/webauthn/register_spec.js | 8 +- .../components/blob_header_default_actions_spec.js | 12 +- spec/frontend/blob/components/blob_header_spec.js | 12 +- spec/frontend/blob/csv/csv_viewer_spec.js | 13 +- spec/frontend/blob/viewer/index_spec.js | 2 +- spec/frontend/boards/board_card_inner_spec.js | 24 +- spec/frontend/boards/board_list_helper.js | 6 +- spec/frontend/boards/board_list_spec.js | 116 +- spec/frontend/boards/components/board_card_spec.js | 1 + .../components/board_filtered_search_spec.js | 6 +- spec/frontend/boards/components/board_form_spec.js | 9 +- .../boards/components/board_new_issue_spec.js | 154 +- .../boards/components/board_new_item_spec.js | 103 + .../components/issue_board_filtered_search_spec.js | 31 +- .../sidebar/board_sidebar_labels_select_spec.js | 2 + spec/frontend/boards/mock_data.js | 47 +- spec/frontend/boards/stores/actions_spec.js | 274 +- spec/frontend/boards/stores/mutations_spec.js | 40 +- .../components/ci_variable_modal_spec.js | 23 + spec/frontend/clusters/clusters_bundle_spec.js | 17 +- .../commit/commit_box_pipeline_mini_graph_spec.js | 50 + spec/frontend/commit/mock_data.js | 117 + .../__snapshots__/toolbar_button_spec.js.snap | 2 +- .../__snapshots__/toolbar_link_button_spec.js.snap | 17 +- .../components/content_editor_error_spec.js | 54 + .../components/content_editor_spec.js | 166 +- .../components/editor_state_observer_spec.js | 75 + .../components/formatting_bubble_menu_spec.js | 80 + .../components/toolbar_button_spec.js | 46 +- .../components/toolbar_image_button_spec.js | 22 +- .../components/toolbar_link_button_spec.js | 52 +- .../components/toolbar_table_button_spec.js | 34 +- .../components/toolbar_text_style_dropdown_spec.js | 18 +- .../content_editor/components/top_toolbar_spec.js | 35 +- .../content_editor/extensions/attachment_spec.js | 235 + .../extensions/code_block_highlight_spec.js | 3 +- .../content_editor/extensions/emoji_spec.js | 57 + .../content_editor/extensions/hard_break_spec.js | 2 +- .../content_editor/extensions/image_spec.js | 193 - .../content_editor/extensions/inline_diff_spec.js | 27 + .../content_editor/markdown_processing_spec.js | 2 + .../services/build_serializer_config_spec.js | 38 - .../content_editor/services/content_editor_spec.js | 68 + .../services/create_content_editor_spec.js | 12 +- .../track_input_rules_and_shortcuts_spec.js | 8 +- .../content_editor/services/upload_file_spec.js | 46 - .../content_editor/services/upload_helpers_spec.js | 46 + spec/frontend/content_editor/test_utils.js | 7 + .../__snapshots__/base_spec.js.snap | 9 - .../total_time_component_spec.js.snap | 28 + spec/frontend/cycle_analytics/base_spec.js | 138 +- spec/frontend/cycle_analytics/mock_data.js | 154 +- .../cycle_analytics/stage_nav_item_spec.js | 152 - spec/frontend/cycle_analytics/stage_table_spec.js | 279 + .../frontend/cycle_analytics/store/actions_spec.js | 173 +- .../frontend/cycle_analytics/store/getters_spec.js | 3 +- .../cycle_analytics/store/mutations_spec.js | 104 +- .../cycle_analytics/total_time_component_spec.js | 61 +- spec/frontend/cycle_analytics/utils_spec.js | 80 +- .../cycle_analytics/value_stream_metrics_spec.js | 128 + .../design_notes/design_discussion_spec.js | 38 + .../design_version_dropdown_spec.js.snap | 96 +- .../upload/design_version_dropdown_spec.js | 11 +- .../components/upload/mock_data/all_versions.js | 16 +- .../design_management/mock_data/all_versions.js | 14 + .../design_management/mock_data/apollo_mock.js | 37 + .../pages/design/__snapshots__/index_spec.js.snap | 2 + spec/frontend/diffs/components/app_spec.js | 52 +- .../diffs/components/compare_versions_spec.js | 25 +- spec/frontend/diffs/components/diff_file_spec.js | 50 + .../diffs/components/settings_dropdown_spec.js | 8 +- spec/frontend/diffs/store/actions_spec.js | 9 +- .../diffs/store/getters_versions_dropdowns_spec.js | 10 +- spec/frontend/diffs/utils/queue_events_spec.js | 36 + .../editor/source_editor_extension_base_spec.js | 8 +- .../editor/source_editor_markdown_ext_spec.js | 385 +- spec/frontend/editor/utils_spec.js | 85 + spec/frontend/environment.js | 23 +- .../environments/confirm_rollback_modal_spec.js | 138 +- .../frontend/environments/edit_environment_spec.js | 104 + .../frontend/environments/environment_form_spec.js | 105 + .../frontend/environments/environment_item_spec.js | 125 +- .../frontend/environments/environments_app_spec.js | 50 +- .../environments_detail_header_spec.js | 238 + spec/frontend/environments/mock_data.js | 22 +- spec/frontend/environments/new_environment_spec.js | 100 + .../components/strategies/flexible_rollout_spec.js | 5 +- spec/frontend/feature_flags/mock_data.js | 2 +- spec/frontend/fixtures/analytics.rb | 71 + spec/frontend/fixtures/api_markdown.rb | 9 +- spec/frontend/fixtures/api_markdown.yml | 31 +- spec/frontend/fixtures/startup_css.rb | 24 - spec/frontend/graphql_shared/utils_spec.js | 15 + spec/frontend/groups/components/group_item_spec.js | 5 +- spec/frontend/ide/components/repo_editor_spec.js | 10 + .../components/import_table_row_spec.js | 321 - .../import_groups/components/import_table_spec.js | 120 +- .../components/import_target_cell_spec.js | 188 + .../import_groups/graphql/client_factory_spec.js | 88 +- .../edit/components/dynamic_field_spec.js | 13 + .../edit/components/integration_form_spec.js | 6 + .../components/integration_overrides_spec.js | 146 + .../components/invite_members_modal_spec.js | 198 +- .../components/members_token_select_spec.js | 54 +- spec/frontend/issue_show/components/app_spec.js | 3 - .../issue_show/components/fields/type_spec.js | 14 +- spec/frontend/issue_show/issue_spec.js | 3 - .../components/issuables_list_app_spec.js | 31 +- .../components/issue_card_time_info_spec.js | 21 +- .../issues_list/components/issues_list_app_spec.js | 66 +- .../jira_issues_import_status_app_spec.js | 6 +- spec/frontend/issues_list/mock_data.js | 11 + spec/frontend/issues_list/utils_spec.js | 21 +- spec/frontend/jira_connect/api_spec.js | 103 - .../branches/components/new_branch_form_spec.js | 236 + .../jira_connect/branches/pages/index_spec.js | 65 + .../__snapshots__/group_item_name_spec.js.snap | 44 - spec/frontend/jira_connect/components/app_spec.js | 130 - .../components/group_item_name_spec.js | 28 - .../components/groups_list_item_spec.js | 112 - .../jira_connect/components/groups_list_spec.js | 303 - .../components/subscriptions_list_spec.js | 122 - spec/frontend/jira_connect/index_spec.js | 24 - spec/frontend/jira_connect/mock_data.js | 23 - spec/frontend/jira_connect/store/mutations_spec.js | 28 - .../jira_connect/subscriptions/api_spec.js | 103 + .../__snapshots__/group_item_name_spec.js.snap | 44 + .../subscriptions/components/app_spec.js | 130 + .../components/group_item_name_spec.js | 28 + .../components/groups_list_item_spec.js | 112 + .../subscriptions/components/groups_list_spec.js | 303 + .../components/subscriptions_list_spec.js | 122 + .../jira_connect/subscriptions/index_spec.js | 24 + .../jira_connect/subscriptions/mock_data.js | 23 + .../subscriptions/store/mutations_spec.js | 28 + .../jira_connect/subscriptions/utils_spec.js | 140 + spec/frontend/jira_connect/utils_spec.js | 140 - spec/frontend/jobs/components/log/mock_data.js | 9 + .../jobs/components/stages_dropdown_spec.js | 13 + spec/frontend/jobs/store/utils_spec.js | 16 + spec/frontend/lib/utils/url_utility_spec.js | 115 +- .../action_buttons/invite_action_buttons_spec.js | 2 +- .../action_buttons/remove_member_button_spec.js | 27 +- .../members_filtered_search_bar_spec.js | 42 +- .../components/filter_sort/sort_dropdown_spec.js | 30 +- .../members/components/members_tabs_spec.js | 33 +- .../components/modals/remove_member_modal_spec.js | 133 + .../members/components/table/members_table_spec.js | 12 +- spec/frontend/members/mock_data.js | 9 + spec/frontend/members/store/actions_spec.js | 32 +- spec/frontend/members/store/mutations_spec.js | 30 +- spec/frontend/members/utils_spec.js | 17 +- .../components/dashboard_actions_menu_spec.js | 3 - .../monitoring/components/dashboard_spec.js | 40 +- spec/frontend/monitoring/utils_spec.js | 2 +- .../frontend/nav/components/responsive_app_spec.js | 50 - .../notes/components/comment_field_layout_spec.js | 14 + .../notes/components/noteable_note_spec.js | 27 +- .../packages/details/components/app_spec.js | 10 +- .../list/components/packages_list_app_spec.js | 15 +- .../__snapshots__/conan_installation_spec.js.snap | 36 + .../__snapshots__/dependency_row_spec.js.snap | 36 + .../details/__snapshots__/file_sha_spec.js.snap | 30 + .../__snapshots__/maven_installation_spec.js.snap | 135 + .../__snapshots__/npm_installation_spec.js.snap | 36 + .../__snapshots__/nuget_installation_spec.js.snap | 36 + .../__snapshots__/package_title_spec.js.snap | 197 + .../__snapshots__/pypi_installation_spec.js.snap | 48 + .../details/__snapshots__/version_row_spec.js.snap | 101 + .../components/details/additional_metadata_spec.js | 130 + .../components/details/app_spec.js | 448 +- .../details/composer_installation_spec.js | 118 + .../components/details/conan_installation_spec.js | 65 + .../components/details/dependency_row_spec.js | 69 + .../components/details/file_sha_spec.js | 33 + .../components/details/installation_title_spec.js | 58 + .../details/installations_commands_spec.js | 64 + .../components/details/maven_installation_spec.js | 213 + .../components/details/npm_installation_spec.js | 122 + .../components/details/nuget_installation_spec.js | 75 + .../components/details/package_files_spec.js | 272 + .../components/details/package_history_spec.js | 122 + .../components/details/package_title_spec.js | 202 + .../components/details/pypi_installation_spec.js | 80 + .../components/details/version_row_spec.js | 89 + .../package_registry/mock_data.js | 251 + .../package_registry/utils_spec.js | 23 + .../metrics_and_profiling/usage_statistics_spec.js | 58 +- .../permissions/components/settings_panel_spec.js | 68 +- .../shared/wikis/components/wiki_form_spec.js | 7 +- spec/frontend/persistent_user_callout_spec.js | 6 +- .../components/header/pipeline_status_spec.js | 8 +- .../components/ui/pipeline_editor_messages_spec.js | 9 +- .../pipeline_editor/pipeline_editor_app_spec.js | 8 +- .../components/pipelines_filtered_search_spec.js | 11 + .../pipelines/graph/graph_component_legacy_spec.js | 300 - .../pipelines/graph/graph_component_spec.js | 4 +- .../graph/graph_component_wrapper_spec.js | 183 +- .../graph/linked_pipelines_column_legacy_spec.js | 40 - spec/frontend/pipelines/graph/mock_data_legacy.js | 261 - .../graph/stage_column_component_legacy_spec.js | 130 - .../pipelines/graph_shared/links_inner_spec.js | 2 +- .../pipelines/graph_shared/links_layer_spec.js | 145 - spec/frontend/pipelines/header_component_spec.js | 18 - spec/frontend/pipelines/mock_data.js | 22 + spec/frontend/pipelines/parsing_utils_spec.js | 6 +- .../pipelines/pipeline_details_mediator_spec.js | 36 - .../pipelines/pipeline_multi_actions_spec.js | 8 + spec/frontend/pipelines/pipeline_store_spec.js | 27 - spec/frontend/pipelines/pipeline_url_spec.js | 1 + spec/frontend/pipelines/pipelines_spec.js | 27 +- spec/frontend/pipelines/pipelines_table_spec.js | 4 +- .../pipelines/stores/pipeline_store_spec.js | 135 - .../pipelines/tokens/pipeline_source_token_spec.js | 50 + spec/frontend/popovers/components/popovers_spec.js | 9 +- .../components/profile_preferences_spec.js | 17 +- .../projects/compare/components/app_legacy_spec.js | 159 - .../terraform_notification_spec.js | 27 +- .../components/details_page/delete_modal_spec.js | 53 +- .../components/details_page/details_header_spec.js | 28 +- .../components/list_page/cleanup_status_spec.js | 4 +- spec/frontend/registry/explorer/mock_data.js | 1 + .../registry/explorer/pages/details_spec.js | 4 +- spec/frontend/registry/explorer/stubs.js | 5 + .../releases/components/app_edit_new_spec.js | 7 +- .../components/release_block_header_spec.js | 8 +- .../grouped_codequality_reports_app_spec.js | 28 +- .../codequality_report/store/actions_spec.js | 80 +- .../codequality_report/store/getters_spec.js | 7 +- .../codequality_report/store/mutations_spec.js | 17 +- .../components/blob_button_group_spec.js | 5 +- .../components/blob_content_viewer_spec.js | 124 +- .../repository/components/blob_edit_spec.js | 22 +- .../repository/components/breadcrumbs_spec.js | 29 +- .../components/delete_blob_modal_spec.js | 119 +- .../runner/admin_runners/admin_runners_app_spec.js | 222 + .../runner_registration_token_reset_spec.js | 73 +- .../runner/components/runner_type_alert_spec.js | 8 +- .../runner/group_runners/group_runners_app_spec.js | 34 + .../runner/runner_list/runner_list_app_spec.js | 237 - .../runner/runner_list/runner_search_utils_spec.js | 272 - spec/frontend/runner/runner_search_utils_spec.js | 272 + spec/frontend/search/index_spec.js | 22 +- spec/frontend/search/mock_data.js | 15 +- spec/frontend/search/store/actions_spec.js | 79 +- spec/frontend/search/store/utils_spec.js | 86 +- spec/frontend/search/topbar/components/app_spec.js | 19 +- .../search/topbar/components/group_filter_spec.js | 34 +- .../topbar/components/project_filter_spec.js | 34 +- spec/frontend/security_configuration/app_spec.js | 27 - .../security_configuration/components/app_spec.js | 382 + .../components/auto_dev_ops_enabled_alert_spec.js | 46 + .../components/feature_card_spec.js | 34 +- .../components/redesigned_app_spec.js | 300 - .../components/upgrade_banner_spec.js | 4 +- .../configuration_table_spec.js | 52 - .../security_configuration/upgrade_spec.js | 30 - .../__snapshots__/self_monitor_form_spec.js.snap | 19 +- .../components/self_monitor_form_spec.js | 4 +- spec/frontend/self_monitor/store/actions_spec.js | 4 +- .../assignees/assignee_avatar_link_spec.js | 27 +- .../components/severity/sidebar_severity_spec.js | 57 +- .../components/sidebar_dropdown_widget_spec.js | 14 +- .../sidebar/components/time_tracking/mock_data.js | 10 +- .../components/time_tracking/report_spec.js | 2 + spec/frontend/sidebar/mock_data.js | 55 +- spec/frontend/snippets/components/show_spec.js | 4 +- .../snippets/components/snippet_header_spec.js | 162 +- spec/frontend/syntax_highlight_spec.js | 63 +- .../terraform/components/empty_state_spec.js | 19 +- .../components/init_command_modal_spec.js | 79 + .../components/states_table_actions_spec.js | 28 +- spec/frontend/test_setup.js | 11 +- spec/frontend/token_access/token_access_spec.js | 17 +- spec/frontend/tooltips/components/tooltips_spec.js | 9 +- spec/frontend/tracking_spec.js | 41 +- .../components/mr_widget_header_spec.js | 101 +- .../components/mr_widget_related_links_spec.js | 21 +- .../mr_widget_auto_merge_enabled_spec.js.snap | 136 +- .../mr_widget_ready_to_merge_spec.js.snap | 3 - .../states/mr_widget_auto_merge_enabled_spec.js | 42 +- .../states/mr_widget_ready_to_merge_spec.js | 23 - .../states/mr_widget_sha_mismatch_spec.js | 41 +- .../deployment/deployment_actions_spec.js | 3 - .../deployment/deployment_list_spec.js | 6 - spec/frontend/vue_mr_widget/mock_data.js | 8 +- .../vue_mr_widget/mr_widget_options_spec.js | 19 +- .../vue_mr_widget/stores/mr_widget_store_spec.js | 8 + .../components/dropdown/dropdown_widget_spec.js | 97 + .../filtered_search_bar_root_spec.js | 3 + .../tokens/author_token_spec.js | 4 +- .../filtered_search_bar/tokens/base_token_spec.js | 28 +- .../tokens/branch_token_spec.js | 34 +- .../filtered_search_bar/tokens/emoji_token_spec.js | 34 +- .../tokens/iteration_token_spec.js | 4 +- .../filtered_search_bar/tokens/label_token_spec.js | 23 +- .../tokens/milestone_token_spec.js | 42 +- .../tokens/weight_token_spec.js | 1 + .../components/issue/related_issuable_item_spec.js | 17 - .../components/markdown/toolbar_button_spec.js | 3 +- .../vue_shared/components/papa_parse_alert_spec.js | 44 + .../components/remove_member_modal_spec.js | 110 - .../merge_request_artifact_download_spec.js | 2 +- .../dropdown_contents_labels_view_spec.js | 5 + .../labels_select_vue/labels_select_root_spec.js | 10 + .../labels_select_vue/store/actions_spec.js | 15 +- .../labels_select_vue/store/mutations_spec.js | 22 + .../dropdown_contents_create_view_spec.js | 4 +- .../dropdown_contents_labels_view_spec.js | 434 +- .../labels_select_widget/dropdown_contents_spec.js | 7 +- .../labels_select_root_spec.js | 52 - .../sidebar/labels_select_widget/mock_data.js | 25 + .../labels_select_widget/store/actions_spec.js | 88 - .../labels_select_widget/store/mutations_spec.js | 52 - .../vue_shared/components/url_sync_spec.js | 8 +- .../user_avatar/user_avatar_link_spec.js | 11 + .../vue_shared/components/web_ide_link_spec.js | 8 + .../vue_shared/directives/autofocusonshow_spec.js | 3 - .../security_reports/security_reports_app_spec.js | 2 +- .../diffs/diffs_interopability_spec.js | 5 +- spec/frontend_integration/ide/helpers/start.js | 5 +- spec/graphql/features/authorization_spec.rb | 6 +- spec/graphql/gitlab_schema_spec.rb | 89 +- spec/graphql/mutations/base_mutation_spec.rb | 56 + spec/graphql/mutations/ci/runner/delete_spec.rb | 2 +- spec/graphql/mutations/ci/runner/update_spec.rb | 2 +- .../mutations/design_management/delete_spec.rb | 39 +- spec/graphql/mutations/groups/update_spec.rb | 74 + spec/graphql/mutations/issues/update_spec.rb | 22 + spec/graphql/resolvers/base_resolver_spec.rb | 38 +- .../concerns/caching_array_resolver_spec.rb | 4 +- .../resolvers/concerns/resolves_ids_spec.rb | 43 + .../resolvers/concerns/resolves_pipelines_spec.rb | 2 +- spec/graphql/resolvers/echo_resolver_spec.rb | 2 +- .../sentry_detailed_error_resolver_spec.rb | 2 +- spec/graphql/resolvers/groups_resolver_spec.rb | 133 + spec/graphql/resolvers/issues_resolver_spec.rb | 72 +- .../merge_requests_count_resolver_spec.rb | 45 + .../resolvers/merge_requests_resolver_spec.rb | 23 + .../resolvers/namespace_projects_resolver_spec.rb | 2 +- .../resolvers/paginated_tree_resolver_spec.rb | 102 + spec/graphql/resolvers/project_resolver_spec.rb | 4 +- .../projects/jira_projects_resolver_spec.rb | 4 +- .../resolvers/terraform/states_resolver_spec.rb | 3 +- spec/graphql/resolvers/timelog_resolver_spec.rb | 309 +- .../user_discussions_count_resolver_spec.rb | 2 +- .../resolvers/user_notes_count_resolver_spec.rb | 2 +- .../graphql/subscriptions/issuable_updated_spec.rb | 2 +- spec/graphql/types/base_argument_spec.rb | 38 +- spec/graphql/types/base_field_spec.rb | 32 +- spec/graphql/types/global_id_type_spec.rb | 4 +- spec/graphql/types/group_type_spec.rb | 11 +- spec/graphql/types/issue_type_spec.rb | 2 +- .../types/merge_requests/reviewer_type_spec.rb | 2 + spec/graphql/types/namespace_type_spec.rb | 2 +- .../nuget/dependency_link_metdatum_type_spec.rb | 13 + .../packages/package_dependency_link_type_spec.rb | 13 + .../packages/package_dependency_type_enum_spec.rb | 9 + .../types/packages/package_dependency_type_spec.rb | 13 + .../types/packages/package_details_type_spec.rb | 2 +- .../permission_types/base_permission_type_spec.rb | 2 +- spec/graphql/types/project_type_spec.rb | 11 +- spec/graphql/types/query_type_spec.rb | 11 + spec/graphql/types/range_input_type_spec.rb | 6 +- spec/graphql/types/repository_type_spec.rb | 2 + spec/graphql/types/timelog_type_spec.rb | 2 +- spec/graphql/types/user_type_spec.rb | 11 + spec/helpers/admin/user_actions_helper_spec.rb | 2 +- spec/helpers/application_helper_spec.rb | 19 + spec/helpers/application_settings_helper_spec.rb | 32 +- spec/helpers/button_helper_spec.rb | 6 +- spec/helpers/ci/pipeline_editor_helper_spec.rb | 8 +- spec/helpers/clusters_helper_spec.rb | 4 + spec/helpers/environment_helper_spec.rb | 37 + spec/helpers/environments_helper_spec.rb | 9 + spec/helpers/groups/group_members_helper_spec.rb | 30 +- spec/helpers/groups_helper_spec.rb | 91 +- spec/helpers/invite_members_helper_spec.rb | 112 +- .../issuables_description_templates_helper_spec.rb | 27 +- spec/helpers/issues_helper_spec.rb | 76 +- spec/helpers/nav/new_dropdown_helper_spec.rb | 6 +- spec/helpers/nav_helper_spec.rb | 10 - spec/helpers/packages_helper_spec.rb | 21 + .../projects/project_members_helper_spec.rb | 137 +- spec/helpers/projects/terraform_helper_spec.rb | 12 + spec/helpers/projects_helper_spec.rb | 62 +- spec/helpers/snippets_helper_spec.rb | 19 + spec/helpers/time_zone_helper_spec.rb | 20 + spec/helpers/user_callouts_helper_spec.rb | 28 - spec/initializers/00_rails_disable_joins_spec.rb | 288 + spec/initializers/0_log_deprecations_spec.rb | 74 + spec/initializers/database_config_spec.rb | 57 +- spec/initializers/lograge_spec.rb | 3 +- spec/initializers/rails_asset_host_spec.rb | 38 + .../components/dashboard_resize_browser_spec.js | 95 - spec/javascripts/monitoring/fixture_data.js | 1 - spec/javascripts/monitoring/mock_data.js | 5 - spec/javascripts/monitoring/store_utils.js | 1 - spec/lib/api/ci/helpers/runner_helpers_spec.rb | 71 + spec/lib/api/ci/helpers/runner_spec.rb | 69 + .../packages/dependency_proxy_helpers_spec.rb | 62 +- spec/lib/api/helpers/runner_helpers_spec.rb | 71 - spec/lib/api/helpers/runner_spec.rb | 69 - spec/lib/api/helpers_spec.rb | 36 + spec/lib/backup/database_backup_error_spec.rb | 30 + spec/lib/backup/file_backup_error_spec.rb | 35 + spec/lib/backup/gitaly_backup_spec.rb | 10 +- spec/lib/backup/manager_spec.rb | 81 +- spec/lib/backup/repository_backup_error_spec.rb | 42 + .../references/alert_reference_filter_spec.rb | 29 + .../references/commit_reference_filter_spec.rb | 30 + .../references/milestone_reference_filter_spec.rb | 5 + .../references/project_reference_filter_spec.rb | 30 + .../filter/table_of_contents_tag_filter_spec.rb | 38 +- spec/lib/banzai/pipeline/full_pipeline_spec.rb | 46 +- spec/lib/banzai/pipeline/wiki_pipeline_spec.rb | 19 +- .../collector/sentry_auth_parser_spec.rb | 32 + spec/lib/extracts_path_spec.rb | 16 - spec/lib/feature/gitaly_spec.rb | 2 +- spec/lib/feature_spec.rb | 4 +- .../gitlab/usage_metric_generator_spec.rb | 38 +- .../cycle_analytics/records_fetcher_spec.rb | 50 - spec/lib/gitlab/auth/auth_finders_spec.rb | 12 - spec/lib/gitlab/auth/result_spec.rb | 79 + spec/lib/gitlab/auth_spec.rb | 196 +- ...backfill_draft_status_on_merge_requests_spec.rb | 9 +- .../backfill_integrations_type_new_spec.rb | 56 + .../backfill_snippet_repositories_spec.rb | 2 +- ...opy_ci_builds_columns_to_security_scans_spec.rb | 51 + ...culate_vulnerabilities_occurrences_uuid_spec.rb | 11 +- spec/lib/gitlab/background_migration_spec.rb | 66 +- .../bitbucket_server_import/importer_spec.rb | 3 +- spec/lib/gitlab/checks/changes_access_spec.rb | 201 +- .../gitlab/checks/matching_merge_request_spec.rb | 3 +- .../lib/gitlab/checks/single_change_access_spec.rb | 47 + spec/lib/gitlab/ci/ansi2html_spec.rb | 4 + spec/lib/gitlab/ci/build/auto_retry_spec.rb | 20 +- spec/lib/gitlab/ci/config/entry/bridge_spec.rb | 3 - .../ci/config/entry/include/rules/rule_spec.rb | 90 + .../gitlab/ci/config/entry/include/rules_spec.rb | 98 + spec/lib/gitlab/ci/config/entry/include_spec.rb | 40 +- .../ci/config/entry/inherit/variables_spec.rb | 15 - spec/lib/gitlab/ci/config/entry/job_spec.rb | 15 - spec/lib/gitlab/ci/config/entry/jobs_spec.rb | 2 - .../lib/gitlab/ci/config/entry/processable_spec.rb | 71 - spec/lib/gitlab/ci/config/entry/root_spec.rb | 5 - spec/lib/gitlab/ci/config/entry/rules_spec.rb | 72 +- spec/lib/gitlab/ci/config/external/mapper_spec.rb | 50 +- spec/lib/gitlab/ci/config/external/rules_spec.rb | 35 + .../ci/config/normalizer/matrix_strategy_spec.rb | 16 - spec/lib/gitlab/ci/config/normalizer_spec.rb | 10 +- spec/lib/gitlab/ci/config_spec.rb | 88 +- spec/lib/gitlab/ci/lint_spec.rb | 11 +- spec/lib/gitlab/ci/parsers/security/common_spec.rb | 350 + spec/lib/gitlab/ci/parsers/security/sast_spec.rb | 57 + .../ci/parsers/security/secret_detection_spec.rb | 54 + .../security/validators/schema_validator_spec.rb | 40 + spec/lib/gitlab/ci/pipeline/chain/command_spec.rb | 25 - .../ci/pipeline/chain/limit/deployments_spec.rb | 2 +- spec/lib/gitlab/ci/pipeline/chain/sequence_spec.rb | 17 +- .../ci/reports/security/aggregated_report_spec.rb | 45 + .../gitlab/ci/reports/security/finding_key_spec.rb | 41 + .../ci/reports/security/finding_signature_spec.rb | 59 + .../ci/reports/security/locations/sast_spec.rb | 21 + .../security/locations/secret_detection_spec.rb | 21 + spec/lib/gitlab/ci/reports/security/report_spec.rb | 224 + .../lib/gitlab/ci/reports/security/reports_spec.rb | 113 + .../vulnerability_reports_comparer_spec.rb | 163 + .../5_minute_production_app_ci_yaml_spec.rb | 2 +- .../AWS/deploy_ecs_gitlab_ci_yaml_spec.rb | 2 +- .../ci/templates/Jobs/build_gitlab_ci_yaml_spec.rb | 4 +- .../Jobs/code_quality_gitlab_ci_yaml_spec.rb | 4 +- .../templates/Jobs/deploy_gitlab_ci_yaml_spec.rb | 4 +- .../ci/templates/Jobs/test_gitlab_ci_yaml_spec.rb | 4 +- .../Terraform/base_gitlab_ci_yaml_spec.rb | 6 +- .../Terraform/base_latest_gitlab_ci_yaml_spec.rb | 26 + ...load_performance_testing_gitlab_ci_yaml_spec.rb | 4 +- .../templates/auto_devops_gitlab_ci_yaml_spec.rb | 4 +- .../ci/templates/flutter_gitlab_ci_yaml_spec.rb | 2 +- ...ged_cluster_applications_gitlab_ci_yaml_spec.rb | 2 +- spec/lib/gitlab/ci/templates/npm_spec.rb | 2 +- .../ci/templates/terraform_gitlab_ci_yaml_spec.rb | 46 + .../terraform_latest_gitlab_ci_yaml_spec.rb | 8 +- spec/lib/gitlab/ci/yaml_processor_spec.rb | 116 +- .../external_database_checker_spec.rb | 6 +- spec/lib/gitlab/conflict/file_spec.rb | 35 + .../content_security_policy/config_loader_spec.rb | 52 +- spec/lib/gitlab/data_builder/deployment_spec.rb | 1 + spec/lib/gitlab/data_builder/pipeline_spec.rb | 85 +- .../database/async_indexes/index_creator_spec.rb | 50 + .../async_indexes/migration_helpers_spec.rb | 176 + .../async_indexes/postgres_async_index_spec.rb | 17 + spec/lib/gitlab/database/async_indexes_spec.rb | 23 + spec/lib/gitlab/database/connection_spec.rb | 467 + .../load_balancing/connection_proxy_spec.rb | 30 +- .../database/load_balancing/host_list_spec.rb | 84 +- .../gitlab/database/load_balancing/host_spec.rb | 15 +- .../database/load_balancing/load_balancer_spec.rb | 247 +- .../load_balancing/rack_middleware_spec.rb | 9 +- .../load_balancing/service_discovery_spec.rb | 67 +- .../database/load_balancing/sticking_spec.rb | 16 +- spec/lib/gitlab/database/load_balancing_spec.rb | 150 +- spec/lib/gitlab/database/migration_helpers_spec.rb | 108 +- .../background_migration_helpers_spec.rb | 97 + .../database/migrations/instrumentation_spec.rb | 47 +- .../migrations/observers/query_details_spec.rb | 11 +- .../migrations/observers/query_log_spec.rb | 12 +- .../migrations/observers/query_statistics_spec.rb | 8 +- .../observers/total_database_size_change_spec.rb | 8 +- .../database/multi_threaded_migration_spec.rb | 43 - .../detached_partition_dropper_spec.rb | 181 + .../database/partitioning/monthly_strategy_spec.rb | 20 - .../partitioning/partition_manager_spec.rb | 143 +- .../partitioning/partition_monitoring_spec.rb | 12 +- .../gitlab/database/postgres_foreign_key_spec.rb | 41 + spec/lib/gitlab/database/postgres_index_spec.rb | 31 + spec/lib/gitlab/database/reindexing_spec.rb | 29 +- .../database/schema_migrations/context_spec.rb | 61 +- .../gitlab/database/transaction/context_spec.rb | 144 + .../gitlab/database/transaction/observer_spec.rb | 57 + .../with_lock_retries_outside_transaction_spec.rb | 10 +- spec/lib/gitlab/database/with_lock_retries_spec.rb | 11 +- spec/lib/gitlab/database_spec.rb | 416 +- .../email/handler/create_note_handler_spec.rb | 54 + .../in_product_marketing/admin_verify_spec.rb | 45 + .../in_product_marketing/team_short_spec.rb | 47 + .../message/in_product_marketing/team_spec.rb | 40 + .../in_product_marketing/trial_short_spec.rb | 45 + .../message/in_product_marketing/trial_spec.rb | 20 + spec/lib/gitlab/email/reply_parser_spec.rb | 16 + spec/lib/gitlab/encoding_helper_spec.rb | 18 + .../stack_trace_highlight_decorator_spec.rb | 2 +- .../lib/gitlab/etag_caching/router/restful_spec.rb | 8 +- .../experimentation/controller_concern_spec.rb | 16 +- spec/lib/gitlab/experimentation_spec.rb | 16 - spec/lib/gitlab/fake_application_settings_spec.rb | 16 +- .../form_builders/gitlab_ui_form_builder_spec.rb | 88 + spec/lib/gitlab/git/commit_spec.rb | 12 +- spec/lib/gitlab/git/commit_stats_spec.rb | 30 + spec/lib/gitlab/git/conflict/file_spec.rb | 16 +- spec/lib/gitlab/git/remote_mirror_spec.rb | 25 +- spec/lib/gitlab/git/repository_spec.rb | 202 +- spec/lib/gitlab/git/tag_spec.rb | 83 +- spec/lib/gitlab/git/tree_spec.rb | 86 +- spec/lib/gitlab/git_access_snippet_spec.rb | 19 +- .../gitlab/gitaly_client/commit_service_spec.rb | 113 +- .../gitaly_client/conflict_files_stitcher_spec.rb | 25 +- .../gitlab/gitaly_client/conflicts_service_spec.rb | 25 +- spec/lib/gitlab/gitaly_client/ref_service_spec.rb | 11 + .../gitlab/gitaly_client/remote_service_spec.rb | 62 +- .../gitaly_client/repository_service_spec.rb | 153 +- .../gitlab/github_import/bulk_importing_spec.rb | 76 +- .../importer/diff_note_importer_spec.rb | 8 +- .../github_import/importer/issue_importer_spec.rb | 2 +- .../importer/label_links_importer_spec.rb | 4 +- .../importer/lfs_objects_importer_spec.rb | 26 +- .../github_import/importer/note_importer_spec.rb | 8 +- .../importer/pull_requests_importer_spec.rb | 28 +- .../pull_requests_reviews_importer_spec.rb | 120 +- .../importer/repository_importer_spec.rb | 59 +- spec/lib/gitlab/github_import/logger_spec.rb | 41 + .../gitlab/github_import/object_counter_spec.rb | 18 +- .../github_import/parallel_scheduling_spec.rb | 146 +- spec/lib/gitlab/github_import/user_finder_spec.rb | 29 +- .../grape_logging/loggers/perf_logger_spec.rb | 23 +- .../graphql/calls_gitaly/field_extension_spec.rb | 2 +- .../gitlab/graphql/copy_field_description_spec.rb | 2 +- spec/lib/gitlab/graphql/markdown_field_spec.rb | 2 +- spec/lib/gitlab/graphql/mount_mutation_spec.rb | 4 +- .../lib/gitlab/graphql/negatable_arguments_spec.rb | 6 +- .../gitlab/graphql/pagination/connections_spec.rb | 2 +- .../gitlab/graphql/present/field_extension_spec.rb | 16 +- spec/lib/gitlab/graphql/queries_spec.rb | 24 +- spec/lib/gitlab/highlight_spec.rb | 7 - spec/lib/gitlab/http_spec.rb | 62 +- spec/lib/gitlab/import/database_helpers_spec.rb | 2 +- .../gitlab/import/import_failure_service_spec.rb | 136 + spec/lib/gitlab/import/logger_spec.rb | 39 + spec/lib/gitlab/import_export/all_models.yml | 6 +- .../import_export/fast_hash_serializer_spec.rb | 2 +- .../group/legacy_tree_restorer_spec.rb | 2 +- .../import_export/group/tree_restorer_spec.rb | 2 +- .../import_export/import_test_coverage_spec.rb | 2 +- .../json/streaming_serializer_spec.rb | 35 + .../gitlab/import_export/members_mapper_spec.rb | 5 +- .../import_export/project/tree_saver_spec.rb | 2 +- .../instrumentation/redis_interceptor_spec.rb | 31 + spec/lib/gitlab/instrumentation_helper_spec.rb | 8 +- .../gitlab/jira_import/issue_serializer_spec.rb | 13 + spec/lib/gitlab/json_cache_spec.rb | 6 +- spec/lib/gitlab/kas_spec.rb | 32 + .../gitlab/kubernetes/default_namespace_spec.rb | 30 +- .../kubernetes/kubeconfig/entry/cluster_spec.rb | 23 + .../kubernetes/kubeconfig/entry/context_spec.rb | 23 + .../kubernetes/kubeconfig/entry/user_spec.rb | 14 + .../gitlab/kubernetes/kubeconfig/template_spec.rb | 84 + .../markdown_cache/active_record/extension_spec.rb | 62 + .../metrics/samplers/database_sampler_spec.rb | 4 +- .../metrics/subscribers/action_cable_spec.rb | 2 +- .../metrics/subscribers/active_record_spec.rb | 7 +- spec/lib/gitlab/middleware/multipart_spec.rb | 3 +- spec/lib/gitlab/object_hierarchy_spec.rb | 4 +- spec/lib/gitlab/pagination/keyset/order_spec.rb | 87 +- .../active_support_subscriber_spec.rb | 2 +- spec/lib/gitlab/repository_set_cache_spec.rb | 6 - spec/lib/gitlab/search_results_spec.rb | 4 + spec/lib/gitlab/setup_helper/workhorse_spec.rb | 24 + spec/lib/gitlab/sidekiq_cluster/cli_spec.rb | 23 +- .../gitlab/sidekiq_config/worker_router_spec.rb | 7 + spec/lib/gitlab/sidekiq_config/worker_spec.rb | 8 +- spec/lib/gitlab/sidekiq_config_spec.rb | 2 +- .../sidekiq_logging/structured_logger_spec.rb | 57 +- .../sidekiq_middleware/server_metrics_spec.rb | 1 - spec/lib/gitlab/sql/cte_spec.rb | 8 +- spec/lib/gitlab/sql/glob_spec.rb | 4 +- spec/lib/gitlab/sql/recursive_cte_spec.rb | 12 +- spec/lib/gitlab/subscription_portal_spec.rb | 2 +- spec/lib/gitlab/usage/docs/helper_spec.rb | 79 - spec/lib/gitlab/usage/docs/renderer_spec.rb | 24 - spec/lib/gitlab/usage/docs/value_formatter_spec.rb | 26 - spec/lib/gitlab/usage/metric_definition_spec.rb | 12 +- spec/lib/gitlab/usage/metric_spec.rb | 51 +- .../collected_data_categories_metric_spec.rb | 2 +- .../instrumentations/database_metric_spec.rb | 68 +- .../instrumentations/generic_metric_spec.rb | 72 + .../metrics/instrumentations/redis_metric_spec.rb | 23 + .../metrics/names_suggestions/generator_spec.rb | 8 + .../ci_template_unique_counter_spec.rb | 2 +- .../usage_data_counters/hll_redis_counter_spec.rb | 4 +- .../usage_data_counters/redis_counter_spec.rb | 10 +- spec/lib/gitlab/usage_data_metrics_spec.rb | 44 +- spec/lib/gitlab/usage_data_non_sql_metrics_spec.rb | 8 + spec/lib/gitlab/usage_data_queries_spec.rb | 8 + spec/lib/gitlab/usage_data_spec.rb | 25 +- spec/lib/gitlab/utils/usage_data_spec.rb | 16 +- .../lib/gitlab/web_ide/config/entry/global_spec.rb | 1 - .../gitlab/web_ide/config/entry/terminal_spec.rb | 1 - spec/lib/gitlab/x509/tag_spec.rb | 20 +- spec/lib/peek/views/active_record_spec.rb | 57 +- spec/lib/sidebars/groups/menus/ci_cd_menu_spec.rb | 40 + .../groups/menus/group_information_menu_spec.rb | 64 + spec/lib/sidebars/groups/menus/issues_menu_spec.rb | 54 + .../sidebars/groups/menus/kubernetes_menu_spec.rb | 32 + .../groups/menus/merge_requests_menu_spec.rb | 36 + .../groups/menus/packages_registries_menu_spec.rb | 163 + .../sidebars/groups/menus/settings_menu_spec.rb | 97 + spec/lib/sidebars/menu_spec.rb | 8 + .../menus/packages_registries_menu_spec.rb | 22 +- spec/mailers/emails/pipelines_spec.rb | 41 +- spec/mailers/emails/projects_spec.rb | 21 + spec/mailers/notify_spec.rb | 41 +- ...update_issuable_slas_where_issue_closed_spec.rb | 31 + ...e_flags_correct_flexible_rollout_values_spec.rb | 66 + ...10804150320_create_base_work_item_types_spec.rb | 22 + ...ans_ci_daily_pipeline_schedule_triggers_spec.rb | 137 + .../add_triggers_to_integrations_type_new_spec.rb | 65 + ...ate_existing_dast_builds_with_variables_spec.rb | 76 + .../backfill_integrations_type_new_spec.rb | 38 + .../backfill_issues_upvotes_count_spec.rb | 2 +- spec/migrations/confirm_security_bot_spec.rb | 38 + .../generate_customers_dot_jwt_signing_key_spec.rb | 42 + .../orphaned_invite_tokens_cleanup_spec.rb | 32 + ..._schedule_latest_pipeline_id_population_spec.rb | 61 - ...ith_all_security_related_artifact_types_spec.rb | 61 + .../reschedule_delete_orphaned_deployments_spec.rb | 73 + .../reset_job_token_scope_enabled_again_spec.rb | 25 + ...backfill_draft_status_on_merge_requests_spec.rb | 59 - ...py_ci_builds_columns_to_security_scans2_spec.rb | 52 + .../schedule_delete_orphaned_deployments_spec.rb | 48 - ...te_uuid_on_vulnerabilities_occurrences3_spec.rb | 127 + .../schedule_security_setting_creation_spec.rb | 58 + spec/models/alert_management/alert_spec.rb | 285 +- .../cycle_analytics/stage_event_hash_spec.rb | 47 + spec/models/application_record_spec.rb | 77 +- spec/models/application_setting_spec.rb | 29 +- spec/models/ci/build_spec.rb | 209 +- spec/models/ci/build_trace_metadata_spec.rb | 10 + spec/models/ci/build_trace_section_name_spec.rb | 14 - spec/models/ci/build_trace_section_spec.rb | 13 - spec/models/ci/build_trace_spec.rb | 10 + spec/models/ci/pending_build_spec.rb | 28 + spec/models/ci/pipeline_spec.rb | 50 +- spec/models/ci/resource_spec.rb | 52 + spec/models/ci/runner_namespace_spec.rb | 6 + spec/models/ci/runner_project_spec.rb | 6 + spec/models/commit_status_spec.rb | 9 + spec/models/concerns/case_sensitivity_spec.rb | 2 +- spec/models/concerns/ci/has_status_spec.rb | 12 + spec/models/concerns/each_batch_spec.rb | 13 + spec/models/concerns/has_integrations_spec.rb | 8 - spec/models/concerns/limitable_spec.rb | 58 +- spec/models/concerns/sortable_spec.rb | 8 +- spec/models/concerns/spammable_spec.rb | 4 +- spec/models/concerns/strip_attribute_spec.rb | 6 +- ...vulnerability_finding_signature_helpers_spec.rb | 32 + spec/models/concerns/where_composite_spec.rb | 4 +- spec/models/container_repository_spec.rb | 2 +- .../models/customer_relations/organization_spec.rb | 38 + spec/models/deploy_token_spec.rb | 70 + spec/models/diff_discussion_spec.rb | 15 +- spec/models/discussion_spec.rb | 8 +- spec/models/environment_spec.rb | 28 +- spec/models/error_tracking/client_key_spec.rb | 19 + spec/models/error_tracking/error_event_spec.rb | 31 + spec/models/error_tracking/error_spec.rb | 14 + .../project_error_tracking_setting_spec.rb | 43 +- spec/models/event_spec.rb | 6 +- spec/models/experiment_spec.rb | 4 +- spec/models/gpg_signature_spec.rb | 6 +- spec/models/group_deploy_token_spec.rb | 41 +- spec/models/group_spec.rb | 21 + spec/models/hooks/system_hook_spec.rb | 15 + spec/models/hooks/web_hook_spec.rb | 59 +- .../issuable_escalation_status_spec.rb | 22 + spec/models/instance_configuration_spec.rb | 89 + spec/models/integration_spec.rb | 413 +- spec/models/integrations/bamboo_spec.rb | 15 +- spec/models/integrations/datadog_spec.rb | 49 +- spec/models/integrations/jenkins_spec.rb | 16 +- spec/models/integrations/jira_spec.rb | 62 +- spec/models/integrations/teamcity_spec.rb | 14 +- spec/models/internal_id_spec.rb | 6 +- spec/models/issue_spec.rb | 111 +- spec/models/jira_connect_installation_spec.rb | 3 + spec/models/member_spec.rb | 101 +- spec/models/members/group_member_spec.rb | 12 + spec/models/members/project_member_spec.rb | 167 + spec/models/merge_request_diff_commit_spec.rb | 4 +- spec/models/merge_request_diff_spec.rb | 9 +- spec/models/merge_request_spec.rb | 38 + spec/models/milestone_spec.rb | 9 + spec/models/namespace_setting_spec.rb | 85 + spec/models/namespace_spec.rb | 79 +- spec/models/note_spec.rb | 20 + .../operations/feature_flags/strategy_spec.rb | 22 +- spec/models/packages/npm_spec.rb | 24 + spec/models/packages/package_file_spec.rb | 67 + spec/models/packages/package_spec.rb | 161 +- spec/models/personal_access_token_spec.rb | 8 + spec/models/postgresql/detached_partition_spec.rb | 18 + spec/models/postgresql/replication_slot_spec.rb | 67 + spec/models/project_feature_spec.rb | 58 +- spec/models/project_feature_usage_spec.rb | 8 +- spec/models/project_spec.rb | 324 +- spec/models/project_statistics_spec.rb | 6 - spec/models/project_team_spec.rb | 32 +- spec/models/projects/ci_feature_usage_spec.rb | 44 + spec/models/release_highlight_spec.rb | 10 +- spec/models/remote_mirror_spec.rb | 108 +- spec/models/repository_spec.rb | 180 +- spec/models/snippet_spec.rb | 4 +- spec/models/timelog_spec.rb | 24 +- spec/models/tree_spec.rb | 8 +- spec/models/user_detail_spec.rb | 5 + spec/models/user_spec.rb | 114 +- spec/models/users/banned_user_spec.rb | 21 + .../users/in_product_marketing_email_spec.rb | 6 + spec/models/work_item/type_spec.rb | 53 + spec/policies/issue_policy_spec.rb | 15 + spec/policies/project_policy_spec.rb | 118 +- spec/policies/release_policy_spec.rb | 23 - .../presenters/group_clusterable_presenter_spec.rb | 16 - .../project_clusterable_presenter_spec.rb | 16 - spec/presenters/sentry_error_presenter_spec.rb | 2 +- spec/requests/api/bulk_imports_spec.rb | 42 + spec/requests/api/ci/jobs_spec.rb | 1175 + spec/requests/api/ci/pipelines_spec.rb | 104 +- spec/requests/api/ci/runner/jobs_artifacts_spec.rb | 4 +- .../api/ci/runner/jobs_request_post_spec.rb | 28 +- spec/requests/api/ci/runner/jobs_trace_spec.rb | 2 +- spec/requests/api/ci/runner/runners_post_spec.rb | 64 +- spec/requests/api/ci/runners_spec.rb | 28 +- spec/requests/api/ci/triggers_spec.rb | 368 + spec/requests/api/ci/variables_spec.rb | 331 + spec/requests/api/debian_group_packages_spec.rb | 31 +- spec/requests/api/debian_project_packages_spec.rb | 31 +- spec/requests/api/environments_spec.rb | 2 + spec/requests/api/error_tracking_collector_spec.rb | 32 +- spec/requests/api/error_tracking_spec.rb | 16 +- spec/requests/api/feature_flags_spec.rb | 12 +- spec/requests/api/generic_packages_spec.rb | 2 +- spec/requests/api/go_proxy_spec.rb | 2 +- spec/requests/api/graphql/ci/jobs_spec.rb | 33 +- spec/requests/api/graphql/ci/runner_spec.rb | 38 +- .../api/graphql/current_user_query_spec.rb | 11 +- spec/requests/api/graphql/group_query_spec.rb | 25 +- .../api/graphql/mutations/ci/job_cancel_spec.rb | 45 + .../graphql/mutations/ci/job_unschedule_spec.rb | 48 + .../api/graphql/mutations/groups/update_spec.rb | 66 + .../graphql/mutations/issues/set_due_date_spec.rb | 2 +- .../api/graphql/mutations/issues/update_spec.rb | 83 +- .../mutations/packages/destroy_file_spec.rb | 93 + .../mutations/snippets/mark_as_spam_spec.rb | 2 +- spec/requests/api/graphql/packages/nuget_spec.rb | 33 + .../project/alert_management/alert/issue_spec.rb | 4 +- .../sentry_detailed_error_request_spec.rb | 2 +- .../error_tracking/sentry_errors_request_spec.rb | 6 +- spec/requests/api/graphql/project/issues_spec.rb | 13 +- .../api/graphql/project/merge_requests_spec.rb | 40 + .../api/graphql/project/repository_spec.rb | 22 + spec/requests/api/graphql_spec.rb | 2 +- .../api/group_debian_distributions_spec.rb | 44 + spec/requests/api/groups_spec.rb | 58 +- spec/requests/api/invitations_spec.rb | 14 + spec/requests/api/jobs_spec.rb | 1181 - spec/requests/api/maven_packages_spec.rb | 94 +- spec/requests/api/members_spec.rb | 47 + spec/requests/api/namespaces_spec.rb | 13 + spec/requests/api/npm_project_packages_spec.rb | 43 +- spec/requests/api/project_attributes.yml | 4 +- spec/requests/api/project_milestones_spec.rb | 2 +- spec/requests/api/projects_spec.rb | 309 +- spec/requests/api/pypi_packages_spec.rb | 20 +- spec/requests/api/releases_spec.rb | 2 +- spec/requests/api/repositories_spec.rb | 12 +- spec/requests/api/rubygem_packages_spec.rb | 2 +- spec/requests/api/statistics_spec.rb | 2 +- .../api/terraform/modules/v1/packages_spec.rb | 2 +- spec/requests/api/triggers_spec.rb | 368 - spec/requests/api/user_counts_spec.rb | 38 +- spec/requests/api/v3/github_spec.rb | 11 + spec/requests/api/variables_spec.rb | 331 - .../customers_dot/proxy_controller_spec.rb | 37 - spec/requests/git_http_spec.rb | 4 +- spec/requests/jwt_controller_spec.rb | 32 +- .../projects/cycle_analytics_events_spec.rb | 18 +- .../requests/projects/merge_requests/diffs_spec.rb | 73 + .../projects/merge_requests_discussions_spec.rb | 72 +- spec/requests/projects/merge_requests_spec.rb | 159 + spec/requests/robots_txt_spec.rb | 1 + spec/rubocop/cop/gitlab/bulk_insert_spec.rb | 12 +- spec/rubocop/cop/gitlab/json_spec.rb | 15 +- .../cop/gitlab/mark_used_feature_flags_spec.rb | 6 +- spec/rubocop/cop/graphql/descriptions_spec.rb | 118 +- spec/rubocop/cop/graphql/id_type_spec.rb | 10 +- spec/rubocop/cop/graphql/json_type_spec.rb | 4 +- spec/rubocop/cop/graphql/old_types_spec.rb | 84 + spec/rubocop/cop/ignored_columns_spec.rb | 78 + .../create_table_with_foreign_keys_spec.rb | 1 - spec/rubocop/cop/qa/selector_usage_spec.rb | 49 + spec/serializers/build_details_entity_spec.rb | 1 + spec/serializers/ci/pipeline_entity_spec.rb | 2 +- spec/serializers/diff_file_entity_spec.rb | 4 +- spec/serializers/diff_file_metadata_entity_spec.rb | 10 +- spec/serializers/diffs_entity_spec.rb | 22 +- spec/serializers/diffs_metadata_entity_spec.rb | 58 +- .../integrations/project_entity_spec.rb | 26 + .../integrations/project_serializer_spec.rb | 9 + .../jira_connect/app_data_serializer_spec.rb | 34 + spec/serializers/jira_connect/group_entity_spec.rb | 18 + .../jira_connect/subscription_entity_spec.rb | 22 + ...merge_request_poll_cached_widget_entity_spec.rb | 10 - .../merge_request_poll_widget_entity_spec.rb | 48 - .../merge_request_widget_entity_spec.rb | 43 +- spec/serializers/paginated_diff_entity_spec.rb | 18 +- .../admin/propagate_service_template_spec.rb | 60 - ...ntainer_registry_authentication_service_spec.rb | 17 +- ...dependency_proxy_authentication_service_spec.rb | 14 +- .../project_recalculate_per_user_service_spec.rb | 99 + spec/services/boards/issues/list_service_spec.rb | 9 + .../bulk_create_integration_service_spec.rb | 16 +- .../bulk_update_integration_service_spec.rb | 16 +- spec/services/ci/after_requeue_job_service_spec.rb | 22 +- .../services/ci/append_build_trace_service_spec.rb | 20 - spec/services/ci/build_cancel_service_spec.rb | 52 + spec/services/ci/build_unschedule_service_spec.rb | 52 + .../ci/create_downstream_pipeline_service_spec.rb | 1 + .../ci/create_pipeline_service/cache_spec.rb | 2 +- .../creation_errors_and_warnings_spec.rb | 2 +- .../cross_project_pipeline_spec.rb | 8 +- .../custom_config_content_spec.rb | 2 +- .../custom_yaml_tags_spec.rb | 2 +- .../ci/create_pipeline_service/dry_run_spec.rb | 2 +- .../ci/create_pipeline_service/environment_spec.rb | 2 +- .../evaluate_runner_tags_spec.rb | 2 +- .../ci/create_pipeline_service/include_spec.rb | 95 + .../create_pipeline_service/merge_requests_spec.rb | 2 +- .../ci/create_pipeline_service/needs_spec.rb | 2 +- .../ci/create_pipeline_service/parallel_spec.rb | 2 +- .../parameter_content_spec.rb | 2 +- .../parent_child_pipeline_spec.rb | 2 +- .../pre_post_stages_spec.rb | 2 +- .../ci/create_pipeline_service/rules_spec.rb | 2 +- spec/services/ci/create_pipeline_service_spec.rb | 307 +- ...daily_build_group_report_result_service_spec.rb | 34 + spec/services/ci/destroy_pipeline_service_spec.rb | 12 - spec/services/ci/drop_pipeline_service_spec.rb | 2 + .../create_pipeline_service_spec.rb | 42 +- ...tract_sections_from_build_trace_service_spec.rb | 57 - .../shared_processing_service.rb | 2 +- .../shared_processing_service_tests_with_yaml.rb | 2 +- ..._test_manual_same_and_different_stage_needs.yml | 54 + .../dag_test_manual_same_stage_needs.yml | 70 + spec/services/ci/pipeline_trigger_service_spec.rb | 6 +- spec/services/ci/pipelines/add_job_service_spec.rb | 35 + spec/services/ci/register_job_service_spec.rb | 62 +- ...gn_resource_from_resource_group_service_spec.rb | 20 +- spec/services/ci/retry_build_service_spec.rb | 2 +- spec/services/ci/stop_environments_service_spec.rb | 253 - .../dependency_proxy/auth_token_service_spec.rb | 13 + .../dependency_proxy/download_blob_service_spec.rb | 17 +- .../find_or_create_blob_service_spec.rb | 2 + .../find_or_create_manifest_service_spec.rb | 3 + spec/services/draft_notes/publish_service_spec.rb | 28 +- spec/services/environments/stop_service_spec.rb | 303 + .../error_tracking/issue_details_service_spec.rb | 17 +- .../issue_latest_event_service_spec.rb | 22 +- .../error_tracking/issue_update_service_spec.rb | 15 + .../error_tracking/list_issues_service_spec.rb | 14 + spec/services/git/branch_hooks_service_spec.rb | 28 +- spec/services/git/branch_push_service_spec.rb | 28 +- .../git/process_ref_changes_service_spec.rb | 6 + spec/services/ide/terminal_config_service_spec.rb | 2 - spec/services/issues/close_service_spec.rb | 2 +- spec/services/issues/update_service_spec.rb | 2 +- .../jira/requests/projects/list_service_spec.rb | 15 +- spec/services/members/create_service_spec.rb | 74 +- .../members/import_project_team_service_spec.rb | 91 + .../merge_requests/add_spent_time_service_spec.rb | 5 +- spec/services/merge_requests/close_service_spec.rb | 2 +- .../merge_requests/create_pipeline_service_spec.rb | 58 +- .../merge_requests/merge_to_ref_service_spec.rb | 31 + .../merge_requests/post_merge_service_spec.rb | 2 +- .../push_options_handler_service_spec.rb | 2 +- .../in_product_marketing_emails_service_spec.rb | 35 +- spec/services/notes/create_service_spec.rb | 8 + spec/services/notification_service_spec.rb | 6 +- .../composer/create_package_service_spec.rb | 35 +- .../packages/create_dependency_service_spec.rb | 4 +- .../generate_distribution_key_service_spec.rb | 32 +- .../debian/generate_distribution_service_spec.rb | 11 +- .../debian/sign_distribution_service_spec.rb | 60 + .../update_package_from_metadata_service_spec.rb | 341 +- .../packages/update_package_file_service_spec.rb | 119 + spec/services/packages/update_tags_service_spec.rb | 2 +- spec/services/post_receive_service_spec.rb | 6 + spec/services/projects/create_service_spec.rb | 76 +- .../migrate_repository_service_spec.rb | 4 +- .../rollback_repository_service_spec.rb | 4 +- .../lfs_pointers/lfs_download_service_spec.rb | 15 + .../lfs_object_download_list_service_spec.rb | 20 +- .../projects/operations/update_service_spec.rb | 25 + .../services/projects/update_pages_service_spec.rb | 111 +- .../projects/update_remote_mirror_service_spec.rb | 23 - .../quick_actions/interpret_service_spec.rb | 55 + spec/services/releases/create_service_spec.rb | 15 - spec/services/releases/destroy_service_spec.rb | 15 - spec/services/releases/update_service_spec.rb | 15 - .../resource_events/change_labels_service_spec.rb | 2 +- .../security/merge_reports_service_spec.rb | 260 + .../permit_data_categories_service_spec.rb | 27 +- .../service_ping/service_ping_settings_spec.rb | 46 + .../submit_service_ping_service_spec.rb | 8 +- spec/services/service_response_spec.rb | 2 +- .../spam/akismet_mark_as_spam_service_spec.rb | 52 + spec/services/spam/mark_as_spam_service_spec.rb | 52 - spec/services/spam/spam_action_service_spec.rb | 3 +- spec/services/system_note_service_spec.rb | 2 +- .../system_notes/alert_management_service_spec.rb | 2 +- spec/services/users/activity_service_spec.rb | 9 +- spec/services/users/ban_service_spec.rb | 65 +- .../users/banned_user_base_service_spec.rb | 14 + spec/services/users/set_status_service_spec.rb | 40 +- spec/services/users/unban_service_spec.rb | 75 + spec/spec_helper.rb | 4 +- spec/support/before_all_adapter.rb | 27 + spec/support/database/ci_tables.rb | 22 + .../prevent_cross_database_modification.rb | 109 + spec/support/database/prevent_cross_joins.rb | 77 + spec/support/database_cleaner.rb | 6 +- spec/support/database_load_balancing.rb | 19 + spec/support/db_cleaner.rb | 8 +- .../enable_multiple_database_metrics_by_default.rb | 8 + spec/support/helpers/board_helpers.rb | 17 + spec/support/helpers/dependency_proxy_helpers.rb | 3 +- .../features/invite_members_modal_helper.rb | 12 +- .../helpers/features/top_nav_spec_helpers.rb | 24 +- spec/support/helpers/graphql_helpers.rb | 2 +- spec/support/helpers/login_helpers.rb | 10 +- spec/support/helpers/migrations_helpers.rb | 17 + spec/support/helpers/test_env.rb | 15 +- spec/support/helpers/tracking_helpers.rb | 7 + spec/support/helpers/x509_helpers.rb | 11 + spec/support/import_export/common_util.rb | 6 +- .../matchers/background_migrations_matchers.rb | 30 + spec/support/matchers/schema_matcher.rb | 11 + .../project_integrations_shared_context.rb | 4 +- .../fixtures/analytics_shared_context.rb | 70 + .../graphql/requests/packages_shared_context.rb | 6 + .../issuable/merge_request_shared_context.rb | 1 + .../issuable/project_shared_context.rb | 1 + .../dependency_proxy_helpers_shared_context.rb | 9 + .../background_migration_job_shared_context.rb | 21 + .../load_balancing_configuration_shared_context.rb | 19 - .../shared_contexts/navbar_structure_context.rb | 9 + .../policies/group_policy_shared_context.rb | 2 + .../requests/api/conan_packages_shared_context.rb | 2 +- .../requests/api/npm_packages_shared_context.rb | 2 +- ...vice_ping_metrics_definitions_shared_context.rb | 8 +- .../multiple_issue_boards_shared_examples.rb | 12 + .../githubish_import_controller_shared_examples.rb | 3 - .../import_controller_status_shared_examples.rb | 1 - .../controllers/unique_visits_shared_examples.rb | 7 +- .../features/dependency_proxy_shared_examples.rb | 35 + .../features/discussion_comments_shared_example.rb | 4 +- .../manage_applications_shared_examples.rb | 67 + .../features/packages_shared_examples.rb | 12 +- ...d_branches_access_control_ce_shared_examples.rb | 1 + ...protected_branches_with_deploy_keys_examples.rb | 6 +- .../features/rss_shared_examples.rb | 4 +- .../features/variable_list_shared_examples.rb | 8 +- ..._asciidoc_page_with_includes_shared_examples.rb | 2 +- .../security/jobs_finder_shared_examples.rb | 16 +- .../helpers/groups_shared_examples.rb | 53 - .../locations/locations_shared_examples.rb | 68 + .../background_migration_job_shared_examples.rb | 43 + .../database/cte_materialized_shared_examples.rb | 6 +- .../gitlab/migration_helpers_shared_examples.rb | 4 +- .../lib/gitlab/sql/set_operator_shared_examples.rb | 13 +- .../shared_examples/lib/menus_shared_examples.rb | 39 + .../active_record_subscriber_shared_examples.rb | 164 +- .../concerns/counter_attribute_shared_examples.rb | 20 - .../escalatable_shared_examples.rb | 246 + .../cycle_analytics_stage_shared_examples.rb | 62 + .../models/mentionable_shared_examples.rb | 40 +- .../debian/distribution_shared_examples.rb | 14 +- .../update_project_statistics_shared_examples.rb | 110 - .../namespaces/linear_traversal_examples.rb | 23 - .../namespaces/traversal_examples.rb | 86 +- .../namespaces/traversal_scope_examples.rb | 68 + .../policies/project_policy_shared_examples.rb | 15 + .../api/debian_packages_shared_examples.rb | 16 +- .../requests/api/npm_packages_shared_examples.rb | 4 +- .../api/npm_packages_tags_shared_examples.rb | 3 +- .../requests/api/pypi_packages_shared_examples.rb | 29 + .../requests/api/time_tracking_shared_examples.rb | 18 +- .../diff_file_entity_shared_examples.rb | 16 + .../boards/issues_move_service_shared_examples.rb | 4 +- ...tainer_registry_auth_service_shared_examples.rb | 178 +- .../services/jira/requests/base_shared_examples.rb | 85 + .../generate_distribution_shared_examples.rb | 398 +- .../prevent_cross_database_modification_spec.rb | 144 + .../database/prevent_cross_joins_spec.rb | 56 + spec/tasks/gitlab/backup_rake_spec.rb | 13 +- spec/tasks/gitlab/db_rake_spec.rb | 37 +- spec/tasks/gitlab/ldap_rake_spec.rb | 16 +- .../tasks/gitlab/product_intelligence_rake_spec.rb | 80 + spec/tasks/gitlab/smtp_rake_spec.rb | 112 + spec/tasks/gitlab/storage_rake_spec.rb | 4 +- spec/tooling/danger/product_intelligence_spec.rb | 22 +- spec/tooling/danger/project_helper_spec.rb | 35 +- spec/tooling/graphql/docs/renderer_spec.rb | 44 +- .../distribution_release_file_uploader_spec.rb | 10 + spec/validators/any_field_validator_spec.rb | 44 + spec/views/admin/dashboard/index.html.haml_spec.rb | 8 + spec/views/admin/sessions/new.html.haml_spec.rb | 8 +- spec/views/devise/sessions/new.html.haml_spec.rb | 4 +- spec/views/groups/edit.html.haml_spec.rb | 2 +- .../runners/_sort_dropdown.html.haml_spec.rb | 31 + .../groups/settings/_transfer.html.haml_spec.rb | 4 +- spec/views/groups/show.html.haml_spec.rb | 2 +- .../layouts/header/_new_dropdown.haml_spec.rb | 4 +- .../layouts/nav/sidebar/_group.html.haml_spec.rb | 154 +- .../layouts/nav/sidebar/_project.html.haml_spec.rb | 4 +- spec/views/projects/commits/show.html.haml_spec.rb | 35 + .../_confirm_rollback_modal_spec.html_spec.rb | 63 - spec/views/projects/empty.html.haml_spec.rb | 11 +- .../projects/merge_requests/show.html.haml_spec.rb | 30 + spec/views/projects/tree/show.html.haml_spec.rb | 1 - .../registrations/welcome/show.html.haml_spec.rb | 24 +- spec/views/search/show.html.haml_spec.rb | 49 +- .../shared/access_tokens/_table.html.haml_spec.rb | 166 + .../shared/deploy_tokens/_form.html.haml_spec.rb | 4 +- .../usage_trends/counter_job_worker_spec.rb | 2 +- .../project_recalculate_worker_spec.rb | 2 +- .../user_refresh_from_replica_worker_spec.rb | 6 +- spec/workers/build_finished_worker_spec.rb | 1 - spec/workers/ci/build_finished_worker_spec.rb | 1 - .../gitlab/github_import/object_importer_spec.rb | 137 +- .../gitlab/github_import/stage_methods_spec.rb | 141 +- .../cleanup_container_repository_worker_spec.rb | 17 + .../container_expiration_policy_worker_spec.rb | 6 +- .../drop_detached_partitions_worker_spec.rb | 29 + spec/workers/deployments/hooks_worker_spec.rb | 5 + .../environments/auto_delete_cron_worker_spec.rb | 105 + spec/workers/every_sidekiq_worker_spec.rb | 9 +- .../stage/finish_import_worker_spec.rb | 27 +- .../stage/import_repository_worker_spec.rb | 9 +- .../workers/gitlab/import/stuck_import_job_spec.rb | 36 + .../jira_connect/forward_event_worker_spec.rb | 22 +- .../jira_connect/retry_request_worker_spec.rb | 45 + ...merge_request_mergeability_check_worker_spec.rb | 20 + .../debian/generate_distribution_worker_spec.rb | 3 + spec/workers/pipeline_notification_worker_spec.rb | 4 + spec/workers/post_receive_spec.rb | 56 +- spec/workers/propagate_integration_worker_spec.rb | 3 +- .../propagate_service_template_worker_spec.rb | 31 - .../repository_remove_remote_worker_spec.rb | 20 +- .../workers/users/create_statistics_worker_spec.rb | 2 +- spec/workers/web_hook_worker_spec.rb | 4 + storybook/config/webpack.config.js | 10 + tooling/bin/find_tests | 3 +- tooling/bin/parallel_rspec | 2 +- tooling/danger/product_intelligence.rb | 26 +- tooling/danger/project_helper.rb | 25 +- tooling/eslint-config/conditionally_ignore.js | 19 + tooling/eslint-config/conditionally_ignore_ee.js | 5 - tooling/lib/tooling/kubernetes_client.rb | 7 +- workhorse/.gitlab-ci.yml | 83 - workhorse/.gitlab/CODEOWNERS | 1 - workhorse/CHANGELOG | 1137 - workhorse/CONTRIBUTING.md | 46 - workhorse/LICENSE | 21 - workhorse/Makefile | 60 +- workhorse/PROCESS.md | 146 +- workhorse/_support/changelog | 243 - workhorse/_support/check_changelog.sh | 22 - workhorse/_support/fmt.sh | 2 +- workhorse/_support/generate_changelog | 75 - workhorse/_support/tag.sh | 45 - workhorse/authorization_test.go | 10 +- workhorse/cable_test.go | 6 +- workhorse/channel_test.go | 2 +- workhorse/cmd/gitlab-resize-image/main.go | 2 +- workhorse/cmd/gitlab-zip-cat/main.go | 2 +- workhorse/cmd/gitlab-zip-metadata/main.go | 4 +- workhorse/config.toml.example | 2 + workhorse/config_test.go | 11 +- workhorse/doc/development/new_features.md | 2 +- workhorse/gitaly_integration_test.go | 6 +- workhorse/gitaly_test.go | 12 +- workhorse/go.mod | 7 +- workhorse/go.sum | 24 +- workhorse/internal/api/api.go | 18 +- workhorse/internal/api/api_test.go | 15 +- workhorse/internal/api/block.go | 2 +- workhorse/internal/api/channel_settings.go | 2 +- .../internal/artifacts/artifacts_store_test.go | 6 +- workhorse/internal/artifacts/artifacts_test.go | 2 +- workhorse/internal/artifacts/artifacts_upload.go | 10 +- .../internal/artifacts/artifacts_upload_test.go | 16 +- workhorse/internal/artifacts/entry.go | 6 +- workhorse/internal/artifacts/entry_test.go | 2 +- workhorse/internal/badgateway/roundtripper.go | 2 +- workhorse/internal/builds/register.go | 4 +- workhorse/internal/builds/register_test.go | 2 +- workhorse/internal/channel/auth_checker.go | 2 +- workhorse/internal/channel/auth_checker_test.go | 2 +- workhorse/internal/channel/channel.go | 4 +- workhorse/internal/config/config.go | 40 +- workhorse/internal/filestore/file_handler.go | 6 +- workhorse/internal/filestore/file_handler_test.go | 8 +- workhorse/internal/filestore/save_file_opts.go | 4 +- .../internal/filestore/save_file_opts_test.go | 8 +- workhorse/internal/git/archive.go | 10 +- workhorse/internal/git/archive_test.go | 2 +- workhorse/internal/git/blob.go | 6 +- workhorse/internal/git/diff.go | 8 +- workhorse/internal/git/format-patch.go | 8 +- workhorse/internal/git/git-http.go | 4 +- workhorse/internal/git/info-refs.go | 6 +- workhorse/internal/git/receive-pack.go | 6 +- workhorse/internal/git/responsewriter.go | 2 +- workhorse/internal/git/snapshot.go | 8 +- workhorse/internal/git/upload-pack.go | 6 +- workhorse/internal/git/upload-pack_test.go | 4 +- workhorse/internal/gitaly/gitaly.go | 9 +- workhorse/internal/headers/content_headers.go | 2 +- workhorse/internal/headers/headers.go | 2 +- workhorse/internal/imageresizer/image_resizer.go | 8 +- .../internal/imageresizer/image_resizer_test.go | 4 +- workhorse/internal/lfs/lfs.go | 8 +- workhorse/internal/lfs/lfs_test.go | 8 +- workhorse/internal/log/logging.go | 10 +- workhorse/internal/log/logging_test.go | 11 + .../internal/objectstore/gocloud_object_test.go | 6 +- workhorse/internal/objectstore/multipart_test.go | 4 +- workhorse/internal/objectstore/object_test.go | 4 +- workhorse/internal/objectstore/s3_object.go | 2 +- workhorse/internal/objectstore/s3_object_test.go | 8 +- workhorse/internal/objectstore/s3_session.go | 2 +- workhorse/internal/objectstore/s3_session_test.go | 2 +- .../internal/objectstore/test/objectstore_stub.go | 2 +- workhorse/internal/objectstore/test/s3_stub.go | 2 +- workhorse/internal/proxy/proxy.go | 2 +- workhorse/internal/queueing/requests.go | 2 +- workhorse/internal/redis/keywatcher.go | 2 +- workhorse/internal/redis/redis.go | 4 +- workhorse/internal/redis/redis_test.go | 4 +- .../senddata/contentprocessor/contentprocessor.go | 2 +- .../contentprocessor/contentprocessor_test.go | 4 +- workhorse/internal/senddata/senddata.go | 6 +- workhorse/internal/senddata/writer_test.go | 2 +- workhorse/internal/sendfile/sendfile.go | 4 +- workhorse/internal/sendfile/sendfile_test.go | 2 +- workhorse/internal/sendurl/sendurl.go | 6 +- workhorse/internal/sendurl/sendurl_test.go | 2 +- workhorse/internal/staticpages/deploy_page.go | 2 +- workhorse/internal/staticpages/deploy_page_test.go | 2 +- workhorse/internal/staticpages/error_pages.go | 2 +- workhorse/internal/staticpages/error_pages_test.go | 2 +- workhorse/internal/staticpages/servefile.go | 6 +- workhorse/internal/staticpages/servefile_test.go | 2 +- workhorse/internal/testhelper/gitaly.go | 9 +- workhorse/internal/testhelper/testhelper.go | 2 +- workhorse/internal/upload/accelerate.go | 4 +- workhorse/internal/upload/body_uploader.go | 6 +- workhorse/internal/upload/body_uploader_test.go | 6 +- .../internal/upload/object_storage_preparer.go | 6 +- .../upload/object_storage_preparer_test.go | 6 +- workhorse/internal/upload/rewrite.go | 8 +- workhorse/internal/upload/saved_file_tracker.go | 4 +- .../internal/upload/saved_file_tracker_test.go | 4 +- workhorse/internal/upload/skip_rails_authorizer.go | 2 +- workhorse/internal/upload/uploads.go | 10 +- workhorse/internal/upload/uploads_test.go | 14 +- workhorse/internal/upstream/handlers.go | 2 +- .../internal/upstream/roundtripper/roundtripper.go | 2 +- workhorse/internal/upstream/routes.go | 74 +- workhorse/internal/upstream/upstream.go | 146 +- workhorse/internal/upstream/upstream_test.go | 194 +- workhorse/internal/zipartifacts/metadata_test.go | 2 +- workhorse/internal/zipartifacts/open_archive.go | 2 +- workhorse/main.go | 12 +- workhorse/main_test.go | 67 +- workhorse/proxy_test.go | 10 +- workhorse/raven.go | 2 +- workhorse/upload_test.go | 8 +- yarn.lock | 99 +- 6367 files changed, 230358 insertions(+), 177024 deletions(-) create mode 100644 .gitlab/issue_templates/Task for Configure group.md delete mode 100644 app/assets/images/cluster_app_logos/cert_manager.png delete mode 100644 app/assets/images/cluster_app_logos/crossplane.png delete mode 100644 app/assets/images/cluster_app_logos/elastic_stack.png delete mode 100644 app/assets/images/cluster_app_logos/elasticsearch.png delete mode 100644 app/assets/images/cluster_app_logos/gitlab.png delete mode 100644 app/assets/images/cluster_app_logos/helm.png delete mode 100644 app/assets/images/cluster_app_logos/jeager.png delete mode 100644 app/assets/images/cluster_app_logos/jupyterhub.png delete mode 100644 app/assets/images/cluster_app_logos/knative.png delete mode 100644 app/assets/images/cluster_app_logos/kubernetes.png delete mode 100644 app/assets/images/cluster_app_logos/meltano.png delete mode 100644 app/assets/images/cluster_app_logos/modsecurity.png delete mode 100644 app/assets/images/cluster_app_logos/prometheus.png create mode 100644 app/assets/images/dev_ops_report_overview.svg delete mode 100644 app/assets/images/gitorious-logo-black.png delete mode 100644 app/assets/images/gitorious-logo-blue.png create mode 100644 app/assets/images/mailers/in_product_marketing/admin_verify-0.png create mode 100644 app/assets/javascripts/analytics/devops_report/components/devops_score_callout.vue create mode 100644 app/assets/javascripts/analytics/devops_report/constants.js create mode 100644 app/assets/javascripts/boards/components/board_new_item.vue create mode 100644 app/assets/javascripts/boards/graphql/group_board_milestones.query.graphql create mode 100644 app/assets/javascripts/boards/graphql/project_board_milestones.query.graphql create mode 100644 app/assets/javascripts/content_editor/components/content_editor_error.vue create mode 100644 app/assets/javascripts/content_editor/components/content_editor_provider.vue create mode 100644 app/assets/javascripts/content_editor/components/editor_state_observer.vue create mode 100644 app/assets/javascripts/content_editor/components/formatting_bubble_menu.vue create mode 100644 app/assets/javascripts/content_editor/extensions/attachment.js create mode 100644 app/assets/javascripts/content_editor/extensions/emoji.js create mode 100644 app/assets/javascripts/content_editor/extensions/inline_diff.js create mode 100644 app/assets/javascripts/content_editor/extensions/loading.js create mode 100644 app/assets/javascripts/content_editor/extensions/reference.js create mode 100644 app/assets/javascripts/content_editor/extensions/subscript.js create mode 100644 app/assets/javascripts/content_editor/extensions/superscript.js create mode 100644 app/assets/javascripts/content_editor/extensions/task_item.js create mode 100644 app/assets/javascripts/content_editor/extensions/task_list.js delete mode 100644 app/assets/javascripts/content_editor/services/build_serializer_config.js create mode 100644 app/assets/javascripts/content_editor/services/track_ui_control.js delete mode 100644 app/assets/javascripts/content_editor/services/upload_file.js create mode 100644 app/assets/javascripts/content_editor/services/upload_helpers.js delete mode 100644 app/assets/javascripts/cycle_analytics/components/stage_code_component.vue delete mode 100644 app/assets/javascripts/cycle_analytics/components/stage_component.vue delete mode 100644 app/assets/javascripts/cycle_analytics/components/stage_nav_item.vue delete mode 100644 app/assets/javascripts/cycle_analytics/components/stage_review_component.vue delete mode 100644 app/assets/javascripts/cycle_analytics/components/stage_staging_component.vue create mode 100644 app/assets/javascripts/cycle_analytics/components/stage_table.vue delete mode 100644 app/assets/javascripts/cycle_analytics/components/stage_test_component.vue create mode 100644 app/assets/javascripts/cycle_analytics/components/value_stream_metrics.vue delete mode 100644 app/assets/javascripts/cycle_analytics/default_event_objects.js create mode 100644 app/assets/javascripts/design_management/graphql/fragmentTypes.json create mode 100644 app/assets/javascripts/design_management/graphql/fragments/design_todo_item.fragment.graphql create mode 100644 app/assets/javascripts/diffs/utils/queue_events.js create mode 100644 app/assets/javascripts/environments/components/edit_environment.vue create mode 100644 app/assets/javascripts/environments/components/environment_form.vue create mode 100644 app/assets/javascripts/environments/components/environments_detail_header.vue create mode 100644 app/assets/javascripts/environments/components/new_environment.vue create mode 100644 app/assets/javascripts/environments/components/rollback_modal_manager.vue create mode 100644 app/assets/javascripts/environments/edit.js create mode 100644 app/assets/javascripts/environments/init_confirm_rollback_modal.js create mode 100644 app/assets/javascripts/environments/new.js delete mode 100644 app/assets/javascripts/filtered_search/admin_runners_filtered_search_token_keys.js delete mode 100644 app/assets/javascripts/frequent_items/index.js create mode 100644 app/assets/javascripts/graphql_shared/mutations/create_merge_request.mutation.graphql create mode 100644 app/assets/javascripts/graphql_shared/queries/get_users_projects.query.graphql create mode 100644 app/assets/javascripts/graphql_shared/queries/group_users_search.query.graphql delete mode 100644 app/assets/javascripts/import_entities/import_groups/components/import_table_row.vue create mode 100644 app/assets/javascripts/import_entities/import_groups/components/import_target_cell.vue create mode 100644 app/assets/javascripts/import_entities/import_groups/constants.js create mode 100644 app/assets/javascripts/import_entities/import_groups/graphql/mutations/set_import_target.mutation.graphql delete mode 100644 app/assets/javascripts/import_entities/import_groups/graphql/mutations/set_new_name.mutation.graphql delete mode 100644 app/assets/javascripts/import_entities/import_groups/graphql/mutations/set_target_namespace.mutation.graphql delete mode 100644 app/assets/javascripts/import_entities/import_groups/graphql/queries/groupAndProject.query.graphql create mode 100644 app/assets/javascripts/import_entities/import_groups/graphql/queries/group_and_project.query.graphql create mode 100644 app/assets/javascripts/import_entities/import_groups/utils.js create mode 100644 app/assets/javascripts/integrations/overrides/api.js create mode 100644 app/assets/javascripts/integrations/overrides/components/integration_overrides.vue create mode 100644 app/assets/javascripts/integrations/overrides/index.js create mode 100644 app/assets/javascripts/issues_list/queries/reorder_issues.mutation.graphql delete mode 100644 app/assets/javascripts/jira_connect/.eslintrc.yml delete mode 100644 app/assets/javascripts/jira_connect/api.js create mode 100644 app/assets/javascripts/jira_connect/branches/components/new_branch_form.vue create mode 100644 app/assets/javascripts/jira_connect/branches/graphql/mutations/create_branch.mutation.graphql create mode 100644 app/assets/javascripts/jira_connect/branches/index.js create mode 100644 app/assets/javascripts/jira_connect/branches/pages/index.vue delete mode 100644 app/assets/javascripts/jira_connect/components/app.vue delete mode 100644 app/assets/javascripts/jira_connect/components/group_item_name.vue delete mode 100644 app/assets/javascripts/jira_connect/components/groups_list.vue delete mode 100644 app/assets/javascripts/jira_connect/components/groups_list_item.vue delete mode 100644 app/assets/javascripts/jira_connect/components/subscriptions_list.vue delete mode 100644 app/assets/javascripts/jira_connect/constants.js delete mode 100644 app/assets/javascripts/jira_connect/index.js delete mode 100644 app/assets/javascripts/jira_connect/store/index.js delete mode 100644 app/assets/javascripts/jira_connect/store/mutation_types.js delete mode 100644 app/assets/javascripts/jira_connect/store/mutations.js delete mode 100644 app/assets/javascripts/jira_connect/store/state.js create mode 100644 app/assets/javascripts/jira_connect/subscriptions/.eslintrc.yml create mode 100644 app/assets/javascripts/jira_connect/subscriptions/api.js create mode 100644 app/assets/javascripts/jira_connect/subscriptions/components/app.vue create mode 100644 app/assets/javascripts/jira_connect/subscriptions/components/group_item_name.vue create mode 100644 app/assets/javascripts/jira_connect/subscriptions/components/groups_list.vue create mode 100644 app/assets/javascripts/jira_connect/subscriptions/components/groups_list_item.vue create mode 100644 app/assets/javascripts/jira_connect/subscriptions/components/subscriptions_list.vue create mode 100644 app/assets/javascripts/jira_connect/subscriptions/constants.js create mode 100644 app/assets/javascripts/jira_connect/subscriptions/index.js create mode 100644 app/assets/javascripts/jira_connect/subscriptions/store/index.js create mode 100644 app/assets/javascripts/jira_connect/subscriptions/store/mutation_types.js create mode 100644 app/assets/javascripts/jira_connect/subscriptions/store/mutations.js create mode 100644 app/assets/javascripts/jira_connect/subscriptions/store/state.js create mode 100644 app/assets/javascripts/jira_connect/subscriptions/utils.js delete mode 100644 app/assets/javascripts/jira_connect/utils.js create mode 100644 app/assets/javascripts/members/components/modals/remove_member_modal.vue delete mode 100644 app/assets/javascripts/nav/event_hub.js delete mode 100644 app/assets/javascripts/nav/utils/has_menu_expanded.js create mode 100644 app/assets/javascripts/packages_and_registries/package_registry/components/details/additional_metadata.vue create mode 100644 app/assets/javascripts/packages_and_registries/package_registry/components/details/composer_installation.vue create mode 100644 app/assets/javascripts/packages_and_registries/package_registry/components/details/conan_installation.vue create mode 100644 app/assets/javascripts/packages_and_registries/package_registry/components/details/dependency_row.vue create mode 100644 app/assets/javascripts/packages_and_registries/package_registry/components/details/file_sha.vue create mode 100644 app/assets/javascripts/packages_and_registries/package_registry/components/details/installation_commands.vue create mode 100644 app/assets/javascripts/packages_and_registries/package_registry/components/details/installation_title.vue create mode 100644 app/assets/javascripts/packages_and_registries/package_registry/components/details/maven_installation.vue create mode 100644 app/assets/javascripts/packages_and_registries/package_registry/components/details/npm_installation.vue create mode 100644 app/assets/javascripts/packages_and_registries/package_registry/components/details/nuget_installation.vue create mode 100644 app/assets/javascripts/packages_and_registries/package_registry/components/details/package_files.vue create mode 100644 app/assets/javascripts/packages_and_registries/package_registry/components/details/package_history.vue create mode 100644 app/assets/javascripts/packages_and_registries/package_registry/components/details/package_title.vue create mode 100644 app/assets/javascripts/packages_and_registries/package_registry/components/details/pypi_installation.vue create mode 100644 app/assets/javascripts/packages_and_registries/package_registry/components/details/version_row.vue create mode 100644 app/assets/javascripts/packages_and_registries/package_registry/constants.js create mode 100644 app/assets/javascripts/packages_and_registries/package_registry/graphql/fragmentTypes.json create mode 100644 app/assets/javascripts/packages_and_registries/package_registry/graphql/index.js create mode 100644 app/assets/javascripts/packages_and_registries/package_registry/graphql/mutations/destroy_package.mutation.graphql create mode 100644 app/assets/javascripts/packages_and_registries/package_registry/graphql/mutations/destroy_package_file.mutation.graphql create mode 100644 app/assets/javascripts/packages_and_registries/package_registry/graphql/queries/get_package_details.query.graphql create mode 100644 app/assets/javascripts/packages_and_registries/package_registry/utils.js create mode 100644 app/assets/javascripts/pages/admin/integrations/overrides/index.js create mode 100644 app/assets/javascripts/pages/groups/runners/index.js create mode 100644 app/assets/javascripts/pages/jira_connect/branches/new/index.js create mode 100644 app/assets/javascripts/pages/projects/environments/edit/index.js create mode 100644 app/assets/javascripts/pages/projects/environments/new/index.js delete mode 100644 app/assets/javascripts/pipelines/components/graph/graph_component_legacy.vue delete mode 100644 app/assets/javascripts/pipelines/components/graph/linked_pipelines_column_legacy.vue create mode 100644 app/assets/javascripts/pipelines/components/graph/perf_utils.js delete mode 100644 app/assets/javascripts/pipelines/components/graph/stage_column_component_legacy.vue create mode 100644 app/assets/javascripts/pipelines/components/pipelines_list/tokens/pipeline_source_token.vue delete mode 100644 app/assets/javascripts/pipelines/mixins/graph_pipeline_bundle_mixin.js delete mode 100644 app/assets/javascripts/pipelines/pipeline_details_mediator.js delete mode 100644 app/assets/javascripts/pipelines/services/pipeline_service.js delete mode 100644 app/assets/javascripts/pipelines/stores/pipeline_store.js create mode 100644 app/assets/javascripts/projects/commit_box/info/components/commit_box_pipeline_mini_graph.vue create mode 100644 app/assets/javascripts/projects/commit_box/info/graphql/queries/get_linked_pipelines.query.graphql delete mode 100644 app/assets/javascripts/projects/compare/components/app_legacy.vue create mode 100644 app/assets/javascripts/repository/mutations/lock_path.mutation.graphql create mode 100644 app/assets/javascripts/runner/admin_runners/admin_runners_app.vue create mode 100644 app/assets/javascripts/runner/admin_runners/index.js create mode 100644 app/assets/javascripts/runner/group_runners/group_runners_app.vue create mode 100644 app/assets/javascripts/runner/group_runners/index.js delete mode 100644 app/assets/javascripts/runner/runner_list/index.js delete mode 100644 app/assets/javascripts/runner/runner_list/runner_list_app.vue delete mode 100644 app/assets/javascripts/runner/runner_list/runner_search_utils.js create mode 100644 app/assets/javascripts/runner/runner_search_utils.js create mode 100644 app/assets/javascripts/security_configuration/components/auto_dev_ops_enabled_alert.vue delete mode 100644 app/assets/javascripts/security_configuration/components/configuration_table.vue delete mode 100644 app/assets/javascripts/security_configuration/components/redesigned_app.vue delete mode 100644 app/assets/javascripts/security_configuration/components/upgrade.vue create mode 100644 app/assets/javascripts/sidebar/queries/group_milestones.query.graphql create mode 100644 app/assets/javascripts/terraform/components/init_command_modal.vue create mode 100644 app/assets/javascripts/tracking/dispatch_snowplow_event.js create mode 100644 app/assets/javascripts/tracking/tracking.js create mode 100644 app/assets/javascripts/tracking/utils.js create mode 100644 app/assets/javascripts/vue_shared/components/dropdown/dropdown_widget/dropdown_widget.stories.js create mode 100644 app/assets/javascripts/vue_shared/components/dropdown/dropdown_widget/dropdown_widget.vue create mode 100644 app/assets/javascripts/vue_shared/components/papa_parse_alert.vue delete mode 100644 app/assets/javascripts/vue_shared/components/remove_member_modal.vue create mode 100644 app/assets/javascripts/vue_shared/components/sidebar/labels_select_widget/graphql/project_labels.query.graphql create mode 100644 app/assets/javascripts/vue_shared/security_reports/graphql/fragments/job_artifacts.fragment.graphql create mode 100644 app/assets/javascripts/vue_shared/security_reports/graphql/queries/security_report_merge_request_download_paths.query.graphql create mode 100644 app/assets/javascripts/vue_shared/security_reports/graphql/queries/security_report_pipeline_download_paths.query.graphql delete mode 100644 app/assets/javascripts/vue_shared/security_reports/queries/security_report_merge_request_download_paths.query.graphql delete mode 100644 app/assets/javascripts/vue_shared/security_reports/queries/security_report_pipeline_download_paths.query.graphql create mode 100644 app/assets/stylesheets/_jh/application_jh.scss create mode 100644 app/assets/stylesheets/components/content_editor.scss delete mode 100644 app/controllers/admin/clusters/applications_controller.rb delete mode 100644 app/controllers/admin/services_controller.rb delete mode 100644 app/controllers/clusters/applications_controller.rb create mode 100644 app/controllers/concerns/analytics/cycle_analytics/stage_actions.rb delete mode 100644 app/controllers/concerns/dependency_proxy/auth.rb delete mode 100644 app/controllers/concerns/spammable_actions.rb create mode 100644 app/controllers/concerns/spammable_actions/akismet_mark_as_spam_action.rb create mode 100644 app/controllers/concerns/spammable_actions/attributes.rb create mode 100644 app/controllers/concerns/spammable_actions/captcha_check/common.rb create mode 100644 app/controllers/concerns/spammable_actions/captcha_check/html_format_actions_support.rb create mode 100644 app/controllers/concerns/spammable_actions/captcha_check/json_format_actions_support.rb delete mode 100644 app/controllers/customers_dot/proxy_controller.rb delete mode 100644 app/controllers/groups/clusters/applications_controller.rb create mode 100644 app/controllers/groups/dependency_proxy/application_controller.rb create mode 100644 app/controllers/jira_connect/branches_controller.rb delete mode 100644 app/controllers/projects/clusters/applications_controller.rb create mode 100644 app/experiments/force_company_trial_experiment.rb delete mode 100644 app/experiments/members/invite_email_experiment.rb delete mode 100644 app/experiments/new_project_readme_experiment.rb create mode 100644 app/finders/error_tracking/errors_finder.rb create mode 100644 app/finders/lfs_pointers_finder.rb create mode 100644 app/finders/projects/members/effective_access_level_per_user_finder.rb create mode 100644 app/graphql/mutations/ci/job/cancel.rb create mode 100644 app/graphql/mutations/ci/job/unschedule.rb create mode 100644 app/graphql/mutations/groups/update.rb create mode 100644 app/graphql/mutations/packages/destroy_file.rb create mode 100644 app/graphql/resolvers/concerns/resolves_ids.rb create mode 100644 app/graphql/resolvers/groups_resolver.rb create mode 100644 app/graphql/resolvers/merge_requests_count_resolver.rb create mode 100644 app/graphql/resolvers/paginated_tree_resolver.rb create mode 100644 app/graphql/types/milestone_wildcard_id_enum.rb create mode 100644 app/graphql/types/namespace/shared_runners_setting_enum.rb create mode 100644 app/graphql/types/negated_milestone_wildcard_id_enum.rb create mode 100644 app/graphql/types/packages/dependency_link_metadata_type.rb create mode 100644 app/graphql/types/packages/nuget/dependency_link_metadatum_type.rb create mode 100644 app/graphql/types/packages/package_dependency_link_type.rb create mode 100644 app/graphql/types/packages/package_dependency_type.rb create mode 100644 app/graphql/types/packages/package_dependency_type_enum.rb delete mode 100644 app/helpers/analytics/navbar_helper.rb create mode 100644 app/models/analytics/cycle_analytics/stage_event_hash.rb create mode 100644 app/models/ci/application_record.rb delete mode 100644 app/models/ci/base_model.rb create mode 100644 app/models/ci/build_trace_metadata.rb delete mode 100644 app/models/ci/build_trace_section.rb delete mode 100644 app/models/ci/build_trace_section_name.rb create mode 100644 app/models/ci/ci_database_record.rb delete mode 100644 app/models/concerns/any_field_validation.rb create mode 100644 app/models/concerns/ci/namespaced_model_name.rb create mode 100644 app/models/concerns/incident_management/escalatable.rb create mode 100644 app/models/concerns/restricted_signup.rb create mode 100644 app/models/customer_relations/organization.rb create mode 100644 app/models/error_tracking/client_key.rb create mode 100644 app/models/incident_management/issuable_escalation_status.rb create mode 100644 app/models/namespaces/traversal/linear_scopes.rb create mode 100644 app/models/namespaces/traversal/recursive_scopes.rb create mode 100644 app/models/packages/npm.rb create mode 100644 app/models/postgresql/detached_partition.rb create mode 100644 app/models/projects/ci_feature_usage.rb create mode 100644 app/models/users/banned_user.rb create mode 100644 app/models/work_item/type.rb create mode 100644 app/policies/packages/dependency_link_policy.rb create mode 100644 app/policies/packages/nuget/dependency_link_metadatum_policy.rb create mode 100644 app/presenters/ci/runner_presenter.rb create mode 100644 app/serializers/concerns/diff_file_conflict_type.rb create mode 100644 app/serializers/integrations/project_entity.rb create mode 100644 app/serializers/integrations/project_serializer.rb create mode 100644 app/serializers/jira_connect/app_data_serializer.rb create mode 100644 app/serializers/jira_connect/group_entity.rb create mode 100644 app/serializers/jira_connect/subscription_entity.rb create mode 100644 app/services/authorized_project_update/project_recalculate_per_user_service.rb create mode 100644 app/services/ci/build_cancel_service.rb create mode 100644 app/services/ci/build_unschedule_service.rb delete mode 100644 app/services/ci/extract_sections_from_build_trace_service.rb delete mode 100644 app/services/ci/stop_environments_service.rb create mode 100644 app/services/environments/stop_service.rb create mode 100644 app/services/members/import_project_team_service.rb create mode 100644 app/services/packages/debian/sign_distribution_service.rb create mode 100644 app/services/packages/update_package_file_service.rb create mode 100644 app/services/security/merge_reports_service.rb create mode 100644 app/services/service_ping/service_ping_settings.rb create mode 100644 app/services/spam/akismet_mark_as_spam_service.rb delete mode 100644 app/services/spam/mark_as_spam_service.rb create mode 100644 app/services/users/banned_user_base_service.rb create mode 100644 app/services/users/unban_service.rb create mode 100644 app/validators/any_field_validator.rb delete mode 100644 app/views/admin/dev_ops_report/_callout.html.haml delete mode 100644 app/views/admin/runners/_runner.html.haml delete mode 100644 app/views/admin/runners/_sort_dropdown.html.haml delete mode 100644 app/views/admin/services/_form.html.haml delete mode 100644 app/views/admin/services/_service_templates_deprecated_alert.html.haml delete mode 100644 app/views/admin/services/edit.html.haml delete mode 100644 app/views/admin/services/index.html.haml delete mode 100644 app/views/ci/runner/_how_to_setup_runner_automatically.html.haml create mode 100644 app/views/groups/runners/_sort_dropdown.html.haml create mode 100644 app/views/groups/runners/index.html.haml delete mode 100644 app/views/groups/sidebar/_packages.html.haml delete mode 100644 app/views/groups/sidebar/_packages_settings.html.haml create mode 100644 app/views/help/instance_configuration/_package_registry.html.haml create mode 100644 app/views/help/instance_configuration/_rate_limit_row.html.haml create mode 100644 app/views/help/instance_configuration/_rate_limits.html.haml create mode 100644 app/views/jira_connect/branches/new.html.haml delete mode 100644 app/views/layouts/_recaptcha_verification.html.haml delete mode 100644 app/views/layouts/header/_service_templates_deprecation_callout.html.haml delete mode 100644 app/views/layouts/nav/_dashboard.html.haml delete mode 100644 app/views/layouts/nav/_explore.html.haml delete mode 100644 app/views/layouts/nav/groups_dropdown/_show.html.haml delete mode 100644 app/views/layouts/nav/projects_dropdown/_show.html.haml delete mode 100644 app/views/layouts/nav/sidebar/_analytics_links.html.haml delete mode 100644 app/views/layouts/nav/sidebar/_wiki_link.html.haml delete mode 100644 app/views/projects/deployments/_confirm_rollback_modal.html.haml delete mode 100644 app/views/projects/environments/_external_url.html.haml delete mode 100644 app/views/projects/environments/_form.html.haml delete mode 100644 app/views/projects/environments/_metrics_button.html.haml delete mode 100644 app/views/projects/environments/_pin_button.html.haml delete mode 100644 app/views/projects/environments/_terminal_button.html.haml create mode 100644 app/views/projects/issues/captcha_check.html.haml delete mode 100644 app/views/projects/issues/verify.html.haml create mode 100644 app/views/shared/_captcha_check.html.haml delete mode 100644 app/views/shared/_recaptcha_form.html.haml delete mode 100644 app/views/shared/icons/_dev_ops_report_overview.svg create mode 100644 app/views/shared/integrations/_tabs.html.haml create mode 100644 app/views/shared/integrations/overrides.html.haml create mode 100644 app/views/shared/projects/_topics.html.haml create mode 100644 app/workers/database/drop_detached_partitions_worker.rb create mode 100644 app/workers/environments/auto_delete_cron_worker.rb create mode 100644 app/workers/jira_connect/retry_request_worker.rb delete mode 100644 config/feature_flags/development/allow_archive_as_web_access_format.yml delete mode 100644 config/feature_flags/development/allow_editing_commit_messages.yml create mode 100644 config/feature_flags/development/between_uses_list_commits.yml create mode 100644 config/feature_flags/development/cache_merge_to_ref_calls.yml create mode 100644 config/feature_flags/development/cache_shared_runners_enabled.yml delete mode 100644 config/feature_flags/development/cancel_pipelines_prior_to_destroy.yml create mode 100644 config/feature_flags/development/changes_batch_commits.yml delete mode 100644 config/feature_flags/development/ci_build_metadata_config.yml create mode 100644 config/feature_flags/development/ci_include_rules.yml delete mode 100644 config/feature_flags/development/ci_jobs_trace_size_limit.yml create mode 100644 config/feature_flags/development/ci_pending_builds_maintain_ci_minutes_data.yml create mode 100644 config/feature_flags/development/ci_pipeline_add_job_with_lock.yml create mode 100644 config/feature_flags/development/ci_queueing_denormalize_ci_minutes_information.yml create mode 100644 config/feature_flags/development/ci_queueing_denormalize_shared_runners_information.yml create mode 100644 config/feature_flags/development/ci_runner_limits_override.yml delete mode 100644 config/feature_flags/development/ci_wildcard_file_paths.yml delete mode 100644 config/feature_flags/development/combined_menu.yml delete mode 100644 config/feature_flags/development/compare_repo_dropdown.yml create mode 100644 config/feature_flags/development/dast_meta_tag_validation.yml create mode 100644 config/feature_flags/development/dast_profile_disable_joins.yml create mode 100644 config/feature_flags/development/dast_scanner_profile_disable_joins.yml create mode 100644 config/feature_flags/development/dast_site_profile_disable_joins.yml create mode 100644 config/feature_flags/development/debian_group_packages.yml delete mode 100644 config/feature_flags/development/devops_adoption_feature.yml create mode 100644 config/feature_flags/development/diff_searching_usage_data.yml create mode 100644 config/feature_flags/development/drop_detached_partitions.yml delete mode 100644 config/feature_flags/development/efficient_counter_attribute.yml delete mode 100644 config/feature_flags/development/evalute_protected_tag_for_release_permissions.yml delete mode 100644 config/feature_flags/development/fetch_remote_params.yml create mode 100644 config/feature_flags/development/get_tag_signatures.yml delete mode 100644 config/feature_flags/development/git_access_batched_changes_size.yml delete mode 100644 config/feature_flags/development/github_review_importer_query_only_unimported_merge_requests.yml delete mode 100644 config/feature_flags/development/graphql_pipeline_details.yml delete mode 100644 config/feature_flags/development/graphql_pipeline_details_users.yml create mode 100644 config/feature_flags/development/import_redis_increment_by.yml delete mode 100644 config/feature_flags/development/infrastructure_registry_page.yml create mode 100644 config/feature_flags/development/linear_project_ancestors.yml delete mode 100644 config/feature_flags/development/list_commits.yml create mode 100644 config/feature_flags/development/load_balancing_for_deployments_hooks_worker.yml create mode 100644 config/feature_flags/development/load_balancing_for_export_workers.yml delete mode 100644 config/feature_flags/development/load_balancing_refine_load_balancer_methods.yml delete mode 100644 config/feature_flags/development/merge_request_cached_merge_pipeline_serializer.yml delete mode 100644 config/feature_flags/development/merge_request_draft_filter.yml create mode 100644 config/feature_flags/development/merge_request_show_render_cached.yml create mode 100644 config/feature_flags/development/milestone_reference_pattern.yml delete mode 100644 config/feature_flags/development/mr_collapsed_approval_rules.yml delete mode 100644 config/feature_flags/development/multiple_database_metrics.yml delete mode 100644 config/feature_flags/development/one_megabyte_file_size_limit.yml create mode 100644 config/feature_flags/development/optimize_safe_find_or_create_by.yml create mode 100644 config/feature_flags/development/packages_nuget_new_package_file_updater.yml create mode 100644 config/feature_flags/development/pages_smart_check_outdated_sha.yml create mode 100644 config/feature_flags/development/paginated_tree_graphql_query.yml create mode 100644 config/feature_flags/development/partition_pruning.yml delete mode 100644 config/feature_flags/development/partition_pruning_dry_run.yml delete mode 100644 config/feature_flags/development/pipeline_graph_layers_view.yml create mode 100644 config/feature_flags/development/pipeline_source_filter.yml delete mode 100644 config/feature_flags/development/preload_associations_jobs_request_api_endpoint.yml delete mode 100644 config/feature_flags/development/prevent_retry_of_retried_jobs.yml create mode 100644 config/feature_flags/development/project_overwrite_service_tracking.yml create mode 100644 config/feature_flags/development/remove_composer_v1_cache_code.yml create mode 100644 config/feature_flags/development/report_on_long_redis_durations.yml create mode 100644 config/feature_flags/development/runner_list_group_view_vue_ui.yml delete mode 100644 config/feature_flags/development/runner_list_view_vue_ui.yml delete mode 100644 config/feature_flags/development/search_sort_issues_by_popularity.yml delete mode 100644 config/feature_flags/development/security_configuration_redesign.yml delete mode 100644 config/feature_flags/development/security_configuration_redesign_ee.yml create mode 100644 config/feature_flags/development/set_full_path.yml delete mode 100644 config/feature_flags/development/similarity_search.yml create mode 100644 config/feature_flags/development/specialized_service_for_project_member_auth_refresh.yml create mode 100644 config/feature_flags/development/specialized_worker_for_group_lock_update_auth_recalculation.yml create mode 100644 config/feature_flags/development/store_mentions_without_subtransaction.yml delete mode 100644 config/feature_flags/development/update_remote_mirror_inmemory.yml delete mode 100644 config/feature_flags/development/usage_data_i_testing_full_code_quality_report_total.yml create mode 100644 config/feature_flags/development/vuln_report_new_project_filter.yml create mode 100644 config/feature_flags/development/vulnerability_finding_replace_metadata.yml create mode 100644 config/feature_flags/experiment/force_company_trial.yml create mode 100644 config/feature_flags/experiment/invite_email_preview_text.yml delete mode 100644 config/feature_flags/experiment/invite_members_empty_group_version_a_experiment_percentage.yml create mode 100644 config/feature_flags/experiment/member_areas_of_focus.yml delete mode 100644 config/feature_flags/experiment/members_invite_email.yml create mode 100644 config/feature_flags/ops/active_record_subtransactions_counter.yml create mode 100644 config/feature_flags/ops/active_record_transactions_tracking.yml create mode 100644 config/helpers/is_jh_env.js create mode 100644 config/initializers/00_rails_disable_joins.rb create mode 100644 config/initializers/0_log_deprecations.rb delete mode 100644 config/initializers/2_gitlab.rb create mode 100644 config/initializers/active_record_transaction_observer.rb create mode 100644 config/initializers/active_record_transaction_patches.rb delete mode 100644 config/initializers/check_decomposition_database_config.rb create mode 100644 config/initializers/rails_asset_host.rb delete mode 100644 config/initializers/transaction_metrics.rb delete mode 100644 config/metrics/counts_28d/20210216175616_user_dast_jobs.yml delete mode 100644 config/metrics/counts_28d/20210216175618_dast_pipeline.yml delete mode 100644 config/metrics/counts_28d/20210216180355_user_api_fuzzing_jobs.yml delete mode 100644 config/metrics/counts_28d/20210216180357_user_api_fuzzing_dnd_jobs.yml delete mode 100644 config/metrics/counts_28d/20210216183817_user_coverage_fuzzing_jobs.yml delete mode 100644 config/metrics/counts_28d/20210216183832_dast_scans.yml delete mode 100644 config/metrics/counts_28d/20210216183836_coverage_fuzzing_scans.yml delete mode 100644 config/metrics/counts_28d/20210216183838_api_fuzzing_scans.yml create mode 100644 config/metrics/counts_28d/20210720144005_i_code_review_user_searches_diff_monthly.yml create mode 100644 config/metrics/counts_28d/20210721042227_i_quickactions_severity_monthly.yml create mode 100644 config/metrics/counts_7d/20210720144005_i_code_review_user_searches_diff_weekly.yml create mode 100644 config/metrics/counts_7d/20210721042223_i_quickactions_severity_weekly.yml delete mode 100644 config/metrics/counts_all/20210216175612_dast_jobs.yml delete mode 100644 config/metrics/counts_all/20210216175614_user_dast_jobs.yml delete mode 100644 config/metrics/counts_all/20210216180344_api_fuzzing_jobs.yml delete mode 100644 config/metrics/counts_all/20210216180346_api_fuzzing_dnd_jobs.yml delete mode 100644 config/metrics/counts_all/20210216180348_user_api_fuzzing_jobs.yml delete mode 100644 config/metrics/counts_all/20210216180350_user_api_fuzzing_dnd_jobs.yml delete mode 100644 config/metrics/counts_all/20210216183146_coverage_fuzzing_jobs.yml delete mode 100644 config/metrics/counts_all/20210216183149_dast_on_demand_pipelines.yml delete mode 100644 config/metrics/counts_all/20210216183514_user_coverage_fuzzing_jobs.yml create mode 100644 config/metrics/counts_all/20210723075525_diff_searches.yml create mode 100644 config/metrics/counts_all/20210727095918_in_product_marketing_email_team_short_0_cta_clicked.yml create mode 100644 config/metrics/counts_all/20210727095923_in_product_marketing_email_team_short_0_sent.yml create mode 100644 config/metrics/counts_all/20210727170553_in_product_marketing_email_trial_short_0_cta_clicked.yml create mode 100644 config/metrics/counts_all/20210727170558_in_product_marketing_email_trial_short_0_sent.yml create mode 100644 config/metrics/counts_all/20210729140021_in_product_marketing_email_admin_verify_0_cta_clicked.yml create mode 100644 config/metrics/counts_all/20210729140423_in_product_marketing_email_admin_verify_0_sent.yml create mode 100644 config/metrics/license/20210204124936_pages_version.yml delete mode 100644 config/metrics/license/20210204124936_version.yml delete mode 100644 config/metrics/settings/20210204124934_enabled.yml create mode 100644 config/metrics/settings/20210204124934_pages_enabled.yml create mode 100644 config/metrics/settings/20210812202137_smtp_encrypted_secrets_enabled.yml create mode 120000 db/ci_migrate delete mode 100644 db/ci_migrate/20210617101848_create_ci_instance_variables_on_ci.rb delete mode 100644 db/ci_schema_migrations/20210617101848 mode change 100644 => 120000 db/ci_structure.sql create mode 100644 db/fixtures/development/31_error_tracking.rb create mode 100644 db/migrate/20210611082822_add_pages_file_entries_to_plan_limits.rb create mode 100644 db/migrate/20210628154900_create_detached_partitions_table.rb create mode 100644 db/migrate/20210629031900_associate_existing_dast_builds_with_variables.rb create mode 100644 db/migrate/20210630222522_add_customers_dot_jwt_signing_key_to_application_settings.rb create mode 100644 db/migrate/20210630224625_generate_customers_dot_jwt_signing_key.rb create mode 100644 db/migrate/20210706151154_add_remaining_ci_minutes_to_ci_pending_build.rb create mode 100644 db/migrate/20210706151446_add_namespace_foreign_key_to_ci_pending_build.rb create mode 100644 db/migrate/20210708202548_add_scanners_column_to_approval_project_rules.rb create mode 100644 db/migrate/20210709221051_create_work_item_types.rb create mode 100644 db/migrate/20210709221659_add_work_item_type_id_to_issue.rb create mode 100644 db/migrate/20210712052519_add_label_applied_issuable_closed_to_issuable_sla.rb create mode 100644 db/migrate/20210713123345_create_dast_profile_schedule.rb create mode 100644 db/migrate/20210713211008_create_banned_users.rb create mode 100644 db/migrate/20210713223941_remove_null_constraint_from_security_findings.rb create mode 100644 db/migrate/20210714043818_add_index_for_label_applied_to_issuable_sla.rb create mode 100644 db/migrate/20210715074359_add_foreign_key_to_dast_profile_schedules_on_dast_profile.rb create mode 100644 db/migrate/20210715074933_add_foreign_key_to_dast_profile_schedules_on_user.rb create mode 100644 db/migrate/20210715075203_add_foreign_key_to_dast_profile_schedules_on_project.rb create mode 100644 db/migrate/20210719145532_add_foreign_keys_view.rb create mode 100644 db/migrate/20210719182944_add_request_response_to_supporing_message.rb create mode 100644 db/migrate/20210719192928_add_invite_email_success_to_member.rb create mode 100644 db/migrate/20210720130006_create_error_tracking_client_keys.rb create mode 100644 db/migrate/20210720140841_create_postgres_async_indexes_table.rb create mode 100644 db/migrate/20210721125525_add_signed_file_to_packages_debian_project_distributions.rb create mode 100644 db/migrate/20210721125545_add_signed_file_to_packages_debian_group_distributions.rb create mode 100644 db/migrate/20210721125620_add_text_limit_to_packages_debian_project_distributions_signed_files.rb create mode 100644 db/migrate/20210721125637_add_text_limit_to_packages_debian_group_distributions_signed_files.rb create mode 100644 db/migrate/20210721134706_add_type_new_to_integrations.rb create mode 100644 db/migrate/20210721134707_add_text_limit_to_integrations_type_new.rb create mode 100644 db/migrate/20210721135638_add_triggers_to_integrations_type_new.rb create mode 100644 db/migrate/20210721145029_add_state_to_members.rb create mode 100644 db/migrate/20210721174411_add_is_removed_to_escalation_rules.rb create mode 100644 db/migrate/20210721174441_update_escalation_rule_fk_for_pending_alert_escalations.rb create mode 100644 db/migrate/20210721174453_remove_schedule_and_status_null_constraints_from_pending_escalations_alert.rb create mode 100644 db/migrate/20210721211602_add_vulnerability_amount_column_into_approval_project_rules.rb create mode 100644 db/migrate/20210722074220_remove_null_constraint_on_schedule_from_escalation_rules.rb create mode 100644 db/migrate/20210722074242_add_user_to_escalation_rules.rb create mode 100644 db/migrate/20210722074256_add_user_index_to_escalation_rules.rb create mode 100644 db/migrate/20210722074309_add_user_fk_to_escalation_rules.rb create mode 100644 db/migrate/20210722074339_add_xor_check_constraint_for_escalation_rules.rb create mode 100644 db/migrate/20210722132844_devops_adoption_drop_redundant_indexes.rb create mode 100644 db/migrate/20210722150102_operations_feature_flags_correct_flexible_rollout_values.rb create mode 100644 db/migrate/20210722151951_add_columns_to_security_scans.rb create mode 100644 db/migrate/20210722210041_add_overridden_uuid_to_security_findings.rb create mode 100644 db/migrate/20210723173132_create_index_on_environments_auto_delete_at.rb create mode 100644 db/migrate/20210726134950_add_integrated_to_error_tracking_setting.rb create mode 100644 db/migrate/20210726202748_add_vulnerability_severities_into_approval_project_rules.rb create mode 100644 db/migrate/20210728110654_add_status_to_error_tracking_error.rb create mode 100644 db/migrate/20210728174349_add_fk_to_security_scans_columns.rb create mode 100644 db/migrate/20210729061526_add_pronunciation_to_user_details.rb create mode 100644 db/migrate/20210729061556_add_text_limit_to_user_details_pronunciation.rb create mode 100644 db/migrate/20210729123101_confirm_security_bot.rb create mode 100644 db/migrate/20210729161242_remove_foreign_keys_from_ci_test_case_failures.rb create mode 100644 db/migrate/20210729192148_remove_foreign_keys_from_ci_test_cases.rb create mode 100644 db/migrate/20210729202143_create_incident_management_issuable_escalation_statuses.rb create mode 100644 db/migrate/20210730101609_create_analytics_cycle_analytics_stage_event_hashes.rb create mode 100644 db/migrate/20210730102952_add_stage_hash_fk_to_project_stages.rb create mode 100644 db/migrate/20210730103808_add_stage_hash_fk_to_group_stages.rb create mode 100644 db/migrate/20210803110920_add_unique_index_to_vulnerability_flags_table.rb create mode 100644 db/migrate/20210804150320_create_base_work_item_types.rb create mode 100644 db/migrate/20210804200114_create_customer_relations_organizations.rb create mode 100644 db/migrate/20210804202057_add_tmp_index_approval_project_rules_scanners.rb create mode 100644 db/migrate/20210805085706_add_rule_index_to_security_orchestration_policy_rule_schedules.rb create mode 100644 db/migrate/20210806152104_add_pypi_package_requests_forwarding_to_application_settings.rb create mode 100644 db/migrate/20210809194250_rename_tables_ci_build_trace_section.rb create mode 100644 db/migrate/20210812171704_create_project_ci_feature_usages.rb create mode 100644 db/migrate/20210813101742_create_zentao_tracker_data.rb create mode 100644 db/migrate/20210813111909_create_ci_build_trace_metadata.rb create mode 100644 db/migrate/20210816161107_remove_index_containing_faulty_regex.rb create mode 100644 db/migrate/20210817084338_add_foreign_key_from_ci_build_metadata_to_ci_job_artifacts.rb create mode 100644 db/migrate/20210818034001_index_historical_data_on_recorded_at.rb create mode 100644 db/migrate/20210818055357_add_unique_commit_design_user_mention_indexes.rb create mode 100644 db/post_migrate/20210701033622_finalize_ci_builds_needs_bigint_conversion.rb create mode 100644 db/post_migrate/20210706212710_finalize_ci_job_artifacts_bigint_conversion.rb create mode 100644 db/post_migrate/20210707210916_finalize_ci_stages_bigint_conversion.rb create mode 100644 db/post_migrate/20210709024048_finalize_push_event_payloads_bigint_conversion_2.rb create mode 100644 db/post_migrate/20210713042153_finalize_ci_sources_pipelines_bigint_conversion.rb create mode 100644 db/post_migrate/20210713075117_re_schedule_latest_pipeline_id_population_with_logging.rb create mode 100644 db/post_migrate/20210714015537_finalize_ci_build_trace_chunks_bigint_conversion.rb create mode 100644 db/post_migrate/20210721125804_remove_signing_keys_from_packages_debian_project_distributions.rb create mode 100644 db/post_migrate/20210721125820_remove_signing_keys_from_packages_debian_group_distributions.rb create mode 100644 db/post_migrate/20210721174521_add_non_null_constraint_for_escalation_rule_on_pending_alert_escalations.rb create mode 100644 db/post_migrate/20210722010101_reschedule_delete_orphaned_deployments.rb create mode 100644 db/post_migrate/20210722042939_update_issuable_slas_where_issue_closed.rb create mode 100644 db/post_migrate/20210722055217_add_updated_at_index_on_merge_requests.rb create mode 100644 db/post_migrate/20210722155635_finalize_convert_geo_job_artifact_deleted_events_bigint.rb create mode 100644 db/post_migrate/20210727113447_backfill_integrations_type_new.rb create mode 100644 db/post_migrate/20210727175201_remove_unused_columns_from_elastic_reindexing_tasks.rb create mode 100644 db/post_migrate/20210729163312_re_schedule_latest_pipeline_id_population_with_all_security_related_artifact_types.rb create mode 100644 db/post_migrate/20210729192959_drop_ci_test_case_failures_table.rb create mode 100644 db/post_migrate/20210729193056_drop_ci_test_cases_table.rb create mode 100644 db/post_migrate/20210730170823_schedule_security_setting_creation.rb create mode 100644 db/post_migrate/20210802043253_finalize_push_event_payloads_bigint_conversion_3.rb create mode 100644 db/post_migrate/20210802112233_add_index_issues_on_project_id_and_state_id_and_created_at_and_id.rb create mode 100644 db/post_migrate/20210802131812_finalize_convert_deployments_bigint.rb create mode 100644 db/post_migrate/20210804150624_remove_cluster_image_scanning_from_approval_project_rules.rb create mode 100644 db/post_migrate/20210804151444_prepare_indexes_for_ci_job_artifact_bigint_conversion.rb create mode 100644 db/post_migrate/20210804153307_prepare_indexes_for_tagging_bigint_conversion.rb create mode 100644 db/post_migrate/20210804154407_prepare_indexes_for_ci_stage_bigint_conversion.rb create mode 100644 db/post_migrate/20210805131510_finalize_ci_builds_runner_session_bigint_conversion.rb create mode 100644 db/post_migrate/20210805192450_update_trial_plans_ci_daily_pipeline_schedule_triggers.rb create mode 100644 db/post_migrate/20210806011811_schedule_backfill_draft_column_on_merge_requests_rerun.rb create mode 100644 db/post_migrate/20210809123658_orphaned_invite_tokens_cleanup.rb create mode 100644 db/post_migrate/20210809143931_finalize_job_id_conversion_to_bigint_for_ci_job_artifacts.rb create mode 100644 db/post_migrate/20210811214811_schedule_copy_ci_builds_columns_to_security_scans.rb create mode 100644 db/post_migrate/20210812145010_reset_job_token_scope_enabled_again.rb create mode 100644 db/post_migrate/20210813195518_schedule_recalculate_uuid_on_vulnerabilities_occurrences3.rb create mode 100644 db/post_migrate/20210816183304_schedule_copy_ci_builds_columns_to_security_scans2.rb create mode 100644 db/schema_migrations/20210611082822 create mode 100644 db/schema_migrations/20210628154900 create mode 100644 db/schema_migrations/20210629031900 create mode 100644 db/schema_migrations/20210630222522 create mode 100644 db/schema_migrations/20210630224625 create mode 100644 db/schema_migrations/20210701033622 create mode 100644 db/schema_migrations/20210706151154 create mode 100644 db/schema_migrations/20210706151446 create mode 100644 db/schema_migrations/20210706212710 create mode 100644 db/schema_migrations/20210707210916 create mode 100644 db/schema_migrations/20210708202548 create mode 100644 db/schema_migrations/20210709024048 create mode 100644 db/schema_migrations/20210709221051 create mode 100644 db/schema_migrations/20210709221659 create mode 100644 db/schema_migrations/20210712052519 create mode 100644 db/schema_migrations/20210713042153 create mode 100644 db/schema_migrations/20210713075117 create mode 100644 db/schema_migrations/20210713123345 create mode 100644 db/schema_migrations/20210713211008 create mode 100644 db/schema_migrations/20210713223941 create mode 100644 db/schema_migrations/20210714015537 create mode 100644 db/schema_migrations/20210714043818 create mode 100644 db/schema_migrations/20210715074359 create mode 100644 db/schema_migrations/20210715074933 create mode 100644 db/schema_migrations/20210715075203 create mode 100644 db/schema_migrations/20210719145532 create mode 100644 db/schema_migrations/20210719182944 create mode 100644 db/schema_migrations/20210719192928 create mode 100644 db/schema_migrations/20210720130006 create mode 100644 db/schema_migrations/20210720140841 create mode 100644 db/schema_migrations/20210721125525 create mode 100644 db/schema_migrations/20210721125545 create mode 100644 db/schema_migrations/20210721125620 create mode 100644 db/schema_migrations/20210721125637 create mode 100644 db/schema_migrations/20210721125804 create mode 100644 db/schema_migrations/20210721125820 create mode 100644 db/schema_migrations/20210721134706 create mode 100644 db/schema_migrations/20210721134707 create mode 100644 db/schema_migrations/20210721135638 create mode 100644 db/schema_migrations/20210721145029 create mode 100644 db/schema_migrations/20210721174411 create mode 100644 db/schema_migrations/20210721174441 create mode 100644 db/schema_migrations/20210721174453 create mode 100644 db/schema_migrations/20210721174521 create mode 100644 db/schema_migrations/20210721211602 create mode 100644 db/schema_migrations/20210722010101 create mode 100644 db/schema_migrations/20210722042939 create mode 100644 db/schema_migrations/20210722055217 create mode 100644 db/schema_migrations/20210722074220 create mode 100644 db/schema_migrations/20210722074242 create mode 100644 db/schema_migrations/20210722074256 create mode 100644 db/schema_migrations/20210722074309 create mode 100644 db/schema_migrations/20210722074339 create mode 100644 db/schema_migrations/20210722132844 create mode 100644 db/schema_migrations/20210722150102 create mode 100644 db/schema_migrations/20210722151951 create mode 100644 db/schema_migrations/20210722155635 create mode 100644 db/schema_migrations/20210722210041 create mode 100644 db/schema_migrations/20210723173132 create mode 100644 db/schema_migrations/20210726134950 create mode 100644 db/schema_migrations/20210726202748 create mode 100644 db/schema_migrations/20210727113447 create mode 100644 db/schema_migrations/20210727175201 create mode 100644 db/schema_migrations/20210728110654 create mode 100644 db/schema_migrations/20210728174349 create mode 100644 db/schema_migrations/20210729061526 create mode 100644 db/schema_migrations/20210729061556 create mode 100644 db/schema_migrations/20210729123101 create mode 100644 db/schema_migrations/20210729161242 create mode 100644 db/schema_migrations/20210729163312 create mode 100644 db/schema_migrations/20210729192148 create mode 100644 db/schema_migrations/20210729192959 create mode 100644 db/schema_migrations/20210729193056 create mode 100644 db/schema_migrations/20210729202143 create mode 100644 db/schema_migrations/20210730101609 create mode 100644 db/schema_migrations/20210730102952 create mode 100644 db/schema_migrations/20210730103808 create mode 100644 db/schema_migrations/20210730170823 create mode 100644 db/schema_migrations/20210802043253 create mode 100644 db/schema_migrations/20210802112233 create mode 100644 db/schema_migrations/20210802131812 create mode 100644 db/schema_migrations/20210803110920 create mode 100644 db/schema_migrations/20210804150320 create mode 100644 db/schema_migrations/20210804150624 create mode 100644 db/schema_migrations/20210804151444 create mode 100644 db/schema_migrations/20210804153307 create mode 100644 db/schema_migrations/20210804154407 create mode 100644 db/schema_migrations/20210804200114 create mode 100644 db/schema_migrations/20210804202057 create mode 100644 db/schema_migrations/20210805085706 create mode 100644 db/schema_migrations/20210805131510 create mode 100644 db/schema_migrations/20210805192450 create mode 100644 db/schema_migrations/20210806011811 create mode 100644 db/schema_migrations/20210806152104 create mode 100644 db/schema_migrations/20210809123658 create mode 100644 db/schema_migrations/20210809143931 create mode 100644 db/schema_migrations/20210809194250 create mode 100644 db/schema_migrations/20210811214811 create mode 100644 db/schema_migrations/20210812145010 create mode 100644 db/schema_migrations/20210812171704 create mode 100644 db/schema_migrations/20210813101742 create mode 100644 db/schema_migrations/20210813111909 create mode 100644 db/schema_migrations/20210813195518 create mode 100644 db/schema_migrations/20210816161107 create mode 100644 db/schema_migrations/20210816183304 create mode 100644 db/schema_migrations/20210817084338 create mode 100644 db/schema_migrations/20210818034001 create mode 100644 db/schema_migrations/20210818055357 create mode 100644 doc/.vale/gitlab/ReadingLevel.yml create mode 100644 doc/.vale/gitlab/Wordy.yml delete mode 100644 doc/administration/geo/replication/img/adding_a_secondary_node_v13_3.png create mode 100644 doc/administration/geo/replication/img/adding_a_secondary_v13_3.png create mode 100644 doc/administration/geo/replication/img/geo_dashboard_v14_0.png delete mode 100644 doc/administration/geo/replication/img/geo_node_dashboard_v14_0.png delete mode 100644 doc/administration/geo/replication/img/geo_node_health_v14_0.png create mode 100644 doc/administration/geo/replication/img/geo_site_health_v14_0.png delete mode 100644 doc/administration/git_annex.md delete mode 100644 doc/administration/img/time_zone_settings.png delete mode 100644 doc/administration/pages/img/lets_encrypt_integration_v12_1.png create mode 100644 doc/administration/raketasks/smtp.md delete mode 100644 doc/api/dora4_group_analytics.md create mode 100644 doc/architecture/blueprints/consolidating_groups_and_projects/index.md create mode 100644 doc/architecture/blueprints/database/scalability/patterns/img/db_terminology_v14_2.png create mode 100644 doc/architecture/blueprints/database/scalability/patterns/img/read_mostly_licenses_calls_v14_2.png create mode 100644 doc/architecture/blueprints/database/scalability/patterns/img/read_mostly_licenses_fixed_v14_2.png create mode 100644 doc/architecture/blueprints/database/scalability/patterns/img/read_mostly_readwriteratio_v14_2.png create mode 100644 doc/architecture/blueprints/database/scalability/patterns/img/read_mostly_subscriptions_reads_v14_2.png create mode 100644 doc/architecture/blueprints/database/scalability/patterns/img/read_mostly_subscriptions_writes_v14_2.png create mode 100644 doc/architecture/blueprints/database/scalability/patterns/index.md create mode 100644 doc/architecture/blueprints/database/scalability/patterns/read_mostly.md create mode 100644 doc/architecture/blueprints/database/scalability/patterns/time_decay.md create mode 100644 doc/architecture/blueprints/database_scaling/size-limits.md delete mode 100644 doc/ci/img/add_file_template_11_10.png delete mode 100644 doc/ci/review_apps/img/review_button.png create mode 100644 doc/ci/runners/build_cloud/macos/environment.md create mode 100644 doc/ci/runners/build_cloud/macos_build_cloud.md create mode 100644 doc/development/backend/ruby_style_guide.md create mode 100644 doc/development/caching.md create mode 100644 doc/development/database/database_migration_pipeline.md create mode 100644 doc/development/dependencies.md delete mode 100644 doc/development/documentation/site_architecture/release_process.md create mode 100644 doc/development/fe_guide/haml.md create mode 100644 doc/development/service_ping/implement.md create mode 100644 doc/development/service_ping/metrics_lifecycle.md delete mode 100644 doc/development/snowplow.md delete mode 100644 doc/development/testing_guide/end_to_end/environment_selection.md delete mode 100644 doc/development/what_requires_downtime.md delete mode 100644 doc/gitlab-basics/create-your-ssh-keys.md delete mode 100644 doc/integration/README.md create mode 100644 doc/integration/img/gitpod-button_v14_2.png create mode 100644 doc/integration/jira/configure.md delete mode 100644 doc/integration/jira_development_panel.md create mode 100644 doc/legal/developer_certificate_of_origin.md delete mode 100644 doc/migrate_ci_to_ce/README.md delete mode 100644 doc/migrate_ci_to_ce/index.md delete mode 100644 doc/operations/metrics/img/linked_runbooks_on_charts.png delete mode 100644 doc/operations/metrics/img/prometheus_alert.png delete mode 100644 doc/security/cicd_variables.md create mode 100644 doc/subscriptions/quarterly_reconciliation.md delete mode 100644 doc/topics/autodevops/img/guide_cluster_apps_v12_3.png delete mode 100644 doc/topics/autodevops/img/guide_first_pipeline_v12_3.png delete mode 100644 doc/topics/autodevops/img/guide_gitlab_gke_details_v12_3.png delete mode 100644 doc/topics/autodevops/img/guide_google_auth_v12_3.png delete mode 100644 doc/topics/autodevops/img/guide_google_signin_v12_3.png create mode 100644 doc/topics/autodevops/multiple_clusters_auto_devops.md create mode 100644 doc/topics/autodevops/prepare_deployment.md delete mode 100644 doc/topics/git/lfs/migrate_from_git_annex_to_git_lfs.md delete mode 100644 doc/topics/git/merge_requests.md delete mode 100644 doc/university/index.md delete mode 100644 doc/university/training/index.md delete mode 100644 doc/university/training/topics/agile_git.md delete mode 100644 doc/university/training/topics/bisect.md delete mode 100644 doc/university/training/topics/env_setup.md delete mode 100644 doc/university/training/topics/feature_branching.md delete mode 100644 doc/university/training/topics/getting_started.md delete mode 100644 doc/university/training/topics/git_add.md delete mode 100644 doc/university/training/topics/git_intro.md delete mode 100644 doc/university/training/topics/git_log.md delete mode 100644 doc/university/training/topics/merge_conflicts.md delete mode 100644 doc/university/training/topics/merge_requests.md delete mode 100644 doc/university/training/topics/rollback_commits.md delete mode 100644 doc/university/training/topics/stash.md delete mode 100644 doc/university/training/topics/subtree.md delete mode 100644 doc/university/training/topics/unstage.md delete mode 100644 doc/university/training/user_training.md create mode 100644 doc/update/img/batched_background_migrations_queued_v14_0.png delete mode 100644 doc/user/abuse_reports.md delete mode 100644 doc/user/admin_area/abuse_reports.md delete mode 100644 doc/user/admin_area/activating_deactivating_users.md delete mode 100644 doc/user/admin_area/analytics/img/admin_devops_adoption_v14_1.png create mode 100644 doc/user/admin_area/analytics/img/admin_devops_adoption_v14_2.png delete mode 100644 doc/user/admin_area/blocking_unblocking_users.md delete mode 100644 doc/user/admin_area/monitoring/img/batched_background_migrations_queued_v14_0.png delete mode 100644 doc/user/admin_area/settings/img/admin_package_registry_npm_package_requests_forward.png delete mode 100644 doc/user/admin_area/settings/img/clone_panel_v12_4.png delete mode 100644 doc/user/admin_area/settings/img/domain_denylist.png create mode 100644 doc/user/admin_area/settings/img/domain_denylist_v14_1.png delete mode 100644 doc/user/admin_area/settings/img/enforce_terms.png delete mode 100644 doc/user/admin_area/settings/img/rate_limit_on_issues_creation_v13_1.png create mode 100644 doc/user/admin_area/settings/img/rate_limit_on_issues_creation_v14_2.png delete mode 100644 doc/user/admin_area/settings/img/respond_to_terms.png delete mode 100644 doc/user/application_security/api_fuzzing/img/api_fuzzing_configuration_snippet_v13.10.png create mode 100644 doc/user/application_security/dast/run_dast_offline.md delete mode 100644 doc/user/application_security/img/vulnerability_page_merge_request_button_dropdown_v13_1.png delete mode 100644 doc/user/application_security/sast/img/sast_v13_2.png delete mode 100644 doc/user/application_security/security_dashboard/img/pipeline_security_dashboard_v13_10.png create mode 100644 doc/user/application_security/security_dashboard/img/pipeline_security_dashboard_v14_2.png delete mode 100644 doc/user/application_security/vulnerability_report/img/group_vulnerability_report_v13_9.png create mode 100644 doc/user/application_security/vulnerability_report/img/group_vulnerability_report_v14_2.png delete mode 100644 doc/user/application_security/vulnerability_report/img/project_security_dashboard_status_change_v13_10.png create mode 100644 doc/user/application_security/vulnerability_report/img/project_security_dashboard_status_change_v14_2.png delete mode 100644 doc/user/clusters/img/jupyter-git-extension.gif delete mode 100644 doc/user/clusters/img/jupyter-gitclone.png delete mode 100644 doc/user/clusters/img/threat_monitoring_v12_9.png delete mode 100644 doc/user/compliance/compliance_dashboard/img/compliance_dashboard_v13_11.png delete mode 100644 doc/user/compliance/compliance_dashboard/img/failed_icon_v13_3.png delete mode 100644 doc/user/compliance/compliance_dashboard/img/success_icon_v13_3.png delete mode 100644 doc/user/compliance/compliance_dashboard/img/warning_icon_v13_3.png create mode 100644 doc/user/compliance/compliance_report/img/failed_icon_v13_3.png create mode 100644 doc/user/compliance/compliance_report/img/success_icon_v13_3.png create mode 100644 doc/user/compliance/compliance_report/img/warning_icon_v13_3.png create mode 100644 doc/user/compliance/compliance_report/index.md delete mode 100644 doc/user/discussions/img/only_allow_merge_if_all_threads_are_resolved.png delete mode 100644 doc/user/group/bulk_editing/index.md delete mode 100644 doc/user/group/devops_adoption/img/group_devops_adoption_v14_1.png create mode 100644 doc/user/group/devops_adoption/img/group_devops_adoption_v14_2.png delete mode 100644 doc/user/group/saml_sso/img/saml_group_links_v13_6.png delete mode 100644 doc/user/group/settings/img/export_panel_v13_0.png delete mode 100644 doc/user/img/feature_flags_history_note_info_v13_2.png delete mode 100644 doc/user/img/todos_index_v13_11.png delete mode 100644 doc/user/img/todos_todo_list_item.png delete mode 100644 doc/user/img/version_history_notes_collapsed_v13_2.png create mode 100644 doc/user/infrastructure/clusters/manage/management_project_applications/apparmor.md create mode 100644 doc/user/infrastructure/clusters/manage/management_project_applications/certmanager.md create mode 100644 doc/user/infrastructure/clusters/manage/management_project_applications/cilium.md create mode 100644 doc/user/infrastructure/clusters/manage/management_project_applications/elasticstack.md create mode 100644 doc/user/infrastructure/clusters/manage/management_project_applications/falco.md create mode 100644 doc/user/infrastructure/clusters/manage/management_project_applications/fluentd.md create mode 100644 doc/user/infrastructure/clusters/manage/management_project_applications/ingress.md create mode 100644 doc/user/infrastructure/clusters/manage/management_project_applications/prometheus.md create mode 100644 doc/user/infrastructure/clusters/manage/management_project_applications/runner.md create mode 100644 doc/user/infrastructure/clusters/manage/management_project_applications/sentry.md create mode 100644 doc/user/infrastructure/clusters/manage/management_project_applications/vault.md create mode 100644 doc/user/infrastructure/iac/index.md delete mode 100644 doc/user/infrastructure/img/terraform_list_view_actions_v13_8.png delete mode 100644 doc/user/project/bulk_editing.md delete mode 100644 doc/user/project/clusters/runbooks/img/ingress-install.png delete mode 100644 doc/user/project/clusters/runbooks/img/jupyterhub-install.png delete mode 100644 doc/user/project/clusters/serverless/img/dns-entry.png delete mode 100644 doc/user/project/clusters/serverless/img/install-knative.png delete mode 100644 doc/user/project/img/code_owners_mr_widget_v12_4.png delete mode 100644 doc/user/project/img/epics_swimlanes_v13.6.png create mode 100644 doc/user/project/img/epics_swimlanes_v14_1.png delete mode 100644 doc/user/project/img/issue_board_add_list_v13_6.png create mode 100644 doc/user/project/img/issue_board_add_list_v14_1.png delete mode 100644 doc/user/project/img/issue_board_assignee_lists_v13_6.png create mode 100644 doc/user/project/img/issue_board_assignee_lists_v14_1.png delete mode 100644 doc/user/project/img/issue_board_milestone_lists_v13_6.png create mode 100644 doc/user/project/img/issue_board_milestone_lists_v14_1.png delete mode 100644 doc/user/project/img/issue_boards_core_v13_6.png create mode 100644 doc/user/project/img/issue_boards_core_v14_1.png delete mode 100644 doc/user/project/img/issue_boards_premium_v13_6.png create mode 100644 doc/user/project/img/issue_boards_premium_v14_1.png delete mode 100644 doc/user/project/img/protected_branches_devs_can_push_v12_3.png create mode 100644 doc/user/project/img/remaining_time_v14_2.png delete mode 100644 doc/user/project/import/gemnasium.md delete mode 100644 doc/user/project/integrations/img/prometheus_deploy.png delete mode 100644 doc/user/project/integrations/img/services_templates_redmine_example.png delete mode 100644 doc/user/project/integrations/jira.md delete mode 100644 doc/user/project/integrations/jira_integrations.md delete mode 100644 doc/user/project/issues/img/confidential_mr_branch_dropdown_v12_1.png delete mode 100644 doc/user/project/issues/img/confidential_mr_dropdown_v12_1.png create mode 100644 doc/user/project/merge_requests/confidential.md delete mode 100644 doc/user/project/merge_requests/img/checkout_button.png delete mode 100644 doc/user/project/merge_requests/img/code_quality_mr_diff_report_v13_11.png delete mode 100644 doc/user/project/merge_requests/img/code_quality_mr_diff_report_v14.png create mode 100644 doc/user/project/merge_requests/img/code_quality_mr_diff_report_v14_2.png delete mode 100644 doc/user/project/merge_requests/img/merge_request_diff.png create mode 100644 doc/user/project/merge_requests/img/merge_request_diff_v14_2.png delete mode 100644 doc/user/project/merge_requests/merge_request_approvals.md delete mode 100644 doc/user/project/merge_requests/reviewing_and_managing_merge_requests.md delete mode 100644 doc/user/project/merge_requests/reviews/img/pending_review_comment.png delete mode 100644 doc/user/project/repository/img/web_editor_new_branch_dropdown.png create mode 100644 doc/user/project/repository/img/web_editor_new_branch_dropdown_v14_1.png delete mode 100644 doc/user/project/repository/img/web_editor_new_branch_from_issue_create_button_v12_6.png create mode 100644 doc/user/project/repository/img/web_editor_new_branch_from_issue_create_button_v14_1.png create mode 100644 doc/user/project/repository/img/web_editor_new_branch_from_issue_v14_1.png delete mode 100644 doc/user/project/repository/img/web_editor_new_branch_from_issue_v_12_6.png delete mode 100644 doc/user/project/repository/img/web_editor_new_branch_page.png create mode 100644 doc/user/project/repository/img/web_editor_new_branch_page_v14_1.png delete mode 100644 doc/user/project/repository/img/web_editor_new_directory_dialog.png create mode 100644 doc/user/project/repository/img/web_editor_new_directory_dialog_v14_1.png delete mode 100644 doc/user/project/repository/img/web_editor_new_directory_dropdown.png create mode 100644 doc/user/project/repository/img/web_editor_new_directory_dropdown_v14_1.png delete mode 100644 doc/user/project/repository/img/web_editor_new_file_dropdown.png create mode 100644 doc/user/project/repository/img/web_editor_new_file_dropdown_v14_1.png delete mode 100644 doc/user/project/repository/img/web_editor_new_file_editor.png create mode 100644 doc/user/project/repository/img/web_editor_new_file_editor_v14_1.png delete mode 100644 doc/user/project/repository/img/web_editor_template_dropdown_first_file.png create mode 100644 doc/user/project/repository/img/web_editor_template_dropdown_first_file_v14_1.png delete mode 100644 doc/user/project/repository/img/web_editor_template_dropdown_mit_license.png create mode 100644 doc/user/project/repository/img/web_editor_template_dropdown_mit_license_v14_1.png delete mode 100644 doc/user/project/repository/img/web_editor_upload_file_dialog.png create mode 100644 doc/user/project/repository/img/web_editor_upload_file_dialog_v14_1.png delete mode 100644 doc/user/project/repository/img/web_editor_upload_file_dropdown.png create mode 100644 doc/user/project/repository/img/web_editor_upload_file_dropdown_v14_1.png create mode 100644 doc/user/workspace/img/hardware_settings.png create mode 100644 generator_templates/post_deployment_migration/post_deployment_migration/migration.rb delete mode 100644 generator_templates/rails/post_deployment_migration/migration.rb create mode 100644 lib/api/ci/helpers/runner.rb create mode 100644 lib/api/ci/job_artifacts.rb create mode 100644 lib/api/ci/jobs.rb create mode 100644 lib/api/ci/triggers.rb create mode 100644 lib/api/ci/variables.rb create mode 100644 lib/api/group_debian_distributions.rb delete mode 100644 lib/api/helpers/runner.rb delete mode 100644 lib/api/job_artifacts.rb delete mode 100644 lib/api/jobs.rb delete mode 100644 lib/api/triggers.rb delete mode 100644 lib/api/variables.rb create mode 100644 lib/error_tracking/collector/sentry_auth_parser.rb create mode 100644 lib/gem_extensions/active_record/association.rb create mode 100644 lib/gem_extensions/active_record/associations/builder/has_many.rb create mode 100644 lib/gem_extensions/active_record/associations/builder/has_one.rb create mode 100644 lib/gem_extensions/active_record/associations/has_many_through_association.rb create mode 100644 lib/gem_extensions/active_record/associations/has_one_through_association.rb create mode 100644 lib/gem_extensions/active_record/associations/preloader/through_association.rb create mode 100644 lib/gem_extensions/active_record/configurable_disable_joins.rb create mode 100644 lib/gem_extensions/active_record/delegate_cache.rb create mode 100644 lib/gem_extensions/active_record/disable_joins/associations/association_scope.rb create mode 100644 lib/gem_extensions/active_record/disable_joins/relation.rb create mode 100644 lib/generators/gitlab/usage_metric/templates/database_instrumentation_class.rb.template create mode 100644 lib/generators/gitlab/usage_metric/templates/generic_instrumentation_class.rb.template delete mode 100644 lib/generators/gitlab/usage_metric/templates/instrumentation_class.rb.template delete mode 100644 lib/generators/gitlab/usage_metric/usage_metric_generator.rb create mode 100644 lib/generators/gitlab/usage_metric_generator.rb create mode 100644 lib/generators/post_deployment_migration/post_deployment_migration_generator.rb delete mode 100644 lib/generators/rails/post_deployment_migration/post_deployment_migration_generator.rb create mode 100644 lib/gitlab/analytics/cycle_analytics/request_params.rb create mode 100644 lib/gitlab/background_migration/backfill_integrations_type_new.rb create mode 100644 lib/gitlab/background_migration/copy_ci_builds_columns_to_security_scans.rb create mode 100644 lib/gitlab/background_migration/create_security_setting.rb create mode 100644 lib/gitlab/ci/config/entry/include/rules.rb create mode 100644 lib/gitlab/ci/config/entry/include/rules/rule.rb create mode 100644 lib/gitlab/ci/config/external/rules.rb delete mode 100644 lib/gitlab/ci/model.rb create mode 100644 lib/gitlab/ci/parsers/security/common.rb create mode 100644 lib/gitlab/ci/parsers/security/concerns/deprecated_syntax.rb create mode 100644 lib/gitlab/ci/parsers/security/sast.rb create mode 100644 lib/gitlab/ci/parsers/security/secret_detection.rb create mode 100644 lib/gitlab/ci/parsers/security/validators/schema_validator.rb create mode 100644 lib/gitlab/ci/parsers/security/validators/schemas/sast.json create mode 100644 lib/gitlab/ci/parsers/security/validators/schemas/secret_detection.json create mode 100644 lib/gitlab/ci/reports/security/aggregated_report.rb create mode 100644 lib/gitlab/ci/reports/security/finding.rb create mode 100644 lib/gitlab/ci/reports/security/finding_key.rb create mode 100644 lib/gitlab/ci/reports/security/finding_signature.rb create mode 100644 lib/gitlab/ci/reports/security/locations/base.rb create mode 100644 lib/gitlab/ci/reports/security/locations/sast.rb create mode 100644 lib/gitlab/ci/reports/security/locations/secret_detection.rb create mode 100644 lib/gitlab/ci/reports/security/report.rb create mode 100644 lib/gitlab/ci/reports/security/reports.rb create mode 100644 lib/gitlab/ci/reports/security/vulnerability_reports_comparer.rb create mode 100644 lib/gitlab/ci/templates/Security/DAST-Runner-Validation.gitlab-ci.yml create mode 100644 lib/gitlab/ci/templates/Terraform/Base.gitlab-ci.yml create mode 100644 lib/gitlab/database/async_indexes.rb create mode 100644 lib/gitlab/database/async_indexes/index_creator.rb create mode 100644 lib/gitlab/database/async_indexes/migration_helpers.rb create mode 100644 lib/gitlab/database/async_indexes/postgres_async_index.rb create mode 100644 lib/gitlab/database/connection.rb create mode 100644 lib/gitlab/database/metrics.rb delete mode 100644 lib/gitlab/database/multi_threaded_migration.rb create mode 100644 lib/gitlab/database/partitioning/detached_partition_dropper.rb create mode 100644 lib/gitlab/database/postgres_foreign_key.rb create mode 100644 lib/gitlab/database/transaction/context.rb create mode 100644 lib/gitlab/database/transaction/observer.rb create mode 100644 lib/gitlab/deprecation_json_logger.rb create mode 100644 lib/gitlab/email/message/in_product_marketing/admin_verify.rb create mode 100644 lib/gitlab/email/message/in_product_marketing/team_short.rb create mode 100644 lib/gitlab/email/message/in_product_marketing/trial_short.rb create mode 100644 lib/gitlab/email/smtp_config.rb create mode 100644 lib/gitlab/encrypted_command_base.rb create mode 100644 lib/gitlab/encrypted_smtp_command.rb create mode 100644 lib/gitlab/form_builders/gitlab_ui_form_builder.rb create mode 100644 lib/gitlab/github_import/logger.rb create mode 100644 lib/gitlab/import/import_failure_service.rb create mode 100644 lib/gitlab/kubernetes/kubeconfig/entry/cluster.rb create mode 100644 lib/gitlab/kubernetes/kubeconfig/entry/context.rb create mode 100644 lib/gitlab/kubernetes/kubeconfig/entry/user.rb create mode 100644 lib/gitlab/kubernetes/kubeconfig/template.rb create mode 100644 lib/gitlab/pagination/keyset/column_condition_builder.rb create mode 100644 lib/gitlab/signed_tag.rb delete mode 100644 lib/gitlab/usage/docs/helper.rb delete mode 100644 lib/gitlab/usage/docs/renderer.rb delete mode 100644 lib/gitlab/usage/docs/templates/default.md.haml delete mode 100644 lib/gitlab/usage/docs/value_formatter.rb create mode 100644 lib/gitlab/usage/metrics/aggregates.rb create mode 100644 lib/gitlab/usage/metrics/aggregates/sources.rb create mode 100644 lib/gitlab/usage/metrics/instrumentations/redis_metric.rb create mode 100644 lib/gitlab/usage_data_counters/diffs_counter.rb create mode 100644 lib/sidebars/concerns/has_partial.rb create mode 100644 lib/sidebars/groups/menus/ci_cd_menu.rb create mode 100644 lib/sidebars/groups/menus/group_information_menu.rb create mode 100644 lib/sidebars/groups/menus/issues_menu.rb create mode 100644 lib/sidebars/groups/menus/kubernetes_menu.rb create mode 100644 lib/sidebars/groups/menus/merge_requests_menu.rb create mode 100644 lib/sidebars/groups/menus/packages_registries_menu.rb create mode 100644 lib/sidebars/groups/menus/settings_menu.rb create mode 100644 lib/tasks/gitlab/product_intelligence.rake create mode 100644 lib/tasks/gitlab/smtp.rake create mode 100644 qa/chemlab-library-gitlab.gemspec create mode 100644 qa/lib/gitlab.rb create mode 100644 qa/lib/gitlab/page/group/settings/billing.rb create mode 100644 qa/lib/gitlab/page/group/settings/billing.stub.rb create mode 100644 qa/lib/gitlab/page/main/login.rb create mode 100644 qa/lib/gitlab/page/main/login.stub.rb create mode 100644 qa/lib/gitlab/page/subscriptions/new.rb create mode 100644 qa/lib/gitlab/page/subscriptions/new.stub.rb create mode 100644 qa/qa/page/component/content_editor.rb create mode 100644 qa/qa/page/group/dependency_proxy.rb delete mode 100644 qa/qa/page/group/settings/billing.rb delete mode 100644 qa/qa/page/project/deployments/environments/show.rb create mode 100644 qa/qa/page/project/secure/configuration_form.rb create mode 100644 qa/qa/resource/bulk_import_group.rb create mode 100644 qa/qa/specs/features/api/1_manage/bulk_import_group_spec.rb create mode 100644 qa/qa/specs/features/api/1_manage/import_large_github_repo_spec.rb create mode 100644 qa/qa/specs/features/browser_ui/3_create/wiki/content_editor_spec.rb create mode 100644 qa/qa/specs/features/browser_ui/4_verify/pipeline/mr_event_rule_pipeline_spec.rb create mode 100644 qa/qa/specs/features/browser_ui/5_package/dependency_proxy_spec.rb create mode 100644 qa/qa/specs/helpers/context_formatter.rb create mode 100644 qa/qa/specs/helpers/quarantine_formatter.rb create mode 100644 qa/qa/support/allure_metadata_formatter.rb create mode 100644 qa/spec/qa_deprecation_toolkit_env.rb create mode 100644 qa/spec/specs/allure_report_spec.rb create mode 100644 qa/spec/support/allure_metadata_formatter_spec.rb create mode 100644 rubocop/cop/graphql/old_types.rb create mode 100644 rubocop/cop/qa/selector_usage.rb create mode 100644 scripts/api/default_options.rb delete mode 100755 scripts/api/play_job.rb create mode 100755 scripts/lint-docs-metadata.sh delete mode 100644 spec/controllers/admin/clusters/applications_controller_spec.rb delete mode 100644 spec/controllers/admin/services_controller_spec.rb create mode 100644 spec/controllers/concerns/spammable_actions/akismet_mark_as_spam_action_spec.rb create mode 100644 spec/controllers/concerns/spammable_actions/captcha_check/html_format_actions_support_spec.rb create mode 100644 spec/controllers/concerns/spammable_actions/captcha_check/json_format_actions_support_spec.rb delete mode 100644 spec/controllers/concerns/spammable_actions_spec.rb delete mode 100644 spec/controllers/groups/clusters/applications_controller_spec.rb create mode 100644 spec/controllers/jira_connect/branches_controller_spec.rb delete mode 100644 spec/controllers/projects/clusters/applications_controller_spec.rb create mode 100644 spec/experiments/force_company_trial_experiment_spec.rb delete mode 100644 spec/experiments/members/invite_email_experiment_spec.rb delete mode 100644 spec/experiments/new_project_readme_experiment_spec.rb delete mode 100644 spec/factories/ci/build_trace_section_names.rb create mode 100644 spec/factories/ci/reports/security/aggregated_reports.rb create mode 100644 spec/factories/ci/reports/security/finding_keys.rb create mode 100644 spec/factories/ci/reports/security/findings.rb create mode 100644 spec/factories/ci/reports/security/locations/sast.rb create mode 100644 spec/factories/ci/reports/security/reports.rb create mode 100644 spec/factories/customer_relations/organizations.rb create mode 100644 spec/factories/error_tracking/client_key.rb create mode 100644 spec/factories/gitlab/database/async_indexes/postgres_async_index.rb create mode 100644 spec/factories/incident_management/issuable_escalation_statuses.rb create mode 100644 spec/factories/projects/ci_feature_usages.rb create mode 100644 spec/factories/work_item/work_item_types.rb delete mode 100644 spec/features/admin/services/admin_visits_service_templates_spec.rb delete mode 100644 spec/features/callouts/service_templates_deprecation_spec.rb delete mode 100644 spec/features/dashboard/active_tab_spec.rb create mode 100644 spec/features/groups/settings/manage_applications_spec.rb create mode 100644 spec/features/jira_connect/branches_spec.rb create mode 100644 spec/features/projects/integrations/user_uses_inherited_settings_spec.rb delete mode 100644 spec/features/registrations/welcome_spec.rb create mode 100644 spec/finders/error_tracking/errors_finder_spec.rb create mode 100644 spec/finders/lfs_pointers_finder_spec.rb create mode 100644 spec/finders/projects/members/effective_access_level_per_user_finder_spec.rb create mode 100644 spec/fixtures/api/schemas/graphql/packages/package_nuget_dependency_link_metadata.json create mode 100644 spec/fixtures/api/schemas/public_api/v4/environments.json create mode 100644 spec/fixtures/emails/no_content_with_quote.eml create mode 100644 spec/fixtures/lib/generators/gitlab/usage_metric_generator/sample_database_metric.rb create mode 100644 spec/fixtures/lib/generators/gitlab/usage_metric_generator/sample_generic_metric.rb delete mode 100644 spec/fixtures/lib/generators/gitlab/usage_metric_generator/sample_metric.rb create mode 100644 spec/fixtures/packages/debian/distribution/InRelease create mode 100644 spec/fixtures/private_key.asc create mode 100644 spec/fixtures/public_key.asc create mode 100644 spec/fixtures/security_reports/deprecated/gl-sast-report.json create mode 100644 spec/fixtures/security_reports/feature-branch/gl-sast-report.json create mode 100644 spec/fixtures/security_reports/feature-branch/gl-secret-detection-report.json create mode 100644 spec/fixtures/security_reports/master/gl-common-scanning-report-names.json create mode 100644 spec/fixtures/security_reports/master/gl-common-scanning-report.json create mode 100644 spec/fixtures/security_reports/master/gl-sast-missing-scanner.json create mode 100644 spec/frontend/admin/analytics/devops_score/components/devops_score_callout_spec.js create mode 100644 spec/frontend/boards/components/board_new_item_spec.js create mode 100644 spec/frontend/commit/commit_box_pipeline_mini_graph_spec.js create mode 100644 spec/frontend/commit/mock_data.js create mode 100644 spec/frontend/content_editor/components/content_editor_error_spec.js create mode 100644 spec/frontend/content_editor/components/editor_state_observer_spec.js create mode 100644 spec/frontend/content_editor/components/formatting_bubble_menu_spec.js create mode 100644 spec/frontend/content_editor/extensions/attachment_spec.js create mode 100644 spec/frontend/content_editor/extensions/emoji_spec.js delete mode 100644 spec/frontend/content_editor/extensions/image_spec.js create mode 100644 spec/frontend/content_editor/extensions/inline_diff_spec.js delete mode 100644 spec/frontend/content_editor/services/build_serializer_config_spec.js create mode 100644 spec/frontend/content_editor/services/content_editor_spec.js delete mode 100644 spec/frontend/content_editor/services/upload_file_spec.js create mode 100644 spec/frontend/content_editor/services/upload_helpers_spec.js delete mode 100644 spec/frontend/cycle_analytics/__snapshots__/base_spec.js.snap create mode 100644 spec/frontend/cycle_analytics/__snapshots__/total_time_component_spec.js.snap delete mode 100644 spec/frontend/cycle_analytics/stage_nav_item_spec.js create mode 100644 spec/frontend/cycle_analytics/stage_table_spec.js create mode 100644 spec/frontend/cycle_analytics/value_stream_metrics_spec.js create mode 100644 spec/frontend/diffs/utils/queue_events_spec.js create mode 100644 spec/frontend/editor/utils_spec.js create mode 100644 spec/frontend/environments/edit_environment_spec.js create mode 100644 spec/frontend/environments/environment_form_spec.js create mode 100644 spec/frontend/environments/environments_detail_header_spec.js create mode 100644 spec/frontend/environments/new_environment_spec.js create mode 100644 spec/frontend/fixtures/analytics.rb delete mode 100644 spec/frontend/import_entities/import_groups/components/import_table_row_spec.js create mode 100644 spec/frontend/import_entities/import_groups/components/import_target_cell_spec.js create mode 100644 spec/frontend/integrations/overrides/components/integration_overrides_spec.js delete mode 100644 spec/frontend/jira_connect/api_spec.js create mode 100644 spec/frontend/jira_connect/branches/components/new_branch_form_spec.js create mode 100644 spec/frontend/jira_connect/branches/pages/index_spec.js delete mode 100644 spec/frontend/jira_connect/components/__snapshots__/group_item_name_spec.js.snap delete mode 100644 spec/frontend/jira_connect/components/app_spec.js delete mode 100644 spec/frontend/jira_connect/components/group_item_name_spec.js delete mode 100644 spec/frontend/jira_connect/components/groups_list_item_spec.js delete mode 100644 spec/frontend/jira_connect/components/groups_list_spec.js delete mode 100644 spec/frontend/jira_connect/components/subscriptions_list_spec.js delete mode 100644 spec/frontend/jira_connect/index_spec.js delete mode 100644 spec/frontend/jira_connect/mock_data.js delete mode 100644 spec/frontend/jira_connect/store/mutations_spec.js create mode 100644 spec/frontend/jira_connect/subscriptions/api_spec.js create mode 100644 spec/frontend/jira_connect/subscriptions/components/__snapshots__/group_item_name_spec.js.snap create mode 100644 spec/frontend/jira_connect/subscriptions/components/app_spec.js create mode 100644 spec/frontend/jira_connect/subscriptions/components/group_item_name_spec.js create mode 100644 spec/frontend/jira_connect/subscriptions/components/groups_list_item_spec.js create mode 100644 spec/frontend/jira_connect/subscriptions/components/groups_list_spec.js create mode 100644 spec/frontend/jira_connect/subscriptions/components/subscriptions_list_spec.js create mode 100644 spec/frontend/jira_connect/subscriptions/index_spec.js create mode 100644 spec/frontend/jira_connect/subscriptions/mock_data.js create mode 100644 spec/frontend/jira_connect/subscriptions/store/mutations_spec.js create mode 100644 spec/frontend/jira_connect/subscriptions/utils_spec.js delete mode 100644 spec/frontend/jira_connect/utils_spec.js create mode 100644 spec/frontend/members/components/modals/remove_member_modal_spec.js create mode 100644 spec/frontend/packages_and_registries/package_registry/components/details/__snapshots__/conan_installation_spec.js.snap create mode 100644 spec/frontend/packages_and_registries/package_registry/components/details/__snapshots__/dependency_row_spec.js.snap create mode 100644 spec/frontend/packages_and_registries/package_registry/components/details/__snapshots__/file_sha_spec.js.snap create mode 100644 spec/frontend/packages_and_registries/package_registry/components/details/__snapshots__/maven_installation_spec.js.snap create mode 100644 spec/frontend/packages_and_registries/package_registry/components/details/__snapshots__/npm_installation_spec.js.snap create mode 100644 spec/frontend/packages_and_registries/package_registry/components/details/__snapshots__/nuget_installation_spec.js.snap create mode 100644 spec/frontend/packages_and_registries/package_registry/components/details/__snapshots__/package_title_spec.js.snap create mode 100644 spec/frontend/packages_and_registries/package_registry/components/details/__snapshots__/pypi_installation_spec.js.snap create mode 100644 spec/frontend/packages_and_registries/package_registry/components/details/__snapshots__/version_row_spec.js.snap create mode 100644 spec/frontend/packages_and_registries/package_registry/components/details/additional_metadata_spec.js create mode 100644 spec/frontend/packages_and_registries/package_registry/components/details/composer_installation_spec.js create mode 100644 spec/frontend/packages_and_registries/package_registry/components/details/conan_installation_spec.js create mode 100644 spec/frontend/packages_and_registries/package_registry/components/details/dependency_row_spec.js create mode 100644 spec/frontend/packages_and_registries/package_registry/components/details/file_sha_spec.js create mode 100644 spec/frontend/packages_and_registries/package_registry/components/details/installation_title_spec.js create mode 100644 spec/frontend/packages_and_registries/package_registry/components/details/installations_commands_spec.js create mode 100644 spec/frontend/packages_and_registries/package_registry/components/details/maven_installation_spec.js create mode 100644 spec/frontend/packages_and_registries/package_registry/components/details/npm_installation_spec.js create mode 100644 spec/frontend/packages_and_registries/package_registry/components/details/nuget_installation_spec.js create mode 100644 spec/frontend/packages_and_registries/package_registry/components/details/package_files_spec.js create mode 100644 spec/frontend/packages_and_registries/package_registry/components/details/package_history_spec.js create mode 100644 spec/frontend/packages_and_registries/package_registry/components/details/package_title_spec.js create mode 100644 spec/frontend/packages_and_registries/package_registry/components/details/pypi_installation_spec.js create mode 100644 spec/frontend/packages_and_registries/package_registry/components/details/version_row_spec.js create mode 100644 spec/frontend/packages_and_registries/package_registry/mock_data.js create mode 100644 spec/frontend/packages_and_registries/package_registry/utils_spec.js delete mode 100644 spec/frontend/pipelines/graph/graph_component_legacy_spec.js delete mode 100644 spec/frontend/pipelines/graph/linked_pipelines_column_legacy_spec.js delete mode 100644 spec/frontend/pipelines/graph/mock_data_legacy.js delete mode 100644 spec/frontend/pipelines/graph/stage_column_component_legacy_spec.js delete mode 100644 spec/frontend/pipelines/pipeline_details_mediator_spec.js delete mode 100644 spec/frontend/pipelines/pipeline_store_spec.js delete mode 100644 spec/frontend/pipelines/stores/pipeline_store_spec.js create mode 100644 spec/frontend/pipelines/tokens/pipeline_source_token_spec.js delete mode 100644 spec/frontend/projects/compare/components/app_legacy_spec.js create mode 100644 spec/frontend/runner/admin_runners/admin_runners_app_spec.js create mode 100644 spec/frontend/runner/group_runners/group_runners_app_spec.js delete mode 100644 spec/frontend/runner/runner_list/runner_list_app_spec.js delete mode 100644 spec/frontend/runner/runner_list/runner_search_utils_spec.js create mode 100644 spec/frontend/runner/runner_search_utils_spec.js delete mode 100644 spec/frontend/security_configuration/app_spec.js create mode 100644 spec/frontend/security_configuration/components/app_spec.js create mode 100644 spec/frontend/security_configuration/components/auto_dev_ops_enabled_alert_spec.js delete mode 100644 spec/frontend/security_configuration/components/redesigned_app_spec.js delete mode 100644 spec/frontend/security_configuration/configuration_table_spec.js delete mode 100644 spec/frontend/security_configuration/upgrade_spec.js create mode 100644 spec/frontend/terraform/components/init_command_modal_spec.js delete mode 100644 spec/frontend/vue_mr_widget/components/states/__snapshots__/mr_widget_ready_to_merge_spec.js.snap create mode 100644 spec/frontend/vue_shared/components/dropdown/dropdown_widget_spec.js create mode 100644 spec/frontend/vue_shared/components/papa_parse_alert_spec.js delete mode 100644 spec/frontend/vue_shared/components/remove_member_modal_spec.js create mode 100644 spec/graphql/mutations/base_mutation_spec.rb create mode 100644 spec/graphql/mutations/groups/update_spec.rb create mode 100644 spec/graphql/resolvers/concerns/resolves_ids_spec.rb create mode 100644 spec/graphql/resolvers/groups_resolver_spec.rb create mode 100644 spec/graphql/resolvers/merge_requests_count_resolver_spec.rb create mode 100644 spec/graphql/resolvers/paginated_tree_resolver_spec.rb create mode 100644 spec/graphql/types/packages/nuget/dependency_link_metdatum_type_spec.rb create mode 100644 spec/graphql/types/packages/package_dependency_link_type_spec.rb create mode 100644 spec/graphql/types/packages/package_dependency_type_enum_spec.rb create mode 100644 spec/graphql/types/packages/package_dependency_type_spec.rb create mode 100644 spec/initializers/00_rails_disable_joins_spec.rb create mode 100644 spec/initializers/0_log_deprecations_spec.rb create mode 100644 spec/initializers/rails_asset_host_spec.rb delete mode 100644 spec/javascripts/monitoring/components/dashboard_resize_browser_spec.js delete mode 100644 spec/javascripts/monitoring/fixture_data.js delete mode 100644 spec/javascripts/monitoring/mock_data.js delete mode 100644 spec/javascripts/monitoring/store_utils.js create mode 100644 spec/lib/api/ci/helpers/runner_helpers_spec.rb create mode 100644 spec/lib/api/ci/helpers/runner_spec.rb delete mode 100644 spec/lib/api/helpers/runner_helpers_spec.rb delete mode 100644 spec/lib/api/helpers/runner_spec.rb create mode 100644 spec/lib/backup/database_backup_error_spec.rb create mode 100644 spec/lib/backup/file_backup_error_spec.rb create mode 100644 spec/lib/backup/repository_backup_error_spec.rb create mode 100644 spec/lib/error_tracking/collector/sentry_auth_parser_spec.rb create mode 100644 spec/lib/gitlab/auth/result_spec.rb create mode 100644 spec/lib/gitlab/background_migration/backfill_integrations_type_new_spec.rb create mode 100644 spec/lib/gitlab/background_migration/copy_ci_builds_columns_to_security_scans_spec.rb create mode 100644 spec/lib/gitlab/ci/config/entry/include/rules/rule_spec.rb create mode 100644 spec/lib/gitlab/ci/config/entry/include/rules_spec.rb create mode 100644 spec/lib/gitlab/ci/config/external/rules_spec.rb create mode 100644 spec/lib/gitlab/ci/parsers/security/common_spec.rb create mode 100644 spec/lib/gitlab/ci/parsers/security/sast_spec.rb create mode 100644 spec/lib/gitlab/ci/parsers/security/secret_detection_spec.rb create mode 100644 spec/lib/gitlab/ci/parsers/security/validators/schema_validator_spec.rb create mode 100644 spec/lib/gitlab/ci/reports/security/aggregated_report_spec.rb create mode 100644 spec/lib/gitlab/ci/reports/security/finding_key_spec.rb create mode 100644 spec/lib/gitlab/ci/reports/security/finding_signature_spec.rb create mode 100644 spec/lib/gitlab/ci/reports/security/locations/sast_spec.rb create mode 100644 spec/lib/gitlab/ci/reports/security/locations/secret_detection_spec.rb create mode 100644 spec/lib/gitlab/ci/reports/security/report_spec.rb create mode 100644 spec/lib/gitlab/ci/reports/security/reports_spec.rb create mode 100644 spec/lib/gitlab/ci/reports/security/vulnerability_reports_comparer_spec.rb create mode 100644 spec/lib/gitlab/ci/templates/Terraform/base_latest_gitlab_ci_yaml_spec.rb create mode 100644 spec/lib/gitlab/ci/templates/terraform_gitlab_ci_yaml_spec.rb create mode 100644 spec/lib/gitlab/database/async_indexes/index_creator_spec.rb create mode 100644 spec/lib/gitlab/database/async_indexes/migration_helpers_spec.rb create mode 100644 spec/lib/gitlab/database/async_indexes/postgres_async_index_spec.rb create mode 100644 spec/lib/gitlab/database/async_indexes_spec.rb create mode 100644 spec/lib/gitlab/database/connection_spec.rb delete mode 100644 spec/lib/gitlab/database/multi_threaded_migration_spec.rb create mode 100644 spec/lib/gitlab/database/partitioning/detached_partition_dropper_spec.rb create mode 100644 spec/lib/gitlab/database/postgres_foreign_key_spec.rb create mode 100644 spec/lib/gitlab/database/transaction/context_spec.rb create mode 100644 spec/lib/gitlab/database/transaction/observer_spec.rb create mode 100644 spec/lib/gitlab/email/message/in_product_marketing/admin_verify_spec.rb create mode 100644 spec/lib/gitlab/email/message/in_product_marketing/team_short_spec.rb create mode 100644 spec/lib/gitlab/email/message/in_product_marketing/trial_short_spec.rb create mode 100644 spec/lib/gitlab/form_builders/gitlab_ui_form_builder_spec.rb create mode 100644 spec/lib/gitlab/git/commit_stats_spec.rb create mode 100644 spec/lib/gitlab/github_import/logger_spec.rb create mode 100644 spec/lib/gitlab/import/import_failure_service_spec.rb create mode 100644 spec/lib/gitlab/import/logger_spec.rb create mode 100644 spec/lib/gitlab/kubernetes/kubeconfig/entry/cluster_spec.rb create mode 100644 spec/lib/gitlab/kubernetes/kubeconfig/entry/context_spec.rb create mode 100644 spec/lib/gitlab/kubernetes/kubeconfig/entry/user_spec.rb create mode 100644 spec/lib/gitlab/kubernetes/kubeconfig/template_spec.rb delete mode 100644 spec/lib/gitlab/usage/docs/helper_spec.rb delete mode 100644 spec/lib/gitlab/usage/docs/renderer_spec.rb delete mode 100644 spec/lib/gitlab/usage/docs/value_formatter_spec.rb create mode 100644 spec/lib/gitlab/usage/metrics/instrumentations/generic_metric_spec.rb create mode 100644 spec/lib/gitlab/usage/metrics/instrumentations/redis_metric_spec.rb create mode 100644 spec/lib/sidebars/groups/menus/ci_cd_menu_spec.rb create mode 100644 spec/lib/sidebars/groups/menus/group_information_menu_spec.rb create mode 100644 spec/lib/sidebars/groups/menus/issues_menu_spec.rb create mode 100644 spec/lib/sidebars/groups/menus/kubernetes_menu_spec.rb create mode 100644 spec/lib/sidebars/groups/menus/merge_requests_menu_spec.rb create mode 100644 spec/lib/sidebars/groups/menus/packages_registries_menu_spec.rb create mode 100644 spec/lib/sidebars/groups/menus/settings_menu_spec.rb create mode 100644 spec/migrations/20210722042939_update_issuable_slas_where_issue_closed_spec.rb create mode 100644 spec/migrations/20210722150102_operations_feature_flags_correct_flexible_rollout_values_spec.rb create mode 100644 spec/migrations/20210804150320_create_base_work_item_types_spec.rb create mode 100644 spec/migrations/20210805192450_update_trial_plans_ci_daily_pipeline_schedule_triggers_spec.rb create mode 100644 spec/migrations/add_triggers_to_integrations_type_new_spec.rb create mode 100644 spec/migrations/associate_existing_dast_builds_with_variables_spec.rb create mode 100644 spec/migrations/backfill_integrations_type_new_spec.rb create mode 100644 spec/migrations/confirm_security_bot_spec.rb create mode 100644 spec/migrations/generate_customers_dot_jwt_signing_key_spec.rb create mode 100644 spec/migrations/orphaned_invite_tokens_cleanup_spec.rb delete mode 100644 spec/migrations/re_schedule_latest_pipeline_id_population_spec.rb create mode 100644 spec/migrations/re_schedule_latest_pipeline_id_population_with_all_security_related_artifact_types_spec.rb create mode 100644 spec/migrations/reschedule_delete_orphaned_deployments_spec.rb create mode 100644 spec/migrations/reset_job_token_scope_enabled_again_spec.rb delete mode 100644 spec/migrations/schedule_backfill_draft_status_on_merge_requests_spec.rb create mode 100644 spec/migrations/schedule_copy_ci_builds_columns_to_security_scans2_spec.rb delete mode 100644 spec/migrations/schedule_delete_orphaned_deployments_spec.rb create mode 100644 spec/migrations/schedule_recalculate_uuid_on_vulnerabilities_occurrences3_spec.rb create mode 100644 spec/migrations/schedule_security_setting_creation_spec.rb create mode 100644 spec/models/analytics/cycle_analytics/stage_event_hash_spec.rb create mode 100644 spec/models/ci/build_trace_metadata_spec.rb delete mode 100644 spec/models/ci/build_trace_section_name_spec.rb delete mode 100644 spec/models/ci/build_trace_section_spec.rb create mode 100644 spec/models/concerns/vulnerability_finding_signature_helpers_spec.rb create mode 100644 spec/models/customer_relations/organization_spec.rb create mode 100644 spec/models/error_tracking/client_key_spec.rb create mode 100644 spec/models/incident_management/issuable_escalation_status_spec.rb create mode 100644 spec/models/packages/npm_spec.rb create mode 100644 spec/models/postgresql/detached_partition_spec.rb create mode 100644 spec/models/projects/ci_feature_usage_spec.rb create mode 100644 spec/models/users/banned_user_spec.rb create mode 100644 spec/models/work_item/type_spec.rb create mode 100644 spec/requests/api/ci/jobs_spec.rb create mode 100644 spec/requests/api/ci/triggers_spec.rb create mode 100644 spec/requests/api/ci/variables_spec.rb create mode 100644 spec/requests/api/graphql/mutations/ci/job_cancel_spec.rb create mode 100644 spec/requests/api/graphql/mutations/ci/job_unschedule_spec.rb create mode 100644 spec/requests/api/graphql/mutations/groups/update_spec.rb create mode 100644 spec/requests/api/graphql/mutations/packages/destroy_file_spec.rb create mode 100644 spec/requests/api/group_debian_distributions_spec.rb delete mode 100644 spec/requests/api/jobs_spec.rb delete mode 100644 spec/requests/api/triggers_spec.rb delete mode 100644 spec/requests/api/variables_spec.rb delete mode 100644 spec/requests/customers_dot/proxy_controller_spec.rb create mode 100644 spec/requests/projects/merge_requests_spec.rb create mode 100644 spec/rubocop/cop/graphql/old_types_spec.rb create mode 100644 spec/rubocop/cop/qa/selector_usage_spec.rb create mode 100644 spec/serializers/integrations/project_entity_spec.rb create mode 100644 spec/serializers/integrations/project_serializer_spec.rb create mode 100644 spec/serializers/jira_connect/app_data_serializer_spec.rb create mode 100644 spec/serializers/jira_connect/group_entity_spec.rb create mode 100644 spec/serializers/jira_connect/subscription_entity_spec.rb delete mode 100644 spec/services/admin/propagate_service_template_spec.rb create mode 100644 spec/services/authorized_project_update/project_recalculate_per_user_service_spec.rb create mode 100644 spec/services/ci/build_cancel_service_spec.rb create mode 100644 spec/services/ci/build_unschedule_service_spec.rb create mode 100644 spec/services/ci/create_pipeline_service/include_spec.rb delete mode 100644 spec/services/ci/extract_sections_from_build_trace_service_spec.rb create mode 100644 spec/services/ci/pipeline_processing/test_cases/dag_test_manual_same_and_different_stage_needs.yml create mode 100644 spec/services/ci/pipeline_processing/test_cases/dag_test_manual_same_stage_needs.yml delete mode 100644 spec/services/ci/stop_environments_service_spec.rb create mode 100644 spec/services/environments/stop_service_spec.rb create mode 100644 spec/services/members/import_project_team_service_spec.rb create mode 100644 spec/services/packages/debian/sign_distribution_service_spec.rb create mode 100644 spec/services/packages/update_package_file_service_spec.rb create mode 100644 spec/services/security/merge_reports_service_spec.rb create mode 100644 spec/services/service_ping/service_ping_settings_spec.rb create mode 100644 spec/services/spam/akismet_mark_as_spam_service_spec.rb delete mode 100644 spec/services/spam/mark_as_spam_service_spec.rb create mode 100644 spec/services/users/banned_user_base_service_spec.rb create mode 100644 spec/services/users/unban_service_spec.rb create mode 100644 spec/support/before_all_adapter.rb create mode 100644 spec/support/database/ci_tables.rb create mode 100644 spec/support/database/prevent_cross_database_modification.rb create mode 100644 spec/support/database/prevent_cross_joins.rb create mode 100644 spec/support/database_load_balancing.rb create mode 100644 spec/support/enable_multiple_database_metrics_by_default.rb create mode 100644 spec/support/helpers/tracking_helpers.rb create mode 100644 spec/support/shared_contexts/fixtures/analytics_shared_context.rb create mode 100644 spec/support/shared_contexts/lib/api/helpers/packages/dependency_proxy_helpers_shared_context.rb create mode 100644 spec/support/shared_contexts/lib/gitlab/database/background_migration_job_shared_context.rb delete mode 100644 spec/support/shared_contexts/load_balancing_configuration_shared_context.rb create mode 100644 spec/support/shared_examples/features/dependency_proxy_shared_examples.rb create mode 100644 spec/support/shared_examples/features/manage_applications_shared_examples.rb delete mode 100644 spec/support/shared_examples/helpers/groups_shared_examples.rb create mode 100644 spec/support/shared_examples/lib/gitlab/ci/reports/security/locations/locations_shared_examples.rb create mode 100644 spec/support/shared_examples/lib/menus_shared_examples.rb create mode 100644 spec/support/shared_examples/models/concerns/incident_management/escalatable_shared_examples.rb delete mode 100644 spec/support/shared_examples/namespaces/linear_traversal_examples.rb create mode 100644 spec/support/shared_examples/namespaces/traversal_scope_examples.rb create mode 100644 spec/support/shared_examples/services/jira/requests/base_shared_examples.rb create mode 100644 spec/support_specs/database/prevent_cross_database_modification_spec.rb create mode 100644 spec/support_specs/database/prevent_cross_joins_spec.rb create mode 100644 spec/tasks/gitlab/product_intelligence_rake_spec.rb create mode 100644 spec/tasks/gitlab/smtp_rake_spec.rb create mode 100644 spec/validators/any_field_validator_spec.rb create mode 100644 spec/views/groups/runners/_sort_dropdown.html.haml_spec.rb create mode 100644 spec/views/projects/commits/show.html.haml_spec.rb delete mode 100644 spec/views/projects/deployments/_confirm_rollback_modal_spec.html_spec.rb create mode 100644 spec/views/shared/access_tokens/_table.html.haml_spec.rb create mode 100644 spec/workers/database/drop_detached_partitions_worker_spec.rb create mode 100644 spec/workers/environments/auto_delete_cron_worker_spec.rb create mode 100644 spec/workers/gitlab/import/stuck_import_job_spec.rb create mode 100644 spec/workers/jira_connect/retry_request_worker_spec.rb delete mode 100644 spec/workers/propagate_service_template_worker_spec.rb create mode 100644 tooling/eslint-config/conditionally_ignore.js delete mode 100644 tooling/eslint-config/conditionally_ignore_ee.js delete mode 100644 workhorse/.gitlab-ci.yml delete mode 100644 workhorse/.gitlab/CODEOWNERS delete mode 100644 workhorse/CHANGELOG delete mode 100644 workhorse/CONTRIBUTING.md delete mode 100644 workhorse/LICENSE delete mode 100755 workhorse/_support/changelog delete mode 100755 workhorse/_support/check_changelog.sh delete mode 100755 workhorse/_support/generate_changelog delete mode 100644 workhorse/_support/tag.sh diff --git a/.eslintrc.yml b/.eslintrc.yml index b6abb574e19..6b9a1ce62c0 100644 --- a/.eslintrc.yml +++ b/.eslintrc.yml @@ -3,7 +3,7 @@ extends: - plugin:@gitlab/i18n - plugin:no-jquery/slim - plugin:no-jquery/deprecated-3.4 - - ./tooling/eslint-config/conditionally_ignore_ee.js + - ./tooling/eslint-config/conditionally_ignore.js globals: __webpack_public_path__: true gl: false diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 574a7d29853..b5a8e8e6d73 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -36,8 +36,16 @@ workflow: # they serve no purpose and will run anyway when the changes are merged. - if: '$CI_MERGE_REQUEST_SOURCE_BRANCH_NAME =~ /^release-tools\/\d+\.\d+\.\d+-rc\d+$/ && $CI_MERGE_REQUEST_TARGET_BRANCH_NAME =~ /^[\d-]+-stable(-ee)?$/ && $CI_PROJECT_PATH == "gitlab-org/gitlab"' when: never - # For merge requests, create a pipeline. + # For merged result pipelines, set $QA_IMAGE, since $CI_MERGE_REQUEST_SOURCE_BRANCH_SHA is only available for merged result pipelines. + - if: '$CI_MERGE_REQUEST_EVENT_TYPE == "merged_result" || $CI_MERGE_REQUEST_EVENT_TYPE == "merge_train"' + variables: + QA_IMAGE: "${CI_REGISTRY}/${CI_PROJECT_PATH}/gitlab-ee-qa:${CI_MERGE_REQUEST_SOURCE_BRANCH_SHA}" + # Also run (detached) merge request pipelines. - if: '$CI_MERGE_REQUEST_IID' + # 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: + CRYSTALBALL: "true" # For `$CI_DEFAULT_BRANCH` branch, create a pipeline (this includes on schedules, pushes, merges, etc.). - if: '$CI_COMMIT_BRANCH == $CI_DEFAULT_BRANCH' # For tags, create a pipeline. @@ -84,6 +92,9 @@ variables: RSPEC_FAIL_FAST_ENABLED: "true" # Set it to "false" to disable RSpec fail-fast SIMPLECOV: "true" + # For the default QA image, we use $CI_COMMIT_SHA as tag since it's always available and we override it for specific workflow.rules (see above) + QA_IMAGE: "${CI_REGISTRY}/${CI_PROJECT_PATH}/gitlab-ee-qa:${CI_COMMIT_SHA}" + # Preparing custom clone path to reduce space used by all random forks # on GitLab.com's Shared Runners. Our main forks - especially the security # ones - will have this variable overwritten in the project settings, so that diff --git a/.gitlab/CODEOWNERS b/.gitlab/CODEOWNERS index c7da1c5bebc..ae697582623 100644 --- a/.gitlab/CODEOWNERS +++ b/.gitlab/CODEOWNERS @@ -49,7 +49,6 @@ /doc/user/clusters/ @marcia /doc/user/compliance/ @rdickenson @eread /doc/user/group/ @msedlakjakubowski -/doc/user/group/bulk_editing/ @msedlakjakubowski /doc/user/group/devops_adoption/ @msedlakjakubowski /doc/user/group/epics/ @msedlakjakubowski /doc/user/group/insights/ @msedlakjakubowski @@ -115,7 +114,7 @@ /doc/api/tags.md @aqualls /doc/api/visual_review_discussions.md @aqualls /doc/api/wikis.md @aqualls -/doc/intro/README.md @aqualls +/doc/intro/index.md @aqualls /doc/topics/gitlab_flow.md @aqualls /doc/user/admin_area/settings/account_and_limit_settings.md @aqualls /doc/user/admin_area/settings/instance_template_repository.md @aqualls @@ -145,7 +144,7 @@ /doc/api/experiments.md @kpaizee /doc/development/experiment_guide/ @kpaizee /doc/development/snowplow/ @kpaizee -/doc/development/usage_ping/ @kpaizee +/doc/development/service_ping/ @kpaizee /doc/user/admin_area/license.md @kpaizee [Frontend] diff --git a/.gitlab/ci/build-images.gitlab-ci.yml b/.gitlab/ci/build-images.gitlab-ci.yml index 853f92ed98d..0169f017063 100644 --- a/.gitlab/ci/build-images.gitlab-ci.yml +++ b/.gitlab/ci/build-images.gitlab-ci.yml @@ -25,10 +25,9 @@ build-qa-image: - .build-images:rules:build-qa-image stage: build-images needs: [] - variables: - QA_IMAGE: "${CI_REGISTRY}/${CI_PROJECT_PATH}/gitlab-ee-qa:${CI_COMMIT_REF_SLUG}" script: - !reference [.base-image-build, script] + - echo $QA_IMAGE - /kaniko/executor --context=${CI_PROJECT_DIR} --dockerfile=${CI_PROJECT_DIR}/qa/Dockerfile --destination=${QA_IMAGE} --cache=true # This image is used by: diff --git a/.gitlab/ci/cng.gitlab-ci.yml b/.gitlab/ci/cng.gitlab-ci.yml index f75497c1a3f..bf439288be2 100644 --- a/.gitlab/ci/cng.gitlab-ci.yml +++ b/.gitlab/ci/cng.gitlab-ci.yml @@ -7,4 +7,4 @@ cloud-native-image: GIT_DEPTH: "1" script: - install_gitlab_gem - - CNG_PROJECT_PATH="gitlab-org/build/CNG" ./scripts/trigger-build cng + - ./scripts/trigger-build cng diff --git a/.gitlab/ci/docs.gitlab-ci.yml b/.gitlab/ci/docs.gitlab-ci.yml index 60025c244f1..ea3e3ac450b 100644 --- a/.gitlab/ci/docs.gitlab-ci.yml +++ b/.gitlab/ci/docs.gitlab-ci.yml @@ -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.13-vale-2.10.2-markdownlint-0.26.0 + image: registry.gitlab.com/gitlab-org/gitlab-docs/lint-markdown:alpine-3.14-vale-2.10.4-markdownlint-0.28.1 stage: test needs: [] script: diff --git a/.gitlab/ci/frontend.gitlab-ci.yml b/.gitlab/ci/frontend.gitlab-ci.yml index 318ac20435e..bfc38e73bb5 100644 --- a/.gitlab/ci/frontend.gitlab-ci.yml +++ b/.gitlab/ci/frontend.gitlab-ci.yml @@ -143,7 +143,7 @@ rspec-ee frontend_fixture: extends: - .frontend-fixtures-base - .frontend:rules:default-frontend-jobs-ee - parallel: 2 + parallel: 3 graphql-schema-dump: variables: @@ -242,7 +242,7 @@ jest: - tmp/tests/frontend/ reports: junit: junit_jest.xml - parallel: 4 + parallel: 5 jest-integration: extends: diff --git a/.gitlab/ci/pages.gitlab-ci.yml b/.gitlab/ci/pages.gitlab-ci.yml index e75b0db9071..2f43e974cf6 100644 --- a/.gitlab/ci/pages.gitlab-ci.yml +++ b/.gitlab/ci/pages.gitlab-ci.yml @@ -7,22 +7,32 @@ pages: - .default-retry - .pages:rules stage: pages + environment: pages + resource_group: pages needs: - - rspec:coverage - - coverage-frontend - - karma - - compile-production-assets - - compile-storybook + - job: "rspec:coverage" + - job: "coverage-frontend" + - job: "karma" + - job: "compile-production-assets" + - job: "compile-storybook" + # `update-tests-metadata` only runs on GitLab.com's EE schedules pipelines + # while `pages` runs for all the 2-hourly schedules. + - job: "update-tests-metadata" + optional: true before_script: - apt-get update && apt-get -y install brotli gzip script: - mv public/ .public/ - mkdir public/ + - mkdir -p public/$(dirname "$KNAPSACK_RSPEC_SUITE_REPORT_PATH") public/$(dirname "$FLAKY_RSPEC_SUITE_REPORT_PATH") public/$(dirname "$RSPEC_PACKED_TESTS_MAPPING_PATH") - mv coverage/ public/coverage-ruby/ || true - mv coverage-frontend/ public/coverage-frontend/ || true - mv coverage-javascript/ public/coverage-javascript/ || true - mv storybook/public public/storybook || true - cp .public/assets/application-*.css public/application.css || true + - mv $KNAPSACK_RSPEC_SUITE_REPORT_PATH public/$KNAPSACK_RSPEC_SUITE_REPORT_PATH || true + - mv $FLAKY_RSPEC_SUITE_REPORT_PATH public/$FLAKY_RSPEC_SUITE_REPORT_PATH || true + - mv $RSPEC_PACKED_TESTS_MAPPING_PATH.gz public/$RSPEC_PACKED_TESTS_MAPPING_PATH.gz || true - *compress-public artifacts: paths: diff --git a/.gitlab/ci/qa.gitlab-ci.yml b/.gitlab/ci/qa.gitlab-ci.yml index 8bbd7dbf075..c3e6de76894 100644 --- a/.gitlab/ci/qa.gitlab-ci.yml +++ b/.gitlab/ci/qa.gitlab-ci.yml @@ -51,9 +51,10 @@ update-qa-cache: image: ${GITLAB_DEPENDENCY_PROXY}ruby:2.7-alpine stage: qa retry: 0 - script: + before_script: - source scripts/utils.sh - install_gitlab_gem + script: - ./scripts/trigger-build omnibus package-and-qa: diff --git a/.gitlab/ci/rails.gitlab-ci.yml b/.gitlab/ci/rails.gitlab-ci.yml index 179c00b479c..f4b001ed1ba 100644 --- a/.gitlab/ci/rails.gitlab-ci.yml +++ b/.gitlab/ci/rails.gitlab-ci.yml @@ -29,7 +29,6 @@ variables: RUBY_GC_MALLOC_LIMIT: 67108864 RUBY_GC_MALLOC_LIMIT_MAX: 134217728 - CRYSTALBALL: "true" RECORD_DEPRECATIONS: "true" needs: ["setup-test-env", "retrieve-tests-metadata", "compile-test-assets", "detect-tests"] script: @@ -394,8 +393,7 @@ db:migrate-from-previous-major-version: - sed -i -e "s/gem 'google-protobuf', '~> 3.8.0'/gem 'google-protobuf', '~> 3.12'/" Gemfile - sed -i -e "s/gem 'nokogiri', '~> 1.10.5'/gem 'nokogiri', '~> 1.11.0'/" Gemfile - sed -i -e "s/gem 'mimemagic', '~> 0.3.2'/gem 'ruby-magic', '~> 0.4.0'/" Gemfile - - run_timed_command "gem install bundler:1.17.3" - - run_timed_command "bundle update google-protobuf nokogiri grpc mimemagic bootsnap" + - run_timed_command "bundle update --bundler google-protobuf nokogiri grpc mimemagic bootsnap" - 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" - git checkout -f $CI_COMMIT_SHA @@ -449,7 +447,9 @@ db:backup_and_restore: - date - bundle exec rake gitlab:backup:restore rules: - - changes: ["lib/backup/**/*"] + - changes: + - "lib/backup/**/*" + - "lib/tasks/gitlab/backup.rake" rspec:deprecations: extends: @@ -645,36 +645,33 @@ rspec-ee unit pg12 geo: - .rails:rules:ee-only-unit - .rspec-ee-unit-geo-parallel -# FIXME: Temporarily disable geo minimal rspec jobs https://gitlab.com/gitlab-org/gitlab/-/issues/294212 -#rspec-ee unit pg12 geo minimal: -# extends: -# - rspec-ee unit pg12 geo -# - .minimal-rspec-tests -# - .rails:rules:ee-only-unit:minimal +rspec-ee unit pg12 geo minimal: + extends: + - rspec-ee unit pg12 geo + - .minimal-rspec-tests + - .rails:rules:ee-only-unit:minimal rspec-ee integration pg12 geo: extends: - .rspec-ee-base-geo-pg12 - .rails:rules:ee-only-integration -# FIXME: Temporarily disable geo minimal rspec jobs https://gitlab.com/gitlab-org/gitlab/-/issues/294212 -#rspec-ee integration pg12 geo minimal: -# extends: -# - rspec-ee integration pg12 geo -# - .minimal-rspec-tests -# - .rails:rules:ee-only-integration:minimal +rspec-ee integration pg12 geo minimal: + extends: + - rspec-ee integration pg12 geo + - .minimal-rspec-tests + - .rails:rules:ee-only-integration:minimal rspec-ee system pg12 geo: extends: - .rspec-ee-base-geo-pg12 - .rails:rules:ee-only-system -# FIXME: Temporarily disable geo minimal rspec jobs https://gitlab.com/gitlab-org/gitlab/-/issues/294212 -#rspec-ee system pg12 geo minimal: -# extends: -# - rspec-ee system pg12 geo -# - .minimal-rspec-tests -# - .rails:rules:ee-only-system:minimal +rspec-ee system pg12 geo minimal: + extends: + - rspec-ee system pg12 geo + - .minimal-rspec-tests + - .rails:rules:ee-only-system:minimal db:rollback geo: extends: diff --git a/.gitlab/ci/reports.gitlab-ci.yml b/.gitlab/ci/reports.gitlab-ci.yml index 690a971927c..7fb4e54c4d6 100644 --- a/.gitlab/ci/reports.gitlab-ci.yml +++ b/.gitlab/ci/reports.gitlab-ci.yml @@ -41,6 +41,22 @@ nodejs-scan-sast: semgrep-sast: rules: !reference [".reports:rules:sast", rules] +gosec-sast: + variables: + GOPATH: "$CI_PROJECT_DIR/vendor/go" + COMPILE: "false" + GOSEC_GO_PKG_PATH: "$CI_PROJECT_DIR" + SECURE_LOG_LEVEL: "debug" + before_script: + - mkdir -p $GOPATH + - cd workhorse + - go get -d ./... + - cd .. + cache: + paths: + - vendor/go + rules: !reference [".reports:rules:sast", rules] + .secret-analyzer: extends: .default-retry needs: [] diff --git a/.gitlab/ci/review.gitlab-ci.yml b/.gitlab/ci/review.gitlab-ci.yml index 38d59af5aed..c22b468d674 100644 --- a/.gitlab/ci/review.gitlab-ci.yml +++ b/.gitlab/ci/review.gitlab-ci.yml @@ -2,7 +2,7 @@ review-cleanup: extends: - .default-retry - .review:rules:review-cleanup - image: registry.gitlab.com/gitlab-org/gitlab-build-images:gitlab-helm3.5-kubectl1.17 + image: registry.gitlab.com/gitlab-org/gitlab-build-images:gitlab-helm3-kubectl1.14 stage: prepare environment: name: review/auto-cleanup @@ -27,12 +27,15 @@ review-build-cng: - .review:rules:review-build-cng image: ${GITLAB_DEPENDENCY_PROXY}ruby:2.7-alpine3.13 stage: review-prepare - before_script: - - source ./scripts/utils.sh - - install_gitlab_gem needs: - job: compile-production-assets artifacts: false + variables: + CNG_PROJECT_ACCESS_TOKEN: "${CNG_MIRROR_PROJECT_ACCESS_TOKEN}" # "Multi-pipeline (from 'gitlab-org/gitlab' 'review-build-cng' job)" at https://gitlab.com/gitlab-org/build/CNG-mirror/-/settings/access_tokens + CNG_PROJECT_PATH: "gitlab-org/build/CNG-mirror" + before_script: + - source ./scripts/utils.sh + - install_gitlab_gem script: - ./scripts/trigger-build cng @@ -43,7 +46,7 @@ review-build-cng: variables: HOST_SUFFIX: "${CI_ENVIRONMENT_SLUG}" DOMAIN: "-${CI_ENVIRONMENT_SLUG}.${REVIEW_APPS_DOMAIN}" - GITLAB_HELM_CHART_REF: "v4.12.0" + GITLAB_HELM_CHART_REF: "v5.1.0" environment: name: review/${CI_COMMIT_REF_SLUG}${FREQUENCY} url: https://gitlab-${CI_ENVIRONMENT_SLUG}.${REVIEW_APPS_DOMAIN} @@ -114,7 +117,7 @@ review-stop: extends: - .use-docker-in-docker image: - name: ${CI_REGISTRY}/${CI_PROJECT_PATH}/gitlab-ee-qa:${CI_COMMIT_REF_SLUG} + name: ${QA_IMAGE} entrypoint: [""] stage: qa needs: ["build-qa-image", "review-deploy"] diff --git a/.gitlab/ci/rules.gitlab-ci.yml b/.gitlab/ci/rules.gitlab-ci.yml index c97ef4fc868..53420dfe31a 100644 --- a/.gitlab/ci/rules.gitlab-ci.yml +++ b/.gitlab/ci/rules.gitlab-ci.yml @@ -19,12 +19,6 @@ .if-default-branch-push: &if-default-branch-push if: '$CI_COMMIT_BRANCH == $CI_DEFAULT_BRANCH && $CI_PIPELINE_SOURCE == "push"' -.if-default-branch-schedule-2-hourly: &if-default-branch-schedule-2-hourly - if: '$CI_COMMIT_BRANCH == $CI_DEFAULT_BRANCH && $CI_PIPELINE_SOURCE == "schedule" && $FREQUENCY == "2-hourly"' - -.if-default-branch-schedule-nightly: &if-default-branch-schedule-nightly - if: '$CI_COMMIT_BRANCH == $CI_DEFAULT_BRANCH && $CI_PIPELINE_SOURCE == "schedule" && $FREQUENCY == "nightly"' - .if-auto-deploy-branches: &if-auto-deploy-branches if: '$CI_COMMIT_BRANCH =~ /^\d+-\d+-auto-deploy-\d+$/' @@ -34,24 +28,51 @@ .if-merge-request: &if-merge-request if: '$CI_MERGE_REQUEST_IID' +.if-merge-request-approved: &if-merge-request-approved + if: '$CI_MERGE_REQUEST_IID && $CI_MERGE_REQUEST_APPROVED' + +.if-merge-request-not-approved: &if-merge-request-not-approved + if: '$CI_MERGE_REQUEST_IID && $CI_MERGE_REQUEST_APPROVED != "true"' + +.if-automated-merge-request: &if-automated-merge-request + if: '$CI_MERGE_REQUEST_SOURCE_BRANCH_NAME == "release-tools/update-gitaly" || $CI_MERGE_REQUEST_TARGET_BRANCH_NAME =~ /stable-ee$/' + .if-merge-request-title-as-if-foss: &if-merge-request-title-as-if-foss - if: '$CI_MERGE_REQUEST_TITLE =~ /RUN AS-IF-FOSS/' + if: '$CI_MERGE_REQUEST_LABELS =~ /pipeline:run-as-if-foss/' .if-merge-request-title-update-caches: &if-merge-request-title-update-caches - if: '$CI_MERGE_REQUEST_TITLE =~ /UPDATE CACHE/' + if: '$CI_MERGE_REQUEST_LABELS =~ /pipeline:update-cache/' .if-merge-request-title-run-all-rspec: &if-merge-request-title-run-all-rspec - if: '$CI_MERGE_REQUEST_TITLE =~ /RUN ALL RSPEC/' + if: '$CI_MERGE_REQUEST_LABELS =~ /pipeline:run-all-rspec/' .if-security-merge-request: &if-security-merge-request if: '$CI_PROJECT_NAMESPACE == "gitlab-org/security" && $CI_MERGE_REQUEST_IID' +.if-default-branch-schedule-2-hourly: &if-default-branch-schedule-2-hourly + if: '$CI_COMMIT_BRANCH == $CI_DEFAULT_BRANCH && $CI_PIPELINE_SOURCE == "schedule" && $FREQUENCY == "2-hourly"' + +.if-default-branch-schedule-nightly: &if-default-branch-schedule-nightly + if: '$CI_COMMIT_BRANCH == $CI_DEFAULT_BRANCH && $CI_PIPELINE_SOURCE == "schedule" && $FREQUENCY == "nightly"' + .if-security-schedule: &if-security-schedule if: '$CI_PROJECT_NAMESPACE == "gitlab-org/security" && $CI_PIPELINE_SOURCE == "schedule"' .if-dot-com-gitlab-org-schedule: &if-dot-com-gitlab-org-schedule if: '$CI_SERVER_HOST == "gitlab.com" && $CI_PROJECT_NAMESPACE == "gitlab-org" && $CI_PIPELINE_SOURCE == "schedule"' +.if-dot-com-ee-schedule: &if-dot-com-ee-schedule + if: '$CI_SERVER_HOST == "gitlab.com" && $CI_PROJECT_PATH == "gitlab-org/gitlab" && $CI_PIPELINE_SOURCE == "schedule"' + +.if-dot-com-ee-2-hourly-schedule: &if-dot-com-ee-2-hourly-schedule + if: '$CI_SERVER_HOST == "gitlab.com" && $CI_PROJECT_PATH == "gitlab-org/gitlab" && $CI_PIPELINE_SOURCE == "schedule" && $FREQUENCY == "2-hourly"' + +.if-dot-com-ee-nightly-schedule: &if-dot-com-ee-nightly-schedule + if: '$CI_SERVER_HOST == "gitlab.com" && $CI_PROJECT_PATH == "gitlab-org/gitlab" && $CI_PIPELINE_SOURCE == "schedule" && $FREQUENCY == "nightly"' + +.if-cache-credentials-schedule: &if-cache-credentials-schedule + if: '$CI_REPO_CACHE_CREDENTIALS && $CI_PIPELINE_SOURCE == "schedule"' + .if-dot-com-gitlab-org-default-branch: &if-dot-com-gitlab-org-default-branch if: '$CI_SERVER_HOST == "gitlab.com" && $CI_PROJECT_NAMESPACE == "gitlab-org" && $CI_COMMIT_REF_NAME == $CI_DEFAULT_BRANCH' @@ -64,20 +85,12 @@ .if-dot-com-gitlab-org-and-security-tag: &if-dot-com-gitlab-org-and-security-tag if: '$CI_SERVER_HOST == "gitlab.com" && $CI_PROJECT_NAMESPACE =~ /^gitlab-org($|\/security$)/ && $CI_COMMIT_TAG' -.if-dot-com-ee-schedule: &if-dot-com-ee-schedule - if: '$CI_SERVER_HOST == "gitlab.com" && $CI_PROJECT_PATH == "gitlab-org/gitlab" && $CI_PIPELINE_SOURCE == "schedule"' - -.if-cache-credentials-schedule: &if-cache-credentials-schedule - if: '$CI_REPO_CACHE_CREDENTIALS && $CI_PIPELINE_SOURCE == "schedule"' - -.if-merge-request-rspec-minimal-disabled: &if-merge-request-rspec-minimal-disabled - if: '$CI_MERGE_REQUEST_IID && $RSPEC_MINIMAL_ENABLED != "true"' .if-rspec-fail-fast-disabled: &if-rspec-fail-fast-disabled if: '$RSPEC_FAIL_FAST_ENABLED != "true"' .if-rspec-fail-fast-skipped: &if-rspec-fail-fast-skipped - if: '$CI_MERGE_REQUEST_TITLE =~ /SKIP RSPEC FAIL-FAST/' + if: '$CI_MERGE_REQUEST_LABELS =~ /pipeline:skip-rspec-fail-fast/' # For Security merge requests, the gitlab-release-tools-bot triggers a new # pipeline for the "Pipelines for merged results" feature. If the pipeline @@ -205,6 +218,7 @@ - "{,ee/,jh/}spec/support/helpers/database/**/*" - "config/prometheus/common_metrics.yml" # Used by Gitlab::DatabaseImporters::CommonMetrics::Importer - "{,ee/,jh/}app/models/project_statistics.rb" # Used to calculate sizes in migration specs + - "GITALY_SERVER_VERSION" # Has interactions with background migrations:https://gitlab.com/gitlab-org/gitlab/-/issues/336538 # CI changes - ".gitlab-ci.yml" - ".gitlab/ci/**/*" @@ -551,9 +565,7 @@ ############### .pages:rules: rules: - - <<: *if-not-ee - when: never - - <<: *if-default-branch-schedule-2-hourly + - <<: *if-dot-com-ee-2-hourly-schedule ############ # QA rules # @@ -597,12 +609,20 @@ ############### .rails:rules:ee-and-foss-migration: rules: - - changes: *db-patterns - <<: *if-merge-request-title-run-all-rspec + - <<: *if-merge-request + changes: *ci-patterns + - <<: *if-automated-merge-request + changes: *db-patterns + - <<: *if-merge-request-not-approved + when: never + - changes: *db-patterns .rails:rules:ee-and-foss-migration:minimal: rules: - - <<: *if-merge-request-rspec-minimal-disabled + - <<: *if-merge-request-approved + when: never + - <<: *if-automated-merge-request when: never - <<: *if-merge-request-title-run-all-rspec when: never @@ -628,12 +648,20 @@ .rails:rules:ee-and-foss-unit: rules: - - changes: *backend-patterns - <<: *if-merge-request-title-run-all-rspec + - <<: *if-merge-request + changes: *ci-patterns + - <<: *if-automated-merge-request + changes: *backend-patterns + - <<: *if-merge-request-not-approved + when: never + - changes: *backend-patterns .rails:rules:ee-and-foss-unit:minimal: rules: - - <<: *if-merge-request-rspec-minimal-disabled + - <<: *if-merge-request-approved + when: never + - <<: *if-automated-merge-request when: never - <<: *if-merge-request-title-run-all-rspec when: never @@ -645,12 +673,20 @@ .rails:rules:ee-and-foss-integration: rules: - - changes: *backend-patterns - <<: *if-merge-request-title-run-all-rspec + - <<: *if-merge-request + changes: *ci-patterns + - <<: *if-automated-merge-request + changes: *backend-patterns + - <<: *if-merge-request-not-approved + when: never + - changes: *backend-patterns .rails:rules:ee-and-foss-integration:minimal: rules: - - <<: *if-merge-request-rspec-minimal-disabled + - <<: *if-merge-request-approved + when: never + - <<: *if-automated-merge-request when: never - <<: *if-merge-request-title-run-all-rspec when: never @@ -662,12 +698,20 @@ .rails:rules:ee-and-foss-system: rules: - - changes: *code-backstage-patterns - <<: *if-merge-request-title-run-all-rspec + - <<: *if-merge-request + changes: *ci-patterns + - <<: *if-automated-merge-request + changes: *code-backstage-patterns + - <<: *if-merge-request-not-approved + when: never + - changes: *code-backstage-patterns .rails:rules:ee-and-foss-system:minimal: rules: - - <<: *if-merge-request-rspec-minimal-disabled + - <<: *if-merge-request-approved + when: never + - <<: *if-automated-merge-request when: never - <<: *if-merge-request-title-run-all-rspec when: never @@ -679,12 +723,20 @@ .rails:rules:ee-and-foss-fast_spec_helper: rules: - - changes: ["config/**/*"] - <<: *if-merge-request-title-run-all-rspec + - <<: *if-merge-request + changes: *ci-patterns + - <<: *if-automated-merge-request + changes: ["config/**/*"] + - <<: *if-merge-request-not-approved + when: never + - changes: ["config/**/*"] .rails:rules:ee-and-foss-fast_spec_helper:minimal: rules: - - <<: *if-merge-request-rspec-minimal-disabled + - <<: *if-merge-request-approved + when: never + - <<: *if-automated-merge-request when: never - <<: *if-merge-request-title-run-all-rspec when: never @@ -703,14 +755,22 @@ rules: - <<: *if-not-ee when: never - - changes: *db-patterns - <<: *if-merge-request-title-run-all-rspec + - <<: *if-merge-request + changes: *ci-patterns + - <<: *if-automated-merge-request + changes: *db-patterns + - <<: *if-merge-request-not-approved + when: never + - changes: *db-patterns .rails:rules:ee-only-migration:minimal: rules: - <<: *if-not-ee when: never - - <<: *if-merge-request-rspec-minimal-disabled + - <<: *if-merge-request-approved + when: never + - <<: *if-automated-merge-request when: never - <<: *if-merge-request-title-run-all-rspec when: never @@ -724,14 +784,22 @@ rules: - <<: *if-not-ee when: never - - changes: *backend-patterns - <<: *if-merge-request-title-run-all-rspec + - <<: *if-merge-request + changes: *ci-patterns + - <<: *if-automated-merge-request + changes: *backend-patterns + - <<: *if-merge-request-not-approved + when: never + - changes: *backend-patterns .rails:rules:ee-only-unit:minimal: rules: - <<: *if-not-ee when: never - - <<: *if-merge-request-rspec-minimal-disabled + - <<: *if-merge-request-approved + when: never + - <<: *if-automated-merge-request when: never - <<: *if-merge-request-title-run-all-rspec when: never @@ -745,14 +813,22 @@ rules: - <<: *if-not-ee when: never - - changes: *backend-patterns - <<: *if-merge-request-title-run-all-rspec + - <<: *if-merge-request + changes: *ci-patterns + - <<: *if-automated-merge-request + changes: *backend-patterns + - <<: *if-merge-request-not-approved + when: never + - changes: *backend-patterns .rails:rules:ee-only-integration:minimal: rules: - <<: *if-not-ee when: never - - <<: *if-merge-request-rspec-minimal-disabled + - <<: *if-merge-request-approved + when: never + - <<: *if-automated-merge-request when: never - <<: *if-merge-request-title-run-all-rspec when: never @@ -766,14 +842,22 @@ rules: - <<: *if-not-ee when: never - - changes: *code-backstage-patterns - <<: *if-merge-request-title-run-all-rspec + - <<: *if-merge-request + changes: *ci-patterns + - <<: *if-automated-merge-request + changes: *code-backstage-patterns + - <<: *if-merge-request-not-approved + when: never + - changes: *code-backstage-patterns .rails:rules:ee-only-system:minimal: rules: - <<: *if-not-ee when: never - - <<: *if-merge-request-rspec-minimal-disabled + - <<: *if-merge-request-approved + when: never + - <<: *if-automated-merge-request when: never - <<: *if-merge-request-title-run-all-rspec when: never @@ -787,19 +871,25 @@ rules: - <<: *if-not-ee when: never + - <<: *if-merge-request-title-run-all-rspec + - <<: *if-merge-request + changes: *ci-patterns + - <<: *if-automated-merge-request + changes: *db-patterns + - <<: *if-merge-request-not-approved + when: never - <<: *if-security-merge-request changes: *db-patterns - <<: *if-merge-request-title-as-if-foss changes: *db-patterns - - <<: *if-merge-request-title-run-all-rspec - - <<: *if-merge-request - changes: *ci-patterns .rails:rules:as-if-foss-migration:minimal: rules: - <<: *if-not-ee when: never - - <<: *if-merge-request-rspec-minimal-disabled + - <<: *if-merge-request-approved + when: never + - <<: *if-automated-merge-request when: never - <<: *if-merge-request changes: *ci-patterns @@ -808,25 +898,30 @@ changes: *db-patterns - <<: *if-merge-request-title-as-if-foss changes: *db-patterns - - <<: *if-merge-request-title-run-all-rspec .rails:rules:as-if-foss-unit: rules: - <<: *if-not-ee when: never + - <<: *if-merge-request-title-run-all-rspec + - <<: *if-merge-request + changes: *ci-patterns + - <<: *if-automated-merge-request + changes: *backend-patterns + - <<: *if-merge-request-not-approved + when: never - <<: *if-security-merge-request changes: *backend-patterns - <<: *if-merge-request-title-as-if-foss changes: *backend-patterns - - <<: *if-merge-request-title-run-all-rspec - - <<: *if-merge-request - changes: *ci-patterns .rails:rules:as-if-foss-unit:minimal: rules: - <<: *if-not-ee when: never - - <<: *if-merge-request-rspec-minimal-disabled + - <<: *if-merge-request-approved + when: never + - <<: *if-automated-merge-request when: never - <<: *if-merge-request changes: *ci-patterns @@ -835,25 +930,30 @@ changes: *backend-patterns - <<: *if-merge-request-title-as-if-foss changes: *backend-patterns - - <<: *if-merge-request-title-run-all-rspec .rails:rules:as-if-foss-integration: rules: - <<: *if-not-ee when: never + - <<: *if-merge-request-title-run-all-rspec + - <<: *if-merge-request + changes: *ci-patterns + - <<: *if-automated-merge-request + changes: *backend-patterns + - <<: *if-merge-request-not-approved + when: never - <<: *if-security-merge-request changes: *backend-patterns - <<: *if-merge-request-title-as-if-foss changes: *backend-patterns - - <<: *if-merge-request-title-run-all-rspec - - <<: *if-merge-request - changes: *ci-patterns .rails:rules:as-if-foss-integration:minimal: rules: - <<: *if-not-ee when: never - - <<: *if-merge-request-rspec-minimal-disabled + - <<: *if-merge-request-approved + when: never + - <<: *if-automated-merge-request when: never - <<: *if-merge-request changes: *ci-patterns @@ -862,25 +962,30 @@ changes: *backend-patterns - <<: *if-merge-request-title-as-if-foss changes: *backend-patterns - - <<: *if-merge-request-title-run-all-rspec .rails:rules:as-if-foss-system: rules: - <<: *if-not-ee when: never + - <<: *if-merge-request-title-run-all-rspec + - <<: *if-merge-request + changes: *ci-patterns + - <<: *if-automated-merge-request + changes: *code-backstage-patterns + - <<: *if-merge-request-not-approved + when: never - <<: *if-security-merge-request changes: *code-backstage-patterns - <<: *if-merge-request-title-as-if-foss changes: *code-backstage-patterns - - <<: *if-merge-request-title-run-all-rspec - - <<: *if-merge-request - changes: *ci-patterns .rails:rules:as-if-foss-system:minimal: rules: - <<: *if-not-ee when: never - - <<: *if-merge-request-rspec-minimal-disabled + - <<: *if-merge-request-approved + when: never + - <<: *if-automated-merge-request when: never - <<: *if-merge-request changes: *ci-patterns @@ -889,7 +994,6 @@ changes: *code-backstage-patterns - <<: *if-merge-request-title-as-if-foss changes: *code-backstage-patterns - - <<: *if-merge-request-title-run-all-rspec .rails:rules:ee-and-foss-db-library-code: rules: @@ -1209,6 +1313,8 @@ - <<: *if-dot-com-gitlab-org-merge-request changes: *code-qa-patterns allow_failure: true + - <<: *if-dot-com-ee-schedule + allow_failure: true # The rule needs to be duplicated between `on_success` and `on_failure` # because the jobs `needs` the previous job to complete. @@ -1235,6 +1341,10 @@ - <<: *if-dot-com-gitlab-org-merge-request changes: *code-qa-patterns when: on_failure + - <<: *if-dot-com-ee-schedule + when: on_success + - <<: *if-dot-com-ee-schedule + when: on_failure .review:rules:review-qa-all: rules: @@ -1247,6 +1357,8 @@ - <<: *if-dot-com-gitlab-org-merge-request changes: *qa-patterns allow_failure: true + - <<: *if-dot-com-ee-nightly-schedule + allow_failure: true # The rule needs to be duplicated between `on_success` and `on_failure` # because the jobs `needs` the previous job to complete. @@ -1261,12 +1373,18 @@ allow_failure: true - <<: *if-dot-com-gitlab-org-merge-request changes: *qa-patterns - allow_failure: true when: on_success + allow_failure: true - <<: *if-dot-com-gitlab-org-merge-request changes: *qa-patterns + when: on_failure allow_failure: true + - <<: *if-dot-com-ee-nightly-schedule + when: on_success + allow_failure: true + - <<: *if-dot-com-ee-nightly-schedule when: on_failure + allow_failure: true .review:rules:review-cleanup: rules: @@ -1354,10 +1472,10 @@ rules: - <<: *if-not-ee when: never + - <<: *if-dot-com-ee-2-hourly-schedule - changes: - ".gitlab/ci/test-metadata.gitlab-ci.yml" - "scripts/rspec_helpers.sh" - - <<: *if-dot-com-ee-schedule ################### # workhorse rules # diff --git a/.gitlab/ci/test-metadata.gitlab-ci.yml b/.gitlab/ci/test-metadata.gitlab-ci.yml index 08c5a7267c2..135bf8b6a8c 100644 --- a/.gitlab/ci/test-metadata.gitlab-ci.yml +++ b/.gitlab/ci/test-metadata.gitlab-ci.yml @@ -43,5 +43,6 @@ update-tests-metadata: script: - run_timed_command "retry gem install fog-aws mime-types activesupport rspec_profiling postgres-copy --no-document" - source ./scripts/rspec_helpers.sh + - test -f rspec_flaky/report-suite.json || echo -e "\e[31m" 'Consider add ~"pipeline:run-all-rspec" to run full rspec jobs' "\e[0m" - update_tests_metadata - update_tests_mapping diff --git a/.gitlab/issue_templates/Design Sprint.md b/.gitlab/issue_templates/Design Sprint.md index 06ef7dc9abc..7772c2d5803 100644 --- a/.gitlab/issue_templates/Design Sprint.md +++ b/.gitlab/issue_templates/Design Sprint.md @@ -1,5 +1,9 @@ +This template outlines a sample set-up process, activities and deliverables for running a Remote Design Sprint. The specific activities and deliverables should be customized based on your objectives and timeline. + +Please refer to the [Remote Design Sprint Handbook page](#anchor-tag-to-handbook-page) for additional recommendations. + ## Design Sprint Focus * [ ] Have you [determined that a Design Sprint is appropriate for this project](#anchor-tag-to-handbook-page)? 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 560b1722348..73233644d37 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 @@ -62,38 +62,36 @@ Geo secondary sites have a [Geo tracking database](https://gitlab.com/gitlab-org disable_ddl_transaction! def up - unless table_exists?(:cool_widget_registry) - ActiveRecord::Base.transaction do - create_table :cool_widget_registry, id: :bigserial, force: :cascade do |t| - t.bigint :cool_widget_id, null: false - t.datetime_with_timezone :created_at, null: false - t.datetime_with_timezone :last_synced_at - t.datetime_with_timezone :retry_at - t.datetime_with_timezone :verified_at - t.datetime_with_timezone :verification_started_at - t.datetime_with_timezone :verification_retry_at - t.integer :state, default: 0, null: false, limit: 2 - t.integer :verification_state, default: 0, null: false, limit: 2 - t.integer :retry_count, default: 0, limit: 2, null: false - t.integer :verification_retry_count, default: 0, limit: 2, null: false - t.boolean :checksum_mismatch, default: false, null: false - t.boolean :force_to_redownload, default: false, null: false - t.boolean :missing_on_primary, default: false, null: false - t.binary :verification_checksum - t.binary :verification_checksum_mismatched - t.string :verification_failure, limit: 255 # rubocop:disable Migration/PreventStrings see https://gitlab.com/gitlab-org/gitlab/-/issues/323806 - t.string :last_sync_failure, limit: 255 # rubocop:disable Migration/PreventStrings see https://gitlab.com/gitlab-org/gitlab/-/issues/323806 - - t.index :cool_widget_id, name: :index_cool_widget_registry_on_cool_widget_id, unique: true - t.index :retry_at - t.index :state - # To optimize performance of CoolWidgetRegistry.verification_failed_batch - t.index :verification_retry_at, name: :cool_widget_registry_failed_verification, order: "NULLS FIRST", where: "((state = 2) AND (verification_state = 3))" - # To optimize performance of CoolWidgetRegistry.needs_verification_count - t.index :verification_state, name: :cool_widget_registry_needs_verification, where: "((state = 2) AND (verification_state = ANY (ARRAY[0, 3])))" - # To optimize performance of CoolWidgetRegistry.verification_pending_batch - t.index :verified_at, name: :cool_widget_registry_pending_verification, order: "NULLS FIRST", where: "((state = 2) AND (verification_state = 0))" - end + ActiveRecord::Base.transaction do + create_table :cool_widget_registry, id: :bigserial, force: :cascade do |t| + t.bigint :cool_widget_id, null: false + t.datetime_with_timezone :created_at, null: false + t.datetime_with_timezone :last_synced_at + t.datetime_with_timezone :retry_at + t.datetime_with_timezone :verified_at + t.datetime_with_timezone :verification_started_at + t.datetime_with_timezone :verification_retry_at + t.integer :state, default: 0, null: false, limit: 2 + t.integer :verification_state, default: 0, null: false, limit: 2 + t.integer :retry_count, default: 0, limit: 2, null: false + t.integer :verification_retry_count, default: 0, limit: 2, null: false + t.boolean :checksum_mismatch, default: false, null: false + t.boolean :force_to_redownload, default: false, null: false + t.boolean :missing_on_primary, default: false, null: false + t.binary :verification_checksum + t.binary :verification_checksum_mismatched + t.string :verification_failure, limit: 255 # rubocop:disable Migration/PreventStrings see https://gitlab.com/gitlab-org/gitlab/-/issues/323806 + t.string :last_sync_failure, limit: 255 # rubocop:disable Migration/PreventStrings see https://gitlab.com/gitlab-org/gitlab/-/issues/323806 + + t.index :cool_widget_id, name: :index_cool_widget_registry_on_cool_widget_id, unique: true + t.index :retry_at + t.index :state + # To optimize performance of CoolWidgetRegistry.verification_failed_batch + t.index :verification_retry_at, name: :cool_widget_registry_failed_verification, order: "NULLS FIRST", where: "((state = 2) AND (verification_state = 3))" + # To optimize performance of CoolWidgetRegistry.needs_verification_count + t.index :verification_state, name: :cool_widget_registry_needs_verification, where: "((state = 2) AND (verification_state = ANY (ARRAY[0, 3])))" + # To optimize performance of CoolWidgetRegistry.verification_pending_batch + t.index :verified_at, name: :cool_widget_registry_pending_verification, order: "NULLS FIRST", where: "((state = 2) AND (verification_state = 0))" end end end @@ -454,7 +452,7 @@ That's all of the required database changes. ``` - [ ] Update `REGISTRY_CLASSES` in `ee/app/workers/geo/secondary/registry_consistency_worker.rb`. -- [ ] Update `def model_class_factory_name` in `ee/spec/services/geo/registry_consistency_service_spec.rb`. +- [ ] Add a custom factory name if needed in `def model_class_factory_name` in `ee/spec/services/geo/registry_consistency_service_spec.rb`. - [ ] Update `it 'creates missing registries for each registry class'` in `ee/spec/workers/geo/secondary/registry_consistency_worker_spec.rb`. - [ ] Add `cool_widget_registry` to `ActiveSupport::Inflector.inflections` in `config/initializers_before_autoloader/000_inflections.rb`. - [ ] Create `ee/spec/factories/geo/cool_widget_registry.rb`: @@ -537,9 +535,11 @@ If you did not add verification state fields to a separate table, `cool_widget_s Otherwise, you can follow [the example of Merge Request Diffs](https://gitlab.com/gitlab-org/gitlab/-/merge_requests/63309). -- [ ] Add a `Geo::CoolWidgetState` model in `ee/app/models/ee/geo/cool_widget_state.rb`: +- [ ] Add a `Geo::CoolWidgetState` model in `ee/app/models/geo/cool_widget_state.rb`: ``` ruby + # frozen_string_literal: true + module Geo class CoolWidgetState < ApplicationRecord self.primary_key = :cool_widget_id @@ -745,7 +745,7 @@ The GraphQL API is used by `Admin > Geo > Replication Details` views, and is dir graphql_name 'CoolWidgetRegistry' description 'Represents the Geo replication and verification state of a cool_widget' - field :cool_widget_id, GraphQL::ID_TYPE, null: false, description: 'ID of the Cool Widget' + field :cool_widget_id, GraphQL::Types::ID, null: false, description: 'ID of the Cool Widget.' end end end 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 58b08f490f7..cc5a606d68b 100644 --- a/.gitlab/issue_templates/Geo Replicate a new blob type.md +++ b/.gitlab/issue_templates/Geo Replicate a new blob type.md @@ -421,7 +421,7 @@ That's all of the required database changes. ``` - [ ] Update `REGISTRY_CLASSES` in `ee/app/workers/geo/secondary/registry_consistency_worker.rb`. -- [ ] Update `def model_class_factory_name` in `ee/spec/services/geo/registry_consistency_service_spec.rb`. +- [ ] Add a custom factory name if needed in `def model_class_factory_name` in `ee/spec/services/geo/registry_consistency_service_spec.rb`. - [ ] Update `it 'creates missing registries for each registry class'` in `ee/spec/workers/geo/secondary/registry_consistency_worker_spec.rb`. - [ ] Add `cool_widget_registry` to `ActiveSupport::Inflector.inflections` in `config/initializers_before_autoloader/000_inflections.rb`. - [ ] Create `ee/spec/factories/geo/cool_widget_registry.rb`: diff --git a/.gitlab/issue_templates/Problem Validation.md b/.gitlab/issue_templates/Problem Validation.md index f7515c07218..5d417c5a26d 100644 --- a/.gitlab/issue_templates/Problem Validation.md +++ b/.gitlab/issue_templates/Problem Validation.md @@ -38,4 +38,11 @@ For example, if the solution will take a product manager, designer, and engineer two weeks of effort - you may quantify this as 1.5 (based on 0.5 months x 3 people). --> +## Definition of Done + +- [ ] The problem is well understood by the PM to have an understanding summarized in a RICE score +- [ ] The problem is well understood by the PM to decide if they want to move forward with this idea or drop it +- [ ] The problem is well described and detailed with necessary requirements for product design to understand the problem +- [ ] The problem is well described and detailed with necessary requirements for engineering to understand the problem + /label ~"workflow::validation backlog" ~devops:: ~category: ~group:: diff --git a/.gitlab/issue_templates/Security developer workflow.md b/.gitlab/issue_templates/Security developer workflow.md index 99149442509..51e8ec378b2 100644 --- a/.gitlab/issue_templates/Security developer workflow.md +++ b/.gitlab/issue_templates/Security developer workflow.md @@ -9,7 +9,9 @@ Set the title to: `Description of the original issue` ## Prior to starting the security release work - [ ] Read the [security process for developers] if you are not familiar with it. +- [ ] Make sure the issue really needs to follow the security release workflow. - Verify if the issue you're working on `gitlab-org/gitlab` is confidential, if it's public fix should be placed on GitLab canonical and no backports are required. + - If the issue you're fixing doesn't appear to be something that can be exploited by a malicious person and is instead simply a security enhancement do not hesitate to ping `@gitlab-com/gl-security/appsec` to discuss if the issue can be fixed in the canonical repository. - [ ] **IMPORTANT**: Mark this [issue as linked] to the Security Release Tracking Issue. You can find it on the topic of the `#releases` Slack channel. This issue MUST be linked for the release bot to know that the associated merge requests should be merged for this security release. - Fill out the [Links section](#links): diff --git a/.gitlab/issue_templates/Task for Configure group.md b/.gitlab/issue_templates/Task for Configure group.md new file mode 100644 index 00000000000..441f66d6698 --- /dev/null +++ b/.gitlab/issue_templates/Task for Configure group.md @@ -0,0 +1,9 @@ +## Scope + +This issue is part of a bigger development effort described in detail by its epic. The scope of this issue is to ... + +## Actions + + + +- [ ] TODO diff --git a/.gitlab/merge_request_templates/Change Documentation Location.md b/.gitlab/merge_request_templates/Change Documentation Location.md index 0c675d8d0c6..623d1597744 100644 --- a/.gitlab/merge_request_templates/Change Documentation Location.md +++ b/.gitlab/merge_request_templates/Change Documentation Location.md @@ -1,6 +1,8 @@ - - - + ## What does this MR do? @@ -25,4 +27,4 @@ https://docs.gitlab.com/ee/development/documentation/index.html#move-or-rename-a - [ ] Update the link in `features.yml` (if applicable) - [ ] Assign one of the technical writers for review. -/label ~documentation +/label ~documentation ~"Technical Writing" diff --git a/.gitlab/merge_request_templates/Documentation.md b/.gitlab/merge_request_templates/Documentation.md index 99ad233c7e0..e97ae9a0c43 100644 --- a/.gitlab/merge_request_templates/Documentation.md +++ b/.gitlab/merge_request_templates/Documentation.md @@ -1,9 +1,12 @@ - - - + - + Mention "documentation" or "docs" in the MR title + For changing documentation location use the Change Documentation Location.md template +--> ## What does this MR do? @@ -15,11 +18,23 @@ ## Author's checklist -- [ ] Follow the [Documentation Guidelines](https://docs.gitlab.com/ee/development/documentation/) and [Style Guide](https://docs.gitlab.com/ee/development/documentation/styleguide/). -- [ ] Ensure that the [product tier badge](https://docs.gitlab.com/ee/development/documentation/styleguide/index.html#product-tier-badges) is added to doc's `h1`. -- [ ] [Request a review](https://docs.gitlab.com/ee/development/code_review.html#dogfooding-the-reviewers-feature) based on the documentation page's metadata and [associated Technical Writer](https://about.gitlab.com/handbook/engineering/ux/technical-writing/#assignments). +- [ ] Follow the: + - [Documentation Guidelines](https://docs.gitlab.com/ee/development/documentation/). + - [Style Guide](https://docs.gitlab.com/ee/development/documentation/styleguide/). +- [ ] Ensure that the [product tier badge](https://docs.gitlab.com/ee/development/documentation/styleguide/index.html#product-tier-badges) is added to topic's `h1`. +- [ ] [Request a review](https://docs.gitlab.com/ee/development/code_review.html#dogfooding-the-reviewers-feature) based on the: + - The documentation page's [metadata](https://docs.gitlab.com/ee/development/documentation/#metadata). + - The [associated Technical Writer](https://about.gitlab.com/handbook/engineering/ux/technical-writing/#assignments). -To avoid having this MR be added to code verification QA issues, don't add these labels: ~"feature", ~"frontend", ~"backend", ~"bug", or ~"database" +If you are only adding documentation, do not add any of the following labels: + +- `~"feature"` +- `~"frontend"` +- `~"backend"` +- `~"bug"` +- `~"database"` + +These labels cause the MR to be added to code verification QA issues. ## Review checklist diff --git a/.gitpod.yml b/.gitpod.yml index 0cb0e55c373..6b77ee18e1e 100644 --- a/.gitpod.yml +++ b/.gitpod.yml @@ -48,6 +48,8 @@ tasks: make gitlab-db-migrate fi cd /workspace/gitlab-development-kit/gitlab + # Display which branch we're on + git branch --show-current # Install Lefthook bundle exec lefthook install git checkout db/structure.sql @@ -55,16 +57,24 @@ tasks: # Waiting for GitLab ... gp await-port 3000 printf "Waiting for GitLab at $(gp url 3000) ..." - until $(curl -sNL $(gp url 3000) | grep -q "GitLab"); do printf '.'; sleep 5; done && echo "" + # Check /-/readiness which returns JSON, but we're only interested in the exit code + # + # We use http://localhost:3000 instead of the public hostname because + # it's no longer possible to access as specific cookies are required + until curl --silent --no-buffer --fail http://localhost:3000/-/readiness > /dev/null 2>&1; do printf '.'; sleep 5; done && echo "" # Give Gitpod a few more seconds to set up everything ... sleep 5 printf "$(date) – GitLab is up (took ~%.1f minutes)\n" "$((10*$SECONDS/60))e-1" | tee -a /workspace/startup.log gp preview $(gp url 3000) || true + # Speed up backend tests + export GITLAB_TEST_EAGER_LOAD=false ) ports: - - port: 3000 # rails-web + - port: 2222 # sshd onOpen: ignore + - port: 3000 # rails-web + onOpen: notify - port: 3010 # gitlab-pages onOpen: ignore - port: 3808 # webpack diff --git a/.markdownlint.yml b/.markdownlint.yml index 35e8ef119be..ea7492cf208 100644 --- a/.markdownlint.yml +++ b/.markdownlint.yml @@ -49,6 +49,7 @@ "Geo", "Git LFS", "git-annex", + "git-sizer", "Git", "Gitaly", "GitHub", diff --git a/.projections.json.example b/.projections.json.example index 7ea0862f56a..326e9544392 100644 --- a/.projections.json.example +++ b/.projections.json.example @@ -15,6 +15,22 @@ "alternate": "lib/{}.rb", "type": "test" }, + "lib/api/*.rb": { + "alternate": "spec/requests/api/{}_spec.rb", + "type": "source" + }, + "spec/requests/api/*_spec.rb": { + "alternate": "lib/api/{}.rb", + "type": "test" + }, + "ee/lib/api/*.rb": { + "alternate": "ee/spec/requests/api/{}_spec.rb", + "type": "source" + }, + "ee/spec/requests/api/*_spec.rb": { + "alternate": "ee/lib/api/{}.rb", + "type": "test" + }, "ee/app/*.rb": { "alternate": "ee/spec/{}_spec.rb", "type": "source" @@ -31,6 +47,30 @@ "alternate": "ee/lib/{}.rb", "type": "test" }, + "app/assets/javascripts/*.js": { + "alternate": "spec/frontend/{}_spec.js", + "type": "source" + }, + "app/assets/javascripts/*.vue": { + "alternate": "spec/frontend/{}_spec.js", + "type": "source" + }, + "spec/frontend/*_spec.js": { + "alternate": ["app/assets/javascripts/{}.vue", "app/assets/javascripts/{}.js"], + "type": "test" + }, + "ee/app/assets/javascripts/*.js": { + "alternate": "ee/spec/frontend/{}_spec.js", + "type": "source" + }, + "ee/app/assets/javascripts/*.vue": { + "alternate": "ee/spec/frontend/{}_spec.js", + "type": "source" + }, + "ee/spec/frontend/*_spec.js": { + "alternate": ["ee/app/assets/javascripts/{}.vue", "ee/app/assets/javascripts/{}.js"], + "type": "test" + }, "*.rb": {"dispatch": "bundle exec rubocop {file}"}, "*_spec.rb": {"dispatch": "bundle exec rspec {file}"} } diff --git a/.rubocop.yml b/.rubocop.yml index 657385ba66d..7b2b8ca70f5 100644 --- a/.rubocop.yml +++ b/.rubocop.yml @@ -37,6 +37,7 @@ AllCops: - 'file_hooks/**/*' - 'workhorse/**/*' - 'spec/support/*.git/**/*' # e.g. spec/support/gitlab-git-test.git + - 'db/ci_migrate/*.rb' # since the `db/ci_migrate` is a symlinked to `db/migrate` CacheRootDirectory: tmp MaxFilesInCache: 25000 @@ -254,7 +255,6 @@ Gitlab/HTTParty: Gitlab/Json: Enabled: true Exclude: - - 'db/**/*' - 'qa/**/*' - 'scripts/**/*' - 'tooling/rspec_flaky/**/*' @@ -442,6 +442,16 @@ Graphql/JSONType: - 'spec/**/*.rb' - 'ee/spec/**/*.rb' +Graphql/OldTypes: + Enabled: true + Include: + - 'app/graphql/**/*' + - 'ee/app/graphql/**/*' + - 'spec/graphql/**/*' + - 'spec/requests/api/graphql/**/*' + - 'ee/spec/graphql/**/*' + - 'ee/spec/requests/api/graphql/**/*' + RSpec/EnvAssignment: Enable: true Include: @@ -693,3 +703,11 @@ RSpec/TopLevelDescribePath: Exclude: - 'spec/fixtures/**/*.rb' - 'ee/spec/fixtures/**/*.rb' + +QA/SelectorUsage: + Enabled: true + Include: + - 'spec/**/*.rb' + - 'ee/spec/**/*.rb' + Exclude: + - 'spec/rubocop/**/*_spec.rb' diff --git a/.rubocop_manual_todo.yml b/.rubocop_manual_todo.yml index 61593c3b464..647d5e4c5ac 100644 --- a/.rubocop_manual_todo.yml +++ b/.rubocop_manual_todo.yml @@ -10,7 +10,7 @@ # - guidelines for use found in # https://docs.gitlab.com/ee/development/contributing/style_guides.html#resolving-rubocop-exceptions. -# WIP See https://gitlab.com/gitlab-org/gitlab/-/issues/322903 +# WIP See https://gitlab.com/gitlab-org/gitlab/-/issues/337596 Graphql/Descriptions: Exclude: - 'ee/app/graphql/types/iteration_state_enum.rb' @@ -22,6 +22,178 @@ Graphql/Descriptions: - 'ee/app/graphql/types/vulnerability_report_type_enum.rb' - 'ee/app/graphql/types/vulnerability_severity_enum.rb' - 'ee/app/graphql/types/vulnerability_state_enum.rb' + - 'ee/app/graphql/types/vulnerability_confidence_enum.rb' + - 'app/graphql/resolvers/labels_resolver.rb' + - 'app/graphql/resolvers/merge_requests_resolver.rb' + - 'app/graphql/resolvers/milestones_resolver.rb' + - 'app/graphql/resolvers/package_details_resolver.rb' + - 'app/graphql/resolvers/paginated_tree_resolver.rb' + - 'app/graphql/resolvers/release_resolver.rb' + - 'app/graphql/resolvers/repository_branch_names_resolver.rb' + - 'app/graphql/resolvers/snippets_resolver.rb' + - 'app/graphql/resolvers/todo_resolver.rb' + - 'app/graphql/resolvers/tree_resolver.rb' + - 'app/graphql/resolvers/users/snippets_resolver.rb' + - 'app/graphql/types/admin/analytics/usage_trends/measurement_type.rb' + - 'app/graphql/types/admin/sidekiq_queues/delete_jobs_response_type.rb' + - 'app/graphql/types/alert_management/alert_type.rb' + - 'app/graphql/types/award_emojis/award_emoji_type.rb' + - 'app/graphql/types/ci/config/job_restriction_type.rb' + - 'app/graphql/types/ci/config/status_enum.rb' + - 'app/graphql/types/ci/pipeline_type.rb' + - 'app/graphql/types/ci_configuration/sast/ui_component_size_enum.rb' + - 'app/graphql/types/commit_action_type.rb' + - 'app/graphql/types/container_repository_cleanup_status_enum.rb' + - 'app/graphql/types/container_repository_tag_type.rb' + - 'app/graphql/types/container_repository_type.rb' + - 'app/graphql/types/custom_emoji_type.rb' + - 'app/graphql/types/design_management/design_at_version_type.rb' + - 'app/graphql/types/design_management/design_fields.rb' + - 'app/graphql/types/diff_paths_input_type.rb' + - 'app/graphql/types/environment_type.rb' + - 'app/graphql/types/eventable_type.rb' + - 'app/graphql/types/group_type.rb' + - 'app/graphql/types/merge_request_type.rb' + - 'app/graphql/types/metadata/kas_type.rb' + - 'app/graphql/types/milestone_wildcard_id_enum.rb' + - 'app/graphql/types/namespace_type.rb' + - 'app/graphql/types/notes/note_type.rb' + - 'app/graphql/types/notes/position_type_enum.rb' + - 'app/graphql/types/packages/composer/json_type.rb' + - 'app/graphql/types/packages/package_details_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_type.rb' + - 'app/graphql/types/prometheus_alert_type.rb' + - 'app/graphql/types/query_type.rb' + - 'app/graphql/types/range_input_type.rb' + - 'app/graphql/types/release_asset_link_shared_input_arguments.rb' + - 'app/graphql/types/release_assets_input_type.rb' + - 'app/graphql/types/release_type.rb' + - 'app/graphql/types/repository/blob_type.rb' + - 'app/graphql/types/root_storage_statistics_type.rb' + - 'app/graphql/types/snippet_type.rb' + - 'app/graphql/types/snippets/blob_type.rb' + - 'app/graphql/types/snippets/visibility_scopes_enum.rb' + - 'app/graphql/types/terraform/state_type.rb' + - 'app/graphql/types/terraform/state_version_type.rb' + - 'app/graphql/types/timelog_type.rb' + - 'app/graphql/types/todo_state_enum.rb' + - 'app/graphql/types/todo_target_enum.rb' + - 'app/graphql/types/todo_type.rb' + - 'app/graphql/types/user_interface.rb' + - 'app/graphql/types/user_merge_request_interaction_type.rb' + - 'app/graphql/types/user_state_enum.rb' + - 'ee/app/graphql/ee/mutations/alert_management/http_integration/create.rb' + - 'ee/app/graphql/ee/mutations/alert_management/http_integration/update.rb' + - 'ee/app/graphql/ee/mutations/boards/issues/issue_move_list.rb' + - 'ee/app/graphql/ee/mutations/issues/create.rb' + - 'ee/app/graphql/ee/mutations/issues/update.rb' + - 'ee/app/graphql/ee/types/alert_management/http_integration_type.rb' + - 'ee/app/graphql/ee/types/board_list_type.rb' + - 'ee/app/graphql/ee/types/board_type.rb' + - 'ee/app/graphql/ee/types/group_type.rb' + - 'ee/app/graphql/ee/types/project_type.rb' + - 'ee/app/graphql/ee/types/query_type.rb' + - 'ee/app/graphql/mutations/app_sec/fuzzing/api/ci_configuration/create.rb' + - 'ee/app/graphql/mutations/boards/epic_boards/create.rb' + - 'ee/app/graphql/mutations/boards/epic_boards/epic_move_list.rb' + - 'ee/app/graphql/mutations/boards/epic_boards/update.rb' + - 'ee/app/graphql/mutations/boards/epic_lists/destroy.rb' + - 'ee/app/graphql/mutations/boards/lists/update_limit_metrics.rb' + - 'ee/app/graphql/mutations/boards/update_epic_user_preferences.rb' + - 'ee/app/graphql/mutations/compliance_management/frameworks/create.rb' + - 'ee/app/graphql/mutations/compliance_management/frameworks/destroy.rb' + - 'ee/app/graphql/mutations/compliance_management/frameworks/update.rb' + - 'ee/app/graphql/mutations/concerns/mutations/shared_epic_arguments.rb' + - 'ee/app/graphql/mutations/dast/profiles/create.rb' + - 'ee/app/graphql/mutations/dast/profiles/update.rb' + - 'ee/app/graphql/mutations/dast_on_demand_scans/create.rb' + - 'ee/app/graphql/mutations/dast_scanner_profiles/create.rb' + - 'ee/app/graphql/mutations/dast_scanner_profiles/update.rb' + - 'ee/app/graphql/mutations/dast_site_profiles/create.rb' + - 'ee/app/graphql/mutations/dast_site_profiles/delete.rb' + - 'ee/app/graphql/mutations/dast_site_profiles/update.rb' + - 'ee/app/graphql/mutations/dast_site_tokens/create.rb' + - 'ee/app/graphql/mutations/dast_site_validations/create.rb' + - 'ee/app/graphql/mutations/dast_site_validations/revoke.rb' + - 'ee/app/graphql/mutations/epic_tree/reorder.rb' + - 'ee/app/graphql/mutations/epics/add_issue.rb' + - 'ee/app/graphql/mutations/epics/base.rb' + - 'ee/app/graphql/mutations/epics/create.rb' + - 'ee/app/graphql/mutations/epics/set_subscription.rb' + - 'ee/app/graphql/mutations/gitlab_subscriptions/activate.rb' + - 'ee/app/graphql/mutations/incident_management/escalation_policy/base.rb' + - 'ee/app/graphql/mutations/incident_management/escalation_policy/create.rb' + - 'ee/app/graphql/mutations/incident_management/escalation_policy/destroy.rb' + - 'ee/app/graphql/mutations/incident_management/escalation_policy/update.rb' + - 'ee/app/graphql/mutations/incident_management/oncall_rotation/base.rb' + - 'ee/app/graphql/mutations/incident_management/oncall_rotation/create.rb' + - 'ee/app/graphql/mutations/incident_management/oncall_rotation/destroy.rb' + - 'ee/app/graphql/mutations/incident_management/oncall_rotation/update.rb' + - 'ee/app/graphql/mutations/incident_management/oncall_schedule/create.rb' + - 'ee/app/graphql/mutations/incident_management/oncall_schedule/destroy.rb' + - 'ee/app/graphql/mutations/incident_management/oncall_schedule/oncall_schedule_base.rb' + - 'ee/app/graphql/mutations/incident_management/oncall_schedule/update.rb' + - 'ee/app/graphql/mutations/issues/common_ee_mutation_arguments.rb' + - 'ee/app/graphql/mutations/issues/promote_to_epic.rb' + - 'ee/app/graphql/mutations/issues/set_iteration.rb' + - 'ee/app/graphql/mutations/iterations/cadences/create.rb' + - 'ee/app/graphql/mutations/iterations/cadences/update.rb' + - 'ee/app/graphql/mutations/iterations/create.rb' + - 'ee/app/graphql/mutations/namespaces/base.rb' + - 'ee/app/graphql/mutations/quality_management/test_cases/create.rb' + - 'ee/app/graphql/mutations/requirements_management/update_requirement.rb' + - 'ee/app/graphql/mutations/vulnerabilities/confirm.rb' + - 'ee/app/graphql/mutations/vulnerabilities/create_external_issue_link.rb' + - 'ee/app/graphql/mutations/vulnerabilities/destroy_external_issue_link.rb' + - 'ee/app/graphql/mutations/vulnerabilities/dismiss.rb' + - 'ee/app/graphql/mutations/vulnerabilities/resolve.rb' + - 'ee/app/graphql/mutations/vulnerabilities/revert_to_detected.rb' + - 'ee/app/graphql/resolvers/dora_metrics_resolver.rb' + - 'ee/app/graphql/resolvers/geo/geo_node_resolver.rb' + - 'ee/app/graphql/resolvers/network_policy_resolver.rb' + - 'ee/app/graphql/resolvers/requirements_management/requirements_resolver.rb' + - 'ee/app/graphql/types/alert_management/payload_alert_field_input_type.rb' + - 'ee/app/graphql/types/alert_management/payload_alert_mapping_field_type.rb' + - 'ee/app/graphql/types/analytics/devops_adoption/snapshot_type.rb' + - 'ee/app/graphql/types/app_sec/fuzzing/api/scan_profile_type.rb' + - 'ee/app/graphql/types/ci/code_quality_degradation_type.rb' + - 'ee/app/graphql/types/ci/minutes/namespace_monthly_usage_type.rb' + - 'ee/app/graphql/types/ci/minutes/project_monthly_usage_type.rb' + - 'ee/app/graphql/types/clusters/agent_token_type.rb' + - 'ee/app/graphql/types/clusters/agent_type.rb' + - 'ee/app/graphql/types/dast/profile_branch_type.rb' + - 'ee/app/graphql/types/dast/profile_type.rb' + - 'ee/app/graphql/types/dast/site_profile_auth_input_type.rb' + - 'ee/app/graphql/types/dast/site_profile_auth_type.rb' + - 'ee/app/graphql/types/dast_scanner_profile_type.rb' + - 'ee/app/graphql/types/dast_site_profile_type.rb' + - 'ee/app/graphql/types/epic_tree/epic_tree_node_input_type.rb' + - 'ee/app/graphql/types/epic_type.rb' + - 'ee/app/graphql/types/geo/geo_node_type.rb' + - 'ee/app/graphql/types/incident_management/escalation_policy_type.rb' + - 'ee/app/graphql/types/incident_management/escalation_rule_input_type.rb' + - 'ee/app/graphql/types/incident_management/escalation_rule_type.rb' + - 'ee/app/graphql/types/incident_management/oncall_participant_type.rb' + - 'ee/app/graphql/types/incident_management/oncall_rotation_active_period_input_type.rb' + - 'ee/app/graphql/types/incident_management/oncall_rotation_active_period_type.rb' + - 'ee/app/graphql/types/incident_management/oncall_rotation_date_input_type.rb' + - 'ee/app/graphql/types/incident_management/oncall_rotation_length_input_type.rb' + - 'ee/app/graphql/types/incident_management/oncall_user_input_type.rb' + - 'ee/app/graphql/types/move_type_enum.rb' + - 'ee/app/graphql/types/network_policy_kind_enum.rb' + - 'ee/app/graphql/types/path_lock_type.rb' + - 'ee/app/graphql/types/pipeline_security_report_finding_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_metrics_type.rb' + - 'ee/app/graphql/types/vulnerability/issue_link_type.rb' + - 'ee/app/graphql/types/vulnerability_details/commit_type.rb' + - 'ee/app/graphql/types/vulnerability_type.rb' + - 'ee/app/graphql/types/vulnerable_dependency_type.rb' + - 'ee/app/graphql/types/vulnerable_package_type.rb' # WIP: See https://gitlab.com/gitlab-org/gitlab/-/issues/220040 Rails/SaveBang: @@ -1014,6 +1186,7 @@ Gitlab/NamespacedClass: - 'app/finders/joined_groups_finder.rb' - 'app/finders/keys_finder.rb' - 'app/finders/labels_finder.rb' + - 'app/finders/lfs_pointers_finder.rb' - 'app/finders/license_template_finder.rb' - 'app/finders/members_finder.rb' - 'app/finders/merge_request_target_project_finder.rb' @@ -1640,7 +1813,7 @@ Gitlab/NamespacedClass: - 'app/services/reset_project_cache_service.rb' - 'app/services/search_service.rb' - 'app/services/service_response.rb' - - 'app/services/submit_usage_ping_service.rb' + - 'app/services/service_ping/submit_service.rb' - 'app/services/system_hooks_service.rb' - 'app/services/task_list_toggle_service.rb' - 'app/services/todo_service.rb' @@ -1667,6 +1840,7 @@ Gitlab/NamespacedClass: - 'app/uploaders/personal_file_uploader.rb' - 'app/validators/abstract_path_validator.rb' - 'app/validators/addressable_url_validator.rb' + - 'app/validators/any_field_validator.rb' - 'app/validators/array_members_validator.rb' - 'app/validators/branch_filter_validator.rb' - 'app/validators/certificate_fingerprint_validator.rb' @@ -2097,7 +2271,6 @@ Gitlab/NamespacedClass: - 'ee/app/workers/sync_security_reports_to_report_approval_rules_worker.rb' - 'ee/app/workers/update_all_mirrors_worker.rb' - 'ee/app/workers/update_max_seats_used_for_gitlab_com_subscriptions_worker.rb' - - 'ee/lib/generators/rails/geo_migration_generator.rb' - 'ee/lib/gitlab/path_locks_finder.rb' - 'ee/spec/support/elastic_query_name_inspector.rb' - 'ee/spec/support/ssh_keygen.rb' @@ -2439,81 +2612,9 @@ Gitlab/FeatureAvailableUsage: - 'lib/api/helpers/related_resources_helpers.rb' - 'spec/models/concerns/featurable_spec.rb' -# WIP See https://gitlab.com/gitlab-org/gitlab/-/issues/327490 -Style/RegexpLiteralMixedPreserve: - Exclude: - - 'ee/app/models/status_page/project_setting.rb' - - 'ee/app/presenters/vulnerability_presenter.rb' - - 'ee/lib/api/geo_nodes.rb' - - 'ee/lib/gitlab/vulnerabilities/standard_vulnerability.rb' - - 'lib/api/invitations.rb' - - 'lib/gitlab/ci/pipeline/expression/lexeme/pattern.rb' - - 'lib/gitlab/metrics/requests_rack_middleware.rb' - - 'lib/gitlab/metrics/subscribers/active_record.rb' - - 'lib/gitlab/regex.rb' - - 'lib/gitlab/utils.rb' - - 'lib/product_analytics/tracker.rb' - - 'qa/qa/page/project/settings/advanced.rb' - - 'qa/spec/service/docker_run/gitlab_runner_spec.rb' - - 'rubocop/cop/gitlab/duplicate_spec_location.rb' - - 'spec/features/clusters/cluster_health_dashboard_spec.rb' - - 'spec/features/markdown/metrics_spec.rb' - - 'spec/features/search/user_searches_for_code_spec.rb' - - 'spec/features/snippets/embedded_snippet_spec.rb' - - 'spec/helpers/diff_helper_spec.rb' - - 'spec/helpers/releases_helper_spec.rb' - - 'spec/lib/gitlab/ci/reports/test_case_spec.rb' - - 'spec/lib/gitlab/consul/internal_spec.rb' - - 'spec/lib/gitlab/import_export/shared_spec.rb' - - 'spec/lib/gitlab/utils/usage_data_spec.rb' - - 'spec/presenters/ci/build_runner_presenter_spec.rb' - - 'spec/requests/api/projects_spec.rb' - - 'spec/services/jira/requests/projects/list_service_spec.rb' - - 'spec/support/capybara.rb' - - 'spec/support/helpers/grafana_api_helpers.rb' - - 'spec/support/helpers/query_recorder.rb' - - 'spec/support/helpers/require_migration.rb' - - 'spec/views/layouts/_head.html.haml_spec.rb' - +# WIP see: https://gitlab.com/gitlab-org/gitlab/-/issues/335808 Database/MultipleDatabases: Exclude: - - 'app/mailers/previews/notify_preview.rb' - - 'app/models/application_setting.rb' - - 'app/models/internal_id.rb' - - 'app/services/auto_merge/base_service.rb' - - 'app/services/ci/delete_unit_tests_service.rb' - - 'app/services/ci/unlock_artifacts_service.rb' - - 'app/services/deployments/update_environment_service.rb' - - 'app/services/design_management/copy_design_collection/copy_service.rb' - - 'app/services/feature_flags/create_service.rb' - - 'app/services/feature_flags/destroy_service.rb' - - 'app/services/feature_flags/update_service.rb' - - 'app/services/issuable/clone/base_service.rb' - - 'app/services/issuable/common_system_notes_service.rb' - - 'app/services/issuable/destroy_label_links_service.rb' - - 'app/services/packages/create_dependency_service.rb' - - 'app/services/packages/go/create_package_service.rb' - - 'app/services/packages/npm/create_package_service.rb' - - 'app/services/packages/terraform_module/create_package_service.rb' - - 'app/services/projects/cleanup_service.rb' - - 'app/services/projects/fetch_statistics_increment_service.rb' - - 'app/services/releases/update_service.rb' - - 'app/services/todos/destroy/destroyed_issuable_service.rb' - - 'ee/app/models/dora/daily_metrics.rb' - - 'ee/app/services/analytics/devops_adoption/enabled_namespaces/bulk_delete_service.rb' - - 'ee/app/services/approval_rules/finalize_service.rb' - - 'ee/app/services/approval_rules/project_rule_destroy_service.rb' - - 'ee/app/services/app_sec/dast/site_profiles/create_service.rb' - - 'ee/app/services/app_sec/dast/site_profiles/update_service.rb' - - 'ee/app/services/ci/minutes/update_build_minutes_service.rb' - - 'ee/app/services/ee/issuable/common_system_notes_service.rb' - - 'ee/app/services/group_saml/group_managed_accounts/transfer_membership_service.rb' - - 'ee/app/services/group_saml/sign_up_service.rb' - - 'ee/app/services/iterations/roll_over_issues_service.rb' - - 'ee/app/services/security/store_scan_service.rb' - - 'ee/app/services/timebox_report_service.rb' - - 'ee/app/services/vulnerability_feedback/create_service.rb' - - 'ee/lib/ee/gitlab/checks/push_rule_check.rb' - 'ee/lib/ee/gitlab/database.rb' - 'ee/lib/gitlab/geo/database_tasks.rb' - 'ee/lib/gitlab/geo/geo_tasks.rb' @@ -2527,16 +2628,8 @@ Database/MultipleDatabases: - 'ee/spec/services/ee/merge_requests/update_service_spec.rb' - 'lib/backup/database.rb' - 'lib/after_commit_queue.rb' - - 'lib/api/rubygem_packages.rb' - 'lib/backup/manager.rb' - - 'lib/gitlab/analytics/cycle_analytics/stage_query_helpers.rb' - - 'lib/gitlab/chaos.rb' - 'lib/gitlab/current_settings.rb' - - 'lib/gitlab/database/batch_count.rb' - - 'lib/gitlab/database/batch_counter.rb' - - 'lib/gitlab/database/count/reltuples_count_strategy.rb' - - 'lib/gitlab/database/count/tablesample_count_strategy.rb' - - 'lib/gitlab/database/grant.rb' - 'lib/gitlab/database/load_balancing/load_balancer.rb' - 'lib/gitlab/database/load_balancing.rb' - 'lib/gitlab/database/load_balancing/sticking.rb' @@ -2558,7 +2651,6 @@ Database/MultipleDatabases: - 'lib/gitlab/database/schema_cache_with_renamed_table.rb' - 'lib/gitlab/database/schema_migrations/context.rb' - 'lib/gitlab/database/schema_version_files.rb' - - 'lib/gitlab/database/similarity_score.rb' - 'lib/gitlab/database/unidirectional_copy_trigger.rb' - 'lib/gitlab/database/with_lock_retries.rb' - 'lib/gitlab/gitlab_import/importer.rb' @@ -2567,46 +2659,24 @@ Database/MultipleDatabases: - 'lib/gitlab/import_export/relation_tree_restorer.rb' - 'lib/gitlab/legacy_github_import/importer.rb' - 'lib/gitlab/metrics/samplers/database_sampler.rb' - - 'lib/gitlab/optimistic_locking.rb' - - 'lib/gitlab/otp_key_rotator.rb' - - 'lib/gitlab/profiler.rb' - 'lib/gitlab/seeder.rb' - 'lib/gitlab/sherlock/query.rb' - - 'lib/gitlab/sql/glob.rb' - - 'lib/gitlab/sql/set_operator.rb' - 'lib/system_check/orphans/repository_check.rb' - 'spec/db/schema_spec.rb' - - 'spec/features/admin/dashboard_spec.rb' - 'spec/initializers/database_config_spec.rb' - - 'spec/initializers/lograge_spec.rb' - 'spec/lib/backup/manager_spec.rb' - 'spec/lib/gitlab/current_settings_spec.rb' - 'spec/lib/gitlab/database_spec.rb' - - 'spec/lib/gitlab/import_export/fast_hash_serializer_spec.rb' - - 'spec/lib/gitlab/import_export/project/tree_saver_spec.rb' - 'spec/lib/gitlab/metrics/subscribers/active_record_spec.rb' - - 'spec/lib/gitlab/pagination/keyset/order_spec.rb' - 'spec/lib/gitlab/profiler_spec.rb' - - 'spec/lib/gitlab/query_limiting/active_support_subscriber_spec.rb' - - 'spec/lib/gitlab/sidekiq_logging/structured_logger_spec.rb' - - 'spec/lib/gitlab/sql/cte_spec.rb' - - 'spec/lib/gitlab/sql/glob_spec.rb' - - 'spec/lib/gitlab/sql/recursive_cte_spec.rb' - 'spec/lib/gitlab/usage_data_metrics_spec.rb' - 'spec/lib/gitlab/usage_data_queries_spec.rb' - 'spec/lib/gitlab/usage/metrics/names_suggestions/relation_parsers/constraints_spec.rb' - 'spec/lib/gitlab/usage/metrics/names_suggestions/relation_parsers/joins_spec.rb' - 'spec/lib/gitlab/usage/metrics/instrumentations/database_metric_spec.rb' - 'spec/lib/gitlab/utils/usage_data_spec.rb' - - 'spec/models/application_setting_spec.rb' - - 'spec/models/concerns/case_sensitivity_spec.rb' - - 'spec/models/concerns/sortable_spec.rb' - - 'spec/models/concerns/where_composite_spec.rb' - - 'spec/models/experiment_spec.rb' - - 'spec/models/internal_id_spec.rb' - 'spec/models/project_feature_usage_spec.rb' - 'spec/models/users_statistics_spec.rb' - - 'spec/requests/api/statistics_spec.rb' - 'spec/services/users/activity_service_spec.rb' - 'spec/support/caching.rb' - 'spec/support/gitlab/usage/metrics_instrumentation_shared_examples.rb' @@ -2618,399 +2688,3 @@ Database/MultipleDatabases: - 'spec/support/helpers/usage_data_helpers.rb' - 'spec/tasks/gitlab/backup_rake_spec.rb' - 'spec/tasks/gitlab/db_rake_spec.rb' - - 'spec/workers/analytics/usage_trends/counter_job_worker_spec.rb' - - 'spec/workers/users/create_statistics_worker_spec.rb' - -# See https://gitlab.com/gitlab-org/gitlab/-/issues/335170 -Cop/WorkerDataConsistency: - Exclude: - - 'app/workers/admin_email_worker.rb' - - 'app/workers/analytics/usage_trends/count_job_trigger_worker.rb' - - 'app/workers/analytics/usage_trends/counter_job_worker.rb' - - 'app/workers/approve_blocked_pending_approval_users_worker.rb' - - 'app/workers/archive_trace_worker.rb' - - 'app/workers/authorized_keys_worker.rb' - - 'app/workers/authorized_project_update/periodic_recalculate_worker.rb' - - 'app/workers/authorized_project_update/project_create_worker.rb' - - 'app/workers/authorized_project_update/project_group_link_create_worker.rb' - - 'app/workers/authorized_project_update/project_recalculate_worker.rb' - - 'app/workers/authorized_project_update/user_refresh_from_replica_worker.rb' - - 'app/workers/authorized_projects_worker.rb' - - 'app/workers/auto_devops/disable_worker.rb' - - 'app/workers/auto_merge_process_worker.rb' - - 'app/workers/background_migration_worker.rb' - - 'app/workers/build_finished_worker.rb' - - 'app/workers/build_success_worker.rb' - - 'app/workers/bulk_import_worker.rb' - - 'app/workers/bulk_imports/entity_worker.rb' - - 'app/workers/bulk_imports/export_request_worker.rb' - - 'app/workers/bulk_imports/pipeline_worker.rb' - - 'app/workers/bulk_imports/relation_export_worker.rb' - - 'app/workers/chaos/cpu_spin_worker.rb' - - 'app/workers/chaos/db_spin_worker.rb' - - 'app/workers/chaos/kill_worker.rb' - - 'app/workers/chaos/leak_mem_worker.rb' - - 'app/workers/chaos/sleep_worker.rb' - - 'app/workers/chat_notification_worker.rb' - - 'app/workers/ci/archive_trace_worker.rb' - - 'app/workers/ci/archive_traces_cron_worker.rb' - - 'app/workers/ci/build_finished_worker.rb' - - 'app/workers/ci/build_prepare_worker.rb' - - 'app/workers/ci/build_schedule_worker.rb' - - 'app/workers/ci/build_trace_chunk_flush_worker.rb' - - 'app/workers/ci/daily_build_group_report_results_worker.rb' - - 'app/workers/ci/delete_objects_worker.rb' - - 'app/workers/ci/delete_unit_tests_worker.rb' - - 'app/workers/ci/drop_pipeline_worker.rb' - - 'app/workers/ci/initial_pipeline_process_worker.rb' - - 'app/workers/ci/merge_requests/add_todo_when_build_fails_worker.rb' - - 'app/workers/ci/pipeline_artifacts/coverage_report_worker.rb' - - 'app/workers/ci/pipeline_artifacts/create_quality_report_worker.rb' - - 'app/workers/ci/pipeline_artifacts/expire_artifacts_worker.rb' - - 'app/workers/ci/pipeline_success_unlock_artifacts_worker.rb' - - 'app/workers/ci/ref_delete_unlock_artifacts_worker.rb' - - 'app/workers/ci/resource_groups/assign_resource_from_resource_group_worker.rb' - - 'app/workers/ci/schedule_delete_objects_cron_worker.rb' - - 'app/workers/ci/test_failure_history_worker.rb' - - 'app/workers/ci_platform_metrics_update_cron_worker.rb' - - 'app/workers/cleanup_container_repository_worker.rb' - - 'app/workers/cluster_configure_istio_worker.rb' - - 'app/workers/cluster_install_app_worker.rb' - - 'app/workers/cluster_patch_app_worker.rb' - - 'app/workers/cluster_provision_worker.rb' - - 'app/workers/cluster_update_app_worker.rb' - - 'app/workers/cluster_upgrade_app_worker.rb' - - 'app/workers/cluster_wait_for_app_installation_worker.rb' - - 'app/workers/cluster_wait_for_app_update_worker.rb' - - 'app/workers/cluster_wait_for_ingress_ip_address_worker.rb' - - 'app/workers/clusters/applications/activate_service_worker.rb' - - 'app/workers/clusters/applications/check_prometheus_health_worker.rb' - - 'app/workers/clusters/applications/deactivate_service_worker.rb' - - 'app/workers/clusters/applications/uninstall_worker.rb' - - 'app/workers/clusters/applications/wait_for_uninstall_app_worker.rb' - - 'app/workers/container_expiration_policies/cleanup_container_repository_worker.rb' - - 'app/workers/container_expiration_policy_worker.rb' - - 'app/workers/create_commit_signature_worker.rb' - - 'app/workers/create_note_diff_file_worker.rb' - - 'app/workers/create_pipeline_worker.rb' - - 'app/workers/database/batched_background_migration_worker.rb' - - 'app/workers/database/partition_management_worker.rb' - - 'app/workers/delete_container_repository_worker.rb' - - 'app/workers/delete_diff_files_worker.rb' - - 'app/workers/delete_merged_branches_worker.rb' - - 'app/workers/delete_stored_files_worker.rb' - - 'app/workers/delete_user_worker.rb' - - 'app/workers/deployments/drop_older_deployments_worker.rb' - - 'app/workers/deployments/finished_worker.rb' - - 'app/workers/deployments/forward_deployment_worker.rb' - - 'app/workers/deployments/hooks_worker.rb' - - 'app/workers/deployments/link_merge_request_worker.rb' - - 'app/workers/deployments/success_worker.rb' - - 'app/workers/deployments/update_environment_worker.rb' - - 'app/workers/design_management/copy_design_collection_worker.rb' - - 'app/workers/design_management/new_version_worker.rb' - - 'app/workers/destroy_pages_deployments_worker.rb' - - 'app/workers/detect_repository_languages_worker.rb' - - 'app/workers/disallow_two_factor_for_group_worker.rb' - - 'app/workers/disallow_two_factor_for_subgroups_worker.rb' - - 'app/workers/email_receiver_worker.rb' - - 'app/workers/emails_on_push_worker.rb' - - 'app/workers/environments/auto_stop_cron_worker.rb' - - 'app/workers/environments/canary_ingress/update_worker.rb' - - 'app/workers/error_tracking_issue_link_worker.rb' - - 'app/workers/experiments/record_conversion_event_worker.rb' - - 'app/workers/expire_build_artifacts_worker.rb' - - 'app/workers/expire_build_instance_artifacts_worker.rb' - - 'app/workers/expire_job_cache_worker.rb' - - 'app/workers/export_csv_worker.rb' - - 'app/workers/file_hook_worker.rb' - - 'app/workers/flush_counter_increments_worker.rb' - - 'app/workers/gitlab/github_import/advance_stage_worker.rb' - - 'app/workers/gitlab/github_import/refresh_import_jid_worker.rb' - - 'app/workers/gitlab/github_import/stage/finish_import_worker.rb' - - 'app/workers/gitlab/github_import/stage/import_base_data_worker.rb' - - 'app/workers/gitlab/github_import/stage/import_issues_and_diff_notes_worker.rb' - - 'app/workers/gitlab/github_import/stage/import_lfs_objects_worker.rb' - - 'app/workers/gitlab/github_import/stage/import_notes_worker.rb' - - 'app/workers/gitlab/github_import/stage/import_pull_requests_merged_by_worker.rb' - - 'app/workers/gitlab/github_import/stage/import_pull_requests_reviews_worker.rb' - - 'app/workers/gitlab/github_import/stage/import_pull_requests_worker.rb' - - 'app/workers/gitlab/github_import/stage/import_repository_worker.rb' - - 'app/workers/gitlab/jira_import/advance_stage_worker.rb' - - 'app/workers/gitlab/jira_import/import_issue_worker.rb' - - 'app/workers/gitlab/jira_import/stage/start_import_worker.rb' - - 'app/workers/gitlab/phabricator_import/import_tasks_worker.rb' - - 'app/workers/gitlab_performance_bar_stats_worker.rb' - - 'app/workers/gitlab_service_ping_worker.rb' - - 'app/workers/gitlab_shell_worker.rb' - - 'app/workers/group_destroy_worker.rb' - - 'app/workers/group_export_worker.rb' - - 'app/workers/group_import_worker.rb' - - 'app/workers/hashed_storage/migrator_worker.rb' - - 'app/workers/hashed_storage/project_migrate_worker.rb' - - 'app/workers/hashed_storage/project_rollback_worker.rb' - - 'app/workers/hashed_storage/rollbacker_worker.rb' - - 'app/workers/import_export_project_cleanup_worker.rb' - - 'app/workers/import_issues_csv_worker.rb' - - 'app/workers/incident_management/add_severity_system_note_worker.rb' - - 'app/workers/incident_management/pager_duty/process_incident_worker.rb' - - 'app/workers/incident_management/process_alert_worker_v2.rb' - - 'app/workers/invalid_gpg_signature_update_worker.rb' - - 'app/workers/irker_worker.rb' - - 'app/workers/issuable/label_links_destroy_worker.rb' - - 'app/workers/issuable_export_csv_worker.rb' - - 'app/workers/issuables/clear_groups_issue_counter_worker.rb' - - 'app/workers/issue_due_scheduler_worker.rb' - - 'app/workers/issue_placement_worker.rb' - - 'app/workers/issue_rebalancing_worker.rb' - - 'app/workers/jira_connect/forward_event_worker.rb' - - 'app/workers/jira_connect/sync_branch_worker.rb' - - 'app/workers/jira_connect/sync_builds_worker.rb' - - 'app/workers/jira_connect/sync_deployments_worker.rb' - - 'app/workers/jira_connect/sync_feature_flags_worker.rb' - - 'app/workers/jira_connect/sync_merge_request_worker.rb' - - 'app/workers/jira_connect/sync_project_worker.rb' - - 'app/workers/mail_scheduler/issue_due_worker.rb' - - 'app/workers/mail_scheduler/notification_service_worker.rb' - - 'app/workers/member_invitation_reminder_emails_worker.rb' - - 'app/workers/members_destroyer/unassign_issuables_worker.rb' - - 'app/workers/merge_request_cleanup_refs_worker.rb' - - 'app/workers/merge_request_mergeability_check_worker.rb' - - 'app/workers/merge_requests/create_pipeline_worker.rb' - - 'app/workers/merge_requests/delete_source_branch_worker.rb' - - 'app/workers/merge_requests/handle_assignees_change_worker.rb' - - 'app/workers/merge_requests/resolve_todos_worker.rb' - - 'app/workers/merge_worker.rb' - - 'app/workers/metrics/dashboard/prune_old_annotations_worker.rb' - - 'app/workers/metrics/dashboard/schedule_annotations_prune_worker.rb' - - 'app/workers/metrics/dashboard/sync_dashboards_worker.rb' - - 'app/workers/migrate_external_diffs_worker.rb' - - 'app/workers/namespaceless_project_destroy_worker.rb' - - 'app/workers/namespaces/in_product_marketing_emails_worker.rb' - - 'app/workers/namespaces/onboarding_issue_created_worker.rb' - - 'app/workers/namespaces/onboarding_pipeline_created_worker.rb' - - 'app/workers/namespaces/onboarding_progress_worker.rb' - - 'app/workers/namespaces/onboarding_user_added_worker.rb' - - 'app/workers/namespaces/prune_aggregation_schedules_worker.rb' - - 'app/workers/namespaces/root_statistics_worker.rb' - - 'app/workers/namespaces/schedule_aggregation_worker.rb' - - 'app/workers/new_issue_worker.rb' - - 'app/workers/new_merge_request_worker.rb' - - 'app/workers/new_note_worker.rb' - - 'app/workers/object_pool/create_worker.rb' - - 'app/workers/object_pool/destroy_worker.rb' - - 'app/workers/object_pool/join_worker.rb' - - 'app/workers/object_pool/schedule_join_worker.rb' - - 'app/workers/object_storage/background_move_worker.rb' - - 'app/workers/object_storage/migrate_uploads_worker.rb' - - 'app/workers/packages/composer/cache_cleanup_worker.rb' - - 'app/workers/packages/composer/cache_update_worker.rb' - - 'app/workers/packages/debian/generate_distribution_worker.rb' - - 'app/workers/packages/debian/process_changes_worker.rb' - - 'app/workers/packages/go/sync_packages_worker.rb' - - 'app/workers/packages/helm/extraction_worker.rb' - - 'app/workers/packages/maven/metadata/sync_worker.rb' - - 'app/workers/packages/nuget/extraction_worker.rb' - - 'app/workers/packages/rubygems/extraction_worker.rb' - - 'app/workers/pages_domain_removal_cron_worker.rb' - - 'app/workers/pages_domain_ssl_renewal_cron_worker.rb' - - 'app/workers/pages_domain_ssl_renewal_worker.rb' - - 'app/workers/pages_domain_verification_cron_worker.rb' - - 'app/workers/pages_domain_verification_worker.rb' - - 'app/workers/pages_remove_worker.rb' - - 'app/workers/pages_transfer_worker.rb' - - 'app/workers/pages_update_configuration_worker.rb' - - 'app/workers/pages_worker.rb' - - 'app/workers/partition_creation_worker.rb' - - 'app/workers/personal_access_tokens/expired_notification_worker.rb' - - 'app/workers/personal_access_tokens/expiring_worker.rb' - - 'app/workers/pipeline_metrics_worker.rb' - - 'app/workers/pipeline_notification_worker.rb' - - 'app/workers/pipeline_process_worker.rb' - - 'app/workers/pipeline_schedule_worker.rb' - - '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/projects/post_creation_worker.rb' - - 'app/workers/projects/schedule_bulk_repository_shard_moves_worker.rb' - - 'app/workers/prometheus/create_default_alerts_worker.rb' - - 'app/workers/propagate_integration_group_worker.rb' - - 'app/workers/propagate_integration_inherit_descendant_worker.rb' - - 'app/workers/propagate_integration_inherit_worker.rb' - - 'app/workers/propagate_integration_project_worker.rb' - - 'app/workers/propagate_integration_worker.rb' - - 'app/workers/propagate_service_template_worker.rb' - - 'app/workers/prune_old_events_worker.rb' - - 'app/workers/purge_dependency_proxy_cache_worker.rb' - - 'app/workers/rebase_worker.rb' - - 'app/workers/releases/create_evidence_worker.rb' - - 'app/workers/releases/manage_evidence_worker.rb' - - 'app/workers/remote_mirror_notification_worker.rb' - - 'app/workers/remove_expired_group_links_worker.rb' - - 'app/workers/remove_expired_members_worker.rb' - - 'app/workers/remove_unaccepted_member_invites_worker.rb' - - 'app/workers/remove_unreferenced_lfs_objects_worker.rb' - - 'app/workers/repository_archive_cache_worker.rb' - - 'app/workers/repository_check/batch_worker.rb' - - 'app/workers/repository_check/clear_worker.rb' - - 'app/workers/repository_check/dispatch_worker.rb' - - 'app/workers/repository_check/single_repository_worker.rb' - - 'app/workers/repository_cleanup_worker.rb' - - 'app/workers/repository_fork_worker.rb' - - 'app/workers/repository_import_worker.rb' - - 'app/workers/repository_remove_remote_worker.rb' - - 'app/workers/repository_update_remote_mirror_worker.rb' - - 'app/workers/requests_profiles_worker.rb' - - 'app/workers/run_pipeline_schedule_worker.rb' - - 'app/workers/schedule_merge_request_cleanup_refs_worker.rb' - - 'app/workers/schedule_migrate_external_diffs_worker.rb' - - 'app/workers/self_monitoring_project_create_worker.rb' - - 'app/workers/self_monitoring_project_delete_worker.rb' - - 'app/workers/service_desk_email_receiver_worker.rb' - - 'app/workers/snippets/schedule_bulk_repository_shard_moves_worker.rb' - - 'app/workers/ssh_keys/expired_notification_worker.rb' - - 'app/workers/ssh_keys/expiring_soon_notification_worker.rb' - - 'app/workers/stage_update_worker.rb' - - 'app/workers/stuck_ci_jobs_worker.rb' - - 'app/workers/stuck_export_jobs_worker.rb' - - 'app/workers/stuck_merge_jobs_worker.rb' - - 'app/workers/system_hook_push_worker.rb' - - 'app/workers/todos_destroyer/confidential_issue_worker.rb' - - 'app/workers/todos_destroyer/destroyed_issuable_worker.rb' - - 'app/workers/todos_destroyer/entity_leave_worker.rb' - - 'app/workers/todos_destroyer/group_private_worker.rb' - - 'app/workers/todos_destroyer/private_features_worker.rb' - - 'app/workers/todos_destroyer/project_private_worker.rb' - - 'app/workers/trending_projects_worker.rb' - - 'app/workers/update_container_registry_info_worker.rb' - - 'app/workers/update_external_pull_requests_worker.rb' - - 'app/workers/update_head_pipeline_for_merge_request_worker.rb' - - 'app/workers/update_highest_role_worker.rb' - - 'app/workers/update_merge_requests_worker.rb' - - 'app/workers/update_project_statistics_worker.rb' - - 'app/workers/upload_checksum_worker.rb' - - 'app/workers/user_status_cleanup/batch_worker.rb' - - 'app/workers/users/create_statistics_worker.rb' - - 'app/workers/users/deactivate_dormant_users_worker.rb' - - 'app/workers/wait_for_cluster_creation_worker.rb' - - 'app/workers/web_hooks/destroy_worker.rb' - - 'app/workers/web_hooks/log_execution_worker.rb' - - 'app/workers/x509_certificate_revoke_worker.rb' - - 'app/workers/x509_issuer_crl_check_worker.rb' - - 'ee/app/workers/active_user_count_threshold_worker.rb' - - 'ee/app/workers/adjourned_group_deletion_worker.rb' - - 'ee/app/workers/adjourned_project_deletion_worker.rb' - - 'ee/app/workers/adjourned_projects_deletion_cron_worker.rb' - - 'ee/app/workers/admin_emails_worker.rb' - - 'ee/app/workers/analytics/code_review_metrics_worker.rb' - - 'ee/app/workers/analytics/devops_adoption/create_all_snapshots_worker.rb' - - 'ee/app/workers/analytics/devops_adoption/create_snapshot_worker.rb' - - 'ee/app/workers/approval_rules/external_approval_rule_payload_worker.rb' - - 'ee/app/workers/ci/batch_reset_minutes_worker.rb' - - 'ee/app/workers/ci/sync_reports_to_report_approval_rules_worker.rb' - - 'ee/app/workers/clear_shared_runners_minutes_worker.rb' - - 'ee/app/workers/create_github_webhook_worker.rb' - - 'ee/app/workers/dast_site_validation_worker.rb' - - 'ee/app/workers/deployments/auto_rollback_worker.rb' - - 'ee/app/workers/dora/daily_metrics/refresh_worker.rb' - - 'ee/app/workers/dora/daily_metrics/refresh_worker.rb' - - 'ee/app/workers/elastic/migration_worker.rb' - - 'ee/app/workers/elastic_association_indexer_worker.rb' - - 'ee/app/workers/elastic_cluster_reindexing_cron_worker.rb' - - 'ee/app/workers/elastic_commit_indexer_worker.rb' - - 'ee/app/workers/elastic_delete_project_worker.rb' - - 'ee/app/workers/elastic_full_index_worker.rb' - - 'ee/app/workers/elastic_indexing_control_worker.rb' - - 'ee/app/workers/elastic_namespace_indexer_worker.rb' - - 'ee/app/workers/elastic_namespace_rollout_worker.rb' - - 'ee/app/workers/elastic_remove_expired_namespace_subscriptions_from_index_cron_worker.rb' - - 'ee/app/workers/epics/new_epic_issue_worker.rb' - - 'ee/app/workers/epics/update_epics_dates_worker.rb' - - 'ee/app/workers/geo/batch/project_registry_scheduler_worker.rb' - - 'ee/app/workers/geo/batch/project_registry_worker.rb' - - 'ee/app/workers/geo/container_repository_sync_worker.rb' - - 'ee/app/workers/geo/design_repository_sync_worker.rb' - - 'ee/app/workers/geo/destroy_worker.rb' - - 'ee/app/workers/geo/event_worker.rb' - - 'ee/app/workers/geo/file_download_worker.rb' - - 'ee/app/workers/geo/file_registry_removal_worker.rb' - - 'ee/app/workers/geo/file_removal_worker.rb' - - 'ee/app/workers/geo/hashed_storage_attachments_migration_worker.rb' - - 'ee/app/workers/geo/hashed_storage_migration_worker.rb' - - 'ee/app/workers/geo/metrics_update_worker.rb' - - 'ee/app/workers/geo/project_sync_worker.rb' - - 'ee/app/workers/geo/prune_event_log_worker.rb' - - 'ee/app/workers/geo/rename_repository_worker.rb' - - 'ee/app/workers/geo/repositories_clean_up_worker.rb' - - 'ee/app/workers/geo/repository_cleanup_worker.rb' - - 'ee/app/workers/geo/repository_verification/primary/single_worker.rb' - - 'ee/app/workers/geo/repository_verification/secondary/single_worker.rb' - - 'ee/app/workers/geo/reverification_batch_worker.rb' - - 'ee/app/workers/geo/scheduler/per_shard_scheduler_worker.rb' - - 'ee/app/workers/geo/scheduler/scheduler_worker.rb' - - 'ee/app/workers/geo/secondary/registry_consistency_worker.rb' - - 'ee/app/workers/geo/secondary_usage_data_cron_worker.rb' - - 'ee/app/workers/geo/sidekiq_cron_config_worker.rb' - - 'ee/app/workers/geo/sync_timeout_cron_worker.rb' - - 'ee/app/workers/geo/verification_batch_worker.rb' - - 'ee/app/workers/geo/verification_cron_worker.rb' - - 'ee/app/workers/geo/verification_timeout_worker.rb' - - 'ee/app/workers/geo/verification_worker.rb' - - 'ee/app/workers/geo_repository_destroy_worker.rb' - - 'ee/app/workers/group_saml_group_sync_worker.rb' - - 'ee/app/workers/groups/schedule_bulk_repository_shard_moves_worker.rb' - - 'ee/app/workers/groups/update_statistics_worker.rb' - - 'ee/app/workers/historical_data_worker.rb' - - 'ee/app/workers/import_software_licenses_worker.rb' - - 'ee/app/workers/incident_management/apply_incident_sla_exceeded_label_worker.rb' - - 'ee/app/workers/incident_management/incident_sla_exceeded_check_worker.rb' - - 'ee/app/workers/incident_management/oncall_rotations/persist_all_rotations_shifts_job.rb' - - 'ee/app/workers/incident_management/oncall_rotations/persist_shifts_job.rb' - - 'ee/app/workers/incident_management/pending_escalations/alert_check_worker.rb' - - 'ee/app/workers/incident_management/pending_escalations/alert_create_worker.rb' - - 'ee/app/workers/incident_management/pending_escalations/schedule_check_cron_worker.rb' - - 'ee/app/workers/iterations/cadences/create_iterations_worker.rb' - - 'ee/app/workers/iterations/cadences/schedule_create_iterations_worker.rb' - - 'ee/app/workers/iterations/roll_over_issues_worker.rb' - - 'ee/app/workers/iterations_update_status_worker.rb' - - 'ee/app/workers/ldap_all_groups_sync_worker.rb' - - 'ee/app/workers/ldap_group_sync_worker.rb' - - 'ee/app/workers/ldap_sync_worker.rb' - - 'ee/app/workers/merge_request_reset_approvals_worker.rb' - - 'ee/app/workers/merge_requests/sync_code_owner_approval_rules_worker.rb' - - 'ee/app/workers/merge_trains/refresh_worker.rb' - - 'ee/app/workers/network_policy_metrics_worker.rb' - - 'ee/app/workers/new_epic_worker.rb' - - 'ee/app/workers/personal_access_tokens/groups/policy_worker.rb' - - 'ee/app/workers/personal_access_tokens/instance/policy_worker.rb' - - 'ee/app/workers/project_import_schedule_worker.rb' - - 'ee/app/workers/pseudonymizer_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/requirements_management/import_requirements_csv_worker.rb' - - 'ee/app/workers/requirements_management/process_requirements_reports_worker.rb' - - 'ee/app/workers/scan_security_report_secrets_worker.rb' - - 'ee/app/workers/security/auto_fix_worker.rb' - - 'ee/app/workers/security/create_orchestration_policy_worker.rb' - - 'ee/app/workers/security/orchestration_policy_rule_schedule_worker.rb' - - 'ee/app/workers/security/store_scans_worker.rb' - - 'ee/app/workers/security/track_secure_scans_worker.rb' - - 'ee/app/workers/set_user_status_based_on_user_cap_setting_worker.rb' - - 'ee/app/workers/status_page/publish_worker.rb' - - 'ee/app/workers/store_security_reports_worker.rb' - - 'ee/app/workers/store_security_scans_worker.rb' - - 'ee/app/workers/sync_seat_link_request_worker.rb' - - 'ee/app/workers/sync_seat_link_worker.rb' - - 'ee/app/workers/todos_destroyer/confidential_epic_worker.rb' - - 'ee/app/workers/update_all_mirrors_worker.rb' - - 'ee/app/workers/update_max_seats_used_for_gitlab_com_subscriptions_worker.rb' - - 'ee/app/workers/vulnerabilities/historical_statistics/deletion_worker.rb' - - 'ee/app/workers/vulnerabilities/statistics/adjustment_worker.rb' - - 'ee/app/workers/vulnerabilities/statistics/schedule_worker.rb' - - 'ee/app/workers/vulnerability_exports/export_deletion_worker.rb' - - 'ee/app/workers/vulnerability_exports/export_worker.rb' diff --git a/CHANGELOG.md b/CHANGELOG.md index bd53d7575d0..4bb66363d78 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -620,6 +620,38 @@ entry. - [Remove diffs gradual load feature flag](gitlab-org/gitlab@027d7c4327b5b6205a84281239027273517bf81b) ([merge request](gitlab-org/gitlab!55478)) - [Remove partial index for Hashed Storage migration](gitlab-org/gitlab@3ed017a1023d7b0941a7606b69e6caee8d22f15c) ([merge request](gitlab-org/gitlab!62920)) +## 14.0.7 (2021-08-03) + +### Security (18 changes) + +- [Add project member validation for domain limitation](gitlab-org/security/gitlab@f9a0e78111cbbfe93b6f8ca27bd9f064e146d005) ([merge request](gitlab-org/security/gitlab!1563)) +- [Hide project-level CI/CD Analytics for Guests](gitlab-org/security/gitlab@56a17ae80c1f179bcdf939d6b8e71737f9501949) ([merge request](gitlab-org/security/gitlab!1574)) +- [Only allow invite to be accepted by user with matching email](gitlab-org/security/gitlab@a79d0e6dbbc32247c10c4928a04f0149071eb5fe) ([merge request](gitlab-org/security/gitlab!1633)) +- [Add html escaping for default branch name](gitlab-org/security/gitlab@d26f0c4d5ef386100d40e92f815b7e754fccacc3) ([merge request](gitlab-org/security/gitlab!1631)) +- [Configure OmniAuth to use GitLab AppLogger](gitlab-org/security/gitlab@dfcff90cb86fac0dff05d8bd5f25f46da2cc8ce0) ([merge request](gitlab-org/security/gitlab!1616)) +- [Add permissions check to pipelines#show action](gitlab-org/security/gitlab@c611a8154dc5776a0767b4153ff8963d46e7f39a) ([merge request](gitlab-org/security/gitlab!1613)) +- [Prevent impersonation in gitlab-shell SSH certs](gitlab-org/security/gitlab@320457b16cbfd5dec4e05937c4d61b96aba4c290) ([merge request](gitlab-org/security/gitlab!1610)) +- [Fix Protected Environment Accesses Cleanup](gitlab-org/security/gitlab@99846cdeda6acf6223fb0ee5364e375765d3cbb1) ([merge request](gitlab-org/security/gitlab!1607)) **GitLab Enterprise Edition** +- [Do not show email address in error message](gitlab-org/security/gitlab@5c4adf419e38f0fd9d540d2f7cd9d14888bc6b96) ([merge request](gitlab-org/security/gitlab!1597)) **GitLab Enterprise Edition** +- [Disallow non-members to set issue metadata on issue create](gitlab-org/security/gitlab@0bb4499e5f4514beb647d0e6ac3f9b15720c42ce) ([merge request](gitlab-org/security/gitlab!1581)) +- [Prevent guests from linking issues with errors](gitlab-org/security/gitlab@94462a56e9490ddd85ec7d1d869b6fda2042fb99) ([merge request](gitlab-org/security/gitlab!1588)) +- [Block impersonation token use if it is not permitted](gitlab-org/security/gitlab@31b8bc506dd89a576a2cda094c711c22be764398) ([merge request](gitlab-org/security/gitlab!1584)) +- [Updates oauth to 0.5.6](gitlab-org/security/gitlab@c839b6107c41bcd02e048d0ae0499c140bfbec1c) ([merge request](gitlab-org/security/gitlab!1568)) +- [Remove impersonation token from api response for non-admin user](gitlab-org/security/gitlab@845dc284cc8ee8736e4f65740d61ffeb197f7b7c) ([merge request](gitlab-org/security/gitlab!1566)) +- [Filter todos whose target users no longer have access to](gitlab-org/security/gitlab@a6c81e5cadb277f80d1b9565700f8b1f201cfb05) ([merge request](gitlab-org/security/gitlab!1554)) +- [Fix tag ref detection for pipelines](gitlab-org/security/gitlab@cd5f61dc50c44d69896b38f3bd44129a8f1f01d8) ([merge request](gitlab-org/security/gitlab!1548)) +- [Restrict access to instance-level security features for reporters](gitlab-org/security/gitlab@c8a75e8032c68065524a85f7030960b614a915bd) ([merge request](gitlab-org/security/gitlab!1539)) **GitLab Enterprise Edition** +- [Fix XSS in Mermaid Markdown rendering](gitlab-org/security/gitlab@86139e79c13cf87183cdec9f84ec114cdfc6d215) ([merge request](gitlab-org/security/gitlab!1489)) + +## 14.0.6 (2021-07-20) + +### Fixed (4 changes) + +- [Fix validation method regarding MIME type keys](gitlab-org/gitlab@2cc6d89cc77368b9472c8ec22e97bb3481409fb3) ([merge request](gitlab-org/gitlab!66403)) +- [Geo: Fix snippet verification by replicating the HEAD ref](gitlab-org/gitlab@4dbf36af8553775603c170784ad8bfcdc436a669) ([merge request](gitlab-org/gitlab!66403)) **GitLab Enterprise Edition** +- [Fix LFS objects not downloading with Bitbucket](gitlab-org/gitlab@161776f9a4975dfeb2760b06e83160def902c61f) ([merge request](gitlab-org/gitlab!66403)) +- [Replace Excon with Faraday for requesting object storage](gitlab-org/gitlab@a223d526d5b97f248c8810ef0b968d2c3b0323e0) ([merge request](gitlab-org/gitlab!66403)) + ## 14.0.5 (2021-07-08) ### Fixed (4 changes) @@ -1321,6 +1353,37 @@ entry. - [Add missing metrics information](gitlab-org/gitlab@89cd7fe3b95323e635b2d73e08549b2e6153dc4d) ([merge request](https://gitlab.com/gitlab-org/gitlab/-/merge_requests/61772/edit)) - [Track usage of the resolve UI](gitlab-org/gitlab@35c8e30fce288cecefcf2f7c0077d4608e696519) ([merge request](gitlab-org/gitlab!61654)) +## 13.12.10 (2021-08-10) + +### Fixed (2 changes) + +- [Fix validation method regarding MIME type keys](gitlab-org/gitlab@4782194408063f61da4e1e69d7d8813cfec84a78) ([merge request](gitlab-org/gitlab!67748)) +- [Do not create audit event for failed logins on read-only DB](gitlab-org/gitlab@53237efd7b677ccaa7db05f51d5594f594db41ce) ([merge request](gitlab-org/gitlab!67748)) **GitLab Enterprise Edition** + +### Changed (1 change) + +- [Resolve "operator does not exist: integer[] || bigint in...](gitlab-org/gitlab@fcaf589950878529019d9d9d6b047b4802c9c374) ([merge request](gitlab-org/gitlab!67748)) + +## 13.12.9 (2021-08-03) + +### Security (15 changes) + +- [Add project member validation for domain limitation](gitlab-org/security/gitlab@8aff1815f897c2c454c87b1ccdd98c7a2c9eedb3) ([merge request](gitlab-org/security/gitlab!1562)) +- [Block impersonation token use if it is not permitted](gitlab-org/security/gitlab@99ab170ae5a2d991600dec9e7dfd8b5ca502c437) ([merge request](gitlab-org/security/gitlab!1585)) +- [Hide project-level CI/CD Analytics for Guests](gitlab-org/security/gitlab@740395d9663be41d52d831b8f90e271c08137220) ([merge request](gitlab-org/security/gitlab!1575)) +- [Only allow invite to be accepted by user with matching email](gitlab-org/security/gitlab@ae7ade09920486f6124496d800bf5f63f5a909eb) ([merge request](gitlab-org/security/gitlab!1634)) +- [Configure OmniAuth to use GitLab AppLogger](gitlab-org/security/gitlab@ed5e7742173878e59d760744e3f4f6686268584b) ([merge request](gitlab-org/security/gitlab!1617)) +- [Fix Protected Environment Accesses Cleanup](gitlab-org/security/gitlab@79eb0cb13a35864267c30663fd6033e8c6224cac) ([merge request](gitlab-org/security/gitlab!1608)) **GitLab Enterprise Edition** +- [Add permissions check to pipelines#show action](gitlab-org/security/gitlab@1a293b409226ce743527f1ac5ac5d216998339e1) ([merge request](gitlab-org/security/gitlab!1618)) +- [Prevent impersonation in gitlab-shell SSH certs](gitlab-org/security/gitlab@42521d9e7e72047bac09bd42779203ae6e508227) ([merge request](gitlab-org/security/gitlab!1611)) +- [Prevent guests from linking issues with errors](gitlab-org/security/gitlab@da799b0c7bcade058d4b57e065b1a1bebf903fa3) ([merge request](gitlab-org/security/gitlab!1599)) +- [Do not show email address in error message](gitlab-org/security/gitlab@2c3318edaa39ed0837b8fb30acae9f2cdc3d158f) ([merge request](gitlab-org/security/gitlab!1598)) **GitLab Enterprise Edition** +- [Updates oauth to 0.5.6](gitlab-org/security/gitlab@33df3791b646026016303a9d64661fbee7563630) ([merge request](gitlab-org/security/gitlab!1569)) +- [Remove impersonation token from api response for non-admin user](gitlab-org/security/gitlab@b56ae1953b2cd6b9d12c584e0f2c298a931f6f08) ([merge request](gitlab-org/security/gitlab!1567)) +- [Filter todos whose target users no longer have access to](gitlab-org/security/gitlab@ba613574b12e40fb61e5fbae8b1159f9ad037e84) ([merge request](gitlab-org/security/gitlab!1555)) +- [Fix tag ref detection for pipelines](gitlab-org/security/gitlab@4c36e98bcecd6e42e23ec5e20443f41de7f5bf18) ([merge request](gitlab-org/security/gitlab!1549)) +- [Fix XSS in Mermaid Markdown rendering](gitlab-org/security/gitlab@b27425816723b53db2f65b39f4702711b858cdfc) ([merge request](gitlab-org/security/gitlab!1487)) + ## 13.12.8 (2021-07-07) ### Security (1 change) diff --git a/GITALY_SERVER_VERSION b/GITALY_SERVER_VERSION index f7e6aaa8b0a..fa3562cbcfe 100644 --- a/GITALY_SERVER_VERSION +++ b/GITALY_SERVER_VERSION @@ -1 +1 @@ -14.1.3 \ No newline at end of file +eda57b4bf0dc87dee85745d48108523f34b8f8b5 diff --git a/GITLAB_ELASTICSEARCH_INDEXER_VERSION b/GITLAB_ELASTICSEARCH_INDEXER_VERSION index d8b698973a4..fb2c0766b7c 100644 --- a/GITLAB_ELASTICSEARCH_INDEXER_VERSION +++ b/GITLAB_ELASTICSEARCH_INDEXER_VERSION @@ -1 +1 @@ -2.12.0 +2.13.0 diff --git a/GITLAB_KAS_VERSION b/GITLAB_KAS_VERSION index 26f2bbc1975..e4eccd4e6cd 100644 --- a/GITLAB_KAS_VERSION +++ b/GITLAB_KAS_VERSION @@ -1 +1 @@ -14.1.1 +14.2.2 diff --git a/GITLAB_PAGES_VERSION b/GITLAB_PAGES_VERSION index 7d47e599800..a50908ca3da 100644 --- a/GITLAB_PAGES_VERSION +++ b/GITLAB_PAGES_VERSION @@ -1 +1 @@ -1.41.0 +1.42.0 diff --git a/Gemfile b/Gemfile index 68e4f2df1ff..83b1b0ba25e 100644 --- a/Gemfile +++ b/Gemfile @@ -49,7 +49,7 @@ gem 'omniauth-shibboleth', '~> 1.3.0' gem 'omniauth-twitter', '~> 1.4' gem 'omniauth_crowd', '~> 2.4.0' gem 'omniauth-authentiq', '~> 0.3.3' -gem 'gitlab-omniauth-openid-connect', '~> 0.4.0', require: 'omniauth_openid_connect' +gem 'gitlab-omniauth-openid-connect', '~> 0.8.0', require: 'omniauth_openid_connect' gem 'omniauth-salesforce', '~> 1.0.5' gem 'omniauth-atlassian-oauth2', '~> 0.2.0' gem 'rack-oauth2', '~> 1.16.0' @@ -223,7 +223,7 @@ gem 're2', '~> 1.2.0' gem 'version_sorter', '~> 2.2.4' # Export Ruby Regex to Javascript -gem 'js_regex', '~> 3.4' +gem 'js_regex', '~> 3.7' # User agent parsing gem 'device_detector' @@ -310,7 +310,7 @@ gem 'pg_query', '~> 2.1' gem 'premailer-rails', '~> 1.10.3' # LabKit: Tracing and Correlation -gem 'gitlab-labkit', '~> 0.20.0' +gem 'gitlab-labkit', '~> 0.21.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' @@ -335,9 +335,11 @@ gem 'method_source', '~> 1.0', require: false gem 'webrick', '~> 1.6.1', require: false gem 'prometheus-client-mmap', '~> 0.12.0', require: 'prometheus/client' +gem 'warning', '~> 1.2.0' + group :development do gem 'lefthook', '~> 0.7.0', require: false - gem 'solargraph', '~> 0.42', require: false + gem 'solargraph', '~> 0.43', require: false gem 'letter_opener_web', '~> 1.4.0' @@ -358,7 +360,7 @@ group :development, :test do gem 'awesome_print', require: false gem 'database_cleaner', '~> 1.7.0' - gem 'factory_bot_rails', '~> 6.1.0' + gem 'factory_bot_rails', '~> 6.2.0' gem 'rspec-rails', '~> 5.0.1' # Prevent occasions where minitest is not bundled in packaged versions of ruby (see #3826) @@ -394,7 +396,7 @@ group :development, :test do end group :development, :test, :danger do - gem 'gitlab-dangerfiles', '~> 2.2.2', require: false + gem 'gitlab-dangerfiles', '~> 2.3.0', require: false end group :development, :test, :coverage do @@ -472,12 +474,12 @@ end gem 'spamcheck', '~> 0.1.0' # Gitaly GRPC protocol definitions -gem 'gitaly', '~> 14.1.0.pre.rc3' +gem 'gitaly', '~> 14.2.0.pre.rc2' # KAS GRPC protocol definitions gem 'kas-grpc', '~> 0.0.2' -gem 'grpc', '~> 1.30.2' +gem 'grpc', '~> 1.38.0' gem 'google-protobuf', '~> 3.17.1' @@ -487,8 +489,8 @@ gem 'toml-rb', '~> 2.0' gem 'flipper', '~> 0.21.0' gem 'flipper-active_record', '~> 0.21.0' gem 'flipper-active_support_cache_store', '~> 0.21.0' -gem 'unleash', '~> 0.1.5' -gem 'gitlab-experiment', '~> 0.6.1' +gem 'unleash', '~> 3.2.2' +gem 'gitlab-experiment', '~> 0.6.4' # Structured logging gem 'lograge', '~> 0.5' @@ -521,7 +523,7 @@ gem 'valid_email', '~> 0.1' # JSON gem 'json', '~> 2.3.0' -gem 'json_schemer', '~> 0.2.12' +gem 'json_schemer', '~> 0.2.18' gem 'oj', '~> 3.10.6' gem 'multi_json', '~> 1.14.1' gem 'yajl-ruby', '~> 1.4.1', require: 'yajl' diff --git a/Gemfile.lock b/Gemfile.lock index 190435b796f..0980814bafb 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -9,7 +9,6 @@ GEM remote: https://rubygems.org/ specs: RedCloth (4.3.2) - abstract_type (0.0.7) acme-client (2.0.6) faraday (>= 0.17, < 2.0.0) actioncable (6.1.3.2) @@ -76,9 +75,6 @@ GEM zeitwerk (~> 2.3) acts-as-taggable-on (7.0.0) activerecord (>= 5.0, < 6.2) - adamantium (0.2.0) - ice_nine (~> 0.11.0) - memoizable (~> 0.4.0) addressable (2.8.0) public_suffix (>= 2.0.2, < 5.0) aes_key_wrap (1.1.0) @@ -183,7 +179,8 @@ GEM mime-types (>= 1.16) ssrf_filter (~> 1.0) cbor (0.5.9.6) - character_set (1.4.0) + character_set (1.4.1) + sorted_set (~> 1.0) charlock_holmes (0.7.7) chef-config (16.10.17) addressable @@ -205,10 +202,7 @@ GEM colored2 (3.1.2) commonmarker (0.21.0) ruby-enum (~> 0.5) - concord (0.1.5) - adamantium (~> 0.2.0) - equalizer (~> 0.0.9) - concurrent-ruby (1.1.8) + concurrent-ruby (1.1.9) connection_pool (2.2.2) contracts (0.11.0) cork (0.3.0) @@ -314,8 +308,8 @@ GEM dry-inflector (~> 0.1, >= 0.1.2) dry-logic (~> 1.0, >= 1.0.2) e2mmap (0.1.0) - ecma-re-validator (0.2.1) - regexp_parser (~> 1.2) + ecma-re-validator (0.3.0) + regexp_parser (~> 2.0) ed25519 (1.2.4) elasticsearch (6.8.2) elasticsearch-api (= 6.8.2) @@ -336,7 +330,6 @@ GEM launchy (~> 2.1) mail (~> 2.7) encryptor (3.0.0) - equalizer (0.0.11) erubi (1.9.0) escape_utils (1.2.1) et-orbi (1.2.1) @@ -347,10 +340,10 @@ GEM expression_parser (0.9.0) extended-markdown-filter (0.6.0) html-pipeline (~> 2.0) - factory_bot (6.1.0) + factory_bot (6.2.0) activesupport (>= 5.0.0) - factory_bot_rails (6.1.0) - factory_bot (~> 6.1.0) + factory_bot_rails (6.2.0) + factory_bot (~> 6.2.0) railties (>= 5.0.0) faraday (1.4.2) faraday-em_http (~> 1.0) @@ -460,7 +453,7 @@ GEM rails (>= 3.2.0) git (1.7.0) rchardet (~> 1.8) - gitaly (14.1.0.pre.rc3) + gitaly (14.2.0.pre.rc2) grpc (~> 1.0) github-markup (1.7.0) gitlab (4.16.1) @@ -468,10 +461,10 @@ GEM terminal-table (~> 1.5, >= 1.5.1) gitlab-chronic (0.10.5) numerizer (~> 0.2) - gitlab-dangerfiles (2.2.2) + gitlab-dangerfiles (2.3.0) danger (>= 8.3.1) danger-gitlab (>= 8.0.0) - gitlab-experiment (0.6.1) + gitlab-experiment (0.6.4) activesupport (>= 3.0) request_store (>= 1.0) scientist (~> 1.6, >= 1.6.0) @@ -482,10 +475,10 @@ GEM fog-json (~> 1.2.0) mime-types ms_rest_azure (~> 0.12.0) - gitlab-labkit (0.20.0) + gitlab-labkit (0.21.0) actionpack (>= 5.0.0, < 7.0.0) activesupport (>= 5.0.0, < 7.0.0) - grpc (~> 1.19) + grpc (~> 1.38) jaeger-client (~> 1.1) opentracing (~> 0.4) pg_query (~> 2.1) @@ -494,7 +487,7 @@ GEM gitlab-mail_room (0.0.9) gitlab-markup (1.7.1) gitlab-net-dns (0.9.1) - gitlab-omniauth-openid-connect (0.4.0) + gitlab-omniauth-openid-connect (0.8.0) addressable (~> 2.7) omniauth (~> 1.9) openid_connect (~> 1.2) @@ -531,8 +524,8 @@ GEM signet (~> 0.12) google-cloud-env (1.5.0) faraday (>= 0.17.3, < 2.0) - google-protobuf (3.17.1) - googleapis-common-protos-types (1.0.6) + google-protobuf (3.17.3) + googleapis-common-protos-types (1.1.0) google-protobuf (~> 3.14) googleauth (0.14.0) faraday (>= 0.17.3, < 2.0) @@ -580,8 +573,8 @@ GEM graphql (~> 1.6) html-pipeline (~> 2.8) sass (~> 3.4) - grpc (1.30.2) - google-protobuf (~> 3.12) + grpc (1.38.0) + google-protobuf (~> 3.15) googleapis-common-protos-types (~> 1.0) gssapi (1.2.0) ffi (>= 1.0.1) @@ -612,7 +605,7 @@ GEM temple (>= 0.8.2) thor tilt - hana (1.3.6) + hana (1.3.7) hangouts-chat (0.0.5) hashdiff (1.0.1) hashie (4.1.0) @@ -647,7 +640,6 @@ GEM concurrent-ruby (~> 1.0) i18n_data (0.8.0) icalendar (2.4.1) - ice_nine (0.11.2) invisible_captcha (1.1.0) rails (>= 4.2) ipaddress (0.8.3) @@ -661,19 +653,19 @@ GEM multipart-post oauth (~> 0.5, >= 0.5.0) jmespath (1.4.0) - js_regex (3.4.0) + js_regex (3.7.0) character_set (~> 1.4) - regexp_parser (~> 1.5) - regexp_property_values (~> 0.3) + regexp_parser (~> 2.1) + regexp_property_values (~> 1.0) json (2.3.0) json-jwt (1.13.0) activesupport (>= 4.2) aes_key_wrap bindata - json_schemer (0.2.12) - ecma-re-validator (~> 0.2) + json_schemer (0.2.18) + ecma-re-validator (~> 0.3) hana (~> 1.3) - regexp_parser (~> 1.5) + regexp_parser (~> 2.0) uri_template (~> 0.7) jsonpath (1.1.0) multi_json @@ -726,7 +718,7 @@ GEM reverse_markdown (~> 1.0) rugged (>= 0.24, < 2.0) thor (>= 0.19, < 2.0) - listen (3.2.1) + listen (3.6.0) rb-fsevent (~> 0.10, >= 0.10.3) rb-inotify (~> 0.9, >= 0.9.10) locale (2.1.3) @@ -736,7 +728,7 @@ GEM activesupport (>= 4) railties (>= 4) request_store (~> 1.0) - loofah (2.9.1) + loofah (2.11.0) crass (~> 1.0.2) nokogiri (>= 1.5.9) lru_redux (1.1.0) @@ -748,8 +740,6 @@ GEM actionpack (>= 2.3) activerecord (>= 2.3) memoist (0.16.2) - memoizable (0.4.2) - thread_safe (~> 0.3, >= 0.3.1) memory_profiler (0.9.14) method_source (1.0.0) mime-types (3.3.1) @@ -758,7 +748,7 @@ GEM mini_histogram (0.3.1) mini_magick (4.10.1) mini_mime (1.0.2) - mini_portile2 (2.5.1) + mini_portile2 (2.5.3) minitest (5.11.3) mixlib-cli (2.1.8) mixlib-config (3.0.9) @@ -796,7 +786,7 @@ GEM netrc (0.11.0) nio4r (2.5.4) no_proxy_fix (0.1.2) - nokogiri (1.11.5) + nokogiri (1.11.7) mini_portile2 (~> 2.5.0) racc (~> 1.4) nokogumbo (2.0.2) @@ -935,7 +925,6 @@ GEM coderay parser unparser - procto (0.0.3) prometheus-client-mmap (0.12.0) pry (0.13.1) coderay (~> 1.1) @@ -1012,7 +1001,7 @@ GEM rake (>= 0.8.7) thor (~> 1.0) rainbow (3.0.0) - rake (13.0.3) + rake (13.0.6) rb-fsevent (0.10.4) rb-inotify (0.10.1) ffi (~> 1.0) @@ -1022,6 +1011,7 @@ GEM ffi (>= 1.0.6) msgpack (>= 0.4.3) optimist (>= 3.0.0) + rbtree (0.4.4) rchardet (1.8.0) rdoc (6.3.2) re2 (1.2.0) @@ -1047,8 +1037,8 @@ GEM redis-store (>= 1.2, < 2) redis-store (1.8.1) redis (>= 4, < 5) - regexp_parser (1.8.2) - regexp_property_values (0.3.5) + regexp_parser (2.1.1) + regexp_property_values (1.0.0) representable (3.0.4) declarative (< 0.1.0) declarative-option (< 0.2.0) @@ -1086,7 +1076,7 @@ GEM rspec-mocks (3.10.2) diff-lcs (>= 1.2.0, < 2.0) rspec-support (~> 3.10.0) - rspec-parameterized (0.4.2) + rspec-parameterized (0.5.0) binding_ninja (>= 0.2.3) parser proc_to_ast @@ -1186,6 +1176,7 @@ GEM rubyzip (>= 1.2.2) sentry-raven (3.1.2) faraday (>= 1.0) + set (1.0.1) settingslogic (2.0.9) sexp_processor (4.15.1) shellany (0.0.1) @@ -1210,12 +1201,12 @@ GEM simplecov-html (~> 0.11) simplecov-cobertura (1.3.1) simplecov (~> 0.8) - simplecov-html (0.12.2) + simplecov-html (0.12.3) sixarm_ruby_unaccent (1.2.0) slack-messenger (2.3.4) snowplow-tracker (0.6.1) contracts (~> 0.7, <= 0.11) - solargraph (0.42.3) + solargraph (0.43.0) backport (~> 1.2) benchmark bundler (>= 1.17.2) @@ -1230,6 +1221,9 @@ GEM thor (~> 1.0) tilt (~> 2.0) yard (~> 0.9, >= 0.9.24) + sorted_set (1.0.3) + rbtree + set (~> 1.0) spamcheck (0.1.0) grpc (~> 1.0) spring (2.1.1) @@ -1279,7 +1273,6 @@ GEM eventmachine (~> 1.0, >= 1.0.4) rack (>= 1, < 3) thor (1.1.0) - thread_safe (0.3.6) thrift (0.14.0) tilt (2.0.10) timecop (0.9.1) @@ -1330,16 +1323,11 @@ GEM unicode-display_width (1.7.0) unicode_utils (1.4.0) uniform_notifier (1.13.0) - unleash (0.1.5) + unleash (3.2.2) murmurhash3 (~> 0.1.6) - unparser (0.4.7) - abstract_type (~> 0.0.7) - adamantium (~> 0.2.0) - concord (~> 0.1.5) + unparser (0.6.0) diff-lcs (~> 1.3) - equalizer (~> 0.0.9) - parser (>= 2.6.5) - procto (~> 0.0.2) + parser (>= 3.0.0) uri_template (0.7.0) valid_email (0.1.3) activemodel @@ -1357,6 +1345,7 @@ GEM vmstat (2.3.0) warden (1.2.8) rack (>= 2.0.6) + warning (1.2.0) webauthn (2.3.0) android_key_attestation (~> 0.3.0) awrence (~> 1.1) @@ -1460,7 +1449,7 @@ DEPENDENCIES email_spec (~> 2.2.0) erubi (~> 1.9.0) escape_utils (~> 1.1) - factory_bot_rails (~> 6.1.0) + factory_bot_rails (~> 6.2.0) faraday (~> 1.0) faraday_middleware-aws-sigv4 (~> 0.3.0) fast_blank @@ -1482,18 +1471,18 @@ DEPENDENCIES gettext (~> 3.3) gettext_i18n_rails (~> 1.8.0) gettext_i18n_rails_js (~> 1.3) - gitaly (~> 14.1.0.pre.rc3) + gitaly (~> 14.2.0.pre.rc2) github-markup (~> 1.7.0) gitlab-chronic (~> 0.10.5) - gitlab-dangerfiles (~> 2.2.2) - gitlab-experiment (~> 0.6.1) + gitlab-dangerfiles (~> 2.3.0) + gitlab-experiment (~> 0.6.4) gitlab-fog-azure-rm (~> 1.1.1) - gitlab-labkit (~> 0.20.0) + gitlab-labkit (~> 0.21.0) gitlab-license (~> 2.0) gitlab-mail_room (~> 0.0.9) gitlab-markup (~> 1.7.1) gitlab-net-dns (~> 0.9.1) - gitlab-omniauth-openid-connect (~> 0.4.0) + gitlab-omniauth-openid-connect (~> 0.8.0) gitlab-sidekiq-fetcher (= 0.5.6) gitlab-styles (~> 6.2.0) gitlab_chronic_duration (~> 0.10.6.2) @@ -1510,7 +1499,7 @@ DEPENDENCIES graphlient (~> 0.4.0) graphql (~> 1.11.8) graphql-docs (~> 1.6.0) - grpc (~> 1.30.2) + grpc (~> 1.38.0) gssapi guard-rspec haml_lint (~> 0.36.0) @@ -1526,9 +1515,9 @@ DEPENDENCIES invisible_captcha (~> 1.1.0) ipaddress (~> 0.8.3) jira-ruby (~> 2.1.4) - js_regex (~> 3.4) + js_regex (~> 3.7) json (~> 2.3.0) - json_schemer (~> 0.2.12) + json_schemer (~> 0.2.18) jwt (~> 2.1.0) kaminari (~> 1.0) kas-grpc (~> 0.0.2) @@ -1642,7 +1631,7 @@ DEPENDENCIES simplecov-cobertura (~> 1.3.1) slack-messenger (~> 2.3.4) snowplow-tracker (~> 0.6.1) - solargraph (~> 0.42) + solargraph (~> 0.43) spamcheck (~> 0.1.0) spring (~> 2.1.0) spring-commands-rspec (~> 1.0.4) @@ -1661,11 +1650,12 @@ DEPENDENCIES truncato (~> 0.7.11) u2f (~> 0.2.1) unf (~> 0.1.4) - unleash (~> 0.1.5) + unleash (~> 3.2.2) valid_email (~> 0.1) validates_hostname (~> 1.0.11) version_sorter (~> 2.2.4) vmstat (~> 2.3.0) + warning (~> 1.2.0) webauthn (~> 2.3) webmock (~> 3.9.1) webrick (~> 1.6.1) diff --git a/app/assets/images/cluster_app_logos/cert_manager.png b/app/assets/images/cluster_app_logos/cert_manager.png deleted file mode 100644 index bbc867858da..00000000000 Binary files a/app/assets/images/cluster_app_logos/cert_manager.png and /dev/null differ diff --git a/app/assets/images/cluster_app_logos/crossplane.png b/app/assets/images/cluster_app_logos/crossplane.png deleted file mode 100644 index 32d8175108c..00000000000 Binary files a/app/assets/images/cluster_app_logos/crossplane.png and /dev/null differ diff --git a/app/assets/images/cluster_app_logos/elastic_stack.png b/app/assets/images/cluster_app_logos/elastic_stack.png deleted file mode 100644 index 69fbc6aacd0..00000000000 Binary files a/app/assets/images/cluster_app_logos/elastic_stack.png and /dev/null differ diff --git a/app/assets/images/cluster_app_logos/elasticsearch.png b/app/assets/images/cluster_app_logos/elasticsearch.png deleted file mode 100644 index 96e9e0ff934..00000000000 Binary files a/app/assets/images/cluster_app_logos/elasticsearch.png and /dev/null differ diff --git a/app/assets/images/cluster_app_logos/gitlab.png b/app/assets/images/cluster_app_logos/gitlab.png deleted file mode 100644 index cb2195fc6a2..00000000000 Binary files a/app/assets/images/cluster_app_logos/gitlab.png and /dev/null differ diff --git a/app/assets/images/cluster_app_logos/helm.png b/app/assets/images/cluster_app_logos/helm.png deleted file mode 100644 index 2989cae7b93..00000000000 Binary files a/app/assets/images/cluster_app_logos/helm.png and /dev/null differ diff --git a/app/assets/images/cluster_app_logos/jeager.png b/app/assets/images/cluster_app_logos/jeager.png deleted file mode 100644 index be5bf2a0c9c..00000000000 Binary files a/app/assets/images/cluster_app_logos/jeager.png and /dev/null differ diff --git a/app/assets/images/cluster_app_logos/jupyterhub.png b/app/assets/images/cluster_app_logos/jupyterhub.png deleted file mode 100644 index 80c7343067f..00000000000 Binary files a/app/assets/images/cluster_app_logos/jupyterhub.png and /dev/null differ diff --git a/app/assets/images/cluster_app_logos/knative.png b/app/assets/images/cluster_app_logos/knative.png deleted file mode 100644 index 0a2510c8549..00000000000 Binary files a/app/assets/images/cluster_app_logos/knative.png and /dev/null differ diff --git a/app/assets/images/cluster_app_logos/kubernetes.png b/app/assets/images/cluster_app_logos/kubernetes.png deleted file mode 100644 index 4d774909c10..00000000000 Binary files a/app/assets/images/cluster_app_logos/kubernetes.png and /dev/null differ diff --git a/app/assets/images/cluster_app_logos/meltano.png b/app/assets/images/cluster_app_logos/meltano.png deleted file mode 100644 index 7a2d82fbe27..00000000000 Binary files a/app/assets/images/cluster_app_logos/meltano.png and /dev/null differ diff --git a/app/assets/images/cluster_app_logos/modsecurity.png b/app/assets/images/cluster_app_logos/modsecurity.png deleted file mode 100644 index fd58275e1d7..00000000000 Binary files a/app/assets/images/cluster_app_logos/modsecurity.png and /dev/null differ diff --git a/app/assets/images/cluster_app_logos/prometheus.png b/app/assets/images/cluster_app_logos/prometheus.png deleted file mode 100644 index a8663449b88..00000000000 Binary files a/app/assets/images/cluster_app_logos/prometheus.png and /dev/null differ diff --git a/app/assets/images/dev_ops_report_overview.svg b/app/assets/images/dev_ops_report_overview.svg new file mode 100644 index 00000000000..2f31113bad7 --- /dev/null +++ b/app/assets/images/dev_ops_report_overview.svg @@ -0,0 +1,64 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/app/assets/images/gitorious-logo-black.png b/app/assets/images/gitorious-logo-black.png deleted file mode 100644 index 4a55fdc225a..00000000000 Binary files a/app/assets/images/gitorious-logo-black.png and /dev/null differ diff --git a/app/assets/images/gitorious-logo-blue.png b/app/assets/images/gitorious-logo-blue.png deleted file mode 100644 index 5eaa327d3df..00000000000 Binary files a/app/assets/images/gitorious-logo-blue.png and /dev/null differ diff --git a/app/assets/images/mailers/in_product_marketing/admin_verify-0.png b/app/assets/images/mailers/in_product_marketing/admin_verify-0.png new file mode 100644 index 00000000000..c6d3e55afc1 Binary files /dev/null and b/app/assets/images/mailers/in_product_marketing/admin_verify-0.png differ diff --git a/app/assets/javascripts/admin/users/components/actions/ban.vue b/app/assets/javascripts/admin/users/components/actions/ban.vue index 4e9cefbfdd7..e5ab0f9123f 100644 --- a/app/assets/javascripts/admin/users/components/actions/ban.vue +++ b/app/assets/javascripts/admin/users/components/actions/ban.vue @@ -6,10 +6,11 @@ import { I18N_USER_ACTIONS } from '../../constants'; // TODO: To be replaced with