From 9ad2a01083fb03f44a08bb93bac962310a93d07a Mon Sep 17 00:00:00 2001
From: Sruthi Chandran
Date: Mon, 30 Sep 2019 21:07:59 +0530
Subject: [PATCH] New upstream version 12.1.11
---
.eslintrc.yml | 1 +
.gitlab-ci.yml | 2 +-
.gitlab/CODEOWNERS | 6 +-
.gitlab/ci/docs.gitlab-ci.yml | 9 +-
.gitlab/ci/frontend.gitlab-ci.yml | 62 +-
.gitlab/ci/global.gitlab-ci.yml | 30 +-
.gitlab/ci/memory.gitlab-ci.yml | 42 +
.gitlab/ci/rails.gitlab-ci.yml | 136 +-
.gitlab/ci/reports.gitlab-ci.yml | 86 +-
.gitlab/ci/review.gitlab-ci.yml | 55 +-
.gitlab/ci/setup.gitlab-ci.yml | 14 +-
.gitlab/ci/test-metadata.gitlab-ci.yml | 14 +-
.gitlab/issue_templates/Database Reviewer.md | 34 -
.gitlab/issue_templates/Documentation.md | 2 +-
.../Change documentation location.md | 2 +-
.mdlrc | 7 +
.mdlrc.style | 21 +
.rubocop_todo.yml | 3 -
CHANGELOG.md | 374 +++-
Dangerfile | 1 +
GITALY_SERVER_VERSION | 2 +-
GITLAB_PAGES_VERSION | 2 +-
Gemfile | 28 +-
Gemfile.lock | 175 +-
PROCESS.md | 49 +-
README.md | 2 +-
VERSION | 2 +-
.../images/auth_buttons/salesforce_64.png | Bin 0 -> 8774 bytes
app/assets/javascripts/api.js | 22 +
.../behaviors/markdown/render_mermaid.js | 11 +-
.../javascripts/boards/components/board.js | 40 +-
.../boards/components/board_blank_state.vue | 22 +-
.../boards/components/board_form.vue | 216 ++
.../boards/components/board_list.vue | 4 +-
.../boards/components/board_new_issue.vue | 13 +-
.../boards/components/board_sidebar.js | 1 +
.../boards/components/boards_selector.vue | 334 +++
.../boards/components/issue_card_inner.vue | 25 +-
.../boards/components/issue_time_estimate.vue | 10 +-
.../boards/components/modal/empty_state.vue | 30 +-
.../boards/components/modal/footer.vue | 16 +-
.../boards/components/modal/header.vue | 7 +-
.../boards/components/modal/list.vue | 4 +-
.../boards/components/project_select.vue | 9 +-
.../components/sidebar/remove_issue.vue | 2 +-
.../javascripts/boards/config_toggle.js | 1 +
.../boards/filtered_search_boards.js | 3 +-
app/assets/javascripts/boards/index.js | 42 +-
.../javascripts/boards/mixins/modal_footer.js | 1 +
.../boards/mixins/sortable_default_options.js | 4 +-
app/assets/javascripts/boards/models/issue.js | 6 +-
app/assets/javascripts/boards/models/list.js | 16 +-
.../javascripts/boards/models/milestone.js | 4 +-
.../boards/mount_multiple_boards_switcher.js | 35 +
.../boards/services/board_service.js | 92 +-
.../javascripts/boards/stores/boards_store.js | 156 ++
app/assets/javascripts/boards/toggle_focus.js | 1 +
.../branches/components/divergence_graph.vue | 72 +
.../branches/components/graph_bar.vue | 69 +
app/assets/javascripts/branches/constants.js | 6 +
.../javascripts/branches/divergence_graph.js | 51 +
.../clusters/components/application_row.vue | 4 +-
.../components/knative_domain_editor.vue | 10 +-
.../uninstall_application_button.vue | 3 +-
...install_application_confirmation_modal.vue | 4 +-
.../services/application_state_machine.js | 6 +
app/assets/javascripts/commons/index.js | 3 +
.../commons/nav/user_merge_requests.js | 67 +
app/assets/javascripts/commons/polyfills.js | 1 +
.../components/dropdown.vue | 58 +
.../components/project_form_group.vue | 140 ++
.../confidential_merge_request/index.js | 30 +
.../confidential_merge_request/state.js | 5 +
.../create_merge_request_dropdown.js | 47 +-
.../cycle_analytics/cycle_analytics_bundle.js | 10 +-
.../components/comment_resolve_btn.js | 8 +-
.../diffs/components/commit_item.vue | 4 +-
.../components/compare_versions_dropdown.vue | 16 +-
.../components/diff_discussion_reply.vue | 55 +
.../diffs/components/diff_discussions.vue | 1 -
.../diffs/components/diff_file.vue | 22 +-
.../diffs/components/diff_file_header.vue | 8 +-
.../diffs/components/diff_gutter_avatars.vue | 29 +-
.../components/diff_line_gutter_content.vue | 17 +-
.../components/inline_diff_comment_row.vue | 46 +-
.../diffs/components/inline_diff_view.vue | 1 +
.../components/parallel_diff_comment_row.vue | 97 +-
.../diffs/components/parallel_diff_view.vue | 2 +
.../diffs/mixins/draft_comments.js | 2 +
app/assets/javascripts/diffs/store/actions.js | 34 +-
.../javascripts/diffs/store/mutation_types.js | 2 +
.../javascripts/diffs/store/mutations.js | 65 +-
app/assets/javascripts/diffs/store/utils.js | 45 +
.../environments/components/container.vue | 1 +
.../components/environment_actions.vue | 12 +-
.../components/environment_item.vue | 19 +-
.../components/environment_monitoring.vue | 3 +-
.../environment_terminal_button.vue | 3 +-
.../components/environments_app.vue | 6 +
.../components/environments_table.vue | 7 +
app/assets/javascripts/environments/index.js | 2 +
.../environments/mixins/container_mixin.js | 5 +
.../components/error_tracking_form.vue | 9 +-
.../javascripts/event_tracking/notes.js | 1 +
app/assets/javascripts/filterable_list.js | 6 +-
.../available_dropdown_mappings.js | 6 +-
.../recent_searches_dropdown_content.vue | 6 +-
.../javascripts/filtered_search/constants.js | 2 +-
.../filtered_search_dropdown_manager.js | 6 +-
.../filtered_search_manager.js | 3 +-
.../filtered_search/visual_token_value.js | 4 +-
app/assets/javascripts/gfm_auto_complete.js | 30 +-
app/assets/javascripts/group.js | 4 +-
.../groups/components/group_item.vue | 77 +-
.../groups/components/item_actions.vue | 30 +-
.../groups/components/item_caret.vue | 2 +-
.../groups/components/item_stats.vue | 8 +-
.../groups/components/item_type_icon.vue | 2 +-
app/assets/javascripts/groups_select.js | 4 +-
.../components/commit_sidebar/list_item.vue | 3 +-
.../ide/components/external_link.vue | 2 +-
.../ide/components/ide_tree_list.vue | 7 +-
.../ide/components/repo_editor.vue | 59 +-
.../ide/components/repo_file_status_icon.vue | 5 +-
.../javascripts/ide/components/repo_tab.vue | 5 +-
app/assets/javascripts/ide/lib/files.js | 5 +-
app/assets/javascripts/ide/stores/actions.js | 19 +-
.../javascripts/ide/stores/actions/file.js | 4 +-
.../ide/stores/modules/commit/actions.js | 10 +-
.../javascripts/ide/stores/mutation_types.js | 2 +
.../javascripts/ide/stores/mutations.js | 22 +-
.../javascripts/ide/stores/mutations/file.js | 32 +-
app/assets/javascripts/ide/stores/state.js | 1 +
app/assets/javascripts/ide/stores/utils.js | 10 +-
app/assets/javascripts/ide/utils.js | 2 +-
.../issuable_bulk_update_actions.js | 4 +-
app/assets/javascripts/issuable_index.js | 17 +-
.../issuable_init_bulk_update_sidebar.js | 19 +
.../issuable_suggestions/components/app.vue | 2 +-
.../{issues.graphql => issues.query.graphql} | 0
.../javascripts/issue_show/components/app.vue | 7 +-
.../issue_show/components/edit_actions.vue | 4 +-
.../components/fields/description.vue | 6 +-
.../fields/description_template.vue | 25 +-
.../issue_show/components/fields/title.vue | 6 +-
.../issue_show/components/locked_warning.vue | 20 +-
.../issue_show/components/pinned_links.vue | 31 +-
.../jobs/components/environments_block.vue | 4 +-
.../jobs/components/job_log_controllers.vue | 8 +-
.../javascripts/jobs/components/sidebar.vue | 5 +-
app/assets/javascripts/labels_select.js | 7 +-
app/assets/javascripts/lib/graphql.js | 2 +-
.../javascripts/lib/utils/common_utils.js | 8 -
.../javascripts/lib/utils/datetime_utility.js | 17 +-
.../javascripts/lib/utils/text_utility.js | 11 +-
app/assets/javascripts/main.js | 6 +
app/assets/javascripts/main_ee.js | 1 +
app/assets/javascripts/manual_ordering.js | 58 +
.../monitoring/components/charts/area.vue | 32 +-
.../monitoring/components/charts/column.vue | 120 +
.../components/charts/single_stat.vue | 29 +-
.../monitoring/components/dashboard.vue | 145 +-
.../monitoring/components/empty_state.vue | 93 +-
.../monitoring/components/panel_type.vue | 62 +
.../monitoring/monitoring_bundle.js | 15 +-
.../javascripts/monitoring/stores/actions.js | 22 +-
.../monitoring/stores/mutation_types.js | 3 +
.../monitoring/stores/mutations.js | 11 +
.../javascripts/monitoring/stores/state.js | 5 +
.../javascripts/monitoring/stores/utils.js | 44 +-
app/assets/javascripts/monitoring/utils.js | 24 +
.../mr_popover/components/mr_popover.vue | 2 +-
...st.graphql => merge_request.query.graphql} | 2 +-
app/assets/javascripts/notes.js | 4 +-
.../notes/components/comment_form.vue | 54 +-
.../notes/components/diff_with_note.vue | 9 +-
.../notes/components/discussion_actions.vue | 17 +-
.../notes/components/discussion_counter.vue | 6 +-
.../notes/components/discussion_notes.vue | 57 +-
.../discussion_notes_replies_wrapper.vue | 27 +
.../discussion_reply_placeholder.vue | 8 +-
.../discussion_resolve_with_issue_button.vue | 2 +-
.../notes/components/note_actions.vue | 2 +-
.../components/note_actions/reply_button.vue | 2 +-
.../notes/components/note_awards_list.vue | 16 +-
.../notes/components/note_form.vue | 36 +-
.../notes/components/note_header.vue | 4 +-
.../components/note_signed_out_widget.vue | 19 +-
.../notes/components/noteable_discussion.vue | 51 +-
.../notes/components/noteable_note.vue | 18 +-
.../notes/components/notes_app.vue | 3 +-
app/assets/javascripts/notes/index.js | 5 +-
.../javascripts/notes/mixins/resolvable.js | 6 +-
.../notes/services/notes_service.js | 10 -
.../javascripts/notes/stores/actions.js | 31 +-
.../javascripts/notes/stores/getters.js | 6 +-
.../pages/dashboard/issues/index.js | 2 +
.../pages/dashboard/todos/index/todos.js | 4 +-
.../javascripts/pages/groups/issues/index.js | 6 +
.../pages/profiles/two_factor_auths/index.js | 4 +-
.../pages/projects/branches/index/index.js | 2 +
.../javascripts/pages/projects/issues/form.js | 4 +-
.../pages/projects/issues/index/index.js | 2 +
.../pages/projects/pages_domains/form.js | 16 -
.../components/project_feature_setting.vue | 5 +-
.../permissions/components/settings_panel.vue | 72 +-
.../projects/shared/permissions/constants.js | 27 +
.../mixins/settings_pannel_mixin.js | 26 +
.../javascripts/pages/sessions/new/index.js | 2 +-
.../pages/sessions/new/username_validator.js | 160 +-
.../javascripts/pages/users/user_tabs.js | 4 +-
app/assets/javascripts/pdf/index.vue | 16 +-
app/assets/javascripts/pdf/page/index.vue | 4 +-
.../components/detailed_metric.vue | 4 +-
.../components/performance_bar_app.vue | 29 +-
.../components/simple_metric.vue | 33 -
.../pipelines/components/header_component.vue | 5 +-
.../pipelines/components/pipeline_url.vue | 5 +-
.../pipelines/components/pipelines_table.vue | 5 +
.../components/pipelines_table_row.vue | 6 +-
.../javascripts/pipelines/mixins/pipelines.js | 6 +-
.../pipelines/pipeline_details_mediator.js | 2 +-
.../javascripts/projects/project_new.js | 4 +-
.../projects/projects_filterable_list.js | 7 +
.../commit_pipeline_status_component.vue | 4 +-
app/assets/javascripts/projects_list.js | 4 +-
.../javascripts/registry/components/app.vue | 134 +-
.../components/collapsible_container.vue | 27 +-
.../registry/components/svg_message.vue | 26 +
.../registry/components/table_registry.vue | 55 +-
app/assets/javascripts/registry/index.js | 10 +
.../javascripts/registry/stores/actions.js | 6 +-
.../components/related_merge_requests.vue | 2 +-
.../releases/components/release_block.vue | 34 +-
.../reports/components/issue_status_icon.vue | 2 +-
.../reports/components/report_item.vue | 11 +-
.../reports/components/report_section.vue | 4 +-
.../reports/components/summary_row.vue | 14 +-
.../repository/components/breadcrumbs.vue | 190 +-
.../repository/components/last_commit.vue | 154 ++
.../repository/components/table/index.vue | 9 +-
.../repository/components/table/row.vue | 58 +-
app/assets/javascripts/repository/graphql.js | 17 +-
app/assets/javascripts/repository/index.js | 44 +-
app/assets/javascripts/repository/log_tree.js | 64 +
.../javascripts/repository/mixins/get_ref.js | 2 +-
.../queries/getCommit.query.graphql | 10 +
.../queries/getCommits.query.graphql | 10 +
...etFiles.graphql => getFiles.query.graphql} | 3 +
.../queries/getPermissions.query.graphql | 9 +
...h.graphql => getProjectPath.query.graphql} | 0
...phql => getProjectShortPath.query.graphql} | 0
.../{getRef.graphql => getRef.query.graphql} | 0
.../queries/pathLastCommit.query.graphql | 29 +
.../serverless/components/area.vue | 15 +-
.../components/function_details.vue | 4 +-
.../serverless/components/functions.vue | 47 +-
.../components/assignees/assignee_title.vue | 10 +-
.../components/assignees/assignees.vue | 29 +-
.../assignees/sidebar_assignees.vue | 7 +-
.../confidential/edit_form_buttons.vue | 3 +-
.../time_tracking/collapsed_state.vue | 2 +-
.../time_tracking/comparison_pane.vue | 29 +-
.../time_tracking/sidebar_time_tracking.vue | 1 +
.../time_tracking/spent_only_pane.vue | 19 +-
.../components/time_tracking/time_tracker.vue | 5 +
.../sidebar/components/todo_toggle/todo.vue | 4 +-
.../sidebar/mount_milestone_sidebar.js | 4 +-
.../javascripts/sidebar/sidebar_mediator.js | 2 +-
.../sidebar/stores/sidebar_store.js | 3 +-
.../components/comment.js | 50 +-
.../components/constants.js | 8 +-
.../visual_review_toolbar/components/index.js | 16 +-
.../visual_review_toolbar/components/login.js | 3 +-
.../visual_review_toolbar/components/note.js | 14 +-
.../visual_review_toolbar/components/utils.js | 6 +
.../components/wrapper.js | 36 +-
.../visual_review_toolbar/index.js | 9 +-
.../visual_review_toolbar/store/state.js | 3 +-
.../visual_review_toolbar/styles/toolbar.css | 49 +-
.../components/deployment.vue | 4 +-
.../components/mr_widget_header.vue | 2 +-
.../components/mr_widget_icon.vue | 2 +-
.../components/mr_widget_pipeline.vue | 10 +-
.../components/mr_widget_status_icon.vue | 4 +-
.../components/states/commits_header.vue | 2 +-
.../states/mr_widget_auto_merge_enabled.vue | 13 +-
.../components/states/mr_widget_rebase.vue | 43 +-
.../components/states/nothing_to_merge.vue | 34 +-
.../components/states/ready_to_merge.vue | 5 +-
.../states/unresolved_discussions.vue | 2 +-
.../components/states/work_in_progress.vue | 20 +-
.../mr_widget_options.vue | 10 +-
.../services/mr_widget_service.js | 4 +-
.../stores/mr_widget_store.js | 3 +-
.../components/changed_file_icon.vue | 3 +-
.../vue_shared/components/commit.vue | 7 +-
.../content_viewer/lib/viewer_utils.js | 1 +
.../content_viewer/viewers/image_viewer.vue | 4 +-
.../viewers/markdown_viewer.vue | 2 +-
.../components/deprecated_modal.vue | 6 +-
.../components/droplab_dropdown_button.vue | 2 +-
.../vue_shared/components/file_row.vue | 2 +-
.../components/filtered_search_dropdown.vue | 4 +-
.../components/header_ci_component.vue | 13 +-
.../components/issue/issue_warning.vue | 8 +-
.../issue/related_issuable_item.vue | 155 +-
.../vue_shared/components/markdown/field.vue | 30 +-
.../components/markdown/suggestions.vue | 3 +-
.../components/markdown/toolbar.vue | 25 +-
.../vue_shared/components/memory_graph.vue | 3 +-
.../components/modal_copy_button.vue | 6 +
.../components/notes/placeholder_note.vue | 2 +-
.../components/notes/system_note.vue | 2 +-
.../vue_shared/components/paginated_list.vue | 35 +
.../components/pagination/constants.js | 4 +-
.../components/project_avatar/image.vue | 25 +-
.../sidebar/collapsed_grouped_date_picker.vue | 4 +-
.../components/sidebar/date_picker.vue | 8 +-
.../components/sidebar/toggle_sidebar.vue | 2 +-
.../user_avatar/user_avatar_image.vue | 3 +-
.../vue_shared/directives/tooltip.js | 4 +
.../javascripts/vue_shared/mixins/is_ee.js | 10 -
.../mixins/related_issuable_mixin.js | 3 +
app/assets/stylesheets/application.scss | 8 +-
app/assets/stylesheets/bootstrap.scss | 37 -
.../stylesheets/bootstrap_migration.scss | 7 +-
app/assets/stylesheets/components/avatar.scss | 5 +
.../stylesheets/components/popover.scss | 7 +-
.../components/related_items_list.scss | 83 +-
app/assets/stylesheets/components/toast.scss | 15 +-
app/assets/stylesheets/csslab.scss | 2 +-
app/assets/stylesheets/errors.scss | 12 +-
app/assets/stylesheets/framework.scss | 4 +-
.../stylesheets/framework/asciidoctor.scss | 27 -
app/assets/stylesheets/framework/blocks.scss | 1 -
.../stylesheets/framework/dropdowns.scss | 3 +-
app/assets/stylesheets/framework/filters.scss | 53 +-
app/assets/stylesheets/framework/icons.scss | 3 -
app/assets/stylesheets/framework/lists.scss | 2 -
app/assets/stylesheets/framework/mixins.scss | 2 +-
app/assets/stylesheets/framework/modal.scss | 51 +-
app/assets/stylesheets/framework/panels.scss | 1 -
.../secondary_navigation_elements.scss | 1 +
.../framework/system_messages.scss | 10 -
.../stylesheets/framework/typography.scss | 70 +-
.../stylesheets/framework/variables.scss | 4 +-
app/assets/stylesheets/pages/boards.scss | 72 +-
app/assets/stylesheets/pages/branches.scss | 36 -
app/assets/stylesheets/pages/builds.scss | 1 +
app/assets/stylesheets/pages/commits.scss | 2 +-
.../stylesheets/pages/container_registry.scss | 10 +
app/assets/stylesheets/pages/diff.scss | 22 +-
app/assets/stylesheets/pages/groups.scss | 80 +-
app/assets/stylesheets/pages/help.scss | 6 +
app/assets/stylesheets/pages/issuable.scss | 6 +-
app/assets/stylesheets/pages/issues.scss | 14 +
app/assets/stylesheets/pages/labels.scss | 4 +
.../stylesheets/pages/merge_requests.scss | 27 +-
app/assets/stylesheets/pages/notes.scss | 48 +-
app/assets/stylesheets/pages/pipelines.scss | 4 +-
app/assets/stylesheets/pages/projects.scss | 5 -
app/assets/stylesheets/pages/reports.scss | 9 +-
app/assets/stylesheets/pages/wiki.scss | 5 +-
.../admin/application_settings_controller.rb | 91 +-
app/controllers/application_controller.rb | 6 +
app/controllers/boards/issues_controller.rb | 32 +-
app/controllers/chaos_controller.rb | 87 +-
app/controllers/concerns/boards_responses.rb | 3 +-
app/controllers/concerns/continue_params.rb | 2 +-
.../enforces_two_factor_authentication.rb | 3 +-
app/controllers/concerns/internal_redirect.rb | 4 +-
app/controllers/concerns/issuable_actions.rb | 4 +-
.../concerns/issuable_collections.rb | 6 +
.../concerns/multiple_boards_actions.rb | 90 +
.../requires_whitelisted_monitoring_client.rb | 6 +-
.../dashboard/projects_controller.rb | 3 +-
app/controllers/dashboard/todos_controller.rb | 5 +-
app/controllers/graphql_controller.rb | 5 -
app/controllers/groups/clusters_controller.rb | 9 -
app/controllers/groups_controller.rb | 9 +-
.../projects/application_controller.rb | 6 -
app/controllers/projects/boards_controller.rb | 2 +-
.../projects/branches_controller.rb | 38 +-
.../cycle_analytics/events_controller.rb | 2 +-
.../projects/cycle_analytics_controller.rb | 2 +-
.../projects/deployments_controller.rb | 14 +-
.../projects/environments_controller.rb | 19 +-
app/controllers/projects/forks_controller.rb | 18 +-
.../projects/imports_controller.rb | 8 +-
app/controllers/projects/issues_controller.rb | 27 +-
app/controllers/projects/jobs_controller.rb | 8 +-
.../merge_requests/application_controller.rb | 7 +
.../merge_requests/content_controller.rb | 22 +
.../projects/merge_requests_controller.rb | 16 +-
.../projects/pages_domains_controller.rb | 8 +-
app/controllers/projects/refs_controller.rb | 1 +
.../registry/repositories_controller.rb | 2 +
.../settings/repository_controller.rb | 2 +-
app/controllers/projects/tags_controller.rb | 3 +-
app/controllers/projects_controller.rb | 2 +-
app/controllers/registrations_controller.rb | 30 +-
app/controllers/search_controller.rb | 2 +
.../acts_as_taggable_on/tags_finder.rb | 3 +-
app/finders/boards/visits_finder.rb | 26 +
app/finders/branches_finder.rb | 14 +
app/finders/environments_finder.rb | 29 +
app/finders/issuable_finder.rb | 2 +-
app/finders/notes_finder.rb | 16 +-
app/finders/runner_jobs_finder.rb | 19 +-
app/graphql/gitlab_schema.rb | 3 +
app/graphql/mutations/award_emojis/add.rb | 25 +
app/graphql/mutations/award_emojis/base.rb | 39 +
app/graphql/mutations/award_emojis/remove.rb | 33 +
app/graphql/mutations/award_emojis/toggle.rb | 40 +
app/graphql/mutations/base_mutation.rb | 8 +
app/graphql/mutations/merge_requests/base.rb | 1 -
app/graphql/mutations/notes/base.rb | 32 +
app/graphql/mutations/notes/create/base.rb | 49 +
.../mutations/notes/create/diff_note.rb | 33 +
.../mutations/notes/create/image_diff_note.rb | 33 +
app/graphql/mutations/notes/create/note.rb | 40 +
app/graphql/mutations/notes/destroy.rb | 28 +
app/graphql/mutations/notes/update.rb | 38 +
.../types/award_emojis/award_emoji_type.rb | 46 +
app/graphql/types/base_field.rb | 19 +-
app/graphql/types/base_input_object.rb | 1 +
app/graphql/types/base_object.rb | 1 +
app/graphql/types/ci/detailed_status_type.rb | 3 +
app/graphql/types/commit_type.rb | 30 +
app/graphql/types/diff_paths_input_type.rb | 12 +
app/graphql/types/diff_refs_type.rb | 14 +
app/graphql/types/issue_state_enum.rb | 3 +
app/graphql/types/issue_type.rb | 2 +
app/graphql/types/label_type.rb | 1 +
app/graphql/types/merge_request_state_enum.rb | 3 +
app/graphql/types/merge_request_type.rb | 5 +-
app/graphql/types/mutation_type.rb | 10 +-
app/graphql/types/namespace_type.rb | 1 +
.../notes/diff_image_position_input_type.rb | 20 +
.../notes/diff_position_base_input_type.rb | 22 +
.../types/notes/diff_position_input_type.rb | 16 +
app/graphql/types/notes/diff_position_type.rb | 10 +-
app/graphql/types/notes/discussion_type.rb | 8 +
app/graphql/types/notes/note_type.rb | 2 +
.../types/permission_types/merge_request.rb | 4 +-
app/graphql/types/project_type.rb | 5 +-
app/graphql/types/repository_type.rb | 6 +-
app/graphql/types/task_completion_status.rb | 4 +
app/graphql/types/tree/blob_type.rb | 3 +
app/graphql/types/tree/submodule_type.rb | 6 +
app/graphql/types/tree/tree_entry_type.rb | 3 +
app/graphql/types/tree/tree_type.rb | 14 +-
app/helpers/appearances_helper.rb | 5 +-
app/helpers/application_settings_helper.rb | 11 +-
app/helpers/auth_helper.rb | 2 +-
app/helpers/blob_helper.rb | 11 +-
app/helpers/boards_helper.rb | 22 +-
app/helpers/branches_helper.rb | 8 -
app/helpers/groups_helper.rb | 2 +-
app/helpers/icons_helper.rb | 21 +-
app/helpers/issuables_helper.rb | 11 +-
app/helpers/issues_helper.rb | 15 +
app/helpers/markup_helper.rb | 14 +-
app/helpers/onboarding_experiment_helper.rb | 7 +
app/helpers/preferences_helper.rb | 2 +-
app/helpers/projects_helper.rb | 2 +-
app/helpers/recaptcha_experiment_helper.rb | 7 +
app/helpers/search_helper.rb | 5 +-
app/helpers/sorting_helper.rb | 83 +-
app/helpers/storage_helper.rb | 2 +-
app/helpers/submodule_helper.rb | 24 +-
app/helpers/todos_helper.rb | 2 +-
app/helpers/tree_helper.rb | 39 +
app/helpers/visibility_level_helper.rb | 22 +-
app/mailers/emails/notes.rb | 4 +-
app/models/active_session.rb | 12 +-
app/models/application_setting.rb | 26 +-
.../application_setting_implementation.rb | 22 +-
app/models/board.rb | 5 +-
app/models/broadcast_message.rb | 2 +-
app/models/chat_team.rb | 2 +-
app/models/ci/build.rb | 4 +-
app/models/ci/pipeline.rb | 11 +-
app/models/ci/pipeline_schedule.rb | 26 +-
app/models/ci/trigger.rb | 11 +-
app/models/clusters/applications/ingress.rb | 15 +-
app/models/clusters/applications/jupyter.rb | 10 +-
app/models/clusters/applications/knative.rb | 2 +-
.../clusters/applications/prometheus.rb | 8 -
app/models/clusters/applications/runner.rb | 17 +-
app/models/clusters/clusters_hierarchy.rb | 104 +
.../clusters/concerns/application_core.rb | 10 +
.../clusters/concerns/application_status.rb | 24 +-
app/models/clusters/instance.rb | 4 -
app/models/clusters/platforms/kubernetes.rb | 71 +-
app/models/concerns/cache_markdown_field.rb | 15 +-
app/models/concerns/cacheable_attributes.rb | 12 +-
app/models/concerns/ci/contextable.rb | 1 +
app/models/concerns/deployable.rb | 1 +
app/models/concerns/deployment_platform.rb | 65 +-
app/models/concerns/from_union.rb | 6 +-
app/models/concerns/has_status.rb | 66 +-
app/models/concerns/issuable.rb | 4 +-
app/models/concerns/mentionable.rb | 3 +
.../concerns/project_api_compatibility.rb | 18 +
.../project_features_compatibility.rb | 54 +-
app/models/concerns/reactive_caching.rb | 8 +-
app/models/concerns/relative_positioning.rb | 6 +-
app/models/concerns/routable.rb | 2 +-
.../concerns/service_push_data_validations.rb | 43 +
app/models/concerns/stepable.rb | 35 +
.../concerns/storage/legacy_namespace.rb | 2 +-
app/models/concerns/token_authenticatable.rb | 2 +-
.../concerns/update_project_statistics.rb | 19 +-
app/models/cycle_analytics.rb | 46 -
app/models/cycle_analytics/base.rb | 27 +
app/models/cycle_analytics/project_level.rb | 22 +
app/models/deploy_token.rb | 14 +-
app/models/deployment.rb | 31 +-
app/models/deployment_metrics.rb | 61 +
app/models/discussion.rb | 11 +
app/models/email.rb | 3 +-
app/models/environment.rb | 23 +-
app/models/environment_status.rb | 24 +-
app/models/group.rb | 6 +-
app/models/issue.rb | 3 -
app/models/label_note.rb | 18 +-
app/models/list.rb | 1 +
app/models/merge_request.rb | 93 +-
app/models/merge_requests_closing_issues.rb | 2 +-
app/models/namespace.rb | 21 +-
app/models/namespace/aggregation_schedule.rb | 55 +
.../namespace/root_storage_statistics.rb | 38 +
app/models/note.rb | 4 +-
app/models/pages_domain.rb | 52 +-
app/models/postgresql/replication_slot.rb | 2 +-
app/models/project.rb | 71 +-
app/models/project_auto_devops.rb | 2 +-
app/models/project_feature.rb | 20 +
app/models/project_import_state.rb | 2 +-
.../project_services/bugzilla_service.rb | 18 +-
app/models/project_services/ci_service.rb | 2 +-
.../custom_issue_tracker_service.rb | 20 +-
.../project_services/drone_ci_service.rb | 24 +-
.../gitlab_issue_tracker_service.rb | 10 +-
.../project_services/issue_tracker_service.rb | 33 +
app/models/project_services/jira_service.rb | 43 +-
.../project_services/kubernetes_service.rb | 138 +-
.../project_services/redmine_service.rb | 18 +-
.../slash_commands_service.rb | 2 +-
.../project_services/teamcity_service.rb | 78 +-
.../project_services/youtrack_service.rb | 12 +-
app/models/project_statistics.rb | 25 +-
app/models/prometheus_metric.rb | 65 +-
app/models/prometheus_metric_enums.rb | 70 +
app/models/release.rb | 10 +-
app/models/repository.rb | 53 +-
app/models/resource_label_event.rb | 7 +-
app/models/service.rb | 2 +-
app/models/snippet.rb | 4 +
app/models/ssh_host_key.rb | 2 +-
app/models/storage/legacy_project.rb | 2 +-
app/models/todo.rb | 2 +-
app/models/uploads/base.rb | 2 +-
app/models/user.rb | 35 +-
app/policies/award_emoji_policy.rb | 11 +
app/policies/ci/trigger_policy.rb | 2 +-
app/policies/clusters/instance_policy.rb | 10 +-
app/policies/concerns/clusterable_actions.rb | 14 -
app/policies/group_policy.rb | 7 -
app/policies/project_policy.rb | 10 +-
app/presenters/award_emoji_presenter.rb | 27 +
app/presenters/clusterable_presenter.rb | 14 +-
app/presenters/commit_presenter.rb | 8 +-
app/serializers/board_simple_entity.rb | 1 +
app/serializers/current_board_entity.rb | 6 +
app/serializers/current_board_serializer.rb | 5 +
app/serializers/diff_file_base_entity.rb | 11 +-
app/serializers/diffs_entity.rb | 5 +-
app/serializers/discussion_serializer.rb | 14 +
app/serializers/environment_status_entity.rb | 6 +-
.../merge_request_widget_entity.rb | 8 +-
app/serializers/submodule_entity.rb | 25 -
app/serializers/test_suite_comparer_entity.rb | 29 +-
app/services/akismet_service.rb | 4 +-
app/services/audit_event_service.rb | 6 +-
app/services/auto_merge/base_service.rb | 14 +-
.../merge_when_pipeline_succeeds_service.rb | 10 +-
app/services/auto_merge_service.rb | 6 +
app/services/boards/create_service.rb | 2 +-
app/services/boards/destroy_service.rb | 11 +
app/services/boards/issues/move_service.rb | 67 +-
app/services/boards/update_service.rb | 9 +
app/services/boards/visits/latest_service.rb | 19 -
.../diverging_commit_counts_service.rb | 32 +
app/services/ci/archive_trace_service.rb | 4 +-
.../ci/compare_reports_base_service.rb | 6 +-
app/services/ci/create_pipeline_service.rb | 2 +-
app/services/ci/process_pipeline_service.rb | 4 +-
app/services/ci/register_job_service.rb | 2 +-
.../check_uninstall_progress_service.rb | 1 +
app/services/clusters/create_service.rb | 17 +-
.../clusters/gcp/finalize_creation_service.rb | 3 -
app/services/clusters/gcp/kubernetes.rb | 2 +
...reate_or_update_service_account_service.rb | 41 +-
.../fetch_kubernetes_token_service.rb | 19 +-
.../concerns/exclusive_lease_guard.rb | 2 +-
app/services/deploy_tokens/create_service.rb | 4 +-
.../update_diff_position_service.rb | 3 +-
app/services/git/branch_hooks_service.rb | 8 +-
app/services/git/wiki_push_service.rb | 9 +
app/services/groups/create_service.rb | 3 +-
app/services/groups/destroy_service.rb | 2 +-
app/services/issuable/bulk_update_service.rb | 10 +-
.../issuable/clone/content_rewriter.rb | 6 +-
app/services/issuable_base_service.rb | 17 +-
app/services/issues/reorder_service.rb | 48 +
app/services/issues/update_service.rb | 5 +-
app/services/labels/create_service.rb | 2 +-
app/services/lfs/file_transformer.rb | 10 +-
app/services/merge_requests/base_service.rb | 4 +-
app/services/merge_requests/close_service.rb | 2 +-
.../create_from_issue_service.rb | 36 +-
.../merge_requests/merge_base_service.rb | 11 +
app/services/merge_requests/merge_service.rb | 8 +-
.../merge_requests/merge_to_ref_service.rb | 48 +-
.../mergeability_check_service.rb | 159 ++
app/services/merge_requests/rebase_service.rb | 4 +-
.../merge_requests/refresh_service.rb | 6 +-
app/services/merge_requests/update_service.rb | 2 +-
.../statistics_refresher_service.rb | 22 +
...obtain_lets_encrypt_certificate_service.rb | 12 +-
app/services/projects/after_import_service.rb | 2 +-
app/services/projects/create_service.rb | 2 +-
app/services/projects/destroy_service.rb | 2 +-
.../migrate_attachments_service.rb | 2 +-
.../rollback_attachments_service.rb | 2 +-
.../hashed_storage/rollback_service.rb | 2 +-
.../projects/import_export/export_service.rb | 4 +-
.../projects/propagate_service_template.rb | 2 +-
.../projects/update_statistics_service.rb | 2 +-
app/services/prometheus/adapter_service.rb | 7 +-
app/services/releases/concerns.rb | 4 +
app/services/releases/create_service.rb | 1 +
.../self_monitoring/project/create_service.rb | 132 ++
app/services/service_response.rb | 15 +-
app/services/submit_usage_ping_service.rb | 2 +-
app/services/system_note_service.rb | 31 +-
app/services/users/build_service.rb | 10 +-
app/services/users/update_service.rb | 25 +-
app/services/web_hook_service.rb | 2 +-
app/uploaders/file_mover.rb | 2 +-
app/uploaders/file_uploader.rb | 2 +-
app/uploaders/personal_file_uploader.rb | 2 +-
app/validators/namespace_name_validator.rb | 12 -
.../application_settings/_abuse.html.haml | 2 +-
.../application_settings/_ci_cd.html.haml | 2 +-
.../application_settings/_email.html.haml | 2 +-
.../application_settings/_gitaly.html.haml | 2 +-
.../application_settings/_grafana.html.haml | 17 +
.../application_settings/_help_page.html.haml | 2 +-
.../application_settings/_influx.html.haml | 2 +-
.../application_settings/_ip_limits.html.haml | 2 +-
.../_localization.html.haml | 9 +-
.../application_settings/_logging.html.haml | 38 -
.../application_settings/_outbound.html.haml | 2 +-
.../application_settings/_pages.html.haml | 37 +-
.../_performance.html.haml | 2 +-
.../_performance_bar.html.haml | 2 +-
.../application_settings/_plantuml.html.haml | 2 +-
.../_prometheus.html.haml | 2 +-
.../application_settings/_realtime.html.haml | 2 +-
.../application_settings/_registry.html.haml | 2 +-
.../_repository_check.html.haml | 2 +-
.../_repository_mirrors_form.html.haml | 2 +-
.../_repository_storage.html.haml | 2 +-
.../application_settings/_spam.html.haml | 5 +-
.../_third_party_offers.html.haml | 2 +-
.../application_settings/_usage.html.haml | 2 +-
.../metrics_and_profiling.html.haml | 11 +
.../application_settings/reporting.html.haml | 11 -
app/views/admin/groups/show.html.haml | 6 +-
app/views/admin/projects/show.html.haml | 6 +-
app/views/admin/runners/index.html.haml | 2 +-
app/views/admin/services/_form.html.haml | 2 +-
app/views/admin/users/show.html.haml | 7 +-
app/views/ci/status/_icon.html.haml | 13 +-
app/views/clusters/clusters/_form.html.haml | 2 +-
.../clusters/clusters/gcp/_form.html.haml | 9 -
.../dashboard/milestones/index.html.haml | 2 +-
app/views/dashboard/todos/_todo.html.haml | 2 +-
app/views/dashboard/todos/index.html.haml | 24 +-
app/views/devise/sessions/_new_base.html.haml | 6 +-
app/views/devise/shared/_signup_box.html.haml | 22 +-
.../devise/shared/_tabs_normal.html.haml | 2 +-
app/views/discussions/_discussion.html.haml | 4 +-
.../_new_issue_for_discussion.html.haml | 4 +-
.../doorkeeper/authorizations/new.html.haml | 2 +-
app/views/groups/issues.html.haml | 9 +
app/views/groups/settings/_general.html.haml | 2 +-
app/views/help/index.html.haml | 2 +-
app/views/layouts/_head.html.haml | 2 +-
app/views/layouts/_search.html.haml | 4 +-
app/views/layouts/devise.html.haml | 2 +-
app/views/layouts/fullscreen.html.haml | 4 +-
.../header/_current_user_dropdown.html.haml | 2 +-
app/views/layouts/header/_default.html.haml | 6 +-
app/views/layouts/header/_new_dropdown.haml | 4 +-
app/views/layouts/nav/_dashboard.html.haml | 4 +-
.../layouts/nav/sidebar/_admin.html.haml | 5 +
.../layouts/nav/sidebar/_group.html.haml | 3 +-
.../layouts/nav/sidebar/_project.html.haml | 31 +-
.../sidebar/_project_packages_link.html.haml | 16 +
app/views/notify/_note_email.html.haml | 30 +-
app/views/notify/_note_email.text.erb | 28 +-
app/views/notify/new_issue_email.html.haml | 5 +-
app/views/notify/new_issue_email.text.erb | 12 +-
.../notify/new_merge_request_email.html.haml | 18 +-
.../notify/new_merge_request_email.text.erb | 6 +-
.../pages_domain_disabled_email.html.haml | 2 +-
.../pages_domain_disabled_email.text.haml | 2 +-
.../pages_domain_enabled_email.html.haml | 2 +-
.../pages_domain_enabled_email.text.haml | 2 +-
...domain_verification_failed_email.html.haml | 2 +-
...domain_verification_failed_email.text.haml | 2 +-
...ain_verification_succeeded_email.html.haml | 2 +-
...ain_verification_succeeded_email.text.haml | 2 +-
.../personal_access_tokens/index.html.haml | 40 +-
app/views/profiles/preferences/show.html.haml | 12 +-
app/views/projects/_commit_button.html.haml | 2 +-
app/views/projects/_files.html.haml | 7 +-
app/views/projects/_flash_messages.html.haml | 1 +
...equest_settings_description_text.html.haml | 1 +
.../projects/_new_project_fields.html.haml | 22 +-
app/views/projects/blob/_editor.html.haml | 2 +-
app/views/projects/branches/_branch.html.haml | 27 +-
app/views/projects/branches/index.html.haml | 1 +
app/views/projects/commits/_commit.html.haml | 4 +-
.../projects/deploy_tokens/_form.html.haml | 5 +
app/views/projects/edit.html.haml | 4 +-
.../projects/environments/index.html.haml | 1 +
.../projects/environments/show.html.haml | 31 +-
app/views/projects/issues/_issue.html.haml | 2 +-
app/views/projects/issues/_issues.html.haml | 2 +-
.../projects/issues/_new_branch.html.haml | 21 +-
.../issues/import_csv/_modal.html.haml | 2 +-
app/views/projects/issues/show.html.haml | 2 +-
.../merge_requests/_merge_request.html.haml | 12 +-
app/views/projects/new.html.haml | 37 +-
app/views/projects/notes/_actions.html.haml | 2 +-
.../projects/pages_domains/_form.html.haml | 28 +-
.../pages_domains/_helper_text.html.haml | 8 +-
.../projects/pages_domains/show.html.haml | 2 +-
app/views/projects/pipelines/charts.html.haml | 7 +-
.../projects/pipelines/charts/_overall.haml | 21 +-
.../charts/_pipeline_statistics.haml | 14 +
.../projects/pipelines/charts/_pipelines.haml | 2 +-
.../_built_in_templates.html.haml | 4 +-
.../registry/repositories/index.html.haml | 54 +-
app/views/projects/services/_form.html.haml | 2 +-
.../operations/_external_dashboard.html.haml | 2 +-
app/views/projects/tags/_tag.html.haml | 8 +-
app/views/projects/tags/index.html.haml | 2 +-
app/views/projects/tags/show.html.haml | 4 +-
.../projects/tree/_tree_content.html.haml | 2 +-
.../projects/tree/_tree_header.html.haml | 3 +-
.../projects/triggers/_content.html.haml | 17 +-
.../projects/triggers/_trigger.html.haml | 7 +-
app/views/projects/wikis/pages.html.haml | 2 +-
app/views/projects/wikis/show.html.haml | 2 +-
app/views/search/_category.html.haml | 1 +
app/views/search/results/_wiki_blob.html.haml | 2 +-
app/views/shared/_confirm_modal.html.haml | 6 +-
app/views/shared/_issues.html.haml | 2 +-
..._access_tokens_created_container.html.haml | 7 +-
.../_personal_access_tokens_form.html.haml | 14 +-
.../_personal_access_tokens_table.html.haml | 23 +-
.../_storage_counter_statistics.html.haml | 4 +
app/views/shared/_visibility_radios.html.haml | 18 +-
app/views/shared/boards/_show.html.haml | 3 +-
app/views/shared/boards/_switcher.html.haml | 16 +
.../shared/boards/components/_board.html.haml | 60 +-
.../sidebar/_time_tracker.html.haml | 1 +
app/views/shared/issuable/_form.html.haml | 9 +-
.../shared/issuable/_search_bar.html.haml | 8 +-
app/views/shared/issuable/_sidebar.html.haml | 2 +-
.../shared/issuable/_sort_dropdown.html.haml | 3 +-
.../_metadata_issuable_assignee.html.haml | 2 +-
.../shared/milestones/_sidebar.html.haml | 6 +-
.../shared/notes/_comment_button.html.haml | 4 +-
app/views/shared/projects/_list.html.haml | 2 +-
app/views/shared/projects/_project.html.haml | 4 +-
.../shared/tokens/_scopes_list.html.haml | 2 +-
app/views/users/show.html.haml | 2 +-
app/workers/all_queues.yml | 6 +
app/workers/build_success_worker.rb | 12 -
.../cleanup_container_repository_worker.rb | 29 +-
app/workers/cluster_provision_worker.rb | 2 -
app/workers/concerns/application_worker.rb | 6 +
app/workers/concerns/new_issuable.rb | 2 +-
app/workers/create_gpg_signature_worker.rb | 2 +-
app/workers/delete_user_worker.rb | 2 +-
app/workers/email_receiver_worker.rb | 2 +-
app/workers/expire_build_artifacts_worker.rb | 2 +-
.../expire_build_instance_artifacts_worker.rb | 2 +-
.../prune_aggregation_schedules_worker.rb | 22 +
.../namespaces/root_statistics_worker.rb | 31 +
.../namespaces/schedule_aggregation_worker.rb | 45 +
app/workers/new_note_worker.rb | 2 +-
.../object_storage/migrate_uploads_worker.rb | 4 +-
.../pages_domain_ssl_renewal_cron_worker.rb | 14 +
.../pages_domain_ssl_renewal_worker.rb | 13 +
app/workers/post_receive.rb | 23 +-
app/workers/rebase_worker.rb | 2 +
app/workers/repository_fork_worker.rb | 2 +-
app/workers/repository_import_worker.rb | 2 +-
.../repository_update_remote_mirror_worker.rb | 2 +-
app/workers/run_pipeline_schedule_worker.rb | 2 +
app/workers/stuck_ci_jobs_worker.rb | 4 +-
app/workers/stuck_import_jobs_worker.rb | 2 +-
app/workers/stuck_merge_jobs_worker.rb | 2 +-
app/workers/trending_projects_worker.rb | 2 +-
app/workers/update_merge_requests_worker.rb | 2 +-
app/workers/upload_checksum_worker.rb | 2 +-
bin/bundle | 2 +-
bin/setup | 31 +-
bin/update | 6 +-
bin/web | 68 +-
bin/web_unicorn | 58 +
bin/yarn | 11 +
...-parameter-to-project-environments-api.yml | 5 +
config/README.md | 3 +-
config/application.rb | 31 +-
config/boot.rb | 2 +-
config/brakeman.ignore | 24 +
config/database.yml.postgresql | 9 +
config/database_geo.yml.postgresql | 51 +
config/dependency_decisions.yml | 7 +
config/environments/development.rb | 1 +
config/environments/test.rb | 3 +-
config/gitlab.yml.example | 216 +-
config/initializers/0_inflections.rb | 8 +
config/initializers/0_license.rb | 19 +
config/initializers/0_thread_cache.rb | 3 +
config/initializers/1_postgresql_only.rb | 4 +
config/initializers/1_settings.rb | 166 +-
config/initializers/6_validations.rb | 21 +-
config/initializers/7_prometheus_metrics.rb | 47 +-
.../initializers/active_record_data_types.rb | 4 +-
.../initializers/active_record_lifecycle.rb | 4 +-
.../initializers/active_record_preloader.rb | 17 +-
.../initializers/active_record_query_cache.rb | 3 +
.../active_record_verbose_query_logs.rb | 56 -
.../ar_speed_up_migration_checking.rb | 16 +-
...nfig_initializers_active_record_locking.rb | 9 +-
config/initializers/console_message.rb | 13 +-
config/initializers/deprecations.rb | 2 +-
config/initializers/elastic_client_setup.rb | 50 +
.../forbid_sidekiq_in_transactions.rb | 15 +-
config/initializers/geo.rb | 17 +
config/initializers/health_check.rb | 6 +
config/initializers/httpclient_patch.rb | 18 +
config/initializers/jira.rb | 2 +-
config/initializers/load_balancing.rb | 25 +
config/initializers/lograge.rb | 2 +-
.../mysql_ignore_postgresql_options.rb | 7 -
config/initializers/peek.rb | 3 +
config/initializers/postgresql_cte.rb | 4 +-
config/initializers/rack_attack_logging.rb | 14 +-
config/initializers/rack_timeout.rb | 4 +-
config/initializers/sentry.rb | 13 +-
config/initializers/sidekiq.rb | 17 +-
config/initializers/sidekiq_cluster.rb | 20 +
config/initializers/transaction_metrics.rb | 3 +
config/initializers/zz_metrics.rb | 33 +-
config/no_todos_messages.yml | 8 +-
config/prometheus/cluster_metrics.yml | 63 +
config/prometheus/common_metrics.yml | 4 +-
config/pseudonymizer.yml | 475 ++++
config/routes.rb | 55 +-
config/routes/admin.rb | 2 +-
config/routes/api.rb | 10 +-
config/routes/group.rb | 8 -
config/routes/profile.rb | 14 +
config/routes/project.rb | 116 +-
config/routes/repository.rb | 7 +-
config/routes/snippets.rb | 2 +-
config/routes/user.rb | 25 +-
config/settings.rb | 31 +
config/sidekiq_queues.yml | 19 +
config/unicorn.rb.example | 16 +-
config/unicorn.rb.example.development | 16 +-
config/webpack.config.js | 9 +-
danger/commit_messages/Dangerfile | 15 +-
danger/database/Dangerfile | 32 +-
danger/metadata/Dangerfile | 12 +
danger/only_documentation/Dangerfile | 24 +
db/fixtures/development/17_cycle_analytics.rb | 12 +-
db/fixtures/development/24_forks.rb | 4 +-
db/fixtures/development/99_common_metrics.rb | 4 +-
db/fixtures/production/999_common_metrics.rb | 4 +-
db/importers/common_metrics_importer.rb | 105 -
db/migrate/20140313092127_init_schema.rb | 338 ---
db/migrate/20140407135544_fix_namespaces.rb | 16 -
...tate_to_allow_empty_merge_request_diffs.rb | 11 -
db/migrate/20140415124820_limits_to_mysql.rb | 1 -
db/migrate/20140416074002_add_index_on_iid.rb | 33 -
...40416185734_index_on_current_sign_in_at.rb | 6 -
...140428105831_add_notes_index_updated_at.rb | 6 -
.../20140502115131_add_repo_size_to_db.rb | 6 -
.../20140502125220_migrate_repo_size.rb | 31 -
...611135229_add_position_to_merge_request.rb | 6 -
...140625115202_create_users_star_projects.rb | 18 -
db/migrate/20140729134820_create_labels.rb | 14 -
.../20140729140420_create_label_links.rb | 14 -
.../20140729145339_migrate_project_tags.rb | 9 -
.../20140729152420_migrate_taggable_labels.rb | 36 -
.../20140730111702_add_index_to_labels.rb | 8 -
.../20140903115954_migrate_to_new_shell.rb | 13 -
...0907220153_serialize_service_properties.rb | 43 -
.../20140914113604_add_members_table.rb | 22 -
...0914145549_migrate_to_new_members_model.rb | 12 -
...20140914173417_remove_old_member_tables.rb | 29 -
...006143943_move_slack_service_to_webhook.rb | 22 -
...7100818_add_visibility_level_to_snippet.rb | 24 -
db/migrate/20141118150935_add_audit_event.rb | 25 -
...0141121133009_add_timestamps_to_members.rb | 15 -
.../20141121161704_add_identity_table.rb | 47 -
...erge_request_rebase_enabled_to_projects.rb | 17 -
...05134006_add_locked_at_to_merge_request.rb | 6 -
...20141216155758_create_doorkeeper_tables.rb | 45 -
...20141217125223_add_owner_to_application.rb | 8 -
...135007_add_import_data_to_project_table.rb | 8 -
...velopers_can_push_to_protected_branches.rb | 6 -
...50108073740_create_application_settings.rb | 16 -
..._home_page_url_for_application_settings.rb | 5 -
...6234545_add_gitlab_access_token_to_user.rb | 5 -
...0_add_default_branch_protection_setting.rb | 6 -
...0205211843_add_timestamps_to_identities.rb | 6 -
.../20150206181414_add_index_to_created_at.rb | 17 -
...06222854_add_notification_email_to_user.rb | 11 -
.../20150209222013_add_missing_index.rb | 6 -
.../20150211172122_add_template_to_service.rb | 6 -
...74341_allow_null_in_services_project_id.rb | 5 -
...sharing_enabled_to_application_settings.rb | 6 -
...0213114800_add_hide_no_password_to_user.rb | 6 -
..._add_password_automatically_set_to_user.rb | 6 -
...tbucket_access_token_and_secret_to_user.rb | 6 -
.../20150219004514_add_events_to_services.rb | 9 -
...0223022001_set_missing_last_activity_at.rb | 8 -
...50225065047_add_note_events_to_services.rb | 6 -
...sibility_levels_to_application_settings.rb | 5 -
...0150306023106_fix_namespace_duplication.rb | 22 -
...306023112_add_unique_index_to_namespace.rb | 10 -
...d_version_check_to_application_settings.rb | 6 -
...150313012111_create_subscriptions_table.rb | 19 -
.../20150320234437_add_location_to_user.rb | 5 -
...55957_set_incorrect_assignee_id_to_null.rb | 6 -
.../20150327122227_add_public_to_key.rb | 6 -
...150327150017_add_import_data_to_project.rb | 5 -
...27223628_add_devise_two_factor_to_users.rb | 8 -
...attachment_size_to_application_settings.rb | 5 -
...d_devise_two_factor_backupable_to_users.rb | 5 -
...0150406133311_add_invite_data_to_member.rb | 24 -
db/migrate/20150411000035_fix_identities.rb | 45 -
.../20150411180045_rename_buildbox_service.rb | 9 -
...0150413192223_add_public_email_to_users.rb | 6 -
...150417121913_create_project_import_data.rb | 8 -
...7122318_remove_import_data_from_project.rb | 10 -
...000_remove_periods_at_ends_of_usernames.rb | 89 -
...ect_visibililty_to_application_settings.rb | 11 -
...or_tag_names.acts_as_taggable_on_engine.rb | 10 -
.../20150425164647_remove_duplicate_tags.rb | 18 -
...ique_indices.acts_as_taggable_on_engine.rb | 28 -
...ache_to_tags.acts_as_taggable_on_engine.rb | 16 -
...ggable_index.acts_as_taggable_on_engine.rb | 10 -
...or_tag_names.acts_as_taggable_on_engine.rb | 10 -
...ault_snippet_visibility_to_app_settings.rb | 11 -
..._remove_abandoned_group_members_records.rb | 9 -
..._signup_domains_to_application_settings.rb | 5 -
...09180749_convert_legacy_reference_notes.rb | 17 -
...0516060434_add_note_events_to_web_hooks.rb | 10 -
...th_applications_to_application_settings.rb | 5 -
..._sign_out_path_for_application_settings.rb | 6 -
...n_expire_delay_for_application_settings.rb | 7 -
.../20150610065936_add_dashboard_to_users.rb | 10 -
...dd_default_otp_required_for_login_value.rb | 11 -
...0150713160110_add_project_view_to_users.rb | 6 -
...0717130904_add_commits_count_to_project.rb | 6 -
...6_add_updated_by_to_issuables_and_notes.rb | 7 -
.../20150806104937_create_abuse_reports.rb | 14 -
...50812080800_add_settings_import_sources.rb | 12 -
...14065925_remove_oauth_tokens_from_users.rb | 9 -
...50817163600_deduplicate_user_identities.rb | 15 -
.../20150818213832_add_sent_notifications.rb | 13 -
...50824002011_add_enable_ssl_verification.rb | 6 -
db/migrate/20150826001931_add_ci_tables.rb | 191 --
...1444_add_fast_forward_option_to_project.rb | 23 -
.../20150902001023_add_template_to_label.rb | 6 -
db/migrate/20150914215247_add_ci_tags.rb | 24 -
...1905_enable_ssl_verification_by_default.rb | 5 -
...5_enable_ssl_verification_for_web_hooks.rb | 8 -
..._help_page_text_to_application_settings.rb | 5 -
...45038_add_index_for_committed_at_and_id.rb | 6 -
..._add_ci_enabled_to_application_settings.rb | 5 -
..._invalid_milestones_from_merge_requests.rb | 5 -
...20010715_add_consumed_timestep_to_users.rb | 5 -
...1119_add_line_code_to_sent_notification.rb | 5 -
...50924125150_add_project_id_to_ci_commit.rb | 5 -
...25436_migrate_project_id_for_ci_commits.rb | 6 -
...0150930001110_merge_request_error_field.rb | 5 -
...095736_add_null_to_name_for_ci_projects.rb | 9 -
.../20150930110012_add_group_share_lock.rb | 6 -
.../20151002112914_add_stage_idx_to_builds.rb | 5 -
.../20151002121400_add_index_for_builds.rb | 6 -
...0151002122929_add_ref_and_tag_to_builds.rb | 6 -
...1002122943_migrate_ref_and_tag_to_build.rb | 7 -
.../20151005075649_add_user_id_to_build.rb | 5 -
...51005150751_add_layout_option_for_users.rb | 6 -
...ve_ci_enabled_from_application_settings.rb | 6 -
..._namespaces_projects_path_lower_indexes.rb | 18 -
..._add_users_lower_username_email_indexes.rb | 18 -
...3042_add_type_and_description_to_builds.rb | 10 -
..._migrate_name_to_description_for_builds.rb | 6 -
...19_add_admin_notification_email_setting.rb | 5 -
...20151012173029_set_jira_service_api_url.rb | 51 -
...1013092124_add_artifacts_file_to_builds.rb | 5 -
...433_add_ci_projects_gl_project_id_index.rb | 6 -
...5451_add_ci_builds_and_projects_indexes.rb | 10 -
...0151016195706_add_notes_line_code_index.rb | 6 -
db/migrate/20151019111551_fix_build_tags.rb | 9 -
...20151019111703_fail_build_without_names.rb | 8 -
...51020145526_add_services_template_index.rb | 6 -
.../20151020173516_ci_limits_to_mysql.rb | 9 -
...20173906_add_ci_builds_index_for_status.rb | 6 -
...151023112551_fail_build_with_empty_name.rb | 8 -
.../20151023144219_remove_satellites.rb | 17 -
.../20151026182941_add_project_path_index.rb | 10 -
...ge_when_build_succeeds_to_merge_request.rb | 8 -
.../20151103001141_add_public_to_group.rb | 6 -
...151103133339_add_shared_runners_setting.rb | 5 -
.../20151103134857_create_lfs_objects.rb | 13 -
...51103134958_create_lfs_objects_projects.rb | 15 -
.../20151104105513_add_file_to_lfs_objects.rb | 5 -
db/migrate/20151105094515_create_releases.rb | 17 -
.../20151106000015_add_is_award_to_notes.rb | 7 -
..._artifacts_size_to_application_settings.rb | 5 -
.../20151109134526_add_issues_state_index.rb | 6 -
...916_add_projects_visibility_level_index.rb | 6 -
...51110125604_add_import_error_to_project.rb | 5 -
...14113410_add_index_for_lfs_oid_and_size.rb | 7 -
...1116144118_add_unique_for_lfs_oid_index.rb | 8 -
...0151118162244_add_projects_public_index.rb | 6 -
.../20151201203948_raise_hook_url_limit.rb | 5 -
...3162133_add_hide_project_limit_to_users.rb | 6 -
...1203162134_add_build_events_to_services.rb | 7 -
.../20151209144329_migrate_ci_web_hooks.rb | 16 -
.../20151209145909_migrate_ci_emails.rb | 45 -
...20151210030143_add_unlock_token_to_user.rb | 5 -
...istration_token_to_application_settings.rb | 5 -
...20151210125232_migrate_ci_slack_service.rb | 33 -
...51210125927_migrate_ci_hip_chat_service.rb | 34 -
.../20151210125928_add_ci_to_project.rb | 12 -
.../20151210125929_add_project_id_to_ci.rb | 8 -
.../20151210125930_migrate_ci_to_project.rb | 42 -
.../20151210125931_add_index_to_ci_tables.rb | 13 -
.../20151210125932_drop_null_for_ci_tables.rb | 10 -
..._add_pages_size_to_application_settings.rb | 14 -
...8154042_add_tfa_to_application_settings.rb | 8 -
...0151221234414_add_tfa_additional_fields.rb | 7 -
db/migrate/20151224123230_rename_emojis.rb | 15 -
...1228111122_remove_public_from_namespace.rb | 7 -
.../20151228150906_influxdb_settings.rb | 19 -
...9_add_recaptcha_to_application_settings.rb | 9 -
...0151229102248_influxdb_udp_port_setting.rb | 5 -
...112614_influxdb_remote_database_setting.rb | 6 -
...2518_add_artifacts_metadata_to_ci_build.rb | 5 -
...326_add_akismet_to_application_settings.rb | 8 -
...move_alert_type_from_broadcast_messages.rb | 6 -
...160106162223_add_index_milestones_title.rb | 6 -
...60106164438_remove_influxdb_credentials.rb | 7 -
db/migrate/20160109054846_create_spam_logs.rb | 17 -
...60113111034_add_metrics_sample_interval.rb | 6 -
...5830_add_sentry_to_application_settings.rb | 8 -
...ocking_settings_to_application_settings.rb | 7 -
.../20160119111158_add_services_category.rb | 40 -
.../20160119112418_add_services_default.rb | 21 -
.../20160119145451_add_ldap_email_to_users.rb | 31 -
..._base_commit_sha_to_merge_request_diffs.rb | 5 -
..._author_in_body_to_application_settings.rb | 6 -
...122185421_add_pending_delete_to_project.rb | 6 -
...king_settings_from_application_settings.rb | 7 -
...28233227_change_lfs_objects_size_column.rb | 5 -
...remove_dot_atom_path_ending_of_projects.rb | 80 -
..._add_merge_commit_sha_to_merge_requests.rb | 5 -
...20160202091601_add_erasable_to_ci_build.rb | 7 -
...dd_allow_guest_to_access_builds_project.rb | 6 -
...58_add_real_size_to_merge_request_diffs.rb | 5 -
.../20160209130428_add_index_to_snippet.rb | 6 -
.../20160210105555_create_pages_domain.rb | 16 -
db/migrate/20160212123307_create_tasks.rb | 17 -
...20160217100506_add_description_to_label.rb | 5 -
.../20160217174422_add_note_to_tasks.rb | 5 -
.../20160220123949_rename_tasks_to_todos.rb | 5 -
.../20160222153918_create_appearances_ce.rb | 15 -
...160223192159_add_confidential_to_issues.rb | 7 -
.../20160225090018_add_delete_at_to_issues.rb | 7 -
...5101956_add_delete_at_to_merge_requests.rb | 7 -
...14608_add_trigram_indexes_for_searching.rb | 65 -
...0227120001_add_event_field_for_web_hook.rb | 6 -
.../20160227120047_add_event_to_services.rb | 6 -
...9193553_add_main_language_to_repository.rb | 5 -
...01124843_add_visibility_level_to_groups.rb | 30 -
.../20160301174731_add_fingerprint_index.rb | 17 -
...port_credentials_to_project_import_data.rb | 7 -
...8_remove_wrong_import_url_from_projects.rb | 138 --
...5220806_remove_expires_at_from_snippets.rb | 6 -
...221555_disallow_blank_line_code_on_note.rb | 9 -
...roup_visibility_to_application_settings.rb | 32 -
db/migrate/20160309140734_fix_todos.rb | 17 -
.../20160310124959_add_due_date_to_issues.rb | 7 -
...160310185910_add_external_flag_to_users.rb | 6 -
.../20160314094147_add_priority_to_label.rb | 7 -
...60314114439_add_requested_at_to_members.rb | 6 -
...0314143402_projects_add_pushes_since_gc.rb | 6 -
...0315135439_project_add_repository_check.rb | 9 -
.../20160316123110_ci_runners_token_index.rb | 14 -
...92622_change_target_id_to_null_on_todos.rb | 5 -
.../20160316204731_add_commit_id_to_todos.rb | 7 -
.../20160317092222_add_moved_to_to_issue.rb | 5 -
...12_index_namespaces_on_visibility_level.rb | 8 -
...4020319_remove_todos_for_deleted_issues.rb | 17 -
...0328112808_create_notification_settings.rb | 12 -
...115649_migrate_new_notification_setting.rb | 17 -
...28121138_add_notification_setting_index.rb | 7 -
...52_add_index_on_pending_delete_projects.rb | 7 -
...remove_todos_for_deleted_merge_requests.rb | 17 -
...aring_enabled_from_application_settings.rb | 6 -
...07120251_add_images_enabled_for_project.rb | 5 -
...0_add_repository_checks_enabled_setting.rb | 6 -
.../20160412173416_add_fields_to_ci_commit.rb | 9 -
db/migrate/20160412173417_update_ci_commit.rb | 36 -
.../20160412173418_add_ci_commit_indexes.rb | 20 -
.../20160413115152_add_token_to_web_hooks.rb | 5 -
...415062917_create_personal_access_tokens.rb | 14 -
...ed_runners_text_to_application_settings.rb | 5 -
db/migrate/20160416180807_add_award_emoji.rb | 17 -
...82152_convert_award_note_to_emoji_award.rb | 36 -
.../20160419120017_add_metrics_packet_size.rb | 5 -
...low_merge_if_build_succeeds_to_projects.rb | 16 -
...0160421130527_disable_repository_checks.rb | 12 -
...20160425045124_create_u2f_registrations.rb | 14 -
...sign_in_sources_to_application_settings.rb | 5 -
...504112519_add_run_untagged_to_ci_runner.rb | 13 -
...94200_remove_wall_enabled_from_projects.rb | 6 -
...d_head_commit_id_to_merge_request_diffs.rb | 5 -
.../20160508215820_add_type_to_notes.rb | 5 -
...60508215920_add_positions_to_diff_notes.rb | 6 -
...508221410_set_type_on_legacy_diff_notes.rb | 6 -
.../20160509091049_add_locked_to_ci_runner.rb | 13 -
...ck_access_token_to_application_settings.rb | 5 -
...firmation_email_to_application_settings.rb | 13 -
..._start_commit_id_to_merge_request_diffs.rb | 5 -
..._add_artifacts_expire_date_to_ci_builds.rb | 6 -
...elopers_can_merge_to_protected_branches.rb | 15 -
..._type_and_position_to_sent_notification.rb | 22 -
...5328_remove_main_language_from_projects.rb | 22 -
...ification_settings_for_deleted_projects.rb | 13 -
.../20160528043124_add_users_state_index.rb | 10 -
...en_expire_delay_to_application_settings.rb | 9 -
..._has_external_issue_tracker_to_projects.rb | 10 -
...remove_duplicated_notification_settings.rb | 32 -
...2247_add_index_to_notification_settings.rb | 10 -
...er_sign_up_text_to_application_settings.rb | 5 -
...5742_add_repository_storage_to_projects.rb | 13 -
...efault_external_to_application_settings.rb | 13 -
...tification_setting_not_null_constraints.rb | 11 -
...ed_issues_tracker_columns_from_projects.rb | 7 -
...201627_migrate_users_notification_level.rb | 25 -
db/migrate/20160610204157_add_deployments.rb | 26 -
db/migrate/20160610204158_add_environments.rb | 16 -
...0160610211845_add_environment_to_builds.rb | 10 -
...27_remove_notification_level_from_users.rb | 8 -
...ository_storage_to_application_settings.rb | 5 -
...10_add_index_on_requested_at_to_members.rb | 16 -
...ccess_protocols_to_application_settings.rb | 10 -
...15191922_set_missing_stage_on_ci_builds.rb | 13 -
...616084004_change_project_of_environment.rb | 21 -
.../20160616102642_remove_duplicated_keys.rb | 18 -
...remove_keys_fingerprint_index_if_exists.rb | 22 -
...48_add_unique_index_to_keys_fingerprint.rb | 14 -
...627_add_events_to_notification_settings.rb | 7 -
...60620115026_add_index_on_runners_locked.rb | 19 -
...add_rebase_commit_sha_to_merge_requests.rb | 22 -
...8085157_add_artifacts_size_to_ci_builds.rb | 7 -
...ress_merge_commit_sha_to_merge_requests.rb | 8 -
..._add_index_on_award_emoji_user_and_name.rb | 11 -
...4938_add_protected_branches_push_access.rb | 18 -
...952_add_protected_branches_merge_access.rb | 18 -
...erge_to_protected_branches_merge_access.rb | 29 -
..._push_to_protected_branches_push_access.rb | 29 -
...lopers_can_push_from_protected_branches.rb | 20 -
...opers_can_merge_from_protected_branches.rb | 20 -
...63108_remove_requesters_that_are_owners.rb | 40 -
.../20160707104333_add_lock_to_issuables.rb | 18 -
...171823_remove_award_emojis_with_no_user.rb | 21 -
...38_add_repository_read_only_to_projects.rb | 9 -
...omain_blacklist_to_application_settings.rb | 23 -
..._add_usage_ping_to_application_settings.rb | 9 -
.../20160715132507_add_user_id_to_pipeline.rb | 7 -
...15134306_add_index_for_pipeline_user_id.rb | 16 -
..._add_request_access_enabled_to_projects.rb | 13 -
...16_add_request_access_enabled_to_groups.rb | 13 -
...tion_settings_restricted_signup_domains.rb | 21 -
...dd_when_and_yaml_variables_to_ci_builds.rb | 8 -
...160716115711_add_queued_at_to_ci_builds.rb | 10 -
...53603_add_has_external_wiki_to_projects.rb | 7 -
...and_readd_has_external_wiki_in_projects.rb | 19 -
...60722221922_nullify_blank_type_on_notes.rb | 9 -
.../20160724205507_add_resolved_to_notes.rb | 11 -
...5083350_add_external_url_to_enviroments.rb | 9 -
...25104020_merge_request_diff_remove_uniq.rb | 36 -
...0725104452_merge_request_diff_add_index.rb | 18 -
...0160727163552_create_user_agent_details.rb | 19 -
db/migrate/20160727191041_create_boards.rb | 14 -
db/migrate/20160727193336_create_lists.rb | 17 -
...081025_add_pipeline_events_to_web_hooks.rb | 16 -
...8103734_add_pipeline_events_to_services.rb | 16 -
...173930_remove_project_id_from_spam_logs.rb | 30 -
...20160801163421_add_expires_at_to_member.rb | 29 -
...63709_add_submitted_as_ham_to_spam_logs.rb | 24 -
..._remove_builds_enable_index_on_projects.rb | 10 -
...1903_add_unique_index_to_lists_label_id.rb | 16 -
...804142904_add_ci_config_file_to_project.rb | 11 -
...4150737_add_timestamps_to_members_again.rb | 21 -
...0805041956_add_deleted_at_to_namespaces.rb | 21 -
.../20160808085531_add_token_to_build.rb | 10 -
...0160808085602_add_index_for_build_token.rb | 17 -
...102349_remove_ci_runner_trigram_indexes.rb | 27 -
...20160810142633_remove_redundant_indexes.rb | 113 -
.../20160811172945_add_can_push_to_keys.rb | 14 -
...12_add_column_name_to_u2f_registrations.rb | 29 -
...3006_add_koding_to_application_settings.rb | 11 -
...60817154936_add_discussion_ids_to_notes.rb | 13 -
...8_add_expires_at_to_project_group_links.rb | 29 -
...9221631_add_index_to_note_discussion_id.rb | 19 -
...on_id_because_it_was_calculated_wrongly.rb | 12 -
...32256_add_incoming_email_token_to_users.rb | 24 -
...160823081327_change_merge_error_to_text.rb | 10 -
...column_scopes_to_personal_access_tokens.rb | 19 -
...60823213309_add_lfs_enabled_to_projects.rb | 29 -
.../20160824103857_drop_unused_ci_tables.rb | 11 -
.../20160824124900_add_table_issue_metrics.rb | 37 -
...5052008_add_table_merge_request_metrics.rb | 38 -
...1312_ensure_lock_version_has_no_default.rb | 16 -
...160829114652_add_markdown_cache_columns.rb | 38 -
...confidential_issues_events_to_web_hooks.rb | 15 -
..._confidential_issues_events_to_services.rb | 15 -
...0830232601_change_lock_version_not_null.rb | 13 -
.../20160831214002_create_project_features.rb | 17 -
...20160831214543_migrate_project_features.rb | 44 -
...0_remove_features_enabled_from_projects.rb | 31 -
..._confidential_issues_events_on_webhooks.rb | 18 -
...torious_field_from_application_settings.rb | 39 -
...11_add_environment_type_to_environments.rb | 9 -
...3162434_remove_projects_pushes_since_gc.rb | 21 -
...0913212128_change_artifacts_size_column.rb | 15 -
...w_merge_if_all_discussions_are_resolved.rb | 14 -
...21_create_merge_requests_closing_issues.rb | 35 -
.../20160919144305_add_type_to_labels.rb | 17 -
.../20160919145149_add_group_id_to_labels.rb | 20 -
...0160920160832_add_index_to_labels_title.rb | 16 -
...20160926145521_add_organization_to_user.rb | 12 -
...20161006104309_add_state_to_environment.rb | 15 -
.../20161007073613_create_user_activities.rb | 28 -
...07133303_precalculate_trending_projects.rb | 38 -
...010142410_create_project_authorizations.rb | 15 -
...ository_access_level_to_project_feature.rb | 14 -
.../20161014173530_create_label_priorities.rb | 26 -
..._authorized_projects_populated_to_users.rb | 9 -
...1017095000_add_properties_to_deployment.rb | 9 -
...161017125927_add_unique_index_to_labels.rb | 33 -
.../20161018024215_migrate_labels_priority.rb | 36 -
...61018024550_remove_priority_from_labels.rb | 18 -
...61018124658_make_project_owners_masters.rb | 18 -
...736_migrate_sidekiq_queues_from_default.rb | 109 -
...5_generate_project_feature_for_projects.rb | 28 -
...020075734_default_request_access_groups.rb | 12 -
...0075830_default_request_access_projects.rb | 12 -
...dd_pipeline_id_to_merge_request_metrics.rb | 40 -
...imum_key_length_to_application_settings.rb | 29 -
...add_lock_version_to_build_and_pipelines.rb | 14 -
...317_migrate_mailroom_queue_from_default.rb | 63 -
.../20161025231710_migrate_jira_to_gem.rb | 73 -
...dd_housekeeping_to_application_settings.rb | 32 -
...1171301_add_project_id_to_subscriptions.rb | 15 -
...174110_migrate_subscriptions_project_id.rb | 44 -
...81638_add_unique_index_to_subscriptions.rb | 19 -
...171205_rename_repository_storage_column.rb | 29 -
...ekiq_throttling_to_application_settings.rb | 32 -
...0_add_project_import_data_project_index.rb | 17 -
...1113184239_create_user_chat_names_table.rb | 22 -
...1114024742_add_coverage_regex_to_builds.rb | 13 -
...1115173905_add_start_date_to_milestones.rb | 12 -
...118183841_add_commit_events_to_services.rb | 15 -
...161124111390_add_parent_id_to_namespace.rb | 12 -
.../20161124111395_add_index_to_parent_id.rb | 19 -
db/migrate/20161124111402_add_routes_table.rb | 19 -
...1322_migrate_process_commit_worker_jobs.rb | 105 -
..._to_discussion_id_to_sent_notifications.rb | 29 -
...161128142110_remove_unnecessary_indexes.rb | 34 -
..._emails_enabled_to_application_settings.rb | 30 -
.../20161130095245_fill_routes_table.rb | 21 -
...161130101252_fill_projects_routes_table.rb | 30 -
...d_plant_uml_url_to_application_settings.rb | 12 -
...0161201155511_create_project_statistics.rb | 20 -
...161201160452_migrate_project_statistics.rb | 25 -
...202152031_remove_duplicates_from_routes.rb | 29 -
.../20161202152035_add_index_to_routes.rb | 22 -
...ant_uml_enabled_to_application_settings.rb | 13 -
...9_remove_uniq_path_index_from_namespace.rb | 37 -
...61206153751_add_path_index_to_namespace.rb | 21 -
...3_remove_uniq_name_index_from_namespace.rb | 37 -
...61206153754_add_name_index_to_namespace.rb | 21 -
...31620_fixup_environment_name_uniqueness.rb | 53 -
...21_create_environment_name_unique_index.rb | 19 -
.../20161207231626_add_environment_slug.rb | 68 -
...0_add_unique_index_for_environment_slug.rb | 20 -
...create_doorkeeper_openid_connect_tables.rb | 37 -
...12142807_add_lower_path_index_to_routes.rb | 23 -
...k_service_to_slack_notification_service.rb | 11 -
...0141214_remove_dot_git_from_group_names.rb | 82 -
.../20161221152132_add_last_used_at_to_key.rb | 10 -
...1223034433_add_estimate_to_issuables_ce.rb | 25 -
.../20161223034646_create_timelogs_ce.rb | 25 -
...226122833_remove_dot_git_from_usernames.rb | 110 -
...ck_and_mattermost_notification_services.rb | 28 -
...es_at_to_date_in_personal_access_tokens.rb | 19 -
...impersonation_to_personal_access_tokens.rb | 18 -
.../20170120131253_create_chat_teams.rb | 19 -
...ci_builds_for_status_runner_id_and_type.rb | 18 -
...5_add_index_to_ci_runners_for_is_shared.rb | 18 -
...0124174637_add_foreign_keys_to_timelogs.rb | 57 -
...47_add_two_factor_columns_to_namespaces.rb | 22 -
...4193205_add_two_factor_columns_to_users.rb | 18 -
...ax_session_time_to_application_settings.rb | 33 -
...032550_remove_backlog_lists_from_boards.rb | 17 -
...620_add_index_to_project_authorizations.rb | 19 -
db/migrate/20170130221926_create_uploads.rb | 20 -
...1221752_add_relative_position_to_issues.rb | 38 -
.../20170204172458_add_name_to_route.rb | 12 -
...dd_index_to_labels_for_type_and_project.rb | 16 -
...414_add_recaptcha_verified_to_spam_logs.rb | 15 -
...0170206115204_add_column_ghost_to_users.rb | 11 -
...d_index_to_labels_for_title_and_project.rb | 18 -
...ex_to_ci_trigger_requests_for_commit_id.rb | 16 -
...10103609_add_index_to_user_agent_detail.rb | 19 -
...nique_ips_limit_to_application_settings.rb | 17 -
...acts_expiration_to_application_settings.rb | 11 -
...dd_index_for_latest_successful_pipeline.rb | 15 -
...40_drop_index_for_builds_project_status.rb | 9 -
...132157_rename_merge_when_build_succeeds.rb | 29 -
...name_only_allow_merge_if_build_succeeds.rb | 29 -
...20170217151948_add_owner_id_to_triggers.rb | 9 -
...70217151949_add_description_to_triggers.rb | 9 -
db/migrate/20170222111732_create_gpg_keys.rb | 21 -
db/migrate/20170222143317_drop_ci_projects.rb | 34 -
...222143500_remove_old_project_id_columns.rb | 30 -
...3603_rename_gl_project_id_to_project_id.rb | 14 -
...20170301101006_add_ci_runner_namespaces.rb | 17 -
...g_merge_request_link_enabled_to_project.rb | 19 -
...95939_rename_ci_commits_to_ci_pipelines.rb | 10 -
...639_remove_unused_ci_tables_and_columns.rb | 84 -
...uto_cancel_pending_pipelines_to_project.rb | 16 -
...20170305203726_add_owner_id_foreign_key.rb | 15 -
...307125949_add_last_activity_on_to_users.rb | 9 -
.../20170309173138_create_protected_tags.rb | 28 -
...329_add_auto_canceled_by_id_to_pipeline.rb | 9 -
..._canceled_by_id_foreign_key_to_pipeline.rb | 22 -
.../20170313213916_add_index_to_user_ghost.rb | 25 -
...70314082049_create_system_note_metadata.rb | 24 -
...t_add_notified_of_own_activity_to_users.rb | 26 -
.../20170315194013_add_closed_at_to_issues.rb | 8 -
...readd_notified_of_own_activity_to_users.rb | 10 -
...170316163845_move_uploads_to_system_dir.rb | 59 -
...170317203554_index_routes_path_for_like.rb | 28 -
.../20170320173259_migrate_assignees.rb | 43 -
...70322013926_create_container_repository.rb | 17 -
...750_add_created_at_index_to_deployments.rb | 15 -
...010804_add_uuid_to_application_settings.rb | 16 -
.../20170329095325_add_ref_to_triggers.rb | 9 -
...70329095907_create_ci_trigger_schedules.rb | 21 -
...rval_multiplier_to_application_settings.rb | 33 -
...1723_disable_invalid_service_templates2.rb | 18 -
...move_index_for_users_current_sign_in_at.rb | 18 -
...170404163427_add_trigger_id_foreign_key.rb | 15 -
...170405080720_add_import_jid_to_projects.rb | 9 -
...58_add_auto_canceled_by_id_to_ci_builds.rb | 9 -
...canceled_by_id_foreign_key_to_ci_builds.rb | 22 -
...07114956_add_ref_to_ci_trigger_schedule.rb | 9 -
...22426_add_active_to_ci_trigger_schedule.rb | 9 -
...dd_foreigh_key_trigger_requests_trigger.rb | 15 -
...450_add_index_to_next_run_at_and_active.rb | 18 -
...135_add_version_field_to_markdown_cache.rb | 25 -
...3035209_add_preferred_language_to_users.rb | 16 -
...908_delete_orphan_notification_settings.rb | 24 -
...01229_add_index_to_system_note_metadata.rb | 17 -
...20170421102337_remove_nil_type_services.rb | 12 -
...24095707_add_index_on_ci_builds_user_id.rb | 19 -
...70424142900_add_index_to_web_hooks_type.rb | 15 -
...5112128_create_pipeline_schedules_table.rb | 29 -
...remove_foreigh_key_ci_trigger_schedules.rb | 23 -
...1_add_pipeline_schedule_id_to_pipelines.rb | 9 -
...ll_missing_uuid_on_application_settings.rb | 10 -
...40_add_index_on_ci_runners_contacted_at.rb | 19 -
.../20170427103502_create_web_hook_logs.rb | 22 -
.../20170427215854_create_redirect_routes.rb | 15 -
...307_add_column_delete_error_to_projects.rb | 7 -
..._cancel_pending_pipelines_on_by_default.rb | 13 -
...02091007_markdown_cache_limits_to_mysql.rb | 1 -
..._index_ci_pipelines_auto_canceled_by_id.rb | 21 -
...ate_index_ci_builds_auto_canceled_by_id.rb | 21 -
..._last_repository_updated_at_to_projects.rb | 8 -
..._last_repository_updated_at_on_projects.rb | 15 -
.../20170503004426_add_retried_to_ci_build.rb | 9 -
...ited_at_and_last_edited_by_id_to_issues.rb | 15 -
...and_last_edited_by_id_to_merge_requests.rb | 15 -
...d_repository_update_events_to_web_hooks.rb | 15 -
...70503114228_add_description_to_snippets.rb | 12 -
...40201_reschedule_project_authorizations.rb | 44 -
...ed_groups_into_regular_groups_for_mysql.rb | 116 -
...0503184421_add_index_to_redirect_routes.rb | 21 -
...032_index_redirect_routes_path_for_like.rb | 28 -
...ientside_sentry_to_application_settings.rb | 33 -
..._add_index_project_group_links_group_id.rb | 19 -
..._index_to_pipeline_pipeline_schedule_id.rb | 19 -
...4_add_foreign_key_to_pipeline_schedules.rb | 15 -
...gn_key_pipeline_schedules_and_pipelines.rb | 23 -
..._add_head_pipeline_id_to_merge_requests.rb | 7 -
...add_not_null_contraints_to_ci_variables.rb | 12 -
...8190732_add_foreign_key_to_ci_variables.rb | 24 -
...me_web_hooks_build_events_to_job_events.rb | 18 -
...ame_services_build_events_to_job_events.rb | 18 -
...3305_migrate_assignee_to_separate_table.rb | 83 -
...16183131_add_indices_to_issue_assignees.rb | 41 -
...prometheus_settings_to_metrics_settings.rb | 16 -
...0521184006_add_change_position_to_notes.rb | 13 -
.../20170523091700_add_rss_token_to_users.rb | 19 -
...onversational_development_index_metrics.rb | 40 -
...0170524125940_add_source_to_ci_pipeline.rb | 9 -
...524161101_add_protected_to_ci_variables.rb | 15 -
...0525130346_create_group_variables_table.rb | 23 -
...0758_add_foreign_key_to_group_variables.rb | 15 -
.../20170525132202_create_pipeline_stages.rb | 26 -
.../20170525174156_create_feature_tables.rb | 26 -
...0170526185602_add_stage_id_to_ci_builds.rb | 13 -
...ect_foreign_keys_with_cascading_deletes.rb | 198 --
...ed_keys_enabled_to_application_settings.rb | 19 -
...name_users_ldap_email_to_external_email.rb | 16 -
...1163708_add_artifacts_store_to_ci_build.rb | 10 -
...mercial_content_to_application_settings.rb | 10 -
...age_support_url_to_application_settings.rb | 9 -
...70603200744_add_email_provider_to_users.rb | 9 -
...154216_add_notification_setting_columns.rb | 26 -
..._events_table_for_push_events_migration.rb | 51 -
...52748_create_push_event_payloads_tables.rb | 46 -
...8171156_create_merge_request_diff_files.rb | 22 -
.../20170613154149_create_gpg_signatures.rb | 25 -
...merge_request_diff_file_limits_to_mysql.rb | 1 -
...33147_create_merge_request_diff_commits.rb | 20 -
...d_index_for_head_pipeline_merge_request.rb | 15 -
...8_create_ci_pipeline_schedule_variables.rb | 25 -
...n_key_to_ci_pipeline_schedule_variables.rb | 15 -
...correct_protected_branches_foreign_keys.rb | 40 -
...add_foreign_key_for_merge_request_diffs.rb | 30 -
...22135451_rename_duplicated_variable_key.rb | 38 -
...8_add_environment_scope_to_ci_variables.rb | 15 -
...8_add_unique_constraint_to_ci_variables.rb | 35 -
...162730_add_ref_fetched_to_merge_request.rb | 9 -
...05_remove_ci_variables_project_id_index.rb | 19 -
...bled_to_password_authentication_enabled.rb | 15 -
...2400_add_stage_id_foreign_key_to_builds.rb | 27 -
...llowed_group_id_to_application_settings.rb | 9 -
...170707183807_add_group_id_to_milestones.rb | 20 -
...07184243_add_group_milestone_id_indexes.rb | 21 -
...ove_wrong_versions_from_schema_versions.rb | 10 -
...3355_clean_stage_id_reference_migration.rb | 18 -
.../20170711145320_add_status_to_ci_stages.rb | 9 -
...04829_add_foreign_key_to_merge_requests.rb | 37 -
...0170717074009_move_system_upload_folder.rb | 70 -
...dd_trusted_column_to_oauth_applications.rb | 15 -
...720111708_add_lock_version_to_ci_stages.rb | 9 -
...720122741_create_user_custom_attributes.rb | 17 -
...0720130522_create_ci_pipeline_variables.rb | 20 -
...dd_foreign_key_to_ci_pipeline_variables.rb | 15 -
...add_lower_path_index_to_redirect_routes.rb | 35 -
..._add_binary_to_merge_request_diff_files.rb | 9 -
...23534_add_index_on_events_project_id_id.rb | 37 -
...70731175128_add_percentages_to_conv_dev.rb | 32 -
...1183033_add_merge_jid_to_merge_requests.rb | 7 -
...802013652_add_storage_fields_to_project.rb | 16 -
...anise_issues_indexes_for_faster_sorting.rb | 43 -
...07071105_add_hashed_storage_to_settings.rb | 18 -
..._broadcast_message_not_null_constraints.rb | 29 -
...170809142252_cleanup_appearances_schema.rb | 33 -
..._export_enabled_to_application_settings.rb | 14 -
...21154_add_discussion_locked_to_issuable.rb | 13 -
...16133938_add_access_level_to_ci_runners.rb | 16 -
...170816133940_add_protected_to_ci_builds.rb | 7 -
...816143940_add_protected_to_ci_pipelines.rb | 7 -
...153940_add_index_on_ci_builds_protected.rb | 15 -
.../20170816234252_add_theme_id_to_users.rb | 10 -
...d_verification_status_to_gpg_signatures.rb | 20 -
...558_correct_protected_tags_foreign_keys.rb | 35 -
..._create_user_synced_attributes_metadata.rb | 15 -
..._devops_enabled_to_application_settings.rb | 15 -
...allow_appearances_description_html_null.rb | 18 -
...825015534_add_file_store_to_lfs_objects.rb | 31 -
...0825104051_migrate_issues_to_ghost_user.rb | 37 -
...54015_resolve_outdated_diff_discussions.rb | 9 -
..._index_on_merge_request_diff_commit_sha.rb | 17 -
...70828093725_create_project_auto_dev_ops.rb | 19 -
...8135939_migrate_user_external_mail_data.rb | 57 -
...0125940_add_failure_reason_to_ci_builds.rb | 9 -
...19_steal_remaining_event_migration_jobs.rb | 18 -
...70830131015_swap_event_migration_tables.rb | 47 -
...31092813_add_config_source_to_pipelines.rb | 7 -
...1071411_add_foreign_key_to_issue_author.rb | 14 -
.../20170904092148_add_email_confirmation.rb | 33 -
...905112933_add_resolved_by_push_to_notes.rb | 9 -
...70906133745_add_runners_token_to_groups.rb | 9 -
...0909090114_add_email_confirmation_index.rb | 36 -
...20170909150936_add_spent_at_to_timelogs.rb | 11 -
...2113435_clean_stages_statuses_migration.rb | 26 -
...131410_environments_project_id_not_null.rb | 16 -
...135630_add_index_for_recent_push_events.rb | 40 -
.../20170918072948_create_job_artifacts.rb | 23 -
...0918072949_add_file_store_job_artifacts.rb | 10 -
...111708_create_project_custom_attributes.rb | 15 -
...18140927_create_group_custom_attributes.rb | 19 -
...18222253_reorganize_deployments_indexes.rb | 28 -
...d_deployments_index_for_last_deployment.rb | 21 -
...211300_remove_temporary_ci_builds_index.rb | 28 -
...09_add_project_repository_storage_index.rb | 19 -
.../20170924094327_create_gcp_clusters.rb | 45 -
...170925184228_add_favicon_to_appearances.rb | 7 -
..._add_ci_builds_index_for_jobscontroller.rb | 39 -
...9_add_partial_index_for_labels_template.rb | 45 -
.../20170927161718_create_gpg_key_subkeys.rb | 25 -
...ndex_on_merge_requests_merge_commit_sha.rb | 33 -
.../20170928124105_create_fork_networks.rb | 29 -
...70928133643_create_fork_network_members.rb | 27 -
...9080234_add_failure_reason_to_pipelines.rb | 9 -
.../20170929131201_populate_fork_networks.rb | 16 -
...44_make_sure_fast_forward_option_exists.rb | 25 -
...06090001_create_ci_build_trace_sections.rb | 19 -
..._foreign_key_to_ci_build_trace_sections.rb | 15 -
...100_create_ci_build_trace_section_names.rb | 19 -
..._foreign_key_to_ci_build_trace_sections.rb | 15 -
...bal_rate_limits_to_application_settings.rb | 38 -
...aker_properties_to_application_settings.rb | 27 -
...tication_token_to_personal_access_token.rb | 78 -
...94327_create_new_clusters_architectures.rb | 68 -
...reaker_settings_to_application_settings.rb | 16 -
.../20171019141859_fix_dev_timezone_schema.rb | 25 -
...merge_request_diff_id_to_merge_requests.rb | 26 -
...10_create_clusters_kubernetes_helm_apps.rb | 18 -
...eout_properties_to_application_settings.rb | 31 -
...3000000_set_uploads_path_size_for_mysql.rb | 25 -
...create_clusters_kubernetes_ingress_apps.rb | 21 -
...1106132212_issues_confidential_not_null.rb | 23 -
...password_authentication_enabled_for_web.rb | 15 -
...enabled_for_git_to_application_settings.rb | 9 -
...6135924_issues_milestone_id_foreign_key.rb | 39 -
...150657_issues_updated_by_id_foreign_key.rb | 45 -
...06151218_issues_moved_to_id_foreign_key.rb | 56 -
..._issues_due_date_index_to_partial_index.rb | 35 -
...171453_add_timezone_to_issues_closed_at.rb | 20 -
...59_merge_requests_author_id_foreign_key.rb | 43 -
..._merge_requests_assignee_id_foreign_key.rb | 39 -
...erge_requests_updated_by_id_foreign_key.rb | 46 -
...erge_requests_merge_user_id_foreign_key.rb | 46 -
..._requests_source_project_id_foreign_key.rb | 45 -
...merge_requests_milestone_id_foreign_key.rb | 39 -
...s_latest_merge_request_diff_id_take_two.rb | 30 -
...35628_add_environment_scope_to_clusters.rb | 15 -
...lines_index_on_project_id_ref_status_id.rb | 35 -
...d_new_project_guidelines_to_appearances.rb | 18 -
..._check_interval_to_application_settings.rb | 20 -
..._default_values_to_merge_request_states.rb | 19 -
...populate_missing_merge_request_statuses.rb | 50 -
...36_make_merge_request_statuses_not_null.rb | 14 -
...elated_columns_to_merge_request_metrics.rb | 37 -
...4204233_add_permanent_to_redirect_route.rb | 18 -
...9_add_permanent_index_to_redirect_route.rb | 19 -
...207185153_add_merge_request_state_index.rb | 18 -
...ization_settings_to_appliction_settings.rb | 29 -
...25_add_can_push_to_deploy_keys_projects.rb | 15 -
...create_clusters_applications_prometheus.rb | 18 -
...71214144320_add_store_column_to_uploads.rb | 12 -
...late_can_push_from_deploy_keys_projects.rb | 64 -
...71216112339_add_foreign_key_for_members.rb | 21 -
...ervice_classification_label_to_projects.rb | 11 -
...1323_add_index_on_namespaces_lower_name.rb | 32 -
...d_confidential_note_events_to_web_hooks.rb | 15 -
...2183504_add_jobs_cache_index_to_project.rb | 13 -
...oject_limit_not_null_and_remove_default.rb | 38 -
..._rebase_commit_sha_to_merge_requests_ce.rb | 15 -
db/migrate/20171230123729_init_schema.rb | 1854 ++++++++++++++++
.../20180831164910_import_common_metrics.rb | 4 +-
...6004100_import_common_metrics_nginx_vts.rb | 4 +-
...326164045_import_common_metrics_knative.rb | 4 +-
...20190408163745_prometheus_knative05_fix.rb | 4 +-
...nable_create_incident_issues_by_default.rb | 19 +
..._template_name_to_application_settings.rb} | 8 +-
...reate_namespace_root_storage_statistics.rb | 22 +
..._create_namespace_aggregation_schedules.rb | 14 +
...ns_feature_flags_clients_token_not_null.rb | 11 +
...ted_to_operations_feature_flags_clients.rb | 11 +
...s_feature_flags_clients_token_encrypted.rb | 18 +
...0607085356_add_source_to_pages_domains.rb} | 10 +-
...45325_add_pages_domains_ssl_renew_index.rb | 25 +
...205656_add_wiki_columns_to_index_status.rb | 12 +
...limit_to_hours_to_application_settings.rb} | 8 +-
...613044655_add_username_to_deploy_tokens.rb | 9 +
.../20190613073003_create_project_aliases.rb | 16 +
.../20190617123615_add_grafana_to_settings.rb | 18 +
...27_change_null_private_profile_to_false.rb | 33 +
..._usage_notification_level_to_namespaces.rb | 9 +
...0621151636_add_merge_request_rebase_jid.rb | 9 +
...623212503_add_cluster_id_to_deployments.rb | 9 +
...90624123615_add_grafana_url_to_settings.rb | 18 +
...0625115224_add_description_to_services.rb} | 6 +-
..._add_cluster_id_index_fk_to_deployments.rb | 21 +
...egies_to_operations_feature_flag_scopes.rb | 17 +
...85000_add_released_at_to_releases_table.rb | 11 +
...to_released_at_column_on_releases_table.rb | 18 +
...90703130053_remove_gitaly_feature_flags.rb | 48 +
...add_rule_type_to_approval_project_rules.rb | 17 +
...dex_to_approval_project_rules_rule_type.rb | 17 +
...16151221_add_active_jobs_limit_to_plans.rb | 2 +-
...cess_tokens_default_back_to_empty_array.rb | 19 -
...remove_inactive_jira_service_properties.rb | 10 -
...project_records_with_invalid_visibility.rb | 49 -
...161128170531_drop_user_activities_table.rb | 33 -
...20161221140236_remove_unneeded_services.rb | 15 -
...221153951_rename_reserved_project_names.rb | 137 --
...4150317_requeue_pending_delete_projects.rb | 49 -
...20170106142508_fill_authorized_projects.rb | 30 -
...remove_project_authorizations_id_column.rb | 12 -
...set_users_authorized_projects_populated.rb | 18 -
..._remove_inactive_default_email_services.rb | 41 -
..._remove_trackable_columns_from_timelogs.rb | 24 -
...01030_validate_foreign_keys_on_timelogs.rb | 32 -
...e_foreign_keys_on_oauth_openid_requests.rb | 20 -
...73944_disable_invalid_service_templates.rb | 13 -
...112_delete_deprecated_gitlab_ci_service.rb | 15 -
...170215200045_remove_theme_id_from_users.rb | 9 -
...migrate_build_events_to_pipeline_events.rb | 86 -
...306170512_migrate_legacy_manual_actions.rb | 23 -
...71644_reset_relative_position_for_issue.rb | 19 -
...3418_rename_more_reserved_project_names.rb | 79 -
...317162059_update_upload_paths_to_system.rb | 57 -
...er_activities_to_users_last_activity_on.rb | 88 -
...532_remove_notes_original_discussion_id.rb | 23 -
.../20170406111121_clean_upload_symlinks.rb | 53 -
...0170406142253_migrate_user_project_view.rb | 22 -
...0408033905_remove_old_cache_directories.rb | 23 -
...412174900_rename_reserved_dynamic_paths.rb | 62 -
...trigger_schedules_to_pipeline_schedules.rb | 48 -
...5130047_drop_ci_trigger_schedules_table.rb | 32 -
...e_auto_cancel_pending_pipelines_for_all.rb | 19 -
...70503004427_update_retried_for_ci_build.rb | 69 -
...dd_head_pipeline_for_each_merge_request.rb | 28 -
..._foreign_key_on_pipeline_schedule_owner.rb | 35 -
...me_web_hooks_build_events_to_job_events.rb | 18 -
...ame_services_build_events_to_job_events.rb | 18 -
...170516165238_cleanup_trigger_for_issues.rb | 39 -
...dd_constraints_to_issue_assignees_table.rb | 37 -
...835_rename_users_with_renamed_namespace.rb | 51 -
...170518231126_fix_wrongly_renamed_routes.rb | 105 -
...523073948_remove_assignee_id_from_issue.rb | 48 -
.../20170523083112_migrate_old_artifacts.rb | 72 -
...5140254_rename_all_reserved_paths_again.rb | 102 -
.../20170526185842_migrate_pipeline_stages.rb | 22 -
...6185858_create_index_in_pipeline_stages.rb | 15 -
...85901_remove_stage_id_index_from_builds.rb | 18 -
...526185921_migrate_build_stage_reference.rb | 19 -
...000_migrate_build_stage_reference_again.rb | 28 -
...1203055_cleanup_users_ldap_email_rename.rb | 16 -
...606202615_move_appearance_to_system_dir.rb | 57 -
...custom_notification_settings_to_columns.rb | 55 -
...09183112_remove_position_from_issuables.rb | 8 -
...0612071012_move_personal_snippets_files.rb | 92 -
...0170613111224_clean_appearance_symlinks.rb | 53 -
...0621102400_add_stage_id_index_to_builds.rb | 17 -
...0170627101016_schedule_event_migrations.rb | 40 -
...igrate_stage_id_reference_in_background.rb | 33 -
...lication_settings_signin_enabled_rename.rb | 15 -
.../20170711145558_migrate_stages_statuses.rb | 34 -
...eanup_move_system_upload_folder_symlink.rb | 40 -
...ue_migrate_system_uploads_to_new_folder.rb | 20 -
...rge_issuable_reopened_into_opened_state.rb | 32 -
...emove_events_from_notification_settings.rb | 9 -
...03_calculate_conv_dev_index_percentages.rb | 30 -
...ve_locked_at_column_from_merge_requests.rb | 11 -
...sonal_snippet_files_into_correct_folder.rb | 29 -
...170815060945_remove_duplicate_mr_events.rb | 26 -
...sting_namespace_pending_delete_projects.rb | 54 -
...2101017_migrate_pipeline_sidekiq_queues.rb | 17 -
..._deploy_migrate_user_external_mail_data.rb | 57 -
...70513_remove_user_email_provider_column.rb | 12 -
...70516_remove_user_external_mail_columns.rb | 12 -
.../20170830084744_destroy_gpg_signatures.rb | 10 -
...0150306_drop_events_for_migration_table.rb | 47 -
...ove_valid_signature_from_gpg_signatures.rb | 11 -
...0235_delete_conflicting_redirect_routes.rb | 13 -
...00_fix_projects_without_project_feature.rb | 33 -
...170921101004_normalize_ldap_extern_uids.rb | 29 -
...pdate_legacy_diff_notes_type_for_import.rb | 17 -
...0927112319_update_notes_type_for_import.rb | 17 -
...150314_remove_user_authentication_token.rb | 20 -
..._clusters_to_new_clusters_architectures.rb | 98 -
...latest_merge_request_diff_id_migrations.rb | 29 -
..._remove_ref_fetched_from_merge_requests.rb | 14 -
.../20171103140253_track_untracked_uploads.rb | 21 -
..._password_authentication_enabled_rename.rb | 15 -
...0171106154015_remove_issues_branch_name.rb | 13 -
...leanup_add_timezone_to_issues_closed_at.rb | 20 -
...171114104051_remove_empty_fork_networks.rb | 36 -
...ge_request_diff_st_commits_and_st_diffs.rb | 10 -
...23101020_update_circuitbreaker_defaults.rb | 34 -
...101046_remove_old_circuitbreaker_config.rb | 26 -
...e_request_diffs_merge_request_id_and_id.rb | 17 -
...rge_request_diffs_merge_request_diff_id.rb | 17 -
...s_service_to_new_clusters_architectures.rb | 151 --
...150326_reschedule_fork_network_creation.rb | 13 -
...reschedule_fork_network_creation_caller.rb | 27 -
...300_remove_project_labels_group_id_copy.rb | 21 -
...0171207150344_remove_deleted_at_columns.rb | 31 -
...ub_importer_advance_stage_sidekiq_queue.rb | 16 -
...late_can_push_from_deploy_keys_projects.rb | 63 -
...0171215121259_remove_can_push_from_keys.rb | 17 -
...01_normalize_extern_uid_from_identities.rb | 29 -
...0_schedule_issues_closed_at_type_change.rb | 45 -
...02111106_remove_project_labels_group_id.rb | 19 -
...27_build_user_interacted_projects_table.rb | 4 +-
...te_legacy_managed_clusters_to_unmanaged.rb | 48 +
...50_encrypt_feature_flags_clients_tokens.rb | 27 +
...ged_clusters_with_no_token_to_unmanaged.rb | 48 +
...20190618171120_update_geo_nodes_primary.rb | 20 +
...843_remove_import_columns_from_projects.rb | 14 +
...8_enqueue_reset_merge_status_second_run.rb | 25 +
...remove_sentry_from_application_settings.rb | 38 +
...chedule_fixing_names_of_user_namespaces.rb | 48 +
...ulate_remaining_merge_request_assignees.rb | 20 +
...0703185326_fix_wrong_pages_access_level.rb | 28 +
...ect_features_pages_access_level_default.rb | 12 +
db/schema.rb | 167 +-
doc/README.md | 68 +-
doc/administration/audit_events.md | 10 +-
doc/administration/auditor_users.md | 4 +-
doc/administration/auth/README.md | 39 +-
doc/administration/auth/authentiq.md | 79 +-
doc/administration/auth/crowd.md | 71 +-
doc/administration/auth/google_secure_ldap.md | 27 +-
.../how_to_configure_ldap_gitlab_ce/index.md | 24 +-
.../how_to_configure_ldap_gitlab_ee/index.md | 24 +-
doc/administration/auth/jwt.md | 112 +-
doc/administration/auth/ldap-ee.md | 270 +--
doc/administration/auth/ldap.md | 111 +-
doc/administration/auth/oidc.md | 153 +-
doc/administration/auth/okta.md | 190 +-
doc/administration/auth/smartcard.md | 96 +-
doc/administration/container_registry.md | 307 +--
doc/administration/database_load_balancing.md | 48 +-
doc/administration/dependency_proxy.md | 5 +-
doc/administration/environment_variables.md | 4 +-
.../background_verification.md | 29 +-
.../disaster_recovery/bring_primary_back.md | 28 +-
.../geo/disaster_recovery/index.md | 229 +-
.../geo/disaster_recovery/planned_failover.md | 43 +-
.../geo/replication/configuration.md | 177 +-
.../geo/replication/database.md | 558 ++---
.../geo/replication/docker_registry.md | 2 +-
.../geo/replication/external_database.md | 147 +-
doc/administration/geo/replication/faq.md | 18 +-
.../geo/replication/high_availability.md | 252 +--
doc/administration/geo/replication/index.md | 12 +-
.../geo/replication/object_storage.md | 6 +-
.../geo/replication/remove_geo_node.md | 55 +-
.../geo/replication/security_review.md | 4 +-
.../geo/replication/troubleshooting.md | 437 ++--
doc/administration/geo/replication/tuning.md | 2 +-
.../geo/replication/updating_the_geo_nodes.md | 343 +--
.../geo/replication/using_a_geo_server.md | 2 +-
doc/administration/gitaly/index.md | 32 +-
.../high_availability/README.md | 23 +-
.../high_availability/alpha_database.md | 3 +-
.../high_availability/consul.md | 104 +-
.../high_availability/database.md | 547 ++---
.../high_availability/gitaly.md | 58 +-
.../high_availability/gitlab.md | 143 +-
.../high_availability/load_balancer.md | 16 +
.../high_availability/monitoring_node.md | 90 +-
doc/administration/high_availability/nfs.md | 52 +-
.../nfs_host_client_setup.md | 16 +
.../high_availability/pgbouncer.md | 161 +-
doc/administration/high_availability/redis.md | 470 ++--
.../high_availability/redis_source.md | 299 +--
doc/administration/housekeeping.md | 3 -
doc/administration/{ => img}/audit_log.png | Bin
.../{ => img}/auditor_access_form.png | Bin
doc/administration/incoming_email.md | 44 +-
doc/administration/index.md | 49 +-
doc/administration/instance_review.md | 2 +-
doc/administration/integration/plantuml.md | 71 +-
doc/administration/integration/terminal.md | 4 +-
doc/administration/issue_closing_pattern.md | 17 +-
doc/administration/job_artifacts.md | 168 +-
doc/administration/job_traces.md | 54 +-
doc/administration/logs.md | 7 +-
doc/administration/merge_request_diffs.md | 126 +-
doc/administration/monitoring/ip_whitelist.md | 20 +-
.../performance/gitlab_configuration.md | 6 -
.../performance/grafana_configuration.md | 19 +-
.../performance/influxdb_configuration.md | 2 +-
.../monitoring/performance/performance_bar.md | 4 -
.../monitoring/prometheus/gitlab_metrics.md | 6 +-
.../prometheus/gitlab_monitor_exporter.md | 6 +-
.../monitoring/prometheus/index.md | 140 +-
.../monitoring/prometheus/node_exporter.md | 6 +-
.../prometheus/pgbouncer_exporter.md | 6 +-
.../prometheus/postgres_exporter.md | 6 +-
.../monitoring/prometheus/redis_exporter.md | 6 +-
.../operations/extra_sidekiq_processes.md | 221 +-
.../operations/fast_ssh_key_lookup.md | 108 +-
.../operations/filesystem_benchmarking.md | 33 +-
doc/administration/operations/index.md | 2 +-
doc/administration/operations/unicorn.md | 2 +-
doc/administration/packages.md | 144 +-
.../img/lets_encrypt_integration_v12_1.png | Bin 0 -> 98409 bytes
doc/administration/pages/index.md | 193 +-
doc/administration/pages/source.md | 248 +--
doc/administration/pseudonymizer.md | 66 +-
doc/administration/raketasks/geo.md | 6 +-
doc/administration/raketasks/maintenance.md | 23 +-
.../raketasks/project_import_export.md | 18 +-
doc/administration/raketasks/storage.md | 29 +-
.../raketasks/uploads/sanitize.md | 16 +-
.../reply_by_email_postfix_setup.md | 384 ++--
doc/administration/repository_checks.md | 4 +-
.../repository_storage_paths.md | 46 +-
.../repository_storage_types.md | 33 +-
doc/administration/restart_gitlab.md | 4 +-
doc/administration/troubleshooting/debug.md | 108 +-
doc/administration/uploads.md | 164 +-
doc/api/README.md | 53 +-
doc/api/boards.md | 11 +-
doc/api/commits.md | 1 +
doc/api/container_registry.md | 5 +
doc/api/dependencies.md | 50 +
doc/api/deploy_keys.md | 4 +-
doc/api/discussions.md | 234 +-
doc/api/environments.md | 4 +-
doc/api/epic_issues.md | 2 +-
doc/api/epic_links.md | 2 +-
doc/api/epics.md | 4 +-
doc/api/geo_nodes.md | 2 +-
doc/api/graphql/index.md | 28 +-
doc/api/graphql/reference/index.md | 507 +++++
doc/api/group_boards.md | 289 ++-
doc/api/group_clusters.md | 280 +++
doc/api/group_milestones.md | 29 +-
doc/api/groups.md | 215 +-
doc/api/issue_links.md | 5 +-
doc/api/issues.md | 162 +-
doc/api/issues_statistics.md | 19 +-
doc/api/jobs.md | 27 +-
doc/api/license.md | 3 +-
doc/api/lint.md | 38 +-
doc/api/managed_licenses.md | 4 +-
doc/api/merge_request_approvals.md | 14 +-
doc/api/merge_requests.md | 228 +-
doc/api/milestones.md | 29 +-
doc/api/namespaces.md | 16 +-
doc/api/notes.md | 16 +-
doc/api/notification_settings.md | 52 +-
doc/api/oauth2.md | 2 +-
doc/api/packages.md | 4 +-
doc/api/pages_domains.md | 2 +-
doc/api/pipeline_schedules.md | 12 +-
doc/api/pipelines.md | 10 +-
doc/api/project_aliases.md | 111 +
doc/api/project_badges.md | 2 +-
doc/api/project_clusters.md | 4 +-
doc/api/project_level_variables.md | 4 +-
doc/api/project_snippets.md | 8 +-
doc/api/project_statistics.md | 2 +-
doc/api/project_templates.md | 6 +-
doc/api/projects.md | 307 ++-
doc/api/protected_branches.md | 154 +-
doc/api/protected_tags.md | 1 +
.../releases/img/upcoming_release_v12_1.png | Bin 0 -> 22635 bytes
doc/api/releases/index.md | 18 +-
doc/api/repositories.md | 30 +-
doc/api/repository_submodules.md | 2 +-
doc/api/resource_label_events.md | 2 +-
doc/api/runners.md | 46 +-
doc/api/scim.md | 4 +-
doc/api/search.md | 20 +-
doc/api/services.md | 35 +-
doc/api/settings.md | 81 +-
doc/api/system_hooks.md | 8 +-
doc/api/tags.md | 1 +
doc/api/users.md | 239 +-
doc/api/v3_to_v4.md | 4 +-
doc/api/vulnerabilities.md | 18 +-
doc/ci/README.md | 25 +-
doc/ci/caching/index.md | 2 +-
.../bitbucket_integration.md | 2 +-
.../github_integration.md | 4 +-
doc/ci/ci_cd_for_external_repos/index.md | 2 +-
doc/ci/docker/using_docker_build.md | 9 +-
doc/ci/docker/using_docker_images.md | 184 +-
doc/ci/environments.md | 6 +-
doc/ci/environments/protected_environments.md | 2 +-
doc/ci/examples/README.md | 5 +-
.../examples/artifactory_and_gitlab/index.md | 2 +-
.../index.md | 4 +-
.../end_to_end_testing_webdriverio/index.md | 8 +-
.../laravel_with_gitlab_and_envoy/index.md | 1 +
doc/ci/examples/php.md | 8 +-
doc/ci/examples/test-clojure-application.md | 2 +-
doc/ci/examples/test-scala-application.md | 8 +-
.../index.md | 10 +-
doc/ci/git_submodules.md | 28 +-
doc/ci/img/collapsible_log.png | Bin 0 -> 174697 bytes
doc/ci/interactive_web_terminal/index.md | 5 +-
doc/ci/introduction/index.md | 18 +-
doc/ci/merge_request_pipelines/index.md | 147 +-
.../img/merge_request_pipeline.png | Bin
.../img/merge_request_pipeline_config.png | Bin
.../pipelines_for_merged_results/index.md | 78 +
.../img/merge_train_cancel_v12_0.png} | Bin
.../img/merge_train_config_v12_0.png} | Bin
.../img/merge_train_start_v12_0.png} | Bin
...in_start_when_pipeline_succeeds_v12_0.png} | Bin
.../merge_trains/index.md | 88 +
doc/ci/metrics_reports.md | 4 +-
doc/ci/multi_project_pipelines.md | 2 +-
doc/ci/pipelines.md | 16 +-
doc/ci/quick_start/README.md | 2 +-
.../review_apps/img/toolbar_feeback_form.png | Bin 71676 -> 24599 bytes
doc/ci/review_apps/index.md | 138 +-
doc/ci/runners/README.md | 4 +-
doc/ci/services/postgres.md | 4 +-
doc/ci/triggers/README.md | 4 +-
doc/ci/variables/README.md | 17 +-
doc/ci/variables/predefined_variables.md | 5 +-
doc/ci/yaml/README.md | 108 +-
doc/customization/index.md | 2 +-
doc/customization/issue_closing.md | 4 +-
doc/customization/libravatar.md | 12 +-
.../system_header_and_footer_messages.md | 7 +-
doc/development/README.md | 10 +-
doc/development/api_graphql_styleguide.md | 25 +-
doc/development/api_styleguide.md | 2 +-
doc/development/architecture.md | 36 +-
doc/development/automatic_ce_ee_merge.md | 53 +-
doc/development/changelog.md | 17 +-
doc/development/chaos_endpoints.md | 59 +-
doc/development/chatops_on_gitlabcom.md | 15 +-
doc/development/code_comments.md | 14 +
doc/development/code_review.md | 39 +-
.../contributing/community_roles.md | 4 +-
doc/development/contributing/index.md | 2 +-
.../contributing/issue_workflow.md | 145 +-
.../contributing/merge_request_workflow.md | 17 +-
doc/development/contributing/style_guides.md | 12 +-
doc/development/database_debugging.md | 54 +-
doc/development/diffs.md | 9 +
.../documentation/feature-change-workflow.md | 30 +-
doc/development/documentation/index.md | 27 +-
.../site_architecture/global_nav.md | 44 +-
.../documentation/site_architecture/index.md | 46 +-
doc/development/documentation/structure.md | 4 +-
doc/development/documentation/styleguide.md | 182 +-
doc/development/documentation/workflow.md | 2 +-
doc/development/ee_features.md | 109 +-
doc/development/elasticsearch.md | 57 +-
doc/development/emails.md | 84 +-
doc/development/fe_guide/accessibility.md | 12 +-
doc/development/fe_guide/architecture.md | 2 +-
doc/development/fe_guide/design_patterns.md | 3 +
.../fe_guide/development_process.md | 24 +-
doc/development/fe_guide/droplab/droplab.md | 8 +
.../fe_guide/droplab/plugins/ajax.md | 19 +-
.../fe_guide/droplab/plugins/filter.md | 31 +-
.../fe_guide/droplab/plugins/input_setter.md | 45 +-
doc/development/fe_guide/emojis.md | 4 +-
doc/development/fe_guide/event_tracking.md | 2 +-
doc/development/fe_guide/graphql.md | 4 +-
doc/development/fe_guide/icons.md | 16 +-
doc/development/fe_guide/index.md | 10 -
doc/development/fe_guide/security.md | 7 +-
doc/development/fe_guide/style_guide_scss.md | 9 +-
doc/development/fe_guide/vue.md | 12 +-
doc/development/feature_flags.md | 128 +-
doc/development/feature_flags/controls.md | 123 ++
doc/development/feature_flags/development.md | 131 ++
doc/development/feature_flags/index.md | 12 +
doc/development/feature_flags/process.md | 131 ++
doc/development/file_storage.md | 10 +-
doc/development/geo.md | 64 +-
doc/development/git_object_deduplication.md | 110 +-
doc/development/gitaly.md | 41 +-
doc/development/go_guide/index.md | 45 +-
doc/development/gotchas.md | 8 +-
doc/development/i18n/externalization.md | 48 +-
doc/development/i18n/proofreader.md | 29 +-
doc/development/integrations/jira_connect.md | 6 +-
doc/development/lfs.md | 11 +
.../licensed_feature_availability.md | 22 +-
doc/development/logging.md | 80 +-
doc/development/migration_style_guide.md | 2 +-
.../new_fe_guide/development/components.md | 2 +-
.../new_fe_guide/development/performance.md | 4 +-
.../new_fe_guide/development/testing.md | 4 +-
doc/development/new_fe_guide/index.md | 1 -
doc/development/new_fe_guide/style/html.md | 2 +-
.../new_fe_guide/style/javascript.md | 5 +-
.../new_fe_guide/style/prettier.md | 3 +-
doc/development/new_fe_guide/tips.md | 10 +-
doc/development/newlines_styleguide.md | 4 +-
doc/development/packages.md | 40 +-
doc/development/performance.md | 3 +-
doc/development/profiling.md | 12 +-
doc/development/prometheus_metrics.md | 4 +-
doc/development/pry_debugging.md | 2 +-
doc/development/python_guide/index.md | 3 +-
doc/development/query_recorder.md | 4 +-
doc/development/rake_tasks.md | 26 +-
doc/development/repository_mirroring.md | 11 +
doc/development/reusing_abstractions.md | 36 +
...rolling_out_changes_using_feature_flags.md | 226 +-
doc/development/routing.md | 34 +-
doc/development/sql.md | 4 +-
doc/development/swapping_tables.md | 8 -
.../testing_guide/best_practices.md | 2 +-
doc/development/testing_guide/ci.md | 4 +-
.../end_to_end/dynamic_element_validation.md | 12 +-
.../testing_guide/end_to_end/index.md | 38 +-
.../testing_guide/end_to_end/page_objects.md | 44 +-
.../end_to_end/quick_start_guide.md | 59 +-
.../testing_guide/end_to_end/style_guide.md | 13 +-
.../testing_guide/frontend_testing.md | 55 +-
...qa_on_merge_requests_cicd_architecture.png | Bin 64862 -> 0 bytes
.../img/review_apps_cicd_architecture.png | Bin 136431 -> 0 bytes
doc/development/testing_guide/index.md | 23 +-
doc/development/testing_guide/review_apps.md | 33 +-
.../understanding_explain_plans.md | 1 -
doc/development/ux_guide/resources.md | 4 +-
doc/downgrade_ee_to_ce/README.md | 2 +-
doc/gitlab-basics/README.md | 2 +-
doc/gitlab-basics/command-line-commands.md | 17 +-
doc/gitlab-basics/create-issue.md | 4 +-
doc/gitlab-basics/create-project.md | 36 +-
doc/install/README.md | 2 +-
doc/install/aws/index.md | 139 +-
doc/install/azure/index.md | 31 +-
doc/install/database_mysql.md | 319 ---
doc/install/digitaloceandocker.md | 32 +-
doc/install/google_cloud_platform/index.md | 46 +-
doc/install/installation.md | 114 +-
doc/install/kubernetes/gitlab_chart.md | 2 +-
doc/install/kubernetes/gitlab_omnibus.md | 2 +-
doc/install/kubernetes/gitlab_runner_chart.md | 2 +-
doc/install/kubernetes/index.md | 2 +-
doc/install/kubernetes/preparation/connect.md | 2 +-
doc/install/kubernetes/preparation/eks.md | 2 +-
.../kubernetes/preparation/networking.md | 2 +-
doc/install/kubernetes/preparation/rbac.md | 2 +-
doc/install/kubernetes/preparation/tiller.md | 2 +-
.../preparation/tools_installation.md | 2 +-
doc/install/openshift_and_gitlab/index.md | 129 +-
doc/install/pivotal/index.md | 2 +-
doc/install/relative_url.md | 84 +-
doc/install/requirements.md | 42 +-
doc/integration/README.md | 8 +-
doc/integration/akismet.md | 2 +-
doc/integration/auth0.md | 82 +-
doc/integration/azure.md | 96 +-
doc/integration/bitbucket.md | 142 +-
doc/integration/cas.md | 84 +-
doc/integration/elasticsearch.md | 146 +-
doc/integration/facebook.md | 66 +-
doc/integration/github.md | 180 +-
doc/integration/gitlab.md | 96 +-
doc/integration/google.md | 104 +-
doc/integration/jenkins.md | 42 +-
doc/integration/jenkins_deprecated.md | 8 +-
doc/integration/jira_development_panel.md | 2 +-
doc/integration/kerberos.md | 106 +-
doc/integration/oauth2_generic.md | 36 +-
doc/integration/oauth_provider.md | 16 +-
doc/integration/omniauth.md | 126 +-
doc/integration/openid_connect_provider.md | 6 +-
doc/integration/salesforce.md | 98 +-
doc/integration/shibboleth.md | 160 +-
doc/integration/twitter.md | 99 +-
doc/integration/ultra_auth.md | 123 +-
doc/intro/README.md | 8 +-
doc/migrate_ci_to_ce/README.md | 14 +-
doc/pages/getting_started_part_three.md | 4 +-
doc/policy/maintenance.md | 2 +-
doc/public_access/public_access.md | 6 +
doc/push_rules/push_rules.md | 6 +-
doc/raketasks/README.md | 4 +-
doc/raketasks/backup_restore.md | 358 +--
doc/raketasks/cleanup.md | 45 +
doc/raketasks/import.md | 2 +-
doc/raketasks/web_hooks.md | 62 +-
doc/security/information_exclusivity.md | 1 +
doc/security/password_length_limits.md | 30 +-
doc/security/rack_attack.md | 78 +-
doc/security/reset_root_password.md | 1 +
doc/security/ssh_keys_restrictions.md | 1 +
doc/security/two_factor_authentication.md | 7 +-
doc/security/unlock_user.md | 47 +-
doc/security/user_email_confirmation.md | 1 +
doc/security/user_file_uploads.md | 3 +-
doc/security/webhooks.md | 1 +
doc/ssh/README.md | 81 +-
doc/subscriptions/index.md | 20 +-
doc/system_hooks/system_hooks.md | 1 +
doc/tools/email.md | 2 +-
.../application_development_platform/index.md | 62 +
doc/topics/authentication/index.md | 10 +-
doc/topics/autodevops/index.md | 107 +-
doc/topics/autodevops/quick_start_guide.md | 14 +-
doc/university/README.md | 5 +-
doc/university/process/README.md | 6 +-
doc/university/support/README.md | 4 +-
doc/university/training/index.md | 8 +-
doc/university/training/topics/env_setup.md | 2 +
.../training/topics/getting_started.md | 19 +-
doc/update/README.md | 7 +-
doc/update/mysql_to_postgresql.md | 10 +-
doc/update/patch_versions.md | 8 +-
doc/update/upgrading_from_ce_to_ee.md | 24 +-
doc/update/upgrading_from_source.md | 53 +-
.../admin_area/custom_project_templates.md | 4 +-
doc/user/admin_area/geo_nodes.md | 10 +-
doc/user/admin_area/index.md | 75 +-
doc/user/admin_area/labels.md | 2 +-
doc/user/admin_area/license.md | 2 +-
.../admin_area/monitoring/health_check.md | 51 +-
.../settings/account_and_limit_settings.md | 8 +-
.../settings/continuous_integration.md | 61 +-
doc/user/admin_area/settings/email.md | 2 +-
.../settings/external_authorization.md | 12 +-
.../settings/img/admin_required_pipeline.png | Bin 0 -> 64548 bytes
doc/user/admin_area/settings/index.md | 6 +-
.../settings/instance_template_repository.md | 4 +-
.../settings/sign_up_restrictions.md | 22 +-
doc/user/admin_area/settings/terms.md | 2 +-
.../admin_area/settings/usage_statistics.md | 6 +-
.../visibility_and_access_controls.md | 2 +-
.../container_scanning/index.md | 160 +-
doc/user/application_security/dast/index.md | 134 +-
.../dependency_scanning/analyzers.md | 133 ++
.../dependency_scanning/index.md | 180 +-
doc/user/application_security/index.md | 39 +-
.../img/license_management_add_license.png | Bin 0 -> 87049 bytes
.../img/license_management_search.png | Bin 0 -> 104278 bytes
.../img/license_management_settings.png | Bin 13300 -> 171592 bytes
.../license_management/index.md | 141 +-
doc/user/application_security/sast/index.md | 125 +-
.../security_dashboard/index.md | 2 +-
doc/user/asciidoc.md | 13 +-
doc/user/award_emojis.md | 2 +-
doc/user/clusters/applications.md | 6 +-
...matically_resolve_outdated_discussions.png | Bin 38001 -> 57642 bytes
.../img/btn_new_issue_for_all_discussions.png | Bin 9555 -> 0 bytes
.../img/btn_new_issue_for_all_threads.png | Bin 0 -> 19431 bytes
.../img/commit_comment_mr_context.png | Bin 25854 -> 365956 bytes
.../img/commit_comment_mr_discussions_tab.png | Bin 15139 -> 276385 bytes
.../discussions/img/discussion_comment.png | Bin 37351 -> 60561 bytes
doc/user/discussions/img/discussion_view.png | Bin 73807 -> 0 bytes
.../img/image_resolved_discussion.png | Bin 48234 -> 199539 bytes
.../img/merge_request_commits_tab.png | Bin 12792 -> 169010 bytes
.../discussions/img/mr_review_resolve.png | Bin 21941 -> 247868 bytes
.../discussions/img/mr_review_resolve2.png | Bin 9430 -> 232589 bytes
.../img/mr_review_second_comment.png | Bin 11188 -> 183733 bytes
.../img/mr_review_second_comment_added.png | Bin 9673 -> 161924 bytes
doc/user/discussions/img/mr_review_start.png | Bin 23491 -> 274186 bytes
.../discussions/img/mr_review_unresolve.png | Bin 11302 -> 298513 bytes
.../discussions/img/new_issue_for_thread.png | Bin 0 -> 21119 bytes
doc/user/discussions/img/onion_skin_view.png | Bin 45053 -> 95809 bytes
...llow_merge_if_all_threads_are_resolved.png | Bin 0 -> 53804 bytes
.../img/pending_review_comment.png | Bin 8793 -> 247865 bytes
.../img/preview_issue_for_thread.png | Bin 0 -> 119608 bytes
.../img/preview_issue_for_threads.png | Bin 0 -> 131506 bytes
.../img/resolve_comment_button.png | Bin 4713 -> 11680 bytes
.../discussions/img/resolve_thread_button.png | Bin 0 -> 34562 bytes
.../img/resolve_thread_issue_notice.png | Bin 0 -> 44429 bytes
.../img/resolve_thread_open_issue.png | Bin 0 -> 57089 bytes
.../img/review_comment_quickactions.png | Bin 12392 -> 270228 bytes
doc/user/discussions/img/review_preview.png | Bin 19769 -> 84789 bytes
doc/user/discussions/img/swipe_view.png | Bin 16483 -> 71076 bytes
doc/user/discussions/img/thread_view.png | Bin 0 -> 556169 bytes
doc/user/discussions/img/threads_resolved.png | Bin 0 -> 12667 bytes
doc/user/discussions/img/two_up_view.png | Bin 61759 -> 118688 bytes
doc/user/discussions/index.md | 222 +-
doc/user/gitlab_com/index.md | 18 +-
doc/user/group/clusters/index.md | 12 +-
.../group/contribution_analytics/index.md | 20 +-
doc/user/group/custom_project_templates.md | 6 +-
doc/user/group/dependency_proxy/index.md | 2 +-
doc/user/group/epics/index.md | 12 +-
doc/user/group/index.md | 63 +-
doc/user/group/insights/index.md | 5 +-
doc/user/group/issues_analytics/index.md | 2 +-
doc/user/group/roadmap/index.md | 6 +-
doc/user/group/saml_sso/index.md | 2 +-
doc/user/group/saml_sso/scim_setup.md | 80 +-
doc/user/group/subgroups/index.md | 13 +-
.../img/color_inline_colorchip_render_gfm.png | Bin 4684 -> 0 bytes
.../markdown_inline_diffs_tags_rendered.png | Bin 1804 -> 0 bytes
doc/user/img/math_inline_sup_render_gfm.png | Bin 1119 -> 0 bytes
doc/user/img/task_list_ordered_render_gfm.png | Bin 2855 -> 0 bytes
doc/user/index.md | 12 +-
doc/user/markdown.md | 1852 +++++++++-------
doc/user/operations_dashboard/index.md | 13 +-
doc/user/permissions.md | 53 +-
doc/user/profile/account/img/2fa.png | Bin 22047 -> 0 bytes
doc/user/profile/account/img/2fa_auth.png | Bin 14535 -> 0 bytes
.../account/img/2fa_u2f_authenticate.png | Bin 17582 -> 0 bytes
.../profile/account/img/2fa_u2f_register.png | Bin 35186 -> 0 bytes
.../account/two_factor_authentication.md | 183 +-
doc/user/profile/preferences.md | 2 +-
doc/user/project/autocomplete_characters.md | 48 +
doc/user/project/canary_deployments.md | 5 +-
.../project/clusters/eks_and_gitlab/index.md | 148 +-
doc/user/project/clusters/index.md | 226 +-
.../project/clusters/kubernetes_pod_logs.md | 6 +-
doc/user/project/clusters/runbooks/index.md | 61 +-
.../serverless/img/function-endpoint.png | Bin 0 -> 42436 bytes
doc/user/project/clusters/serverless/index.md | 442 +++-
doc/user/project/code_owners.md | 21 +-
doc/user/project/container_registry.md | 24 +-
doc/user/project/cycle_analytics.md | 2 +-
doc/user/project/deploy_boards.md | 23 +-
.../deploy_tokens/img/deploy_tokens.png | Bin 23087 -> 218635 bytes
doc/user/project/deploy_tokens/index.md | 15 +-
doc/user/project/description_templates.md | 17 +-
doc/user/project/file_lock.md | 85 +-
...autocomplete_characters_example1_v12_0.png | Bin 0 -> 17510 bytes
...autocomplete_characters_example2_v12_0.png | Bin 0 -> 14623 bytes
doc/user/project/img/file_lock.png | Bin 26973 -> 46281 bytes
doc/user/project/img/file_lock_folders.png | Bin 22900 -> 0 bytes
doc/user/project/img/file_lock_list.png | Bin 18243 -> 0 bytes
.../file_lock_merge_request_error_message.png | Bin 24573 -> 16254 bytes
.../project/img/file_lock_repository_view.png | Bin 22947 -> 17644 bytes
doc/user/project/import/bitbucket_server.md | 5 +-
doc/user/project/import/gemnasium.md | 6 +-
doc/user/project/import/github.md | 4 +-
doc/user/project/import/index.md | 6 +-
doc/user/project/import/phabricator.md | 6 +
doc/user/project/import/svn.md | 2 +-
doc/user/project/import/tfs.md | 10 +-
doc/user/project/index.md | 50 +-
doc/user/project/insights/index.md | 5 +-
.../integrations/custom_issue_tracker.md | 4 +-
doc/user/project/integrations/github.md | 6 +-
.../integrations/gitlab_slack_application.md | 2 +-
doc/user/project/integrations/hipchat.md | 2 +-
.../integrations/img/jira_api_token.png | Bin 61394 -> 21318 bytes
.../integrations/img/jira_api_token_menu.png | Bin 25056 -> 41876 bytes
.../integrations/img/jira_issue_reference.png | Bin 18399 -> 64064 bytes
.../img/jira_merge_request_close.png | Bin 21172 -> 64305 bytes
.../img/jira_service_close_comment.png | Bin 11890 -> 0 bytes
.../img/jira_service_close_issue.png | Bin 30570 -> 29632 bytes
.../integrations/img/jira_service_page.png | Bin 30395 -> 70807 bytes
.../prometheus_dashboard_area_panel_type.png | Bin 0 -> 65101 bytes
...theus_dashboard_single_stat_panel_type.png | Bin 0 -> 26781 bytes
doc/user/project/integrations/jira.md | 30 +-
.../integrations/jira_cloud_configuration.md | 22 +-
.../integrations/jira_server_configuration.md | 28 +-
doc/user/project/integrations/mattermost.md | 4 +
.../integrations/mattermost_slash_commands.md | 3 +
.../project/integrations/project_services.md | 16 +-
doc/user/project/integrations/prometheus.md | 174 +-
.../prometheus_library/cloudwatch.md | 4 +-
.../prometheus_library/haproxy.md | 4 +-
.../prometheus_library/kubernetes.md | 26 +-
.../integrations/prometheus_library/nginx.md | 6 +-
.../prometheus_library/nginx_ingress.md | 6 +-
.../prometheus_library/nginx_ingress_vts.md | 6 +-
doc/user/project/integrations/slack.md | 2 +-
.../integrations/slack_slash_commands.md | 2 +-
doc/user/project/integrations/webhooks.md | 6 +-
doc/user/project/issue_board.md | 18 +-
.../project/issues/automatic_issue_closing.md | 64 +-
doc/user/project/issues/closing_issues.md | 62 +-
doc/user/project/issues/create_new_issue.md | 107 +-
.../project/issues/crosslinking_issues.md | 25 +-
doc/user/project/issues/csv_export.md | 4 +-
doc/user/project/issues/csv_import.md | 55 +-
doc/user/project/issues/deleting_issues.md | 16 +-
doc/user/project/issues/due_dates.md | 29 +-
doc/user/project/issues/index.md | 103 +-
.../project/issues/issue_data_and_actions.md | 53 +-
doc/user/project/issues/managing_issues.md | 225 ++
doc/user/project/issues/moving_issues.md | 38 +-
.../issues/multiple_assignees_for_issues.md | 2 +-
doc/user/project/issues/related_issues.md | 2 +-
doc/user/project/issues/similar_issues.md | 19 +-
doc/user/project/labels.md | 10 +-
doc/user/project/members/index.md | 22 -
.../browser_performance_testing.md | 4 +-
.../project/merge_requests/code_quality.md | 2 +-
doc/user/project/merge_requests/index.md | 53 +-
.../merge_requests/merge_request_approvals.md | 22 +-
.../merge_when_pipeline_succeeds.md | 19 +-
.../merge_requests/squash_and_merge.md | 5 +-
.../work_in_progress_merge_requests.md | 10 +-
.../project/milestones/burndown_charts.md | 2 +-
doc/user/project/milestones/index.md | 14 +-
.../project/new_ci_build_permissions_model.md | 6 +-
doc/user/project/operations/feature_flags.md | 2 +-
doc/user/project/operations/index.md | 4 +-
doc/user/project/operations/tracing.md | 10 +-
doc/user/project/packages/maven_repository.md | 98 +-
doc/user/project/packages/npm_registry.md | 19 +-
.../dns_concepts.md | 95 +
.../img/add_certificate_to_pages.png | Bin
..._add_new_a_record_example_updated_2018.png | Bin
.../img/dns_cname_record_example.png | Bin
.../get_domain_verification_code_v12_0.png | Bin 0 -> 194433 bytes
.../img/lets_encrypt_integration_v12_1.png | Bin 0 -> 35040 bytes
.../img/retry_domain_verification_v12_0.png | Bin 0 -> 191712 bytes
.../index.md | 277 +++
.../lets_encrypt_integration.md | 68 +
.../ssl_tls_concepts.md | 75 +
.../pages/getting_started_part_four.md | 2 +-
.../pages/getting_started_part_three.md | 304 +--
.../project/pages/getting_started_part_two.md | 22 +-
....png => pages_project_templates_v11_8.png} | Bin
.../project/pages/img/verify_your_domain.png | Bin 12082 -> 0 bytes
doc/user/project/pages/index.md | 19 +-
doc/user/project/pages/introduction.md | 8 +-
.../pages/lets_encrypt_for_gitlab_pages.md | 149 +-
doc/user/project/pipelines/job_artifacts.md | 22 +-
doc/user/project/pipelines/settings.md | 20 +-
doc/user/project/protected_branches.md | 4 +-
doc/user/project/quick_actions.md | 49 +-
doc/user/project/repository/branches/index.md | 2 +-
.../repository/gpg_signed_commits/index.md | 157 +-
doc/user/project/repository/index.md | 15 +-
.../reducing_the_repo_size_using_git.md | 105 +-
doc/user/project/repository/web_editor.md | 15 +-
doc/user/project/service_desk.md | 47 +-
doc/user/project/settings/import_export.md | 73 +-
doc/user/project/settings/index.md | 20 +-
doc/user/project/web_ide/index.md | 113 +-
doc/user/search/advanced_global_search.md | 2 +-
doc/user/search/advanced_search_syntax.md | 2 +-
doc/user/search/index.md | 10 +-
doc/workflow/README.md | 16 +-
doc/workflow/file_finder.md | 4 -
doc/workflow/gitlab_flow.md | 37 +-
doc/workflow/{ => img}/ci_mr.png | Bin
doc/workflow/{ => img}/close_issue_mr.png | Bin
.../{ => img}/environment_branches.png | Bin
doc/workflow/{ => img}/four_stages.png | Bin
doc/workflow/{ => img}/git_pull.png | Bin
doc/workflow/{ => img}/gitdashflow.png | Bin
doc/workflow/{ => img}/github_flow.png | Bin
doc/workflow/{ => img}/gitlab_flow.png | Bin
doc/workflow/{ => img}/good_commit.png | Bin
doc/workflow/{ => img}/merge_commits.png | Bin
doc/workflow/{ => img}/merge_request.png | Bin
doc/workflow/{ => img}/messy_flow.png | Bin
doc/workflow/{ => img}/mr_inline_comments.png | Bin
doc/workflow/{ => img}/production_branch.png | Bin
doc/workflow/{ => img}/rebase.png | Bin
doc/workflow/{ => img}/release_branches.png | Bin
doc/workflow/{ => img}/remove_checkbox.png | Bin
doc/workflow/issue_weight.md | 4 +-
doc/workflow/lfs/lfs_administration.md | 62 +-
.../lfs/manage_large_binaries_with_git_lfs.md | 2 +-
doc/workflow/notifications.md | 38 +-
doc/workflow/repository_mirroring.md | 30 +-
doc/workflow/shortcuts.md | 2 +-
doc/workflow/time_tracking.md | 10 +-
doc/workflow/timezone.md | 8 +-
doc/workflow/todos.md | 140 +-
jest.config.js | 11 +-
lib/after_commit_queue.rb | 14 +-
lib/api/api.rb | 10 +-
lib/api/boards.rb | 2 +-
lib/api/boards_responses.rb | 2 +-
lib/api/branches.rb | 5 +-
lib/api/commits.rb | 7 +-
lib/api/container_registry.rb | 10 +
lib/api/discussions.rb | 18 +-
lib/api/entities.rb | 39 +-
lib/api/environments.rb | 7 +-
lib/api/group_boards.rb | 2 +-
lib/api/group_clusters.rb | 140 ++
lib/api/helpers.rb | 13 +-
lib/api/helpers/graphql_helpers.rb | 2 -
lib/api/helpers/internal_helpers.rb | 2 +-
lib/api/helpers/notes_helpers.rb | 29 +-
lib/api/helpers/pagination.rb | 4 +-
lib/api/helpers/projects_helpers.rb | 49 +-
lib/api/helpers/runner.rb | 3 +-
lib/api/helpers/services_helpers.rb | 10 +-
lib/api/import_github.rb | 2 +-
lib/api/merge_requests.rb | 27 +-
lib/api/notes.rb | 12 +-
lib/api/pages_domains.rb | 15 +-
lib/api/project_clusters.rb | 2 +-
lib/api/projects.rb | 6 +-
lib/api/releases.rb | 2 +
lib/api/resource_label_events.rb | 4 +-
lib/api/runners.rb | 2 +
lib/api/settings.rb | 12 +-
lib/api/tags.rb | 4 +-
lib/api/todos.rb | 2 +-
lib/api/user_counts.rb | 18 +
lib/api/users.rb | 26 +-
.../filter/ascii_doc_sanitization_filter.rb | 111 +
lib/banzai/filter/base_sanitization_filter.rb | 68 +
lib/banzai/filter/inline_embeds_filter.rb | 67 +
lib/banzai/filter/inline_metrics_filter.rb | 43 +
.../filter/inline_metrics_redactor_filter.rb | 98 +
...filter.rb => reference_redactor_filter.rb} | 4 +-
lib/banzai/filter/relative_link_filter.rb | 6 +-
lib/banzai/filter/sanitization_filter.rb | 51 +-
lib/banzai/filter/syntax_highlight_filter.rb | 2 +-
lib/banzai/object_renderer.rb | 2 +-
lib/banzai/pipeline/ascii_doc_pipeline.rb | 3 +-
lib/banzai/pipeline/gfm_pipeline.rb | 1 +
lib/banzai/pipeline/post_process_pipeline.rb | 3 +-
.../{redactor.rb => reference_redactor.rb} | 2 +-
lib/banzai/renderer.rb | 44 +-
lib/container_registry/client.rb | 9 +-
lib/feature.rb | 32 +-
lib/feature/gitaly.rb | 9 +-
lib/gitaly/server.rb | 18 +-
lib/gitlab.rb | 20 +-
lib/gitlab/asciidoc.rb | 4 +-
lib/gitlab/asciidoc/html5_converter.rb | 9 +-
.../html_pipeline_adapter.rb | 15 +
lib/gitlab/auth.rb | 2 +
lib/gitlab/auth/ip_rate_limiter.rb | 17 +-
lib/gitlab/auth/ldap/adapter.rb | 4 +-
lib/gitlab/auth/ldap/config.rb | 4 +-
lib/gitlab/auth/ldap/person.rb | 6 +-
lib/gitlab/auth/o_auth/provider.rb | 4 +
.../add_merge_request_diff_commits_count.rb | 2 +-
.../archive_legacy_traces.rb | 2 +-
.../calculate_wiki_sizes.rb | 2 +-
.../create_fork_network_memberships_range.rb | 85 -
...elete_conflicting_redirect_routes_range.rb | 13 -
...valid_time_for_pages_domain_certificate.rb | 2 +-
.../fix_cross_project_label_links.rb | 2 +-
.../fix_pages_access_level.rb | 128 ++
.../fix_user_namespace_names.rb | 68 +
.../fix_user_project_route_names.rb | 38 +
.../migrate_events_to_push_event_payloads.rb | 179 --
.../migrate_null_private_profile_to_false.rb | 17 +
.../migrate_system_uploads_to_new_folder.rb | 29 -
.../move_personal_snippet_files.rb | 82 -
.../normalize_ldap_extern_uids_range.rb | 319 ---
.../populate_fork_networks_range.rb | 128 --
.../populate_merge_request_assignees_table.rb | 8 +
...e_requests_latest_merge_request_diff_id.rb | 33 -
.../populate_untracked_uploads.rb | 2 +-
.../prepare_untracked_uploads.rb | 2 +-
lib/gitlab/batch_pop_queueing.rb | 112 +
lib/gitlab/bitbucket_import/importer.rb | 28 +-
lib/gitlab/checks/tag_check.rb | 2 +-
lib/gitlab/ci/ansi2html.rb | 27 +-
.../prerequisite/kubernetes_namespace.rb | 1 -
lib/gitlab/ci/config.rb | 53 +-
lib/gitlab/ci/config/entry/default.rb | 74 +
lib/gitlab/ci/config/entry/global.rb | 79 -
lib/gitlab/ci/config/entry/hidden.rb | 8 +
lib/gitlab/ci/config/entry/job.rb | 38 +-
lib/gitlab/ci/config/entry/jobs.rb | 31 +-
lib/gitlab/ci/config/entry/root.rb | 146 ++
lib/gitlab/ci/pipeline/chain/command.rb | 6 +
.../ci/pipeline/chain/validate/abilities.rb | 4 +
.../ci/pipeline/expression/lexeme/pattern.rb | 11 +-
lib/gitlab/ci/pipeline/expression/lexer.rb | 17 +-
lib/gitlab/ci/pipeline/expression/parser.rb | 39 +-
.../ci/templates/Auto-DevOps.gitlab-ci.yml | 22 +-
.../ci/templates/Code-Quality.gitlab-ci.yml | 19 +-
.../Browser-Performance-Testing.gitlab-ci.yml | 2 +
.../ci/templates/Jobs/Build.gitlab-ci.yml | 2 +
.../templates/Jobs/Code-Quality.gitlab-ci.yml | 19 +-
.../ci/templates/Jobs/Deploy.gitlab-ci.yml | 1 -
lib/gitlab/ci/templates/PHP.gitlab-ci.yml | 2 +-
.../ci/templates/Pages/Jekyll.gitlab-ci.yml | 1 +
.../Security/Container-Scanning.gitlab-ci.yml | 6 +-
.../Dependency-Scanning.gitlab-ci.yml | 4 +
.../ci/templates/Security/SAST.gitlab-ci.yml | 2 +
lib/gitlab/ci/trace.rb | 2 +-
lib/gitlab/ci/yaml_processor.rb | 7 +-
.../cleanup/orphan_job_artifact_files.rb | 132 ++
.../orphan_job_artifact_files_batch.rb | 80 +
.../cleanup/project_upload_file_finder.rb | 2 +-
lib/gitlab/cleanup/project_uploads.rb | 2 +-
lib/gitlab/cleanup/remote_uploads.rb | 2 +-
lib/gitlab/cluster/lifecycle_events.rb | 3 +
lib/gitlab/config/entry/configurable.rb | 14 +-
lib/gitlab/config/entry/factory.rb | 12 +
lib/gitlab/current_settings.rb | 2 +-
.../cycle_analytics/base_event_fetcher.rb | 18 +-
lib/gitlab/cycle_analytics/base_query.rb | 4 +-
lib/gitlab/cycle_analytics/base_stage.rb | 49 +-
.../cycle_analytics/code_event_fetcher.rb | 2 +-
.../cycle_analytics/issue_event_fetcher.rb | 2 +-
lib/gitlab/cycle_analytics/issue_helper.rb | 2 +-
lib/gitlab/cycle_analytics/permissions.rb | 2 +-
.../cycle_analytics/plan_event_fetcher.rb | 2 +-
lib/gitlab/cycle_analytics/plan_helper.rb | 2 +-
.../production_event_fetcher.rb | 2 +-
.../cycle_analytics/production_helper.rb | 2 +-
.../cycle_analytics/review_event_fetcher.rb | 2 +-
lib/gitlab/cycle_analytics/test_helper.rb | 2 +-
lib/gitlab/cycle_analytics/usage_data.rb | 2 +-
lib/gitlab/danger/helper.rb | 6 +-
lib/gitlab/database.rb | 71 +-
lib/gitlab/database/grant.rb | 2 +-
lib/gitlab/database/median.rb | 2 +-
lib/gitlab/database/migration_helpers.rb | 17 +-
.../v1/rename_namespaces.rb | 2 +-
.../v1/rename_projects.rb | 2 +-
.../database_importers/common_metrics.rb | 8 +
.../common_metrics/importer.rb | 78 +
.../common_metrics/prometheus_metric.rb | 12 +
.../common_metrics/prometheus_metric_enums.rb | 40 +
lib/gitlab/diff/lines_unfolder.rb | 2 +-
lib/gitlab/diff/position.rb | 4 +
lib/gitlab/diff/position_tracer.rb | 192 +-
.../diff/position_tracer/base_strategy.rb | 26 +
.../diff/position_tracer/image_strategy.rb | 50 +
.../diff/position_tracer/line_strategy.rb | 201 ++
.../email/hook/disable_email_interceptor.rb | 2 +-
lib/gitlab/encoding_helper.rb | 2 +-
lib/gitlab/exclusive_lease_helpers.rb | 5 +-
lib/gitlab/external_authorization/client.rb | 3 +-
lib/gitlab/favicon.rb | 8 +-
lib/gitlab/git/raw_diff_change.rb | 4 +-
lib/gitlab/git/repository.rb | 42 +-
lib/gitlab/git/rugged_impl/blob.rb | 5 +-
lib/gitlab/git/rugged_impl/commit.rb | 14 +-
lib/gitlab/git/rugged_impl/repository.rb | 5 +-
lib/gitlab/git/rugged_impl/tree.rb | 5 +-
lib/gitlab/git/rugged_impl/use_rugged.rb | 22 +
lib/gitlab/gitaly_client.rb | 54 +-
lib/gitlab/gitaly_client/commit_service.rb | 36 +-
lib/gitlab/gitaly_client/operation_service.rb | 5 +-
.../gitaly_client/repository_service.rb | 2 +-
.../importer/lfs_objects_importer.rb | 2 +-
.../importer/pull_requests_importer.rb | 2 +-
lib/gitlab/global_id.rb | 14 +
lib/gitlab/gon_helper.rb | 9 +-
lib/gitlab/graphql.rb | 4 -
lib/gitlab/graphql/authorize.rb | 2 +-
.../graphql/authorize/authorize_resource.rb | 12 +-
lib/gitlab/graphql/calls_gitaly.rb | 15 +
.../graphql/calls_gitaly/instrumentation.rb | 40 +
lib/gitlab/graphql/copy_field_description.rb | 21 +
lib/gitlab/graphql/docs/helper.rb | 50 +
lib/gitlab/graphql/docs/renderer.rb | 43 +
.../graphql/docs/templates/default.md.haml | 25 +
lib/gitlab/graphql/errors.rb | 1 +
lib/gitlab/graphql/find_argument_in_parent.rb | 32 +
.../loaders/pipeline_for_sha_loader.rb | 25 +
lib/gitlab/graphql/markdown_field.rb | 26 +
lib/gitlab/graphql/markdown_field/resolver.rb | 22 +
lib/gitlab/graphql/mount_mutation.rb | 5 +-
.../representation/submodule_tree_entry.rb | 34 +
lib/gitlab/hashed_storage/migrator.rb | 4 +
lib/gitlab/hashed_storage/rake_helper.rb | 6 +-
.../health_checks/simple_abstract_check.rb | 2 +-
lib/gitlab/http.rb | 6 +-
lib/gitlab/import_export/attribute_cleaner.rb | 2 +-
lib/gitlab/import_export/attributes_finder.rb | 2 +-
lib/gitlab/import_export/import_export.yml | 1 +
lib/gitlab/import_export/json_hash_builder.rb | 2 +-
lib/gitlab/import_export/members_mapper.rb | 2 +-
.../import_export/merge_request_parser.rb | 2 +-
.../import_export/project_tree_restorer.rb | 2 +-
lib/gitlab/import_export/relation_factory.rb | 11 +-
lib/gitlab/import_export/saver.rb | 2 +-
lib/gitlab/import_export/version_checker.rb | 2 +-
lib/gitlab/json_cache.rb | 2 +-
lib/gitlab/kubernetes.rb | 13 +-
lib/gitlab/kubernetes/helm/client_command.rb | 14 +-
lib/gitlab/kubernetes/helm/install_command.rb | 11 -
lib/gitlab/kubernetes/kube_client.rb | 7 +
lib/gitlab/kubernetes/role.rb | 24 +
lib/gitlab/kubernetes/role_binding.rb | 7 +-
.../legacy_github_import/release_formatter.rb | 1 +
lib/gitlab/lets_encrypt.rb | 9 +
lib/gitlab/lets_encrypt/client.rb | 10 +-
.../markdown_cache/active_record/extension.rb | 4 -
lib/gitlab/markdown_cache/redis/extension.rb | 4 +-
lib/gitlab/metrics/dashboard/base_service.rb | 19 +-
.../dashboard/dynamic_dashboard_service.rb | 65 +
lib/gitlab/metrics/dashboard/finder.rb | 32 +-
lib/gitlab/metrics/dashboard/url.rb | 40 +
lib/gitlab/metrics/samplers/base_sampler.rb | 2 +-
lib/gitlab/metrics/samplers/puma_sampler.rb | 2 +-
lib/gitlab/metrics/samplers/ruby_sampler.rb | 7 +-
.../metrics/samplers/unicorn_sampler.rb | 11 +-
lib/gitlab/metrics/system.rb | 30 +-
lib/gitlab/middleware/read_only/controller.rb | 2 +-
lib/gitlab/namespaced_session_store.rb | 15 +-
lib/gitlab/omniauth_initializer.rb | 10 +
lib/gitlab/optimistic_locking.rb | 1 +
lib/gitlab/pages_client.rb | 2 +-
lib/gitlab/patch/active_record_query_cache.rb | 39 +
lib/gitlab/path_regex.rb | 1 -
lib/gitlab/performance_bar.rb | 28 +-
.../redis_adapter_when_peek_enabled.rb | 12 +
lib/gitlab/phabricator_import/cache/map.rb | 10 +-
lib/gitlab/phabricator_import/conduit/user.rb | 31 +
.../conduit/users_response.rb | 23 +
.../issues/task_importer.rb | 12 +-
.../phabricator_import/representation/task.rb | 12 +
.../phabricator_import/representation/user.rb | 25 +
lib/gitlab/phabricator_import/user_finder.rb | 52 +
lib/gitlab/quick_actions/issuable_actions.rb | 4 +-
lib/gitlab/reference_counter.rb | 4 +-
lib/gitlab/regex.rb | 8 -
lib/gitlab/repository_cache_adapter.rb | 2 +-
lib/gitlab/sanitizers/exif.rb | 2 +-
lib/gitlab/search/found_blob.rb | 11 +-
lib/gitlab/sentry.rb | 2 +-
lib/gitlab/shell.rb | 12 +-
lib/gitlab/sidekiq_status.rb | 6 +-
lib/gitlab/sql/pattern.rb | 24 +-
lib/gitlab/submodule_links.rb | 31 +
lib/gitlab/thread_memory_cache.rb | 15 +
lib/gitlab/time_tracking_formatter.rb | 10 +-
lib/gitlab/url_blocker.rb | 111 +-
lib/gitlab/usage_data.rb | 5 +-
.../usage_data_counters/redis_counter.rb | 15 +
.../usage_data_counters/web_ide_counter.rb | 21 +
lib/gitlab/user_access.rb | 2 +-
lib/gitlab/user_extractor.rb | 56 -
lib/gitlab/web_ide_commits_counter.rb | 17 -
lib/gitlab/zoom_link_extractor.rb | 21 +
lib/mattermost/session.rb | 2 +-
lib/microsoft_teams/notifier.rb | 2 +-
lib/peek/views/redis.rb | 86 +
lib/rspec_flaky/listener.rb | 2 +
lib/support/init.d/gitlab | 15 +-
lib/system_check/ldap_check.rb | 9 +-
lib/tasks/gitlab/cleanup.rake | 27 +
lib/tasks/gitlab/features.rake | 14 +-
lib/tasks/gitlab/graphql.rake | 26 +
lib/tasks/gitlab/seed.rake | 7 +-
lib/tasks/gitlab/storage.rake | 80 +-
lib/tasks/migrate/schema_check.rake | 20 +
lib/tasks/migrate/setup_postgresql.rake | 14 -
lib/tasks/yarn.rake | 2 +-
locale/ar_SA/gitlab.po | 82 +-
locale/bg/gitlab.po | 82 +-
locale/bn_BD/gitlab.po | 82 +-
locale/bn_IN/gitlab.po | 82 +-
locale/ca_ES/gitlab.po | 82 +-
locale/cs_CZ/gitlab.po | 82 +-
locale/cy_GB/gitlab.po | 82 +-
locale/da_DK/gitlab.po | 82 +-
locale/de/gitlab.po | 82 +-
locale/el_GR/gitlab.po | 82 +-
locale/eo/gitlab.po | 82 +-
locale/es/gitlab.po | 124 +-
locale/et_EE/gitlab.po | 82 +-
locale/fil_PH/gitlab.po | 82 +-
locale/fr/gitlab.po | 82 +-
locale/gitlab.pot | 899 +++++++-
locale/gl_ES/gitlab.po | 82 +-
locale/he_IL/gitlab.po | 82 +-
locale/hi_IN/gitlab.po | 82 +-
locale/hr_HR/gitlab.po | 82 +-
locale/hu_HU/gitlab.po | 82 +-
locale/id_ID/gitlab.po | 82 +-
locale/it/gitlab.po | 82 +-
locale/ja/gitlab.po | 116 +-
locale/ka_GE/gitlab.po | 82 +-
locale/ko/gitlab.po | 98 +-
locale/mn_MN/gitlab.po | 82 +-
locale/nb_NO/gitlab.po | 82 +-
locale/nl_NL/gitlab.po | 82 +-
locale/pa_IN/gitlab.po | 82 +-
locale/pl_PL/gitlab.po | 82 +-
locale/pt_BR/gitlab.po | 120 +-
locale/pt_PT/gitlab.po | 622 +++---
locale/ro_RO/gitlab.po | 82 +-
locale/ru/gitlab.po | 82 +-
locale/sk_SK/gitlab.po | 82 +-
locale/sq_AL/gitlab.po | 82 +-
locale/sr_CS/gitlab.po | 82 +-
locale/sr_SP/gitlab.po | 82 +-
locale/sv_SE/gitlab.po | 82 +-
locale/sw_KE/gitlab.po | 82 +-
locale/tr_TR/gitlab.po | 82 +-
locale/uk/gitlab.po | 120 +-
locale/zh_CN/gitlab.po | 82 +-
locale/zh_HK/gitlab.po | 82 +-
locale/zh_TW/gitlab.po | 82 +-
package.json | 14 +-
qa/.rspec_parallel | 5 +
qa/Gemfile | 3 +
qa/Gemfile.lock | 9 +
qa/README.md | 27 +-
qa/Rakefile | 5 +-
qa/qa.rb | 6 +
qa/qa/page/base.rb | 15 +-
qa/qa/page/component/confirm_modal.rb | 25 +
qa/qa/page/component/note.rb | 10 +
qa/qa/page/component/select2.rb | 4 +
qa/qa/page/element.rb | 4 +-
qa/qa/page/file/edit.rb | 13 +
qa/qa/page/file/form.rb | 27 +-
qa/qa/page/file/shared/commit_button.rb | 21 +
qa/qa/page/file/shared/editor.rb | 33 +
qa/qa/page/file/show.rb | 2 +
qa/qa/page/main/login.rb | 6 +-
qa/qa/page/main/menu.rb | 10 +-
qa/qa/page/main/oauth.rb | 4 +-
qa/qa/page/main/sign_up.rb | 26 +-
qa/qa/page/project/new.rb | 2 +-
.../project/operations/kubernetes/show.rb | 2 +-
qa/qa/page/project/pipeline/index.rb | 2 +-
qa/qa/page/project/settings/advanced.rb | 16 +
qa/qa/page/project/settings/main.rb | 2 +
qa/qa/page/project/show.rb | 1 +
qa/qa/page/project/sub_menus/ci_cd.rb | 2 +
qa/qa/page/project/sub_menus/common.rb | 6 +-
qa/qa/page/project/sub_menus/issues.rb | 2 +
qa/qa/page/project/sub_menus/operations.rb | 2 +
qa/qa/page/project/sub_menus/project.rb | 29 +
qa/qa/page/project/sub_menus/repository.rb | 2 +
qa/qa/page/project/sub_menus/settings.rb | 11 +
qa/qa/page/settings/common.rb | 2 +-
qa/qa/resource/api_fabricator.rb | 7 +-
qa/qa/resource/group.rb | 4 +
qa/qa/resource/issue.rb | 6 +-
qa/qa/resource/merge_request.rb | 3 +
qa/qa/resource/merge_request_from_fork.rb | 2 +-
qa/qa/resource/project.rb | 28 +-
qa/qa/resource/user.rb | 2 +-
qa/qa/runtime/api/client.rb | 19 +-
qa/qa/runtime/browser.rb | 6 +-
qa/qa/runtime/env.rb | 12 +-
qa/qa/runtime/logger.rb | 1 +
qa/qa/runtime/scenario.rb | 6 +
qa/qa/scenario/shared_attributes.rb | 1 +
qa/qa/service/kubernetes_cluster.rb | 14 +-
qa/qa/service/shellout.rb | 2 +-
.../project_archive_compare_spec.rb | 75 +
.../1_manage/group/transfer_project_spec.rb | 57 +
.../browser_ui/1_manage/login/log_in_spec.rb | 8 +-
.../login/log_into_gitlab_via_ldap_spec.rb | 2 +-
.../login_via_instance_wide_saml_sso_spec.rb | 4 +-
.../1_manage/login/login_via_oauth_spec.rb | 3 +-
.../project/add_project_member_spec.rb | 2 +-
.../1_manage/project/create_project_spec.rb | 2 +-
.../project/import_github_repo_spec.rb | 12 +-
.../issue/check_mentions_for_xss_spec.rb | 44 +
.../collapse_comments_in_discussions_spec.rb | 26 +-
.../2_plan/issue/comment_issue_spec.rb | 31 +
.../2_plan/issue/create_issue_spec.rb | 7 +-
.../issue/filter_issue_comments_spec.rb | 25 +-
.../2_plan/issue/issue_suggestions_spec.rb | 2 +-
.../merge_merge_request_from_fork_spec.rb | 3 +-
.../squash_merge_request_spec.rb | 3 +-
.../view_merge_request_diff_patch_spec.rb | 3 +-
.../repository/add_file_template_spec.rb | 3 +-
.../add_list_delete_branches_spec.rb | 5 +-
.../3_create/repository/add_ssh_key_spec.rb | 6 +-
.../create_edit_delete_file_via_web_spec.rb | 4 +-
.../push_mirroring_over_http_spec.rb | 3 +-
.../push_over_http_file_size_spec.rb | 3 +-
.../repository/push_protected_branch_spec.rb | 2 +-
.../3_create/snippet/create_snippet_spec.rb | 8 +-
.../web_ide/add_file_template_spec.rb | 3 +-
.../ci_variable/add_ci_variable_spec.rb | 4 +-
.../4_verify/runner/register_runner_spec.rb | 2 +-
.../deploy_key/add_deploy_key_spec.rb | 3 +-
.../deploy_token/add_deploy_token_spec.rb | 4 +-
.../create_project_with_auto_devops_spec.rb | 58 +-
.../create_group_with_mattermost_team_spec.rb | 4 +-
qa/qa/specs/parallel_runner.rb | 33 +
qa/qa/specs/runner.rb | 70 +-
qa/qa/support/api.rb | 5 +-
qa/qa/support/retrier.rb | 19 +
qa/qa/tools/generate_perf_testdata.rb | 218 +-
qa/spec/page/element_spec.rb | 13 +-
qa/spec/page/logging_spec.rb | 8 +-
qa/spec/runtime/api/client_spec.rb | 36 +-
qa/spec/spec_helper.rb | 4 +
qa/spec/specs/parallel_runner_spec.rb | 58 +
qa/spec/specs/runner_spec.rb | 8 +-
rubocop/cop/gitlab/rails_logger.rb | 51 +
rubocop/cop/graphql/authorize_types.rb | 61 +
rubocop/cop/qa/element_with_pattern.rb | 2 +-
rubocop/rubocop.rb | 2 +
scripts/frontend/test.js | 23 +-
scripts/gather-test-memory-data | 21 +
scripts/generate-gems-memory-metrics-static | 18 +
scripts/generate-gems-size-metrics-static | 30 +
scripts/generate-memory-metrics-on-boot | 11 +
scripts/lint-doc.sh | 4 +-
scripts/merge-html-reports | 84 +
scripts/prepare_build.sh | 10 +-
scripts/review_apps/review-apps.sh | 237 +-
scripts/trigger-build | 9 +-
scripts/trigger-build-docs | 10 +-
.../application_settings_controller_spec.rb | 35 +-
.../clusters/applications_controller_spec.rb | 10 -
.../admin/clusters_controller_spec.rb | 92 +-
.../admin/runners_controller_spec.rb | 5 +-
.../application_controller_spec.rb | 9 +-
.../boards/issues_controller_spec.rb | 217 +-
.../boards/lists_controller_spec.rb | 4 +-
.../concerns/continue_params_spec.rb | 8 +
.../concerns/internal_redirect_spec.rb | 77 +-
.../concerns/issuable_collections_spec.rb | 11 +
.../dashboard/projects_controller_spec.rb | 18 +-
.../dashboard/todos_controller_spec.rb | 28 +
.../groups/boards_controller_spec.rb | 6 +-
.../groups/clusters_controller_spec.rb | 96 +-
.../groups/milestones_controller_spec.rb | 2 +-
spec/controllers/groups_controller_spec.rb | 7 +-
.../health_check_controller_spec.rb | 1 -
spec/controllers/health_controller_spec.rb | 1 -
spec/controllers/metrics_controller_spec.rb | 1 -
.../projects/blob_controller_spec.rb | 4 +-
.../projects/boards_controller_spec.rb | 6 +-
.../projects/branches_controller_spec.rb | 99 +-
.../projects/ci/lints_controller_spec.rb | 2 +-
.../projects/clusters_controller_spec.rb | 2 -
.../projects/commit_controller_spec.rb | 4 +-
.../projects/compare_controller_spec.rb | 9 +-
.../projects/deploy_keys_controller_spec.rb | 10 +-
.../projects/deployments_controller_spec.rb | 74 +-
.../projects/discussions_controller_spec.rb | 4 +-
.../prometheus_api_controller_spec.rb | 2 +-
.../projects/environments_controller_spec.rb | 220 +-
.../projects/find_file_controller_spec.rb | 5 +-
.../projects/forks_controller_spec.rb | 16 +-
.../projects/issues_controller_spec.rb | 148 +-
.../projects/jobs_controller_spec.rb | 16 +-
.../merge_requests/content_controller_spec.rb | 60 +
.../merge_requests/diffs_controller_spec.rb | 2 +-
.../merge_requests_controller_spec.rb | 85 +-
.../projects/notes_controller_spec.rb | 4 +-
.../projects/pages_domains_controller_spec.rb | 64 +-
.../projects/services_controller_spec.rb | 10 +-
.../settings/repository_controller_spec.rb | 20 +
.../projects/templates_controller_spec.rb | 9 +-
.../projects/wikis_controller_spec.rb | 2 +-
spec/controllers/projects_controller_spec.rb | 76 +-
.../registrations_controller_spec.rb | 25 +-
spec/controllers/search_controller_spec.rb | 17 +
.../snippets/notes_controller_spec.rb | 6 +-
spec/controllers/snippets_controller_spec.rb | 2 +-
.../user_callouts_controller_spec.rb | 4 +-
spec/controllers/users_controller_spec.rb | 2 +-
spec/factories/award_emoji.rb | 2 +-
spec/factories/ci/bridge.rb | 2 +-
spec/factories/clusters/clusters.rb | 2 +-
spec/factories/deployments.rb | 4 +
.../namespace/aggregation_schedules.rb | 7 +
.../namespace/root_storage_statistics.rb | 7 +
spec/factories/namespaces.rb | 8 +
spec/factories/pages_domains.rb | 89 +
spec/factories/project_statistics.rb | 15 +
spec/factories/projects.rb | 26 +-
spec/factories/releases.rb | 1 +
spec/factories/services.rb | 46 +-
spec/factories/services_data.rb | 8 +-
spec/fast_spec_helper.rb | 1 +
.../admin_sees_project_statistics_spec.rb | 2 +-
spec/features/admin/admin_settings_spec.rb | 111 +-
spec/features/admin/admin_users_spec.rb | 26 +
spec/features/boards/sidebar_spec.rb | 22 +-
spec/features/container_registry_spec.rb | 6 +-
spec/features/dashboard/milestones_spec.rb | 14 +
spec/features/dashboard/shortcuts_spec.rb | 2 +-
spec/features/dashboard/todos/todos_spec.rb | 14 +-
.../discussion_comments/commit_spec.rb | 20 +-
.../discussion_comments/issue_spec.rb | 4 +-
.../discussion_comments/merge_request_spec.rb | 4 +-
.../discussion_comments/snippets_spec.rb | 4 +-
spec/features/groups/issues_spec.rb | 78 +
.../issues/bulk_assignment_labels_spec.rb | 2 +-
...e_for_discussions_in_merge_request_spec.rb | 32 +-
...single_discussion_in_merge_request_spec.rb | 24 +-
spec/features/issues/gfm_autocomplete_spec.rb | 70 +-
spec/features/issues/todo_spec.rb | 8 +-
...r_creates_branch_and_merge_request_spec.rb | 13 +-
...creates_confidential_merge_request_spec.rb | 54 +
.../issues/user_uses_quick_actions_spec.rb | 32 +-
spec/features/markdown/mermaid_spec.rb | 18 +
.../user_comments_on_merge_request_spec.rb | 2 +-
.../user_creates_merge_request_spec.rb | 2 +-
...diff_notes_and_discussions_resolve_spec.rb | 174 +-
.../user_sees_discussions_spec.rb | 8 +-
...epending_on_unresolved_discussions_spec.rb | 12 +-
.../user_sees_merge_widget_spec.rb | 62 +-
.../user_suggests_changes_on_diff_spec.rb | 4 +-
.../user_uses_quick_actions_spec.rb | 30 +-
spec/features/oauth_login_spec.rb | 12 +-
.../projects/clusters/applications_spec.rb | 23 +-
spec/features/projects/clusters/gcp_spec.rb | 5 -
.../environments/environment_metrics_spec.rb | 39 +-
.../projects/files/user_edits_files_spec.rb | 41 +-
.../files/user_reads_pipeline_status_spec.rb | 2 +
spec/features/projects/fork_spec.rb | 2 +-
spec/features/projects/new_project_spec.rb | 550 ++---
.../projects/pages_lets_encrypt_spec.rb | 167 +-
spec/features/projects/pages_spec.rb | 20 +-
.../releases/user_views_releases_spec.rb | 12 +
...er_activates_jetbrains_teamcity_ci_spec.rb | 2 +
.../services/user_activates_jira_spec.rb | 28 +-
.../settings/repository_settings_spec.rb | 6 +
.../user_sees_last_commit_ci_status_spec.rb | 4 +
spec/features/raven_js_spec.rb | 2 +-
.../user_searches_for_wiki_pages_spec.rb | 6 +-
.../user_uses_header_search_field_spec.rb | 124 +-
..._spec.rb => developer_creates_tag_spec.rb} | 7 +-
..._spec.rb => developer_deletes_tag_spec.rb} | 7 +-
..._spec.rb => developer_updates_tag_spec.rb} | 7 +-
...s_spec.rb => developer_views_tags_spec.rb} | 7 +-
spec/features/triggers_spec.rb | 78 +-
spec/features/users/signup_spec.rb | 44 +-
spec/features/users/terms_spec.rb | 19 +-
.../acts_as_taggable_on/tags_finder_spec.rb | 8 +-
.../boards/visits_finder_spec.rb} | 24 +-
spec/finders/branches_finder_spec.rb | 9 +
spec/finders/notes_finder_spec.rb | 26 +
spec/finders/releases_finder_spec.rb | 6 +-
spec/finders/runner_jobs_finder_spec.rb | 22 +
spec/fixtures/api/schemas/current-board.json | 16 +
.../entities/merge_request_widget.json | 3 +-
.../api/schemas/public_api/v4/release.json | 4 +-
.../v4/release/release_for_guest.json | 4 +-
.../dashboard/schemas/embedded_dashboard.json | 13 +
.../schemas/embedded_panel_groups.json | 11 +
.../phabricator_responses/user.search.json | 62 +
spec/frontend/api_spec.js | 39 +
spec/frontend/boards/modal_store_spec.js | 2 +-
.../boards/services/board_service_spec.js | 551 +++++
.../divergence_graph_spec.js.snap | 37 +
.../components/divergence_graph_spec.js | 67 +
.../branches/components/graph_bar_spec.js | 89 +
.../branches/divergence_graph_spec.js | 40 +
.../application_state_machine_spec.js | 16 +-
.../commons/nav/user_merge_requests_spec.js | 113 +
.../project_form_group_spec.js.snap | 101 +
.../components/dropdown_spec.js | 56 +
.../components/project_form_group_spec.js | 77 +
.../create_merge_request_dropdown_spec.js | 43 +-
.../components/diff_discussion_reply_spec.js | 90 +
.../components/diff_gutter_avatars_spec.js | 113 +
.../diffs/mock_data/diff_discussions.js | 529 +++++
.../components/app_spec.js | 2 +-
.../components/error_tracking_form_spec.js | 0
.../components/project_dropdown_spec.js | 0
.../error_tracking_settings/mock.js | 2 +-
.../store/actions_spec.js | 11 +-
.../store/getters_spec.js | 0
.../store/mutation_spec.js | 2 +-
.../error_tracking_settings/utils_spec.js | 0
spec/frontend/filterable_list_spec.js | 53 +
spec/frontend/helpers/vuex_action_helper.js | 7 +-
.../helpers/vuex_action_helper_spec.js | 166 ++
spec/frontend/ide/lib/files_spec.js | 4 +-
spec/frontend/ide/utils_spec.js | 44 +
.../components/pinned_links_spec.js | 52 +-
.../lib/utils/datetime_utility_spec.js | 6 +
spec/frontend/lib/utils/text_utility_spec.js | 19 +-
.../mocks/ce/lib/utils/axios_utils.js | 15 +
spec/frontend/mocks/mocks_helper.js | 60 +
spec/frontend/mocks/mocks_helper_spec.js | 147 ++
spec/frontend/mocks/node/jquery.js | 13 +
spec/frontend/mocks_spec.js | 13 +
.../dashboard_state_spec.js.snap | 37 +
.../monitoring/dashboard_state_spec.js | 43 +
.../discussion_notes_replies_wrapper_spec.js | 51 +
.../notes/components/discussion_notes_spec.js | 40 +-
.../discussion_reply_placeholder_spec.js | 14 +-
.../components/external_dashboard_spec.js | 5 +-
.../projects/projects_filterable_list_spec.js | 31 +
.../__snapshots__/last_commit_spec.js.snap | 98 +
.../repository/components/breadcrumbs_spec.js | 20 +-
.../repository/components/last_commit_spec.js | 110 +
.../table/__snapshots__/row_spec.js.snap | 14 +-
.../repository/components/table/row_spec.js | 18 +-
spec/frontend/repository/log_tree_spec.js | 129 ++
spec/frontend/test_setup.js | 35 +-
.../issue/related_issuable_item_spec.js | 6 +-
.../components/markdown/header_spec.js | 14 +-
.../components/paginated_list_spec.js | 56 +
spec/graphql/gitlab_schema_spec.rb | 26 +-
.../award_emojis/award_emoji_type_spec.rb | 11 +
spec/graphql/types/base_field_spec.rb | 59 +
spec/graphql/types/commit_type_spec.rb | 11 +
spec/graphql/types/diff_refs_type_spec.rb | 9 +
spec/graphql/types/issue_type_spec.rb | 5 +-
spec/graphql/types/label_type_spec.rb | 6 +
spec/graphql/types/merge_request_type_spec.rb | 17 +-
spec/graphql/types/namespace_type_spec.rb | 9 +-
.../types/notes/diff_position_type_spec.rb | 2 +-
.../types/notes/discussion_type_spec.rb | 2 +-
spec/graphql/types/notes/note_type_spec.rb | 2 +-
spec/graphql/types/project_type_spec.rb | 30 +-
.../graphql/types/tree/submodule_type_spec.rb | 2 +-
spec/graphql/types/tree/tree_type_spec.rb | 2 +-
spec/helpers/appearances_helper_spec.rb | 16 +
spec/helpers/avatars_helper_spec.rb | 2 +-
spec/helpers/blob_helper_spec.rb | 38 +-
spec/helpers/boards_helper_spec.rb | 16 +-
spec/helpers/emails_helper_spec.rb | 2 +-
spec/helpers/icons_helper_spec.rb | 20 +
spec/helpers/issuables_helper_spec.rb | 41 +
spec/helpers/markup_helper_spec.rb | 116 +-
.../onboarding_experiment_helper_spec.rb | 38 +
spec/helpers/preferences_helper_spec.rb | 2 +-
.../recaptcha_experiment_helper_spec.rb | 23 +
spec/helpers/search_helper_spec.rb | 6 +-
spec/helpers/sorting_helper_spec.rb | 148 +-
spec/helpers/storage_helper_spec.rb | 2 +-
spec/helpers/submodule_helper_spec.rb | 94 +-
spec/helpers/visibility_level_helper_spec.rb | 72 +-
spec/initializers/6_validations_spec.rb | 20 -
spec/javascripts/boards/boards_store_spec.js | 23 +
.../boards/components/board_form_spec.js | 56 +
.../boards/components/board_spec.js | 67 +-
.../boards/components/boards_selector_spec.js | 205 ++
.../components/issue_time_estimate_spec.js | 70 +-
spec/javascripts/boards/mock_data.js | 5 +-
.../collapsed_sidebar_todo_spec.js | 16 +-
.../diffs/components/diff_file_header_spec.js | 6 +-
.../components/diff_gutter_avatars_spec.js | 146 --
.../diffs/components/inline_diff_view_spec.js | 4 +-
spec/javascripts/diffs/store/actions_spec.js | 1 +
.../environment_terminal_button_spec.js | 40 +-
.../visual_token_value_spec.js | 2 +-
.../groups/components/group_item_spec.js | 7 +
.../groups/components/item_stats_spec.js | 12 -
.../javascripts/helpers/vuex_action_helper.js | 4 +-
.../ide/components/ide_tree_list_spec.js | 14 +
.../ide/components/repo_editor_spec.js | 103 +-
.../ide/stores/actions/file_spec.js | 37 +
spec/javascripts/ide/stores/actions_spec.js | 78 +-
.../ide/stores/mutations/file_spec.js | 33 +
spec/javascripts/ide/stores/mutations_spec.js | 79 +-
spec/javascripts/ide/stores/utils_spec.js | 26 +
spec/javascripts/issuable_spec.js | 12 +-
.../jobs/components/stages_dropdown_spec.js | 8 +-
.../monitoring/charts/area_spec.js | 15 +-
.../monitoring/charts/column_spec.js | 58 +
.../monitoring/charts/single_stat_spec.js | 9 +-
spec/javascripts/monitoring/dashboard_spec.js | 96 +-
.../monitoring/dashboard_state_spec.js | 101 -
spec/javascripts/monitoring/mock_data.js | 85 +
.../monitoring/store/actions_spec.js | 17 +-
.../monitoring/store/mutations_spec.js | 17 +-
.../monitoring/store/utils_spec.js | 37 +
spec/javascripts/monitoring/utils_spec.js | 27 +-
.../notes/components/comment_form_spec.js | 15 +
.../notes/components/diff_with_note_spec.js | 13 +
.../components/noteable_discussion_spec.js | 52 +-
spec/javascripts/notes/stores/actions_spec.js | 44 +-
spec/javascripts/notes/stores/getters_spec.js | 20 +
.../components/promote_label_modal_spec.js | 4 +-
.../promote_milestone_modal_spec.js | 4 +-
.../components/simple_metric_spec.js | 47 -
spec/javascripts/pipelines/pipelines_spec.js | 8 +-
.../registry/components/app_spec.js | 33 +-
.../components/collapsible_container_spec.js | 16 +-
.../components/table_registry_spec.js | 23 +-
.../registry/stores/actions_spec.js | 24 +
.../releases/components/release_block_spec.js | 18 +-
.../time_tracking/time_tracker_spec.js | 25 +
spec/javascripts/sidebar/todo_spec.js | 8 +-
spec/javascripts/test_bundle.js | 7 +-
.../components/mr_widget_pipeline_spec.js | 14 +-
.../states/mr_widget_ready_to_merge_spec.js | 3 +
.../mr_widget_unresolved_discussions_spec.js | 8 +-
spec/javascripts/vue_mr_widget/mock_data.js | 3 +-
.../vue_mr_widget/mr_widget_options_spec.js | 2 +-
.../vue_shared/components/file_row_spec.js | 13 +
.../components/table_pagination_spec.js | 4 +-
.../components/tooltip_on_truncate_spec.js | 176 +-
spec/lib/api/helpers/pagination_spec.rb | 10 +-
.../filter/inline_metrics_filter_spec.rb | 55 +
.../inline_metrics_redactor_filter_spec.rb | 58 +
...c.rb => reference_redactor_filter_spec.rb} | 2 +-
spec/lib/banzai/object_renderer_spec.rb | 8 +-
spec/lib/banzai/pipeline/gfm_pipeline_spec.rb | 6 +-
...tor_spec.rb => reference_redactor_spec.rb} | 2 +-
spec/lib/banzai/renderer_spec.rb | 18 +
spec/lib/container_registry/client_spec.rb | 36 +
spec/lib/container_registry/tag_spec.rb | 2 +-
spec/lib/feature_spec.rb | 71 +-
spec/lib/gitaly/server_spec.rb | 6 +
spec/lib/gitlab/asciidoc_spec.rb | 286 ++-
spec/lib/gitlab/auth/ip_rate_limiter_spec.rb | 65 +
spec/lib/gitlab/auth_spec.rb | 73 +
...ate_fork_network_memberships_range_spec.rb | 125 --
..._conflicting_redirect_routes_range_spec.rb | 35 -
.../fix_user_namespace_names_spec.rb | 104 +
.../fix_user_project_route_names_spec.rb | 98 +
...rate_events_to_push_event_payloads_spec.rb | 433 ----
...rate_null_private_profile_to_false_spec.rb | 23 +
.../migrate_stage_status_spec.rb | 92 -
...grate_system_uploads_to_new_folder_spec.rb | 21 -
.../move_personal_snippet_files_spec.rb | 74 -
.../normalize_ldap_extern_uids_range_spec.rb | 36 -
.../populate_fork_networks_range_spec.rb | 97 -
...late_merge_request_assignees_table_spec.rb | 26 +-
...uests_latest_merge_request_diff_id_spec.rb | 62 -
spec/lib/gitlab/batch_pop_queueing_spec.rb | 147 ++
.../gitlab/bitbucket_import/importer_spec.rb | 27 +-
spec/lib/gitlab/checks/tag_check_spec.rb | 5 +-
spec/lib/gitlab/ci/ansi2html_spec.rb | 43 +-
.../prerequisite/kubernetes_namespace_spec.rb | 28 +-
.../gitlab/ci/config/entry/default_spec.rb | 109 +
.../lib/gitlab/ci/config/entry/hidden_spec.rb | 76 +-
spec/lib/gitlab/ci/config/entry/job_spec.rb | 58 +-
spec/lib/gitlab/ci/config/entry/jobs_spec.rb | 111 +-
.../entry/{global_spec.rb => root_spec.rb} | 232 +-
.../pipeline/chain/validate/abilities_spec.rb | 44 +-
.../ci/pipeline/chain/validate/config_spec.rb | 11 +-
.../expression/lexeme/pattern_spec.rb | 36 -
.../ci/pipeline/expression/lexer_spec.rb | 28 -
.../ci/pipeline/expression/statement_spec.rb | 52 +-
.../lib/gitlab/ci/pipeline/seed/build_spec.rb | 298 ++-
.../ci/reports/test_reports_comparer_spec.rb | 8 +-
.../ci/reports/test_suite_comparer_spec.rb | 23 +-
spec/lib/gitlab/ci/trace/stream_spec.rb | 16 +-
spec/lib/gitlab/ci/yaml_processor_spec.rb | 50 +-
.../orphan_job_artifact_files_batch_spec.rb | 66 +
.../cleanup/orphan_job_artifact_files_spec.rb | 68 +
.../gitlab/config/entry/configurable_spec.rb | 27 +-
spec/lib/gitlab/config/entry/factory_spec.rb | 25 +-
spec/lib/gitlab/current_settings_spec.rb | 4 +-
.../lib/gitlab/cycle_analytics/events_spec.rb | 2 +-
.../gitlab/cycle_analytics/test_stage_spec.rb | 34 +
.../gitlab/cycle_analytics/usage_data_spec.rb | 2 +-
spec/lib/gitlab/danger/helper_spec.rb | 21 +-
.../gitlab/database/migration_helpers_spec.rb | 22 +-
.../common_metrics/importer_spec.rb} | 21 +-
.../common_metrics/prometheus_metric_spec.rb | 16 +
spec/lib/gitlab/diff/lines_unfolder_spec.rb | 33 +
spec/lib/gitlab/diff/position_spec.rb | 13 +
.../position_tracer/image_strategy_spec.rb | 238 ++
.../position_tracer/line_strategy_spec.rb | 1805 +++++++++++++++
spec/lib/gitlab/diff/position_tracer_spec.rb | 1930 +----------------
.../handler/create_issue_handler_spec.rb | 1 +
.../gitlab/exclusive_lease_helpers_spec.rb | 17 +-
.../external_authorization/client_spec.rb | 29 +-
spec/lib/gitlab/git/commit_spec.rb | 2 +-
spec/lib/gitlab/git/repository_spec.rb | 41 +-
.../gitlab/git/rugged_impl/use_rugged_spec.rb | 98 +
spec/lib/gitlab/git_access_spec.rb | 2 +-
.../gitaly_client/commit_service_spec.rb | 13 +
.../gitaly_client/operation_service_spec.rb | 4 +-
spec/lib/gitlab/gitaly_client_spec.rb | 34 +-
spec/lib/gitlab/global_id_spec.rb | 37 +
.../authorize/authorize_resource_spec.rb | 53 +-
.../calls_gitaly/instrumentation_spec.rb | 23 +
.../graphql/copy_field_description_spec.rb | 21 +
.../graphql/find_argument_in_parent_spec.rb | 44 +
.../loaders/pipeline_for_sha_loader_spec.rb | 20 +
.../graphql/markdown_field/resolver_spec.rb | 33 +
.../lib/gitlab/graphql/markdown_field_spec.rb | 55 +
.../submodule_tree_entry_spec.rb | 30 +
spec/lib/gitlab/highlight_spec.rb | 13 +-
spec/lib/gitlab/import_export/all_models.yml | 1 +
.../import_export/attribute_cleaner_spec.rb | 10 +-
.../gitlab/import_export/project.group.json | 6 +-
spec/lib/gitlab/import_export/project.json | 10 +-
.../project_tree_restorer_spec.rb | 17 +-
.../import_export/safe_model_attributes.yml | 2 +
spec/lib/gitlab/issuable_sorter_spec.rb | 2 +-
spec/lib/gitlab/json_cache_spec.rb | 35 +-
.../kubernetes/helm/delete_command_spec.rb | 16 +-
.../kubernetes/helm/install_command_spec.rb | 12 +-
.../lib/gitlab/kubernetes/kube_client_spec.rb | 3 +
.../gitlab/kubernetes/role_binding_spec.rb | 4 +-
spec/lib/gitlab/kubernetes/role_spec.rb | 30 +
spec/lib/gitlab/kubernetes_spec.rb | 34 +-
.../legacy_github_import/importer_spec.rb | 2 +
.../release_formatter_spec.rb | 4 +-
spec/lib/gitlab/lets_encrypt/client_spec.rb | 36 -
spec/lib/gitlab/lets_encrypt_spec.rb | 27 +
.../active_record/extension_spec.rb | 7 +-
.../dynamic_dashboard_service_spec.rb | 36 +
.../gitlab/metrics/dashboard/finder_spec.rb | 15 +-
.../project_dashboard_service_spec.rb | 6 +-
.../system_dashboard_service_spec.rb | 10 +-
spec/lib/gitlab/metrics/dashboard/url_spec.rb | 56 +
.../metrics/samplers/ruby_sampler_spec.rb | 16 +-
.../metrics/samplers/unicorn_sampler_spec.rb | 33 +-
spec/lib/gitlab/metrics/system_spec.rb | 16 +-
.../gitlab/namespaced_session_store_spec.rb | 30 +-
spec/lib/gitlab/omniauth_initializer_spec.rb | 28 +
spec/lib/gitlab/performance_bar_spec.rb | 27 +-
.../phabricator_import/cache/map_spec.rb | 17 +
.../phabricator_import/conduit/user_spec.rb | 49 +
.../conduit/users_response_spec.rb | 21 +
.../issues/importer_spec.rb | 32 +-
.../issues/task_importer_spec.rb | 36 +-
.../representation/task_spec.rb | 16 +
.../representation/user_spec.rb | 28 +
.../phabricator_import/user_finder_spec.rb | 89 +
spec/lib/gitlab/reference_extractor_spec.rb | 6 +-
spec/lib/gitlab/search/found_blob_spec.rb | 39 +-
spec/lib/gitlab/sql/pattern_spec.rb | 12 +
spec/lib/gitlab/submodule_links_spec.rb | 47 +
.../gitlab/time_tracking_formatter_spec.rb | 43 +
spec/lib/gitlab/url_blocker_spec.rb | 4 +-
.../web_ide_counter_spec.rb | 21 +
spec/lib/gitlab/usage_data_spec.rb | 7 +-
spec/lib/gitlab/user_extractor_spec.rb | 78 -
.../gitlab/web_ide_commits_counter_spec.rb | 19 -
spec/lib/gitlab/zoom_link_extractor_spec.rb | 24 +
spec/lib/gitlab_spec.rb | 32 +-
spec/lib/peek/views/redis_detailed_spec.rb | 36 +
spec/mailers/emails/pages_domains_spec.rb | 6 +-
spec/mailers/notify_spec.rb | 42 +-
spec/migrations/active_record/schema_spec.rb | 2 +-
.../add_foreign_key_to_merge_requests_spec.rb | 39 -
...ad_pipeline_for_each_merge_request_spec.rb | 32 -
...leased_at_column_on_releases_table_spec.rb | 28 +
...ll_store_project_full_path_in_repo_spec.rb | 2 +-
...lculate_conv_dev_index_percentages_spec.rb | 59 -
.../clean_appearance_symlinks_spec.rb | 46 -
...clean_stage_id_reference_migration_spec.rb | 34 -
.../clean_stages_statuses_migration_spec.rb | 51 -
spec/migrations/clean_upload_symlinks_spec.rb | 46 -
..._move_system_upload_folder_symlink_spec.rb | 35 -
..._namespace_pending_delete_projects_spec.rb | 29 -
...m_notification_settings_to_columns_spec.rb | 120 -
...delete_conflicting_redirect_routes_spec.rb | 42 -
...crypt_feature_flags_clients_tokens_spec.rb | 36 +
...ueue_reset_merge_status_second_run_spec.rb | 52 +
.../fix_wrong_pages_access_level_spec.rb | 97 +
.../fix_wrongly_renamed_routes_spec.rb | 86 -
.../issues_moved_to_id_foreign_key_spec.rb | 24 -
...igrate_build_stage_reference_again_spec.rb | 62 -
...ters_to_new_clusters_architectures_spec.rb | 181 --
.../migrate_issues_to_ghost_user_spec.rb | 51 -
...vice_to_new_clusters_architectures_spec.rb | 312 ---
...gacy_managed_clusters_to_unmanaged_spec.rb | 55 +
...lusters_with_no_token_to_unmanaged_spec.rb | 59 +
spec/migrations/migrate_old_artifacts_spec.rb | 140 --
.../migrate_pipeline_sidekiq_queues_spec.rb | 49 -
.../migrate_pipeline_stages_spec.rb | 56 -
...migrate_process_commit_worker_jobs_spec.rb | 197 --
...e_stage_id_reference_in_background_spec.rb | 55 -
.../migrate_stages_statuses_spec.rb | 68 -
...tivities_to_users_last_activity_on_spec.rb | 49 -
...ion_token_to_personal_access_token_spec.rb | 25 -
.../migrate_user_project_view_spec.rb | 17 -
.../move_personal_snippets_files_spec.rb | 197 --
.../move_system_upload_folder_spec.rb | 80 -
.../move_uploads_to_system_dir_spec.rb | 68 -
.../normalize_ldap_extern_uids_spec.rb | 56 -
...can_push_from_deploy_keys_projects_spec.rb | 43 -
.../remove_assignee_id_from_issue_spec.rb | 37 -
.../remove_dot_git_from_usernames_spec.rb | 58 -
.../remove_duplicate_mr_events_spec.rb | 26 -
.../remove_empty_fork_networks_spec.rb | 35 -
.../remove_project_labels_group_id_spec.rb | 21 -
.../rename_duplicated_variable_key_spec.rb | 34 -
...rename_more_reserved_project_names_spec.rb | 57 -
.../rename_reserved_project_names_spec.rb | 61 -
...ename_users_with_renamed_namespace_spec.rb | 22 -
...t_merge_request_diff_id_migrations_spec.rb | 64 -
.../track_untracked_uploads_spec.rb | 15 -
...oups_into_regular_groups_for_mysql_spec.rb | 70 -
..._legacy_diff_notes_type_for_import_spec.rb | 22 -
.../update_notes_type_for_import_spec.rb | 22 -
.../update_retried_for_ci_build_spec.rb | 17 -
.../update_upload_paths_to_system_spec.rb | 59 -
spec/models/active_session_spec.rb | 13 +
spec/models/application_setting_spec.rb | 30 -
spec/models/broadcast_message_spec.rb | 6 +-
spec/models/ci/build_spec.rb | 1 +
spec/models/ci/pipeline_schedule_spec.rb | 55 +-
spec/models/ci/pipeline_spec.rb | 35 +
spec/models/ci/trigger_spec.rb | 20 +-
.../clusters/applications/ingress_spec.rb | 16 +-
.../clusters/applications/jupyter_spec.rb | 2 +-
.../clusters/applications/knative_spec.rb | 2 +-
.../clusters/applications/runner_spec.rb | 33 +-
.../clusters/clusters_hierarchy_spec.rb | 73 +
.../clusters/platforms/kubernetes_spec.rb | 98 +-
spec/models/commit_range_spec.rb | 12 +-
.../concerns/cache_markdown_field_spec.rb | 30 +
.../concerns/cacheable_attributes_spec.rb | 9 +-
spec/models/concerns/deployable_spec.rb | 14 +-
.../concerns/deployment_platform_spec.rb | 63 +-
spec/models/concerns/issuable_spec.rb | 10 +
spec/models/concerns/mentionable_spec.rb | 2 +-
.../project_api_compatibility_spec.rb | 59 +
.../project_features_compatibility_spec.rb | 18 +-
spec/models/concerns/reactive_caching_spec.rb | 61 +-
spec/models/concerns/routable_spec.rb | 47 +-
spec/models/concerns/stepable_spec.rb | 111 +
spec/models/container_repository_spec.rb | 2 +-
spec/models/cycle_analytics/code_spec.rb | 3 +-
spec/models/cycle_analytics/issue_spec.rb | 5 +-
spec/models/cycle_analytics/plan_spec.rb | 5 +-
.../models/cycle_analytics/production_spec.rb | 3 +-
.../project_level_spec.rb} | 8 +-
spec/models/cycle_analytics/review_spec.rb | 3 +-
spec/models/cycle_analytics/staging_spec.rb | 2 +-
spec/models/cycle_analytics/test_spec.rb | 3 +-
spec/models/deploy_token_spec.rb | 35 +-
spec/models/deployment_metrics_spec.rb | 126 ++
spec/models/deployment_spec.rb | 93 +-
spec/models/discussion_spec.rb | 14 +
spec/models/environment_spec.rb | 75 +-
spec/models/environment_status_spec.rb | 3 +-
spec/models/group_spec.rb | 29 -
spec/models/internal_id_spec.rb | 2 +-
spec/models/issue/metrics_spec.rb | 6 +-
spec/models/merge_request_spec.rb | 229 +-
.../namespace/aggregation_schedule_spec.rb | 107 +
.../namespace/root_storage_statistics_spec.rb | 75 +
spec/models/namespace_spec.rb | 18 +
spec/models/note_spec.rb | 2 +
spec/models/pages_domain_spec.rb | 175 +-
.../postgresql/replication_slot_spec.rb | 8 +
spec/models/project_feature_spec.rb | 28 +
.../project_services/bugzilla_service_spec.rb | 47 +
.../custom_issue_tracker_service_spec.rb | 45 +
.../project_services/drone_ci_service_spec.rb | 9 +
.../gitlab_issue_tracker_service_spec.rb | 45 +
.../project_services/jira_service_spec.rb | 154 +-
.../kubernetes_service_spec.rb | 237 +-
.../project_services/redmine_service_spec.rb | 45 +
.../project_services/teamcity_service_spec.rb | 94 +-
.../project_services/youtrack_service_spec.rb | 45 +
spec/models/project_spec.rb | 12 +-
spec/models/project_statistics_spec.rb | 43 +
spec/models/release_spec.rb | 10 +
spec/models/repository_spec.rb | 67 +-
spec/models/service_spec.rb | 9 +-
spec/models/user_spec.rb | 72 +-
spec/policies/award_emoji_policy_spec.rb | 54 +
spec/policies/ci/trigger_policy_spec.rb | 94 +-
.../policies/clusters/instance_policy_spec.rb | 18 +-
spec/policies/project_policy_spec.rb | 2 +-
spec/presenters/award_emoji_presenter_spec.rb | 36 +
spec/requests/api/branches_spec.rb | 10 +-
spec/requests/api/commits_spec.rb | 16 +-
spec/requests/api/container_registry_spec.rb | 21 +
spec/requests/api/environments_spec.rb | 41 +
.../mutations/award_emojis/add_spec.rb | 100 +
.../mutations/award_emojis/remove_spec.rb | 80 +
.../mutations/award_emojis/toggle_spec.rb | 142 ++
.../mutations/notes/create/diff_note_spec.rb | 64 +
.../notes/create/image_diff_note_spec.rb | 70 +
.../mutations/notes/create/note_spec.rb | 64 +
.../graphql/mutations/notes/destroy_spec.rb | 52 +
.../graphql/mutations/notes/update_spec.rb | 72 +
.../api/graphql/project/tree/tree_spec.rb | 18 +
spec/requests/api/graphql_spec.rb | 41 +-
spec/requests/api/group_clusters_spec.rb | 452 ++++
spec/requests/api/helpers_spec.rb | 6 +-
spec/requests/api/internal_spec.rb | 12 +-
spec/requests/api/merge_requests_spec.rb | 93 +-
spec/requests/api/pages_domains_spec.rb | 8 +
spec/requests/api/project_clusters_spec.rb | 79 +-
spec/requests/api/projects_spec.rb | 105 +-
spec/requests/api/releases_spec.rb | 81 +-
spec/requests/api/runners_spec.rb | 44 +
spec/requests/api/search_spec.rb | 4 +-
spec/requests/api/services_spec.rb | 13 +-
spec/requests/api/tags_spec.rb | 2 +-
spec/requests/api/user_counts_spec.rb | 40 +
spec/requests/api/users_spec.rb | 35 +-
spec/requests/lfs_http_spec.rb | 4 -
spec/requests/lfs_locks_api_spec.rb | 4 -
spec/requests/rack_attack_global_spec.rb | 43 +-
spec/routing/api_routing_spec.rb | 23 -
spec/routing/environments_spec.rb | 9 +-
spec/routing/group_routing_spec.rb | 113 +-
spec/routing/project_routing_spec.rb | 6 +
spec/routing/routing_spec.rb | 30 +-
spec/rubocop/cop/gitlab/rails_logger_spec.rb | 42 +
.../cop/graphql/authorize_types_spec.rb | 66 +
.../cop/qa/element_with_pattern_spec.rb | 4 +-
.../serializers/diff_file_base_entity_spec.rb | 26 +
.../environment_status_entity_spec.rb | 12 +-
spec/serializers/test_case_entity_spec.rb | 2 +-
.../test_reports_comparer_entity_spec.rb | 8 +-
.../test_reports_comparer_serializer_spec.rb | 8 +-
.../test_suite_comparer_entity_spec.rb | 92 +-
spec/services/audit_event_service_spec.rb | 32 +-
spec/services/auto_merge/base_service_spec.rb | 45 +-
...rge_when_pipeline_succeeds_service_spec.rb | 16 +-
spec/services/auto_merge_service_spec.rb | 25 +
.../boards/issues/move_service_spec.rb | 86 +
.../diverging_commit_counts_service_spec.rb | 31 +
.../check_uninstall_progress_service_spec.rb | 8 +-
.../gcp/finalize_creation_service_spec.rb | 10 -
...create_or_update_namespace_service_spec.rb | 2 +
..._or_update_service_account_service_spec.rb | 20 +
.../fetch_kubernetes_token_service_spec.rb | 56 +-
spec/services/clusters/update_service_spec.rb | 1 -
.../deploy_tokens/create_service_spec.rb | 16 +
.../services/git/branch_hooks_service_spec.rb | 34 +
.../issuable/bulk_update_service_spec.rb | 682 +++---
.../issuable/clone/content_rewriter_spec.rb | 13 +
spec/services/issues/reorder_service_spec.rb | 88 +
spec/services/issues/update_service_spec.rb | 32 +
.../create_from_issue_service_spec.rb | 263 ++-
.../merge_requests/get_urls_service_spec.rb | 6 +-
.../merge_requests/merge_service_spec.rb | 19 +-
.../merge_to_ref_service_spec.rb | 100 +-
.../mergeability_check_service_spec.rb | 336 +++
.../merge_requests/rebase_service_spec.rb | 28 +-
.../merge_requests/update_service_spec.rb | 2 +-
.../statistics_refresher_service_spec.rb | 58 +
spec/services/notes/create_service_spec.rb | 145 +-
spec/services/notification_service_spec.rb | 56 +-
...n_lets_encrypt_certificate_service_spec.rb | 24 +-
spec/services/projects/update_service_spec.rb | 4 +-
.../project/create_service_spec.rb | 201 ++
spec/services/service_response_spec.rb | 16 +
spec/services/system_note_service_spec.rb | 102 +-
spec/spec_helper.rb | 17 +-
spec/support/api/boards_shared_examples.rb | 10 +
spec/support/database_cleaner.rb | 31 +-
spec/support/db_cleaner.rb | 4 +
.../discussion_comments_shared_example.rb | 40 +-
...g_discussions_in_issues_shared_examples.rb | 2 +-
spec/support/helpers/devise_helpers.rb | 12 +
spec/support/helpers/email_helpers.rb | 15 +-
spec/support/helpers/fake_u2f_device.rb | 4 +
spec/support/helpers/git_http_helpers.rb | 4 +
spec/support/helpers/graphql_helpers.rb | 20 +-
spec/support/helpers/jira_service_helper.rb | 6 +-
spec/support/helpers/kubernetes_helpers.rb | 29 +-
spec/support/helpers/login_helpers.rb | 12 +-
spec/support/helpers/memory_usage_helper.rb | 37 +
.../helpers/metrics_dashboard_helpers.rb | 24 +-
spec/support/helpers/migrations_helpers.rb | 13 +-
.../helpers/position_tracer_helpers.rb | 93 +
spec/support/helpers/prometheus_helpers.rb | 4 +
spec/support/helpers/query_recorder.rb | 4 +
.../helpers/reactive_caching_helpers.rb | 2 +-
spec/support/helpers/stub_configuration.rb | 15 +
spec/support/helpers/test_env.rb | 25 +-
spec/support/inspect_squelch.rb | 7 +
spec/support/json_response.rb | 2 +-
spec/support/matchers/abort_matcher.rb | 46 +
spec/support/matchers/be_n_plus_1_query.rb | 62 +
spec/support/matchers/gitaly_matchers.rb | 2 +-
.../shared_contexts/email_shared_context.rb | 2 -
.../application_setting_examples.rb | 39 -
.../ci_trace_shared_examples.rb | 6 +-
.../issuable_notes_filter_shared_examples.rb | 4 +-
.../repository_lfs_file_load_examples.rb | 12 +-
..._on_merge_request_files_shared_examples.rb | 2 +-
.../graphql/mutation_shared_examples.rb | 34 +
.../graphql/notes_creation_shared_examples.rb | 61 +
.../mentionable_shared_examples.rb | 51 +
.../models/services_fields_shared_examples.rb | 31 +
...date_project_statistics_shared_examples.rb | 90 +-
.../shared_examples/notify_shared_examples.rb | 14 +-
.../policies/clusterable_shared_examples.rb | 8 -
.../project_policy_shared_examples.rb | 1 +
.../assign_quick_action_shared_examples.rb | 110 -
.../award_quick_action_shared_examples.rb | 63 -
...y_metadata_quick_action_shared_examples.rb | 88 -
.../done_quick_action_shared_examples.rb | 103 -
.../estimate_quick_action_shared_examples.rb | 81 -
.../issuable_quick_actions_shared_examples.rb | 273 +++
.../label_quick_action_shared_examples.rb | 83 -
.../lock_quick_action_shared_examples.rb | 84 -
.../milestone_quick_action_shared_examples.rb | 83 -
.../relabel_quick_action_shared_examples.rb | 95 -
...e_estimate_quick_action_shared_examples.rb | 82 -
..._milestone_quick_action_shared_examples.rb | 86 -
...time_spent_quick_action_shared_examples.rb | 82 -
.../reopen_quick_action_shared_examples.rb | 86 -
.../shrug_quick_action_shared_examples.rb | 60 -
.../spend_quick_action_shared_examples.rb | 81 -
.../subscribe_quick_action_shared_examples.rb | 84 -
.../tableflip_quick_action_shared_examples.rb | 60 -
.../title_quick_action_shared_examples.rb | 85 -
.../todo_quick_action_shared_examples.rb | 92 -
.../unassign_quick_action_shared_examples.rb | 120 -
.../unlabel_quick_action_shared_examples.rb | 102 -
.../unlock_quick_action_shared_examples.rb | 87 -
...nsubscribe_quick_action_shared_examples.rb | 86 -
...nfidential_quick_action_shared_examples.rb | 35 -
.../issue/due_quick_action_shared_examples.rb | 35 -
...e_due_date_quick_action_shared_examples.rb | 35 -
...get_branch_quick_action_shared_examples.rb | 81 -
.../wip_quick_action_shared_examples.rb | 47 -
.../services/boards/issues_move_service.rb | 62 +-
.../update_invalid_issuable.rb | 2 +-
spec/support/sidekiq.rb | 4 +-
.../test_reports/test_reports_helper.rb | 34 +-
spec/tasks/gitlab/check_rake_spec.rb | 9 +
spec/tasks/gitlab/cleanup_rake_spec.rb | 29 +
spec/tasks/gitlab/storage_rake_spec.rb | 34 +-
spec/tasks/migrate/schema_check_rake_spec.rb | 48 +
spec/uploaders/file_uploader_spec.rb | 68 +-
.../nav/sidebar/_project.html.haml_spec.rb | 15 +-
.../pipeline_failed_email.html.haml_spec.rb | 4 +-
.../pipeline_failed_email.text.erb_spec.rb | 2 +-
.../pipeline_success_email.html.haml_spec.rb | 4 +-
.../projects/services/_form.haml_spec.rb | 6 +-
spec/workers/build_success_worker_spec.rb | 44 -
...leanup_container_repository_worker_spec.rb | 8 -
spec/workers/cluster_provision_worker_spec.rb | 7 -
...prune_aggregation_schedules_worker_spec.rb | 35 +
.../namespaces/root_statistics_worker_spec.rb | 88 +
.../schedule_aggregation_worker_spec.rb | 77 +
...ges_domain_ssl_renewal_cron_worker_spec.rb | 62 +
.../pages_domain_ssl_renewal_worker_spec.rb | 46 +
spec/workers/project_cache_worker_spec.rb | 14 +
spec/workers/reactive_caching_worker_spec.rb | 7 +-
.../prometheus_multiproc_dir/puma/.gitkeep | 0
.../prometheus_multiproc_dir/sidekiq/.gitkeep | 0
tmp/prometheus_multiproc_dir/unicorn/.gitkeep | 0
vendor/jupyter/values.yaml | 2 +-
yarn.lock | 538 +++--
3552 files changed, 62667 insertions(+), 52118 deletions(-)
create mode 100644 .gitlab/ci/memory.gitlab-ci.yml
delete mode 100644 .gitlab/issue_templates/Database Reviewer.md
create mode 100644 .mdlrc
create mode 100644 .mdlrc.style
create mode 100644 app/assets/images/auth_buttons/salesforce_64.png
create mode 100644 app/assets/javascripts/boards/components/board_form.vue
create mode 100644 app/assets/javascripts/boards/components/boards_selector.vue
create mode 100644 app/assets/javascripts/boards/config_toggle.js
create mode 100644 app/assets/javascripts/boards/mixins/modal_footer.js
create mode 100644 app/assets/javascripts/boards/mount_multiple_boards_switcher.js
create mode 100644 app/assets/javascripts/boards/toggle_focus.js
create mode 100644 app/assets/javascripts/branches/components/divergence_graph.vue
create mode 100644 app/assets/javascripts/branches/components/graph_bar.vue
create mode 100644 app/assets/javascripts/branches/constants.js
create mode 100644 app/assets/javascripts/branches/divergence_graph.js
create mode 100644 app/assets/javascripts/commons/nav/user_merge_requests.js
create mode 100644 app/assets/javascripts/confidential_merge_request/components/dropdown.vue
create mode 100644 app/assets/javascripts/confidential_merge_request/components/project_form_group.vue
create mode 100644 app/assets/javascripts/confidential_merge_request/index.js
create mode 100644 app/assets/javascripts/confidential_merge_request/state.js
create mode 100644 app/assets/javascripts/diffs/components/diff_discussion_reply.vue
create mode 100644 app/assets/javascripts/issuable_init_bulk_update_sidebar.js
rename app/assets/javascripts/issuable_suggestions/queries/{issues.graphql => issues.query.graphql} (100%)
create mode 100644 app/assets/javascripts/main_ee.js
create mode 100644 app/assets/javascripts/manual_ordering.js
create mode 100644 app/assets/javascripts/monitoring/components/charts/column.vue
create mode 100644 app/assets/javascripts/monitoring/components/panel_type.vue
rename app/assets/javascripts/mr_popover/queries/{merge_request.graphql => merge_request.query.graphql} (76%)
create mode 100644 app/assets/javascripts/notes/components/discussion_notes_replies_wrapper.vue
create mode 100644 app/assets/javascripts/pages/projects/shared/permissions/mixins/settings_pannel_mixin.js
delete mode 100644 app/assets/javascripts/performance_bar/components/simple_metric.vue
create mode 100644 app/assets/javascripts/projects/projects_filterable_list.js
create mode 100644 app/assets/javascripts/registry/components/svg_message.vue
create mode 100644 app/assets/javascripts/repository/components/last_commit.vue
create mode 100644 app/assets/javascripts/repository/log_tree.js
create mode 100644 app/assets/javascripts/repository/queries/getCommit.query.graphql
create mode 100644 app/assets/javascripts/repository/queries/getCommits.query.graphql
rename app/assets/javascripts/repository/queries/{getFiles.graphql => getFiles.query.graphql} (95%)
create mode 100644 app/assets/javascripts/repository/queries/getPermissions.query.graphql
rename app/assets/javascripts/repository/queries/{getProjectPath.graphql => getProjectPath.query.graphql} (100%)
rename app/assets/javascripts/repository/queries/{getProjectShortPath.graphql => getProjectShortPath.query.graphql} (100%)
rename app/assets/javascripts/repository/queries/{getRef.graphql => getRef.query.graphql} (100%)
create mode 100644 app/assets/javascripts/repository/queries/pathLastCommit.query.graphql
create mode 100644 app/assets/javascripts/vue_shared/components/paginated_list.vue
delete mode 100644 app/assets/javascripts/vue_shared/mixins/is_ee.js
delete mode 100644 app/assets/stylesheets/bootstrap.scss
delete mode 100644 app/assets/stylesheets/framework/asciidoctor.scss
create mode 100644 app/controllers/concerns/multiple_boards_actions.rb
create mode 100644 app/controllers/projects/merge_requests/content_controller.rb
create mode 100644 app/finders/boards/visits_finder.rb
create mode 100644 app/graphql/mutations/award_emojis/add.rb
create mode 100644 app/graphql/mutations/award_emojis/base.rb
create mode 100644 app/graphql/mutations/award_emojis/remove.rb
create mode 100644 app/graphql/mutations/award_emojis/toggle.rb
create mode 100644 app/graphql/mutations/notes/base.rb
create mode 100644 app/graphql/mutations/notes/create/base.rb
create mode 100644 app/graphql/mutations/notes/create/diff_note.rb
create mode 100644 app/graphql/mutations/notes/create/image_diff_note.rb
create mode 100644 app/graphql/mutations/notes/create/note.rb
create mode 100644 app/graphql/mutations/notes/destroy.rb
create mode 100644 app/graphql/mutations/notes/update.rb
create mode 100644 app/graphql/types/award_emojis/award_emoji_type.rb
create mode 100644 app/graphql/types/commit_type.rb
create mode 100644 app/graphql/types/diff_paths_input_type.rb
create mode 100644 app/graphql/types/diff_refs_type.rb
create mode 100644 app/graphql/types/notes/diff_image_position_input_type.rb
create mode 100644 app/graphql/types/notes/diff_position_base_input_type.rb
create mode 100644 app/graphql/types/notes/diff_position_input_type.rb
create mode 100644 app/helpers/onboarding_experiment_helper.rb
create mode 100644 app/helpers/recaptcha_experiment_helper.rb
create mode 100644 app/models/clusters/clusters_hierarchy.rb
create mode 100644 app/models/concerns/project_api_compatibility.rb
create mode 100644 app/models/concerns/service_push_data_validations.rb
create mode 100644 app/models/concerns/stepable.rb
delete mode 100644 app/models/cycle_analytics.rb
create mode 100644 app/models/cycle_analytics/base.rb
create mode 100644 app/models/cycle_analytics/project_level.rb
create mode 100644 app/models/deployment_metrics.rb
create mode 100644 app/models/namespace/aggregation_schedule.rb
create mode 100644 app/models/namespace/root_storage_statistics.rb
create mode 100644 app/models/prometheus_metric_enums.rb
create mode 100644 app/policies/award_emoji_policy.rb
delete mode 100644 app/policies/concerns/clusterable_actions.rb
create mode 100644 app/presenters/award_emoji_presenter.rb
create mode 100644 app/serializers/current_board_entity.rb
create mode 100644 app/serializers/current_board_serializer.rb
delete mode 100644 app/serializers/submodule_entity.rb
create mode 100644 app/services/boards/destroy_service.rb
create mode 100644 app/services/boards/update_service.rb
delete mode 100644 app/services/boards/visits/latest_service.rb
create mode 100644 app/services/branches/diverging_commit_counts_service.rb
create mode 100644 app/services/git/wiki_push_service.rb
create mode 100644 app/services/issues/reorder_service.rb
create mode 100644 app/services/merge_requests/mergeability_check_service.rb
create mode 100644 app/services/namespaces/statistics_refresher_service.rb
create mode 100644 app/services/self_monitoring/project/create_service.rb
delete mode 100644 app/validators/namespace_name_validator.rb
create mode 100644 app/views/admin/application_settings/_grafana.html.haml
delete mode 100644 app/views/admin/application_settings/_logging.html.haml
create mode 100644 app/views/layouts/nav/sidebar/_project_packages_link.html.haml
create mode 100644 app/views/projects/_merge_request_settings_description_text.html.haml
create mode 100644 app/views/projects/pipelines/charts/_pipeline_statistics.haml
create mode 100644 app/views/shared/_storage_counter_statistics.html.haml
create mode 100644 app/views/shared/boards/_switcher.html.haml
create mode 100644 app/workers/namespaces/prune_aggregation_schedules_worker.rb
create mode 100644 app/workers/namespaces/root_statistics_worker.rb
create mode 100644 app/workers/namespaces/schedule_aggregation_worker.rb
create mode 100644 app/workers/pages_domain_ssl_renewal_cron_worker.rb
create mode 100644 app/workers/pages_domain_ssl_renewal_worker.rb
create mode 100755 bin/web_unicorn
create mode 100755 bin/yarn
create mode 100644 changelogs/add-name-parameter-to-project-environments-api.yml
create mode 100644 config/brakeman.ignore
create mode 100644 config/database_geo.yml.postgresql
create mode 100644 config/initializers/0_license.rb
create mode 100644 config/initializers/0_thread_cache.rb
create mode 100644 config/initializers/1_postgresql_only.rb
create mode 100644 config/initializers/active_record_query_cache.rb
delete mode 100644 config/initializers/active_record_verbose_query_logs.rb
create mode 100644 config/initializers/elastic_client_setup.rb
create mode 100644 config/initializers/geo.rb
create mode 100644 config/initializers/httpclient_patch.rb
create mode 100644 config/initializers/load_balancing.rb
create mode 100644 config/initializers/sidekiq_cluster.rb
create mode 100644 config/initializers/transaction_metrics.rb
create mode 100644 config/prometheus/cluster_metrics.yml
create mode 100644 config/pseudonymizer.yml
create mode 100644 danger/only_documentation/Dangerfile
delete mode 100644 db/importers/common_metrics_importer.rb
delete mode 100644 db/migrate/20140313092127_init_schema.rb
delete mode 100644 db/migrate/20140407135544_fix_namespaces.rb
delete mode 100644 db/migrate/20140414131055_change_state_to_allow_empty_merge_request_diffs.rb
delete mode 100644 db/migrate/20140415124820_limits_to_mysql.rb
delete mode 100644 db/migrate/20140416074002_add_index_on_iid.rb
delete mode 100644 db/migrate/20140416185734_index_on_current_sign_in_at.rb
delete mode 100644 db/migrate/20140428105831_add_notes_index_updated_at.rb
delete mode 100644 db/migrate/20140502115131_add_repo_size_to_db.rb
delete mode 100644 db/migrate/20140502125220_migrate_repo_size.rb
delete mode 100644 db/migrate/20140611135229_add_position_to_merge_request.rb
delete mode 100644 db/migrate/20140625115202_create_users_star_projects.rb
delete mode 100644 db/migrate/20140729134820_create_labels.rb
delete mode 100644 db/migrate/20140729140420_create_label_links.rb
delete mode 100644 db/migrate/20140729145339_migrate_project_tags.rb
delete mode 100644 db/migrate/20140729152420_migrate_taggable_labels.rb
delete mode 100644 db/migrate/20140730111702_add_index_to_labels.rb
delete mode 100644 db/migrate/20140903115954_migrate_to_new_shell.rb
delete mode 100644 db/migrate/20140907220153_serialize_service_properties.rb
delete mode 100644 db/migrate/20140914113604_add_members_table.rb
delete mode 100644 db/migrate/20140914145549_migrate_to_new_members_model.rb
delete mode 100644 db/migrate/20140914173417_remove_old_member_tables.rb
delete mode 100644 db/migrate/20141006143943_move_slack_service_to_webhook.rb
delete mode 100644 db/migrate/20141007100818_add_visibility_level_to_snippet.rb
delete mode 100644 db/migrate/20141118150935_add_audit_event.rb
delete mode 100644 db/migrate/20141121133009_add_timestamps_to_members.rb
delete mode 100644 db/migrate/20141121161704_add_identity_table.rb
delete mode 100644 db/migrate/20141126120926_add_merge_request_rebase_enabled_to_projects.rb
delete mode 100644 db/migrate/20141205134006_add_locked_at_to_merge_request.rb
delete mode 100644 db/migrate/20141216155758_create_doorkeeper_tables.rb
delete mode 100644 db/migrate/20141217125223_add_owner_to_application.rb
delete mode 100644 db/migrate/20141223135007_add_import_data_to_project_table.rb
delete mode 100644 db/migrate/20141226080412_add_developers_can_push_to_protected_branches.rb
delete mode 100644 db/migrate/20150108073740_create_application_settings.rb
delete mode 100644 db/migrate/20150116234544_add_home_page_url_for_application_settings.rb
delete mode 100644 db/migrate/20150116234545_add_gitlab_access_token_to_user.rb
delete mode 100644 db/migrate/20150125163100_add_default_branch_protection_setting.rb
delete mode 100644 db/migrate/20150205211843_add_timestamps_to_identities.rb
delete mode 100644 db/migrate/20150206181414_add_index_to_created_at.rb
delete mode 100644 db/migrate/20150206222854_add_notification_email_to_user.rb
delete mode 100644 db/migrate/20150209222013_add_missing_index.rb
delete mode 100644 db/migrate/20150211172122_add_template_to_service.rb
delete mode 100644 db/migrate/20150211174341_allow_null_in_services_project_id.rb
delete mode 100644 db/migrate/20150213104043_add_twitter_sharing_enabled_to_application_settings.rb
delete mode 100644 db/migrate/20150213114800_add_hide_no_password_to_user.rb
delete mode 100644 db/migrate/20150213121042_add_password_automatically_set_to_user.rb
delete mode 100644 db/migrate/20150217123345_add_bitbucket_access_token_and_secret_to_user.rb
delete mode 100644 db/migrate/20150219004514_add_events_to_services.rb
delete mode 100644 db/migrate/20150223022001_set_missing_last_activity_at.rb
delete mode 100644 db/migrate/20150225065047_add_note_events_to_services.rb
delete mode 100644 db/migrate/20150301014758_add_restricted_visibility_levels_to_application_settings.rb
delete mode 100644 db/migrate/20150306023106_fix_namespace_duplication.rb
delete mode 100644 db/migrate/20150306023112_add_unique_index_to_namespace.rb
delete mode 100644 db/migrate/20150310194358_add_version_check_to_application_settings.rb
delete mode 100644 db/migrate/20150313012111_create_subscriptions_table.rb
delete mode 100644 db/migrate/20150320234437_add_location_to_user.rb
delete mode 100644 db/migrate/20150324155957_set_incorrect_assignee_id_to_null.rb
delete mode 100644 db/migrate/20150327122227_add_public_to_key.rb
delete mode 100644 db/migrate/20150327150017_add_import_data_to_project.rb
delete mode 100644 db/migrate/20150327223628_add_devise_two_factor_to_users.rb
delete mode 100644 db/migrate/20150328132231_add_max_attachment_size_to_application_settings.rb
delete mode 100644 db/migrate/20150331183602_add_devise_two_factor_backupable_to_users.rb
delete mode 100644 db/migrate/20150406133311_add_invite_data_to_member.rb
delete mode 100644 db/migrate/20150411000035_fix_identities.rb
delete mode 100644 db/migrate/20150411180045_rename_buildbox_service.rb
delete mode 100644 db/migrate/20150413192223_add_public_email_to_users.rb
delete mode 100644 db/migrate/20150417121913_create_project_import_data.rb
delete mode 100644 db/migrate/20150417122318_remove_import_data_from_project.rb
delete mode 100644 db/migrate/20150421120000_remove_periods_at_ends_of_usernames.rb
delete mode 100644 db/migrate/20150423033240_add_default_project_visibililty_to_application_settings.rb
delete mode 100644 db/migrate/20150425164646_gitlab_change_collation_for_tag_names.acts_as_taggable_on_engine.rb
delete mode 100644 db/migrate/20150425164647_remove_duplicate_tags.rb
delete mode 100644 db/migrate/20150425164648_add_missing_unique_indices.acts_as_taggable_on_engine.rb
delete mode 100644 db/migrate/20150425164649_add_taggings_counter_cache_to_tags.acts_as_taggable_on_engine.rb
delete mode 100644 db/migrate/20150425164650_add_missing_taggable_index.acts_as_taggable_on_engine.rb
delete mode 100644 db/migrate/20150425164651_change_collation_for_tag_names.acts_as_taggable_on_engine.rb
delete mode 100644 db/migrate/20150425173433_add_default_snippet_visibility_to_app_settings.rb
delete mode 100644 db/migrate/20150429002313_remove_abandoned_group_members_records.rb
delete mode 100644 db/migrate/20150502064022_add_restricted_signup_domains_to_application_settings.rb
delete mode 100644 db/migrate/20150509180749_convert_legacy_reference_notes.rb
delete mode 100644 db/migrate/20150516060434_add_note_events_to_web_hooks.rb
delete mode 100644 db/migrate/20150529111607_add_user_oauth_applications_to_application_settings.rb
delete mode 100644 db/migrate/20150529150354_add_after_sign_out_path_for_application_settings.rb
delete mode 100644 db/migrate/20150609141121_add_session_expire_delay_for_application_settings.rb
delete mode 100644 db/migrate/20150610065936_add_dashboard_to_users.rb
delete mode 100644 db/migrate/20150620233230_add_default_otp_required_for_login_value.rb
delete mode 100644 db/migrate/20150713160110_add_project_view_to_users.rb
delete mode 100644 db/migrate/20150717130904_add_commits_count_to_project.rb
delete mode 100644 db/migrate/20150730122406_add_updated_by_to_issuables_and_notes.rb
delete mode 100644 db/migrate/20150806104937_create_abuse_reports.rb
delete mode 100644 db/migrate/20150812080800_add_settings_import_sources.rb
delete mode 100644 db/migrate/20150814065925_remove_oauth_tokens_from_users.rb
delete mode 100644 db/migrate/20150817163600_deduplicate_user_identities.rb
delete mode 100644 db/migrate/20150818213832_add_sent_notifications.rb
delete mode 100644 db/migrate/20150824002011_add_enable_ssl_verification.rb
delete mode 100644 db/migrate/20150826001931_add_ci_tables.rb
delete mode 100644 db/migrate/20150827121444_add_fast_forward_option_to_project.rb
delete mode 100644 db/migrate/20150902001023_add_template_to_label.rb
delete mode 100644 db/migrate/20150914215247_add_ci_tags.rb
delete mode 100644 db/migrate/20150915001905_enable_ssl_verification_by_default.rb
delete mode 100644 db/migrate/20150916000405_enable_ssl_verification_for_web_hooks.rb
delete mode 100644 db/migrate/20150916114643_add_help_page_text_to_application_settings.rb
delete mode 100644 db/migrate/20150916145038_add_index_for_committed_at_and_id.rb
delete mode 100644 db/migrate/20150918084513_add_ci_enabled_to_application_settings.rb
delete mode 100644 db/migrate/20150918161719_remove_invalid_milestones_from_merge_requests.rb
delete mode 100644 db/migrate/20150920010715_add_consumed_timestep_to_users.rb
delete mode 100644 db/migrate/20150920161119_add_line_code_to_sent_notification.rb
delete mode 100644 db/migrate/20150924125150_add_project_id_to_ci_commit.rb
delete mode 100644 db/migrate/20150924125436_migrate_project_id_for_ci_commits.rb
delete mode 100644 db/migrate/20150930001110_merge_request_error_field.rb
delete mode 100644 db/migrate/20150930095736_add_null_to_name_for_ci_projects.rb
delete mode 100644 db/migrate/20150930110012_add_group_share_lock.rb
delete mode 100644 db/migrate/20151002112914_add_stage_idx_to_builds.rb
delete mode 100644 db/migrate/20151002121400_add_index_for_builds.rb
delete mode 100644 db/migrate/20151002122929_add_ref_and_tag_to_builds.rb
delete mode 100644 db/migrate/20151002122943_migrate_ref_and_tag_to_build.rb
delete mode 100644 db/migrate/20151005075649_add_user_id_to_build.rb
delete mode 100644 db/migrate/20151005150751_add_layout_option_for_users.rb
delete mode 100644 db/migrate/20151005162154_remove_ci_enabled_from_application_settings.rb
delete mode 100644 db/migrate/20151007120511_namespaces_projects_path_lower_indexes.rb
delete mode 100644 db/migrate/20151008110232_add_users_lower_username_email_indexes.rb
delete mode 100644 db/migrate/20151008123042_add_type_and_description_to_builds.rb
delete mode 100644 db/migrate/20151008130321_migrate_name_to_description_for_builds.rb
delete mode 100644 db/migrate/20151008143519_add_admin_notification_email_setting.rb
delete mode 100644 db/migrate/20151012173029_set_jira_service_api_url.rb
delete mode 100644 db/migrate/20151013092124_add_artifacts_file_to_builds.rb
delete mode 100644 db/migrate/20151016131433_add_ci_projects_gl_project_id_index.rb
delete mode 100644 db/migrate/20151016195451_add_ci_builds_and_projects_indexes.rb
delete mode 100644 db/migrate/20151016195706_add_notes_line_code_index.rb
delete mode 100644 db/migrate/20151019111551_fix_build_tags.rb
delete mode 100644 db/migrate/20151019111703_fail_build_without_names.rb
delete mode 100644 db/migrate/20151020145526_add_services_template_index.rb
delete mode 100644 db/migrate/20151020173516_ci_limits_to_mysql.rb
delete mode 100644 db/migrate/20151020173906_add_ci_builds_index_for_status.rb
delete mode 100644 db/migrate/20151023112551_fail_build_with_empty_name.rb
delete mode 100644 db/migrate/20151023144219_remove_satellites.rb
delete mode 100644 db/migrate/20151026182941_add_project_path_index.rb
delete mode 100644 db/migrate/20151028152939_add_merge_when_build_succeeds_to_merge_request.rb
delete mode 100644 db/migrate/20151103001141_add_public_to_group.rb
delete mode 100644 db/migrate/20151103133339_add_shared_runners_setting.rb
delete mode 100644 db/migrate/20151103134857_create_lfs_objects.rb
delete mode 100644 db/migrate/20151103134958_create_lfs_objects_projects.rb
delete mode 100644 db/migrate/20151104105513_add_file_to_lfs_objects.rb
delete mode 100644 db/migrate/20151105094515_create_releases.rb
delete mode 100644 db/migrate/20151106000015_add_is_award_to_notes.rb
delete mode 100644 db/migrate/20151109100728_add_max_artifacts_size_to_application_settings.rb
delete mode 100644 db/migrate/20151109134526_add_issues_state_index.rb
delete mode 100644 db/migrate/20151109134916_add_projects_visibility_level_index.rb
delete mode 100644 db/migrate/20151110125604_add_import_error_to_project.rb
delete mode 100644 db/migrate/20151114113410_add_index_for_lfs_oid_and_size.rb
delete mode 100644 db/migrate/20151116144118_add_unique_for_lfs_oid_index.rb
delete mode 100644 db/migrate/20151118162244_add_projects_public_index.rb
delete mode 100644 db/migrate/20151201203948_raise_hook_url_limit.rb
delete mode 100644 db/migrate/20151203162133_add_hide_project_limit_to_users.rb
delete mode 100644 db/migrate/20151203162134_add_build_events_to_services.rb
delete mode 100644 db/migrate/20151209144329_migrate_ci_web_hooks.rb
delete mode 100644 db/migrate/20151209145909_migrate_ci_emails.rb
delete mode 100644 db/migrate/20151210030143_add_unlock_token_to_user.rb
delete mode 100644 db/migrate/20151210072243_add_runners_registration_token_to_application_settings.rb
delete mode 100644 db/migrate/20151210125232_migrate_ci_slack_service.rb
delete mode 100644 db/migrate/20151210125927_migrate_ci_hip_chat_service.rb
delete mode 100644 db/migrate/20151210125928_add_ci_to_project.rb
delete mode 100644 db/migrate/20151210125929_add_project_id_to_ci.rb
delete mode 100644 db/migrate/20151210125930_migrate_ci_to_project.rb
delete mode 100644 db/migrate/20151210125931_add_index_to_ci_tables.rb
delete mode 100644 db/migrate/20151210125932_drop_null_for_ci_tables.rb
delete mode 100644 db/migrate/20151215132013_add_pages_size_to_application_settings.rb
delete mode 100644 db/migrate/20151218154042_add_tfa_to_application_settings.rb
delete mode 100644 db/migrate/20151221234414_add_tfa_additional_fields.rb
delete mode 100644 db/migrate/20151224123230_rename_emojis.rb
delete mode 100644 db/migrate/20151228111122_remove_public_from_namespace.rb
delete mode 100644 db/migrate/20151228150906_influxdb_settings.rb
delete mode 100644 db/migrate/20151228175719_add_recaptcha_to_application_settings.rb
delete mode 100644 db/migrate/20151229102248_influxdb_udp_port_setting.rb
delete mode 100644 db/migrate/20151229112614_influxdb_remote_database_setting.rb
delete mode 100644 db/migrate/20151230132518_add_artifacts_metadata_to_ci_build.rb
delete mode 100644 db/migrate/20151231152326_add_akismet_to_application_settings.rb
delete mode 100644 db/migrate/20151231202530_remove_alert_type_from_broadcast_messages.rb
delete mode 100644 db/migrate/20160106162223_add_index_milestones_title.rb
delete mode 100644 db/migrate/20160106164438_remove_influxdb_credentials.rb
delete mode 100644 db/migrate/20160109054846_create_spam_logs.rb
delete mode 100644 db/migrate/20160113111034_add_metrics_sample_interval.rb
delete mode 100644 db/migrate/20160118155830_add_sentry_to_application_settings.rb
delete mode 100644 db/migrate/20160118232755_add_ip_blocking_settings_to_application_settings.rb
delete mode 100644 db/migrate/20160119111158_add_services_category.rb
delete mode 100644 db/migrate/20160119112418_add_services_default.rb
delete mode 100644 db/migrate/20160119145451_add_ldap_email_to_users.rb
delete mode 100644 db/migrate/20160120172143_add_base_commit_sha_to_merge_request_diffs.rb
delete mode 100644 db/migrate/20160121030729_add_email_author_in_body_to_application_settings.rb
delete mode 100644 db/migrate/20160122185421_add_pending_delete_to_project.rb
delete mode 100644 db/migrate/20160128212447_remove_ip_blocking_settings_from_application_settings.rb
delete mode 100644 db/migrate/20160128233227_change_lfs_objects_size_column.rb
delete mode 100644 db/migrate/20160129135155_remove_dot_atom_path_ending_of_projects.rb
delete mode 100644 db/migrate/20160129155512_add_merge_commit_sha_to_merge_requests.rb
delete mode 100644 db/migrate/20160202091601_add_erasable_to_ci_build.rb
delete mode 100644 db/migrate/20160202164642_add_allow_guest_to_access_builds_project.rb
delete mode 100644 db/migrate/20160204144558_add_real_size_to_merge_request_diffs.rb
delete mode 100644 db/migrate/20160209130428_add_index_to_snippet.rb
delete mode 100644 db/migrate/20160210105555_create_pages_domain.rb
delete mode 100644 db/migrate/20160212123307_create_tasks.rb
delete mode 100644 db/migrate/20160217100506_add_description_to_label.rb
delete mode 100644 db/migrate/20160217174422_add_note_to_tasks.rb
delete mode 100644 db/migrate/20160220123949_rename_tasks_to_todos.rb
delete mode 100644 db/migrate/20160222153918_create_appearances_ce.rb
delete mode 100644 db/migrate/20160223192159_add_confidential_to_issues.rb
delete mode 100644 db/migrate/20160225090018_add_delete_at_to_issues.rb
delete mode 100644 db/migrate/20160225101956_add_delete_at_to_merge_requests.rb
delete mode 100644 db/migrate/20160226114608_add_trigram_indexes_for_searching.rb
delete mode 100644 db/migrate/20160227120001_add_event_field_for_web_hook.rb
delete mode 100644 db/migrate/20160227120047_add_event_to_services.rb
delete mode 100644 db/migrate/20160229193553_add_main_language_to_repository.rb
delete mode 100644 db/migrate/20160301124843_add_visibility_level_to_groups.rb
delete mode 100644 db/migrate/20160301174731_add_fingerprint_index.rb
delete mode 100644 db/migrate/20160302151724_add_import_credentials_to_project_import_data.rb
delete mode 100644 db/migrate/20160302152808_remove_wrong_import_url_from_projects.rb
delete mode 100644 db/migrate/20160305220806_remove_expires_at_from_snippets.rb
delete mode 100644 db/migrate/20160307221555_disallow_blank_line_code_on_note.rb
delete mode 100644 db/migrate/20160308212903_add_default_group_visibility_to_application_settings.rb
delete mode 100644 db/migrate/20160309140734_fix_todos.rb
delete mode 100644 db/migrate/20160310124959_add_due_date_to_issues.rb
delete mode 100644 db/migrate/20160310185910_add_external_flag_to_users.rb
delete mode 100644 db/migrate/20160314094147_add_priority_to_label.rb
delete mode 100644 db/migrate/20160314114439_add_requested_at_to_members.rb
delete mode 100644 db/migrate/20160314143402_projects_add_pushes_since_gc.rb
delete mode 100644 db/migrate/20160315135439_project_add_repository_check.rb
delete mode 100644 db/migrate/20160316123110_ci_runners_token_index.rb
delete mode 100644 db/migrate/20160316192622_change_target_id_to_null_on_todos.rb
delete mode 100644 db/migrate/20160316204731_add_commit_id_to_todos.rb
delete mode 100644 db/migrate/20160317092222_add_moved_to_to_issue.rb
delete mode 100644 db/migrate/20160320204112_index_namespaces_on_visibility_level.rb
delete mode 100644 db/migrate/20160324020319_remove_todos_for_deleted_issues.rb
delete mode 100644 db/migrate/20160328112808_create_notification_settings.rb
delete mode 100644 db/migrate/20160328115649_migrate_new_notification_setting.rb
delete mode 100644 db/migrate/20160328121138_add_notification_setting_index.rb
delete mode 100644 db/migrate/20160329144452_add_index_on_pending_delete_projects.rb
delete mode 100644 db/migrate/20160331133914_remove_todos_for_deleted_merge_requests.rb
delete mode 100644 db/migrate/20160331223143_remove_twitter_sharing_enabled_from_application_settings.rb
delete mode 100644 db/migrate/20160407120251_add_images_enabled_for_project.rb
delete mode 100644 db/migrate/20160412140240_add_repository_checks_enabled_setting.rb
delete mode 100644 db/migrate/20160412173416_add_fields_to_ci_commit.rb
delete mode 100644 db/migrate/20160412173417_update_ci_commit.rb
delete mode 100644 db/migrate/20160412173418_add_ci_commit_indexes.rb
delete mode 100644 db/migrate/20160413115152_add_token_to_web_hooks.rb
delete mode 100644 db/migrate/20160415062917_create_personal_access_tokens.rb
delete mode 100644 db/migrate/20160415133440_add_shared_runners_text_to_application_settings.rb
delete mode 100644 db/migrate/20160416180807_add_award_emoji.rb
delete mode 100644 db/migrate/20160416182152_convert_award_note_to_emoji_award.rb
delete mode 100644 db/migrate/20160419120017_add_metrics_packet_size.rb
delete mode 100644 db/migrate/20160419122101_add_only_allow_merge_if_build_succeeds_to_projects.rb
delete mode 100644 db/migrate/20160421130527_disable_repository_checks.rb
delete mode 100644 db/migrate/20160425045124_create_u2f_registrations.rb
delete mode 100644 db/migrate/20160504091942_add_disabled_oauth_sign_in_sources_to_application_settings.rb
delete mode 100644 db/migrate/20160504112519_add_run_untagged_to_ci_runner.rb
delete mode 100644 db/migrate/20160508194200_remove_wall_enabled_from_projects.rb
delete mode 100644 db/migrate/20160508202603_add_head_commit_id_to_merge_request_diffs.rb
delete mode 100644 db/migrate/20160508215820_add_type_to_notes.rb
delete mode 100644 db/migrate/20160508215920_add_positions_to_diff_notes.rb
delete mode 100644 db/migrate/20160508221410_set_type_on_legacy_diff_notes.rb
delete mode 100644 db/migrate/20160509091049_add_locked_to_ci_runner.rb
delete mode 100644 db/migrate/20160509201028_add_health_check_access_token_to_application_settings.rb
delete mode 100644 db/migrate/20160516174813_add_send_user_confirmation_email_to_application_settings.rb
delete mode 100644 db/migrate/20160516224534_add_start_commit_id_to_merge_request_diffs.rb
delete mode 100644 db/migrate/20160518200441_add_artifacts_expire_date_to_ci_builds.rb
delete mode 100644 db/migrate/20160519203051_add_developers_can_merge_to_protected_branches.rb
delete mode 100644 db/migrate/20160522215720_add_note_type_and_position_to_sent_notification.rb
delete mode 100644 db/migrate/20160525205328_remove_main_language_from_projects.rb
delete mode 100644 db/migrate/20160527020117_remove_notification_settings_for_deleted_projects.rb
delete mode 100644 db/migrate/20160528043124_add_users_state_index.rb
delete mode 100644 db/migrate/20160530150109_add_container_registry_token_expire_delay_to_application_settings.rb
delete mode 100644 db/migrate/20160603075128_add_has_external_issue_tracker_to_projects.rb
delete mode 100644 db/migrate/20160603180330_remove_duplicated_notification_settings.rb
delete mode 100644 db/migrate/20160603182247_add_index_to_notification_settings.rb
delete mode 100644 db/migrate/20160608155312_add_after_sign_up_text_to_application_settings.rb
delete mode 100644 db/migrate/20160608195742_add_repository_storage_to_projects.rb
delete mode 100644 db/migrate/20160608211215_add_user_default_external_to_application_settings.rb
delete mode 100644 db/migrate/20160610140403_remove_notification_setting_not_null_constraints.rb
delete mode 100644 db/migrate/20160610194713_remove_deprecated_issues_tracker_columns_from_projects.rb
delete mode 100644 db/migrate/20160610201627_migrate_users_notification_level.rb
delete mode 100644 db/migrate/20160610204157_add_deployments.rb
delete mode 100644 db/migrate/20160610204158_add_environments.rb
delete mode 100644 db/migrate/20160610211845_add_environment_to_builds.rb
delete mode 100644 db/migrate/20160610301627_remove_notification_level_from_users.rb
delete mode 100644 db/migrate/20160614182521_add_repository_storage_to_application_settings.rb
delete mode 100644 db/migrate/20160615142710_add_index_on_requested_at_to_members.rb
delete mode 100644 db/migrate/20160615173316_add_enabled_git_access_protocols_to_application_settings.rb
delete mode 100644 db/migrate/20160615191922_set_missing_stage_on_ci_builds.rb
delete mode 100644 db/migrate/20160616084004_change_project_of_environment.rb
delete mode 100644 db/migrate/20160616102642_remove_duplicated_keys.rb
delete mode 100644 db/migrate/20160616103005_remove_keys_fingerprint_index_if_exists.rb
delete mode 100644 db/migrate/20160616103948_add_unique_index_to_keys_fingerprint.rb
delete mode 100644 db/migrate/20160617301627_add_events_to_notification_settings.rb
delete mode 100644 db/migrate/20160620115026_add_index_on_runners_locked.rb
delete mode 100644 db/migrate/20160621123729_add_rebase_commit_sha_to_merge_requests.rb
delete mode 100644 db/migrate/20160628085157_add_artifacts_size_to_ci_builds.rb
delete mode 100644 db/migrate/20160629025435_add_column_in_progress_merge_commit_sha_to_merge_requests.rb
delete mode 100644 db/migrate/20160703180340_add_index_on_award_emoji_user_and_name.rb
delete mode 100644 db/migrate/20160705054938_add_protected_branches_push_access.rb
delete mode 100644 db/migrate/20160705054952_add_protected_branches_merge_access.rb
delete mode 100644 db/migrate/20160705055254_move_from_developers_can_merge_to_protected_branches_merge_access.rb
delete mode 100644 db/migrate/20160705055308_move_from_developers_can_push_to_protected_branches_push_access.rb
delete mode 100644 db/migrate/20160705055809_remove_developers_can_push_from_protected_branches.rb
delete mode 100644 db/migrate/20160705055813_remove_developers_can_merge_from_protected_branches.rb
delete mode 100644 db/migrate/20160705163108_remove_requesters_that_are_owners.rb
delete mode 100644 db/migrate/20160707104333_add_lock_to_issuables.rb
delete mode 100644 db/migrate/20160712171823_remove_award_emojis_with_no_user.rb
delete mode 100644 db/migrate/20160713200638_add_repository_read_only_to_projects.rb
delete mode 100644 db/migrate/20160713205315_add_domain_blacklist_to_application_settings.rb
delete mode 100644 db/migrate/20160713222618_add_usage_ping_to_application_settings.rb
delete mode 100644 db/migrate/20160715132507_add_user_id_to_pipeline.rb
delete mode 100644 db/migrate/20160715134306_add_index_for_pipeline_user_id.rb
delete mode 100644 db/migrate/20160715154212_add_request_access_enabled_to_projects.rb
delete mode 100644 db/migrate/20160715204316_add_request_access_enabled_to_groups.rb
delete mode 100644 db/migrate/20160715230841_rename_application_settings_restricted_signup_domains.rb
delete mode 100644 db/migrate/20160716115710_add_when_and_yaml_variables_to_ci_builds.rb
delete mode 100644 db/migrate/20160716115711_add_queued_at_to_ci_builds.rb
delete mode 100644 db/migrate/20160718153603_add_has_external_wiki_to_projects.rb
delete mode 100644 db/migrate/20160721081015_drop_and_readd_has_external_wiki_in_projects.rb
delete mode 100644 db/migrate/20160722221922_nullify_blank_type_on_notes.rb
delete mode 100644 db/migrate/20160724205507_add_resolved_to_notes.rb
delete mode 100644 db/migrate/20160725083350_add_external_url_to_enviroments.rb
delete mode 100644 db/migrate/20160725104020_merge_request_diff_remove_uniq.rb
delete mode 100644 db/migrate/20160725104452_merge_request_diff_add_index.rb
delete mode 100644 db/migrate/20160727163552_create_user_agent_details.rb
delete mode 100644 db/migrate/20160727191041_create_boards.rb
delete mode 100644 db/migrate/20160727193336_create_lists.rb
delete mode 100644 db/migrate/20160728081025_add_pipeline_events_to_web_hooks.rb
delete mode 100644 db/migrate/20160728103734_add_pipeline_events_to_services.rb
delete mode 100644 db/migrate/20160729173930_remove_project_id_from_spam_logs.rb
delete mode 100644 db/migrate/20160801163421_add_expires_at_to_member.rb
delete mode 100644 db/migrate/20160801163709_add_submitted_as_ham_to_spam_logs.rb
delete mode 100644 db/migrate/20160802010328_remove_builds_enable_index_on_projects.rb
delete mode 100644 db/migrate/20160803161903_add_unique_index_to_lists_label_id.rb
delete mode 100644 db/migrate/20160804142904_add_ci_config_file_to_project.rb
delete mode 100644 db/migrate/20160804150737_add_timestamps_to_members_again.rb
delete mode 100644 db/migrate/20160805041956_add_deleted_at_to_namespaces.rb
delete mode 100644 db/migrate/20160808085531_add_token_to_build.rb
delete mode 100644 db/migrate/20160808085602_add_index_for_build_token.rb
delete mode 100644 db/migrate/20160810102349_remove_ci_runner_trigram_indexes.rb
delete mode 100644 db/migrate/20160810142633_remove_redundant_indexes.rb
delete mode 100644 db/migrate/20160811172945_add_can_push_to_keys.rb
delete mode 100644 db/migrate/20160816161312_add_column_name_to_u2f_registrations.rb
delete mode 100644 db/migrate/20160817133006_add_koding_to_application_settings.rb
delete mode 100644 db/migrate/20160817154936_add_discussion_ids_to_notes.rb
delete mode 100644 db/migrate/20160818205718_add_expires_at_to_project_group_links.rb
delete mode 100644 db/migrate/20160819221631_add_index_to_note_discussion_id.rb
delete mode 100644 db/migrate/20160819221833_reset_diff_note_discussion_id_because_it_was_calculated_wrongly.rb
delete mode 100644 db/migrate/20160819232256_add_incoming_email_token_to_users.rb
delete mode 100644 db/migrate/20160823081327_change_merge_error_to_text.rb
delete mode 100644 db/migrate/20160823083941_add_column_scopes_to_personal_access_tokens.rb
delete mode 100644 db/migrate/20160823213309_add_lfs_enabled_to_projects.rb
delete mode 100644 db/migrate/20160824103857_drop_unused_ci_tables.rb
delete mode 100644 db/migrate/20160824124900_add_table_issue_metrics.rb
delete mode 100644 db/migrate/20160825052008_add_table_merge_request_metrics.rb
delete mode 100644 db/migrate/20160827011312_ensure_lock_version_has_no_default.rb
delete mode 100644 db/migrate/20160829114652_add_markdown_cache_columns.rb
delete mode 100644 db/migrate/20160830203109_add_confidential_issues_events_to_web_hooks.rb
delete mode 100644 db/migrate/20160830211132_add_confidential_issues_events_to_services.rb
delete mode 100644 db/migrate/20160830232601_change_lock_version_not_null.rb
delete mode 100644 db/migrate/20160831214002_create_project_features.rb
delete mode 100644 db/migrate/20160831214543_migrate_project_features.rb
delete mode 100644 db/migrate/20160831223750_remove_features_enabled_from_projects.rb
delete mode 100644 db/migrate/20160901141443_set_confidential_issues_events_on_webhooks.rb
delete mode 100644 db/migrate/20160902122721_drop_gitorious_field_from_application_settings.rb
delete mode 100644 db/migrate/20160907131111_add_environment_type_to_environments.rb
delete mode 100644 db/migrate/20160913162434_remove_projects_pushes_since_gc.rb
delete mode 100644 db/migrate/20160913212128_change_artifacts_size_column.rb
delete mode 100644 db/migrate/20160914131004_only_allow_merge_if_all_discussions_are_resolved.rb
delete mode 100644 db/migrate/20160915042921_create_merge_requests_closing_issues.rb
delete mode 100644 db/migrate/20160919144305_add_type_to_labels.rb
delete mode 100644 db/migrate/20160919145149_add_group_id_to_labels.rb
delete mode 100644 db/migrate/20160920160832_add_index_to_labels_title.rb
delete mode 100644 db/migrate/20160926145521_add_organization_to_user.rb
delete mode 100644 db/migrate/20161006104309_add_state_to_environment.rb
delete mode 100644 db/migrate/20161007073613_create_user_activities.rb
delete mode 100644 db/migrate/20161007133303_precalculate_trending_projects.rb
delete mode 100644 db/migrate/20161010142410_create_project_authorizations.rb
delete mode 100644 db/migrate/20161012180455_add_repository_access_level_to_project_feature.rb
delete mode 100644 db/migrate/20161014173530_create_label_priorities.rb
delete mode 100644 db/migrate/20161017091941_add_authorized_projects_populated_to_users.rb
delete mode 100644 db/migrate/20161017095000_add_properties_to_deployment.rb
delete mode 100644 db/migrate/20161017125927_add_unique_index_to_labels.rb
delete mode 100644 db/migrate/20161018024215_migrate_labels_priority.rb
delete mode 100644 db/migrate/20161018024550_remove_priority_from_labels.rb
delete mode 100644 db/migrate/20161018124658_make_project_owners_masters.rb
delete mode 100644 db/migrate/20161019190736_migrate_sidekiq_queues_from_default.rb
delete mode 100644 db/migrate/20161019213545_generate_project_feature_for_projects.rb
delete mode 100644 db/migrate/20161020075734_default_request_access_groups.rb
delete mode 100644 db/migrate/20161020075830_default_request_access_projects.rb
delete mode 100644 db/migrate/20161020083353_add_pipeline_id_to_merge_request_metrics.rb
delete mode 100644 db/migrate/20161020180657_add_minimum_key_length_to_application_settings.rb
delete mode 100644 db/migrate/20161021114307_add_lock_version_to_build_and_pipelines.rb
delete mode 100644 db/migrate/20161024042317_migrate_mailroom_queue_from_default.rb
delete mode 100644 db/migrate/20161025231710_migrate_jira_to_gem.rb
delete mode 100644 db/migrate/20161031155516_add_housekeeping_to_application_settings.rb
delete mode 100644 db/migrate/20161031171301_add_project_id_to_subscriptions.rb
delete mode 100644 db/migrate/20161031174110_migrate_subscriptions_project_id.rb
delete mode 100644 db/migrate/20161031181638_add_unique_index_to_subscriptions.rb
delete mode 100644 db/migrate/20161103171205_rename_repository_storage_column.rb
delete mode 100644 db/migrate/20161103191444_add_sidekiq_throttling_to_application_settings.rb
delete mode 100644 db/migrate/20161106185620_add_project_import_data_project_index.rb
delete mode 100644 db/migrate/20161113184239_create_user_chat_names_table.rb
delete mode 100644 db/migrate/20161114024742_add_coverage_regex_to_builds.rb
delete mode 100644 db/migrate/20161115173905_add_start_date_to_milestones.rb
delete mode 100644 db/migrate/20161118183841_add_commit_events_to_services.rb
delete mode 100644 db/migrate/20161124111390_add_parent_id_to_namespace.rb
delete mode 100644 db/migrate/20161124111395_add_index_to_parent_id.rb
delete mode 100644 db/migrate/20161124111402_add_routes_table.rb
delete mode 100644 db/migrate/20161124141322_migrate_process_commit_worker_jobs.rb
delete mode 100644 db/migrate/20161128095517_add_in_reply_to_discussion_id_to_sent_notifications.rb
delete mode 100644 db/migrate/20161128142110_remove_unnecessary_indexes.rb
delete mode 100644 db/migrate/20161128161412_add_html_emails_enabled_to_application_settings.rb
delete mode 100644 db/migrate/20161130095245_fill_routes_table.rb
delete mode 100644 db/migrate/20161130101252_fill_projects_routes_table.rb
delete mode 100644 db/migrate/20161201001911_add_plant_uml_url_to_application_settings.rb
delete mode 100644 db/migrate/20161201155511_create_project_statistics.rb
delete mode 100644 db/migrate/20161201160452_migrate_project_statistics.rb
delete mode 100644 db/migrate/20161202152031_remove_duplicates_from_routes.rb
delete mode 100644 db/migrate/20161202152035_add_index_to_routes.rb
delete mode 100644 db/migrate/20161206003819_add_plant_uml_enabled_to_application_settings.rb
delete mode 100644 db/migrate/20161206153749_remove_uniq_path_index_from_namespace.rb
delete mode 100644 db/migrate/20161206153751_add_path_index_to_namespace.rb
delete mode 100644 db/migrate/20161206153753_remove_uniq_name_index_from_namespace.rb
delete mode 100644 db/migrate/20161206153754_add_name_index_to_namespace.rb
delete mode 100644 db/migrate/20161207231620_fixup_environment_name_uniqueness.rb
delete mode 100644 db/migrate/20161207231621_create_environment_name_unique_index.rb
delete mode 100644 db/migrate/20161207231626_add_environment_slug.rb
delete mode 100644 db/migrate/20161209153400_add_unique_index_for_environment_slug.rb
delete mode 100644 db/migrate/20161209165216_create_doorkeeper_openid_connect_tables.rb
delete mode 100644 db/migrate/20161212142807_add_lower_path_index_to_routes.rb
delete mode 100644 db/migrate/20161213172958_change_slack_service_to_slack_notification_service.rb
delete mode 100644 db/migrate/20161220141214_remove_dot_git_from_group_names.rb
delete mode 100644 db/migrate/20161221152132_add_last_used_at_to_key.rb
delete mode 100644 db/migrate/20161223034433_add_estimate_to_issuables_ce.rb
delete mode 100644 db/migrate/20161223034646_create_timelogs_ce.rb
delete mode 100644 db/migrate/20161226122833_remove_dot_git_from_usernames.rb
delete mode 100644 db/migrate/20161227192806_rename_slack_and_mattermost_notification_services.rb
delete mode 100644 db/migrate/20161228124936_change_expires_at_to_date_in_personal_access_tokens.rb
delete mode 100644 db/migrate/20161228135550_add_impersonation_to_personal_access_tokens.rb
delete mode 100644 db/migrate/20170120131253_create_chat_teams.rb
delete mode 100644 db/migrate/20170121123724_add_index_to_ci_builds_for_status_runner_id_and_type.rb
delete mode 100644 db/migrate/20170121130655_add_index_to_ci_runners_for_is_shared.rb
delete mode 100644 db/migrate/20170124174637_add_foreign_keys_to_timelogs.rb
delete mode 100644 db/migrate/20170124193147_add_two_factor_columns_to_namespaces.rb
delete mode 100644 db/migrate/20170124193205_add_two_factor_columns_to_users.rb
delete mode 100644 db/migrate/20170126174819_add_terminal_max_session_time_to_application_settings.rb
delete mode 100644 db/migrate/20170127032550_remove_backlog_lists_from_boards.rb
delete mode 100644 db/migrate/20170130204620_add_index_to_project_authorizations.rb
delete mode 100644 db/migrate/20170130221926_create_uploads.rb
delete mode 100644 db/migrate/20170131221752_add_relative_position_to_issues.rb
delete mode 100644 db/migrate/20170204172458_add_name_to_route.rb
delete mode 100644 db/migrate/20170204181513_add_index_to_labels_for_type_and_project.rb
delete mode 100644 db/migrate/20170206071414_add_recaptcha_verified_to_spam_logs.rb
delete mode 100644 db/migrate/20170206115204_add_column_ghost_to_users.rb
delete mode 100644 db/migrate/20170210062829_add_index_to_labels_for_title_and_project.rb
delete mode 100644 db/migrate/20170210075922_add_index_to_ci_trigger_requests_for_commit_id.rb
delete mode 100644 db/migrate/20170210103609_add_index_to_user_agent_detail.rb
delete mode 100644 db/migrate/20170210131347_add_unique_ips_limit_to_application_settings.rb
delete mode 100644 db/migrate/20170214084746_add_default_artifacts_expiration_to_application_settings.rb
delete mode 100644 db/migrate/20170216135621_add_index_for_latest_successful_pipeline.rb
delete mode 100644 db/migrate/20170216141440_drop_index_for_builds_project_status.rb
delete mode 100644 db/migrate/20170217132157_rename_merge_when_build_succeeds.rb
delete mode 100644 db/migrate/20170217151947_rename_only_allow_merge_if_build_succeeds.rb
delete mode 100644 db/migrate/20170217151948_add_owner_id_to_triggers.rb
delete mode 100644 db/migrate/20170217151949_add_description_to_triggers.rb
delete mode 100644 db/migrate/20170222111732_create_gpg_keys.rb
delete mode 100644 db/migrate/20170222143317_drop_ci_projects.rb
delete mode 100644 db/migrate/20170222143500_remove_old_project_id_columns.rb
delete mode 100644 db/migrate/20170222143603_rename_gl_project_id_to_project_id.rb
delete mode 100644 db/migrate/20170301101006_add_ci_runner_namespaces.rb
delete mode 100644 db/migrate/20170301125302_add_printing_merge_request_link_enabled_to_project.rb
delete mode 100644 db/migrate/20170301195939_rename_ci_commits_to_ci_pipelines.rb
delete mode 100644 db/migrate/20170301205639_remove_unused_ci_tables_and_columns.rb
delete mode 100644 db/migrate/20170305180853_add_auto_cancel_pending_pipelines_to_project.rb
delete mode 100644 db/migrate/20170305203726_add_owner_id_foreign_key.rb
delete mode 100644 db/migrate/20170307125949_add_last_activity_on_to_users.rb
delete mode 100644 db/migrate/20170309173138_create_protected_tags.rb
delete mode 100644 db/migrate/20170312114329_add_auto_canceled_by_id_to_pipeline.rb
delete mode 100644 db/migrate/20170312114529_add_auto_canceled_by_id_foreign_key_to_pipeline.rb
delete mode 100644 db/migrate/20170313213916_add_index_to_user_ghost.rb
delete mode 100644 db/migrate/20170314082049_create_system_note_metadata.rb
delete mode 100644 db/migrate/20170315174634_revert_add_notified_of_own_activity_to_users.rb
delete mode 100644 db/migrate/20170315194013_add_closed_at_to_issues.rb
delete mode 100644 db/migrate/20170316061730_readd_notified_of_own_activity_to_users.rb
delete mode 100644 db/migrate/20170316163845_move_uploads_to_system_dir.rb
delete mode 100644 db/migrate/20170317203554_index_routes_path_for_like.rb
delete mode 100644 db/migrate/20170320173259_migrate_assignees.rb
delete mode 100644 db/migrate/20170322013926_create_container_repository.rb
delete mode 100644 db/migrate/20170327091750_add_created_at_index_to_deployments.rb
delete mode 100644 db/migrate/20170328010804_add_uuid_to_application_settings.rb
delete mode 100644 db/migrate/20170329095325_add_ref_to_triggers.rb
delete mode 100644 db/migrate/20170329095907_create_ci_trigger_schedules.rb
delete mode 100644 db/migrate/20170329124448_add_polling_interval_multiplier_to_application_settings.rb
delete mode 100644 db/migrate/20170330141723_disable_invalid_service_templates2.rb
delete mode 100644 db/migrate/20170402231018_remove_index_for_users_current_sign_in_at.rb
delete mode 100644 db/migrate/20170404163427_add_trigger_id_foreign_key.rb
delete mode 100644 db/migrate/20170405080720_add_import_jid_to_projects.rb
delete mode 100644 db/migrate/20170406114958_add_auto_canceled_by_id_to_ci_builds.rb
delete mode 100644 db/migrate/20170406115029_add_auto_canceled_by_id_foreign_key_to_ci_builds.rb
delete mode 100644 db/migrate/20170407114956_add_ref_to_ci_trigger_schedule.rb
delete mode 100644 db/migrate/20170407122426_add_active_to_ci_trigger_schedule.rb
delete mode 100644 db/migrate/20170407135259_add_foreigh_key_trigger_requests_trigger.rb
delete mode 100644 db/migrate/20170407140450_add_index_to_next_run_at_and_active.rb
delete mode 100644 db/migrate/20170410133135_add_version_field_to_markdown_cache.rb
delete mode 100644 db/migrate/20170413035209_add_preferred_language_to_users.rb
delete mode 100644 db/migrate/20170418103908_delete_orphan_notification_settings.rb
delete mode 100644 db/migrate/20170419001229_add_index_to_system_note_metadata.rb
delete mode 100644 db/migrate/20170421102337_remove_nil_type_services.rb
delete mode 100644 db/migrate/20170424095707_add_index_on_ci_builds_user_id.rb
delete mode 100644 db/migrate/20170424142900_add_index_to_web_hooks_type.rb
delete mode 100644 db/migrate/20170425112128_create_pipeline_schedules_table.rb
delete mode 100644 db/migrate/20170425112628_remove_foreigh_key_ci_trigger_schedules.rb
delete mode 100644 db/migrate/20170425114731_add_pipeline_schedule_id_to_pipelines.rb
delete mode 100644 db/migrate/20170426175636_fill_missing_uuid_on_application_settings.rb
delete mode 100644 db/migrate/20170426181740_add_index_on_ci_runners_contacted_at.rb
delete mode 100644 db/migrate/20170427103502_create_web_hook_logs.rb
delete mode 100644 db/migrate/20170427215854_create_redirect_routes.rb
delete mode 100644 db/migrate/20170428064307_add_column_delete_error_to_projects.rb
delete mode 100644 db/migrate/20170502065653_make_auto_cancel_pending_pipelines_on_by_default.rb
delete mode 100644 db/migrate/20170502091007_markdown_cache_limits_to_mysql.rb
delete mode 100644 db/migrate/20170502135553_create_index_ci_pipelines_auto_canceled_by_id.rb
delete mode 100644 db/migrate/20170502140503_create_index_ci_builds_auto_canceled_by_id.rb
delete mode 100644 db/migrate/20170503004125_add_last_repository_updated_at_to_projects.rb
delete mode 100644 db/migrate/20170503004425_add_index_to_last_repository_updated_at_on_projects.rb
delete mode 100644 db/migrate/20170503004426_add_retried_to_ci_build.rb
delete mode 100644 db/migrate/20170503021915_add_last_edited_at_and_last_edited_by_id_to_issues.rb
delete mode 100644 db/migrate/20170503022548_add_last_edited_at_and_last_edited_by_id_to_merge_requests.rb
delete mode 100644 db/migrate/20170503023315_add_repository_update_events_to_web_hooks.rb
delete mode 100644 db/migrate/20170503114228_add_description_to_snippets.rb
delete mode 100644 db/migrate/20170503140201_reschedule_project_authorizations.rb
delete mode 100644 db/migrate/20170503140202_turn_nested_groups_into_regular_groups_for_mysql.rb
delete mode 100644 db/migrate/20170503184421_add_index_to_redirect_routes.rb
delete mode 100644 db/migrate/20170503185032_index_redirect_routes_path_for_like.rb
delete mode 100644 db/migrate/20170504102911_add_clientside_sentry_to_application_settings.rb
delete mode 100644 db/migrate/20170504182103_add_index_project_group_links_group_id.rb
delete mode 100644 db/migrate/20170506085040_add_index_to_pipeline_pipeline_schedule_id.rb
delete mode 100644 db/migrate/20170506091344_add_foreign_key_to_pipeline_schedules.rb
delete mode 100644 db/migrate/20170506185517_add_foreign_key_pipeline_schedules_and_pipelines.rb
delete mode 100644 db/migrate/20170507205316_add_head_pipeline_id_to_merge_requests.rb
delete mode 100644 db/migrate/20170508153950_add_not_null_contraints_to_ci_variables.rb
delete mode 100644 db/migrate/20170508190732_add_foreign_key_to_ci_variables.rb
delete mode 100644 db/migrate/20170511082759_rename_web_hooks_build_events_to_job_events.rb
delete mode 100644 db/migrate/20170511083824_rename_services_build_events_to_job_events.rb
delete mode 100644 db/migrate/20170516153305_migrate_assignee_to_separate_table.rb
delete mode 100644 db/migrate/20170516183131_add_indices_to_issue_assignees.rb
delete mode 100644 db/migrate/20170519102115_add_prometheus_settings_to_metrics_settings.rb
delete mode 100644 db/migrate/20170521184006_add_change_position_to_notes.rb
delete mode 100644 db/migrate/20170523091700_add_rss_token_to_users.rb
delete mode 100644 db/migrate/20170523121229_create_conversational_development_index_metrics.rb
delete mode 100644 db/migrate/20170524125940_add_source_to_ci_pipeline.rb
delete mode 100644 db/migrate/20170524161101_add_protected_to_ci_variables.rb
delete mode 100644 db/migrate/20170525130346_create_group_variables_table.rb
delete mode 100644 db/migrate/20170525130758_add_foreign_key_to_group_variables.rb
delete mode 100644 db/migrate/20170525132202_create_pipeline_stages.rb
delete mode 100644 db/migrate/20170525174156_create_feature_tables.rb
delete mode 100644 db/migrate/20170526185602_add_stage_id_to_ci_builds.rb
delete mode 100644 db/migrate/20170530130129_project_foreign_keys_with_cascading_deletes.rb
delete mode 100644 db/migrate/20170531180233_add_authorized_keys_enabled_to_application_settings.rb
delete mode 100644 db/migrate/20170531202042_rename_users_ldap_email_to_external_email.rb
delete mode 100644 db/migrate/20170601163708_add_artifacts_store_to_ci_build.rb
delete mode 100644 db/migrate/20170602154736_add_help_page_hide_commercial_content_to_application_settings.rb
delete mode 100644 db/migrate/20170602154813_add_help_page_support_url_to_application_settings.rb
delete mode 100644 db/migrate/20170603200744_add_email_provider_to_users.rb
delete mode 100644 db/migrate/20170606154216_add_notification_setting_columns.rb
delete mode 100644 db/migrate/20170608152747_prepare_events_table_for_push_events_migration.rb
delete mode 100644 db/migrate/20170608152748_create_push_event_payloads_tables.rb
delete mode 100644 db/migrate/20170608171156_create_merge_request_diff_files.rb
delete mode 100644 db/migrate/20170613154149_create_gpg_signatures.rb
delete mode 100644 db/migrate/20170614115405_merge_request_diff_file_limits_to_mysql.rb
delete mode 100644 db/migrate/20170616133147_create_merge_request_diff_commits.rb
delete mode 100644 db/migrate/20170619144837_add_index_for_head_pipeline_merge_request.rb
delete mode 100644 db/migrate/20170620064728_create_ci_pipeline_schedule_variables.rb
delete mode 100644 db/migrate/20170620065449_add_foreign_key_to_ci_pipeline_schedule_variables.rb
delete mode 100644 db/migrate/20170622130029_correct_protected_branches_foreign_keys.rb
delete mode 100644 db/migrate/20170622132212_add_foreign_key_for_merge_request_diffs.rb
delete mode 100644 db/migrate/20170622135451_rename_duplicated_variable_key.rb
delete mode 100644 db/migrate/20170622135628_add_environment_scope_to_ci_variables.rb
delete mode 100644 db/migrate/20170622135728_add_unique_constraint_to_ci_variables.rb
delete mode 100644 db/migrate/20170622162730_add_ref_fetched_to_merge_request.rb
delete mode 100644 db/migrate/20170623080805_remove_ci_variables_project_id_index.rb
delete mode 100644 db/migrate/20170629171610_rename_application_settings_signin_enabled_to_password_authentication_enabled.rb
delete mode 100644 db/migrate/20170703102400_add_stage_id_foreign_key_to_builds.rb
delete mode 100644 db/migrate/20170706151212_add_performance_bar_allowed_group_id_to_application_settings.rb
delete mode 100644 db/migrate/20170707183807_add_group_id_to_milestones.rb
delete mode 100644 db/migrate/20170707184243_add_group_milestone_id_indexes.rb
delete mode 100644 db/migrate/20170707184244_remove_wrong_versions_from_schema_versions.rb
delete mode 100644 db/migrate/20170710083355_clean_stage_id_reference_migration.rb
delete mode 100644 db/migrate/20170711145320_add_status_to_ci_stages.rb
delete mode 100644 db/migrate/20170713104829_add_foreign_key_to_merge_requests.rb
delete mode 100644 db/migrate/20170717074009_move_system_upload_folder.rb
delete mode 100644 db/migrate/20170717200542_add_trusted_column_to_oauth_applications.rb
delete mode 100644 db/migrate/20170720111708_add_lock_version_to_ci_stages.rb
delete mode 100644 db/migrate/20170720122741_create_user_custom_attributes.rb
delete mode 100644 db/migrate/20170720130522_create_ci_pipeline_variables.rb
delete mode 100644 db/migrate/20170720130749_add_foreign_key_to_ci_pipeline_variables.rb
delete mode 100644 db/migrate/20170724214302_add_lower_path_index_to_redirect_routes.rb
delete mode 100644 db/migrate/20170725145659_add_binary_to_merge_request_diff_files.rb
delete mode 100644 db/migrate/20170727123534_add_index_on_events_project_id_id.rb
delete mode 100644 db/migrate/20170731175128_add_percentages_to_conv_dev.rb
delete mode 100644 db/migrate/20170731183033_add_merge_jid_to_merge_requests.rb
delete mode 100644 db/migrate/20170802013652_add_storage_fields_to_project.rb
delete mode 100644 db/migrate/20170803130232_reorganise_issues_indexes_for_faster_sorting.rb
delete mode 100644 db/migrate/20170807071105_add_hashed_storage_to_settings.rb
delete mode 100644 db/migrate/20170809134534_add_broadcast_message_not_null_constraints.rb
delete mode 100644 db/migrate/20170809142252_cleanup_appearances_schema.rb
delete mode 100644 db/migrate/20170809161910_add_project_export_enabled_to_application_settings.rb
delete mode 100644 db/migrate/20170815221154_add_discussion_locked_to_issuable.rb
delete mode 100644 db/migrate/20170816133938_add_access_level_to_ci_runners.rb
delete mode 100644 db/migrate/20170816133940_add_protected_to_ci_builds.rb
delete mode 100644 db/migrate/20170816143940_add_protected_to_ci_pipelines.rb
delete mode 100644 db/migrate/20170816153940_add_index_on_ci_builds_protected.rb
delete mode 100644 db/migrate/20170816234252_add_theme_id_to_users.rb
delete mode 100644 db/migrate/20170817123339_add_verification_status_to_gpg_signatures.rb
delete mode 100644 db/migrate/20170820100558_correct_protected_tags_foreign_keys.rb
delete mode 100644 db/migrate/20170820120108_create_user_synced_attributes_metadata.rb
delete mode 100644 db/migrate/20170824101926_add_auto_devops_enabled_to_application_settings.rb
delete mode 100644 db/migrate/20170824162758_allow_appearances_description_html_null.rb
delete mode 100644 db/migrate/20170825015534_add_file_store_to_lfs_objects.rb
delete mode 100644 db/migrate/20170825104051_migrate_issues_to_ghost_user.rb
delete mode 100644 db/migrate/20170825154015_resolve_outdated_diff_discussions.rb
delete mode 100644 db/migrate/20170827123848_add_index_on_merge_request_diff_commit_sha.rb
delete mode 100644 db/migrate/20170828093725_create_project_auto_dev_ops.rb
delete mode 100644 db/migrate/20170828135939_migrate_user_external_mail_data.rb
delete mode 100644 db/migrate/20170830125940_add_failure_reason_to_ci_builds.rb
delete mode 100644 db/migrate/20170830130119_steal_remaining_event_migration_jobs.rb
delete mode 100644 db/migrate/20170830131015_swap_event_migration_tables.rb
delete mode 100644 db/migrate/20170831092813_add_config_source_to_pipelines.rb
delete mode 100644 db/migrate/20170901071411_add_foreign_key_to_issue_author.rb
delete mode 100644 db/migrate/20170904092148_add_email_confirmation.rb
delete mode 100644 db/migrate/20170905112933_add_resolved_by_push_to_notes.rb
delete mode 100644 db/migrate/20170906133745_add_runners_token_to_groups.rb
delete mode 100644 db/migrate/20170909090114_add_email_confirmation_index.rb
delete mode 100644 db/migrate/20170909150936_add_spent_at_to_timelogs.rb
delete mode 100644 db/migrate/20170912113435_clean_stages_statuses_migration.rb
delete mode 100644 db/migrate/20170913131410_environments_project_id_not_null.rb
delete mode 100644 db/migrate/20170914135630_add_index_for_recent_push_events.rb
delete mode 100644 db/migrate/20170918072948_create_job_artifacts.rb
delete mode 100644 db/migrate/20170918072949_add_file_store_job_artifacts.rb
delete mode 100644 db/migrate/20170918111708_create_project_custom_attributes.rb
delete mode 100644 db/migrate/20170918140927_create_group_custom_attributes.rb
delete mode 100644 db/migrate/20170918222253_reorganize_deployments_indexes.rb
delete mode 100644 db/migrate/20170918223303_add_deployments_index_for_last_deployment.rb
delete mode 100644 db/migrate/20170919211300_remove_temporary_ci_builds_index.rb
delete mode 100644 db/migrate/20170921115009_add_project_repository_storage_index.rb
delete mode 100644 db/migrate/20170924094327_create_gcp_clusters.rb
delete mode 100644 db/migrate/20170925184228_add_favicon_to_appearances.rb
delete mode 100644 db/migrate/20170927095921_add_ci_builds_index_for_jobscontroller.rb
delete mode 100644 db/migrate/20170927122209_add_partial_index_for_labels_template.rb
delete mode 100644 db/migrate/20170927161718_create_gpg_key_subkeys.rb
delete mode 100644 db/migrate/20170928100231_add_composite_index_on_merge_requests_merge_commit_sha.rb
delete mode 100644 db/migrate/20170928124105_create_fork_networks.rb
delete mode 100644 db/migrate/20170928133643_create_fork_network_members.rb
delete mode 100644 db/migrate/20170929080234_add_failure_reason_to_pipelines.rb
delete mode 100644 db/migrate/20170929131201_populate_fork_networks.rb
delete mode 100644 db/migrate/20171004121444_make_sure_fast_forward_option_exists.rb
delete mode 100644 db/migrate/20171006090001_create_ci_build_trace_sections.rb
delete mode 100644 db/migrate/20171006090010_add_build_foreign_key_to_ci_build_trace_sections.rb
delete mode 100644 db/migrate/20171006090100_create_ci_build_trace_section_names.rb
delete mode 100644 db/migrate/20171006091000_add_name_foreign_key_to_ci_build_trace_sections.rb
delete mode 100644 db/migrate/20171006220837_add_global_rate_limits_to_application_settings.rb
delete mode 100644 db/migrate/20171012101043_add_circuit_breaker_properties_to_application_settings.rb
delete mode 100644 db/migrate/20171012125712_migrate_user_authentication_token_to_personal_access_token.rb
delete mode 100644 db/migrate/20171013094327_create_new_clusters_architectures.rb
delete mode 100644 db/migrate/20171017145932_add_new_circuitbreaker_settings_to_application_settings.rb
delete mode 100644 db/migrate/20171019141859_fix_dev_timezone_schema.rb
delete mode 100644 db/migrate/20171025110159_add_latest_merge_request_diff_id_to_merge_requests.rb
delete mode 100644 db/migrate/20171031100710_create_clusters_kubernetes_helm_apps.rb
delete mode 100644 db/migrate/20171101130535_add_gitaly_timeout_properties_to_application_settings.rb
delete mode 100644 db/migrate/20171103000000_set_uploads_path_size_for_mysql.rb
delete mode 100644 db/migrate/20171106101200_create_clusters_kubernetes_ingress_apps.rb
delete mode 100644 db/migrate/20171106132212_issues_confidential_not_null.rb
delete mode 100644 db/migrate/20171106133143_rename_application_settings_password_authentication_enabled_to_password_authentication_enabled_for_web.rb
delete mode 100644 db/migrate/20171106133911_add_password_authentication_enabled_for_git_to_application_settings.rb
delete mode 100644 db/migrate/20171106135924_issues_milestone_id_foreign_key.rb
delete mode 100644 db/migrate/20171106150657_issues_updated_by_id_foreign_key.rb
delete mode 100644 db/migrate/20171106151218_issues_moved_to_id_foreign_key.rb
delete mode 100644 db/migrate/20171106155656_turn_issues_due_date_index_to_partial_index.rb
delete mode 100644 db/migrate/20171106171453_add_timezone_to_issues_closed_at.rb
delete mode 100644 db/migrate/20171114150259_merge_requests_author_id_foreign_key.rb
delete mode 100644 db/migrate/20171114160005_merge_requests_assignee_id_foreign_key.rb
delete mode 100644 db/migrate/20171114160904_merge_requests_updated_by_id_foreign_key.rb
delete mode 100644 db/migrate/20171114161720_merge_requests_merge_user_id_foreign_key.rb
delete mode 100644 db/migrate/20171114161914_merge_requests_source_project_id_foreign_key.rb
delete mode 100644 db/migrate/20171114162227_merge_requests_milestone_id_foreign_key.rb
delete mode 100644 db/migrate/20171115164540_populate_merge_requests_latest_merge_request_diff_id_take_two.rb
delete mode 100644 db/migrate/20171116135628_add_environment_scope_to_clusters.rb
delete mode 100644 db/migrate/20171121144800_ci_pipelines_index_on_project_id_ref_status_id.rb
delete mode 100644 db/migrate/20171122131600_add_new_project_guidelines_to_appearances.rb
delete mode 100644 db/migrate/20171123094802_add_circuitbreaker_check_interval_to_application_settings.rb
delete mode 100644 db/migrate/20171124125042_add_default_values_to_merge_request_states.rb
delete mode 100644 db/migrate/20171124125748_populate_missing_merge_request_statuses.rb
delete mode 100644 db/migrate/20171124132536_make_merge_request_statuses_not_null.rb
delete mode 100644 db/migrate/20171127151038_add_events_related_columns_to_merge_request_metrics.rb
delete mode 100644 db/migrate/20171204204233_add_permanent_to_redirect_route.rb
delete mode 100644 db/migrate/20171206221519_add_permanent_index_to_redirect_route.rb
delete mode 100644 db/migrate/20171207185153_add_merge_request_state_index.rb
delete mode 100644 db/migrate/20171211131502_add_external_classification_authorization_settings_to_appliction_settings.rb
delete mode 100644 db/migrate/20171211145425_add_can_push_to_deploy_keys_projects.rb
delete mode 100644 db/migrate/20171212203433_create_clusters_applications_prometheus.rb
delete mode 100644 db/migrate/20171214144320_add_store_column_to_uploads.rb
delete mode 100644 db/migrate/20171215113714_populate_can_push_from_deploy_keys_projects.rb
delete mode 100644 db/migrate/20171216112339_add_foreign_key_for_members.rb
delete mode 100644 db/migrate/20171218140451_add_external_authorization_service_classification_label_to_projects.rb
delete mode 100644 db/migrate/20171220191323_add_index_on_namespaces_lower_name.rb
delete mode 100644 db/migrate/20171222115326_add_confidential_note_events_to_web_hooks.rb
delete mode 100644 db/migrate/20171222183504_add_jobs_cache_index_to_project.rb
delete mode 100644 db/migrate/20171229225929_change_user_project_limit_not_null_and_remove_default.rb
delete mode 100644 db/migrate/20171230123729_add_rebase_commit_sha_to_merge_requests_ce.rb
create mode 100644 db/migrate/20171230123729_init_schema.rb
create mode 100644 db/migrate/20190513174947_enable_create_incident_issues_by_default.rb
rename db/{post_migrate/20170503120310_remove_users_authorized_projects_populated.rb => migrate/20190527011309_add_required_template_name_to_application_settings.rb} (58%)
create mode 100644 db/migrate/20190531153110_create_namespace_root_storage_statistics.rb
create mode 100644 db/migrate/20190605184422_create_namespace_aggregation_schedules.rb
create mode 100644 db/migrate/20190606054649_change_operations_feature_flags_clients_token_not_null.rb
create mode 100644 db/migrate/20190606054742_add_token_encrypted_to_operations_feature_flags_clients.rb
create mode 100644 db/migrate/20190606054832_add_index_to_operations_feature_flags_clients_token_encrypted.rb
rename db/migrate/{20170809133343_add_broadcast_messages_index.rb => 20190607085356_add_source_to_pages_domains.rb} (58%)
create mode 100644 db/migrate/20190607145325_add_pages_domains_ssl_renew_index.rb
create mode 100644 db/migrate/20190607205656_add_wiki_columns_to_index_status.rb
rename db/migrate/{20170423064036_add_index_on_ci_builds_updated_at.rb => 20190611090827_add_time_tracking_limit_to_hours_to_application_settings.rb} (51%)
create mode 100644 db/migrate/20190613044655_add_username_to_deploy_tokens.rb
create mode 100644 db/migrate/20190613073003_create_project_aliases.rb
create mode 100644 db/migrate/20190617123615_add_grafana_to_settings.rb
create mode 100644 db/migrate/20190620105427_change_null_private_profile_to_false.rb
create mode 100644 db/migrate/20190621022810_add_last_ci_minutes_usage_notification_level_to_namespaces.rb
create mode 100644 db/migrate/20190621151636_add_merge_request_rebase_jid.rb
create mode 100644 db/migrate/20190623212503_add_cluster_id_to_deployments.rb
create mode 100644 db/migrate/20190624123615_add_grafana_url_to_settings.rb
rename db/migrate/{20160901213340_add_lfs_enabled_to_namespaces.rb => 20190625115224_add_description_to_services.rb} (59%)
create mode 100644 db/migrate/20190627051902_add_cluster_id_index_fk_to_deployments.rb
create mode 100644 db/migrate/20190628145246_add_strategies_to_operations_feature_flag_scopes.rb
create mode 100644 db/migrate/20190628185000_add_released_at_to_releases_table.rb
create mode 100644 db/migrate/20190628185004_backfill_and_add_not_null_constraint_to_released_at_column_on_releases_table.rb
create mode 100644 db/migrate/20190703130053_remove_gitaly_feature_flags.rb
create mode 100644 db/migrate/20190709204413_add_rule_type_to_approval_project_rules.rb
create mode 100644 db/migrate/20190710151229_add_index_to_approval_project_rules_rule_type.rb
delete mode 100644 db/post_migrate/20160824121037_change_personal_access_tokens_default_back_to_empty_array.rb
delete mode 100644 db/post_migrate/20161011222551_remove_inactive_jira_service_properties.rb
delete mode 100644 db/post_migrate/20161109150329_fix_project_records_with_invalid_visibility.rb
delete mode 100644 db/post_migrate/20161128170531_drop_user_activities_table.rb
delete mode 100644 db/post_migrate/20161221140236_remove_unneeded_services.rb
delete mode 100644 db/post_migrate/20161221153951_rename_reserved_project_names.rb
delete mode 100644 db/post_migrate/20170104150317_requeue_pending_delete_projects.rb
delete mode 100644 db/post_migrate/20170106142508_fill_authorized_projects.rb
delete mode 100644 db/post_migrate/20170106172224_remove_project_authorizations_id_column.rb
delete mode 100644 db/post_migrate/20170131214021_reset_users_authorized_projects_populated.rb
delete mode 100644 db/post_migrate/20170206040400_remove_inactive_default_email_services.rb
delete mode 100644 db/post_migrate/20170206101007_remove_trackable_columns_from_timelogs.rb
delete mode 100644 db/post_migrate/20170206101030_validate_foreign_keys_on_timelogs.rb
delete mode 100644 db/post_migrate/20170209140523_validate_foreign_keys_on_oauth_openid_requests.rb
delete mode 100644 db/post_migrate/20170211073944_disable_invalid_service_templates.rb
delete mode 100644 db/post_migrate/20170214111112_delete_deprecated_gitlab_ci_service.rb
delete mode 100644 db/post_migrate/20170215200045_remove_theme_id_from_users.rb
delete mode 100644 db/post_migrate/20170301205640_migrate_build_events_to_pipeline_events.rb
delete mode 100644 db/post_migrate/20170306170512_migrate_legacy_manual_actions.rb
delete mode 100644 db/post_migrate/20170309171644_reset_relative_position_for_issue.rb
delete mode 100644 db/post_migrate/20170313133418_rename_more_reserved_project_names.rb
delete mode 100644 db/post_migrate/20170317162059_update_upload_paths_to_system.rb
delete mode 100644 db/post_migrate/20170324160416_migrate_user_activities_to_users_last_activity_on.rb
delete mode 100644 db/post_migrate/20170404170532_remove_notes_original_discussion_id.rb
delete mode 100644 db/post_migrate/20170406111121_clean_upload_symlinks.rb
delete mode 100644 db/post_migrate/20170406142253_migrate_user_project_view.rb
delete mode 100644 db/post_migrate/20170408033905_remove_old_cache_directories.rb
delete mode 100644 db/post_migrate/20170412174900_rename_reserved_dynamic_paths.rb
delete mode 100644 db/post_migrate/20170425121605_migrate_trigger_schedules_to_pipeline_schedules.rb
delete mode 100644 db/post_migrate/20170425130047_drop_ci_trigger_schedules_table.rb
delete mode 100644 db/post_migrate/20170502070007_enable_auto_cancel_pending_pipelines_for_all.rb
delete mode 100644 db/post_migrate/20170503004427_update_retried_for_ci_build.rb
delete mode 100644 db/post_migrate/20170508170547_add_head_pipeline_for_each_merge_request.rb
delete mode 100644 db/post_migrate/20170510101043_add_foreign_key_on_pipeline_schedule_owner.rb
delete mode 100644 db/post_migrate/20170511100900_cleanup_rename_web_hooks_build_events_to_job_events.rb
delete mode 100644 db/post_migrate/20170511101000_cleanup_rename_services_build_events_to_job_events.rb
delete mode 100644 db/post_migrate/20170516165238_cleanup_trigger_for_issues.rb
delete mode 100644 db/post_migrate/20170516181025_add_constraints_to_issue_assignees_table.rb
delete mode 100644 db/post_migrate/20170518200835_rename_users_with_renamed_namespace.rb
delete mode 100644 db/post_migrate/20170518231126_fix_wrongly_renamed_routes.rb
delete mode 100644 db/post_migrate/20170523073948_remove_assignee_id_from_issue.rb
delete mode 100644 db/post_migrate/20170523083112_migrate_old_artifacts.rb
delete mode 100644 db/post_migrate/20170525140254_rename_all_reserved_paths_again.rb
delete mode 100644 db/post_migrate/20170526185842_migrate_pipeline_stages.rb
delete mode 100644 db/post_migrate/20170526185858_create_index_in_pipeline_stages.rb
delete mode 100644 db/post_migrate/20170526185901_remove_stage_id_index_from_builds.rb
delete mode 100644 db/post_migrate/20170526185921_migrate_build_stage_reference.rb
delete mode 100644 db/post_migrate/20170526190000_migrate_build_stage_reference_again.rb
delete mode 100644 db/post_migrate/20170531203055_cleanup_users_ldap_email_rename.rb
delete mode 100644 db/post_migrate/20170606202615_move_appearance_to_system_dir.rb
delete mode 100644 db/post_migrate/20170607121233_convert_custom_notification_settings_to_columns.rb
delete mode 100644 db/post_migrate/20170609183112_remove_position_from_issuables.rb
delete mode 100644 db/post_migrate/20170612071012_move_personal_snippets_files.rb
delete mode 100644 db/post_migrate/20170613111224_clean_appearance_symlinks.rb
delete mode 100644 db/post_migrate/20170621102400_add_stage_id_index_to_builds.rb
delete mode 100644 db/post_migrate/20170627101016_schedule_event_migrations.rb
delete mode 100644 db/post_migrate/20170628080858_migrate_stage_id_reference_in_background.rb
delete mode 100644 db/post_migrate/20170629180131_cleanup_application_settings_signin_enabled_rename.rb
delete mode 100644 db/post_migrate/20170711145558_migrate_stages_statuses.rb
delete mode 100644 db/post_migrate/20170717111152_cleanup_move_system_upload_folder_symlink.rb
delete mode 100644 db/post_migrate/20170717150329_enqueue_migrate_system_uploads_to_new_folder.rb
delete mode 100644 db/post_migrate/20170719150301_merge_issuable_reopened_into_opened_state.rb
delete mode 100644 db/post_migrate/20170728101014_remove_events_from_notification_settings.rb
delete mode 100644 db/post_migrate/20170803090603_calculate_conv_dev_index_percentages.rb
delete mode 100644 db/post_migrate/20170807160457_remove_locked_at_column_from_merge_requests.rb
delete mode 100644 db/post_migrate/20170807190736_move_personal_snippet_files_into_correct_folder.rb
delete mode 100644 db/post_migrate/20170815060945_remove_duplicate_mr_events.rb
delete mode 100644 db/post_migrate/20170816102555_cleanup_nonexisting_namespace_pending_delete_projects.rb
delete mode 100644 db/post_migrate/20170822101017_migrate_pipeline_sidekiq_queues.rb
delete mode 100644 db/post_migrate/20170828170502_post_deploy_migrate_user_external_mail_data.rb
delete mode 100644 db/post_migrate/20170828170513_remove_user_email_provider_column.rb
delete mode 100644 db/post_migrate/20170828170516_remove_user_external_mail_columns.rb
delete mode 100644 db/post_migrate/20170830084744_destroy_gpg_signatures.rb
delete mode 100644 db/post_migrate/20170830150306_drop_events_for_migration_table.rb
delete mode 100644 db/post_migrate/20170831195038_remove_valid_signature_from_gpg_signatures.rb
delete mode 100644 db/post_migrate/20170907170235_delete_conflicting_redirect_routes.rb
delete mode 100644 db/post_migrate/20170913180600_fix_projects_without_project_feature.rb
delete mode 100644 db/post_migrate/20170921101004_normalize_ldap_extern_uids.rb
delete mode 100644 db/post_migrate/20170927112318_update_legacy_diff_notes_type_for_import.rb
delete mode 100644 db/post_migrate/20170927112319_update_notes_type_for_import.rb
delete mode 100644 db/post_migrate/20171012150314_remove_user_authentication_token.rb
delete mode 100644 db/post_migrate/20171013104327_migrate_gcp_clusters_to_new_clusters_architectures.rb
delete mode 100644 db/post_migrate/20171026082505_schedule_merge_request_latest_merge_request_diff_id_migrations.rb
delete mode 100644 db/post_migrate/20171101134435_remove_ref_fetched_from_merge_requests.rb
delete mode 100644 db/post_migrate/20171103140253_track_untracked_uploads.rb
delete mode 100644 db/post_migrate/20171106133144_cleanup_application_settings_password_authentication_enabled_rename.rb
delete mode 100644 db/post_migrate/20171106154015_remove_issues_branch_name.rb
delete mode 100644 db/post_migrate/20171106180641_cleanup_add_timezone_to_issues_closed_at.rb
delete mode 100644 db/post_migrate/20171114104051_remove_empty_fork_networks.rb
delete mode 100644 db/post_migrate/20171121160421_remove_merge_request_diff_st_commits_and_st_diffs.rb
delete mode 100644 db/post_migrate/20171123101020_update_circuitbreaker_defaults.rb
delete mode 100644 db/post_migrate/20171123101046_remove_old_circuitbreaker_config.rb
delete mode 100644 db/post_migrate/20171124095655_add_index_on_merge_request_diffs_merge_request_id_and_id.rb
delete mode 100644 db/post_migrate/20171124100152_remove_index_on_merge_request_diffs_merge_request_diff_id.rb
delete mode 100644 db/post_migrate/20171124104327_migrate_kubernetes_service_to_new_clusters_architectures.rb
delete mode 100644 db/post_migrate/20171124150326_reschedule_fork_network_creation.rb
delete mode 100644 db/post_migrate/20171205190711_reschedule_fork_network_creation_caller.rb
delete mode 100644 db/post_migrate/20171207150300_remove_project_labels_group_id_copy.rb
delete mode 100644 db/post_migrate/20171207150344_remove_deleted_at_columns.rb
delete mode 100644 db/post_migrate/20171213160445_migrate_github_importer_advance_stage_sidekiq_queue.rb
delete mode 100644 db/post_migrate/20171215121205_post_populate_can_push_from_deploy_keys_projects.rb
delete mode 100644 db/post_migrate/20171215121259_remove_can_push_from_keys.rb
delete mode 100644 db/post_migrate/20171219121201_normalize_extern_uid_from_identities.rb
delete mode 100644 db/post_migrate/20171221140220_schedule_issues_closed_at_type_change.rb
delete mode 100644 db/post_migrate/20180202111106_remove_project_labels_group_id.rb
create mode 100644 db/post_migrate/20190606163724_migrate_legacy_managed_clusters_to_unmanaged.rb
create mode 100644 db/post_migrate/20190606175050_encrypt_feature_flags_clients_tokens.rb
create mode 100644 db/post_migrate/20190613231640_migrate_managed_clusters_with_no_token_to_unmanaged.rb
create mode 100644 db/post_migrate/20190618171120_update_geo_nodes_primary.rb
create mode 100644 db/post_migrate/20190619175843_remove_import_columns_from_projects.rb
create mode 100644 db/post_migrate/20190620112608_enqueue_reset_merge_status_second_run.rb
create mode 100644 db/post_migrate/20190625184066_remove_sentry_from_application_settings.rb
create mode 100644 db/post_migrate/20190628191740_schedule_fixing_names_of_user_namespaces.rb
create mode 100644 db/post_migrate/20190702173936_populate_remaining_merge_request_assignees.rb
create mode 100644 db/post_migrate/20190703185326_fix_wrong_pages_access_level.rb
create mode 100644 db/post_migrate/20190715114644_drop_project_features_pages_access_level_default.rb
rename doc/administration/{ => img}/audit_log.png (100%)
rename doc/administration/{ => img}/auditor_access_form.png (100%)
create mode 100644 doc/administration/pages/img/lets_encrypt_integration_v12_1.png
create mode 100644 doc/api/dependencies.md
create mode 100644 doc/api/graphql/reference/index.md
create mode 100644 doc/api/group_clusters.md
create mode 100644 doc/api/project_aliases.md
create mode 100644 doc/api/releases/img/upcoming_release_v12_1.png
create mode 100644 doc/ci/img/collapsible_log.png
rename doc/ci/merge_request_pipelines/{ => pipelines_for_merged_results}/img/merge_request_pipeline.png (100%)
rename doc/ci/merge_request_pipelines/{ => pipelines_for_merged_results}/img/merge_request_pipeline_config.png (100%)
create mode 100644 doc/ci/merge_request_pipelines/pipelines_for_merged_results/index.md
rename doc/ci/merge_request_pipelines/{img/merge_train_cancel.png => pipelines_for_merged_results/merge_trains/img/merge_train_cancel_v12_0.png} (100%)
rename doc/ci/merge_request_pipelines/{img/merge_train_config.png => pipelines_for_merged_results/merge_trains/img/merge_train_config_v12_0.png} (100%)
rename doc/ci/merge_request_pipelines/{img/merge_train_start.png => pipelines_for_merged_results/merge_trains/img/merge_train_start_v12_0.png} (100%)
rename doc/ci/merge_request_pipelines/{img/merge_train_start_when_pipeline_succeeds.png => pipelines_for_merged_results/merge_trains/img/merge_train_start_when_pipeline_succeeds_v12_0.png} (100%)
create mode 100644 doc/ci/merge_request_pipelines/pipelines_for_merged_results/merge_trains/index.md
create mode 100644 doc/development/code_comments.md
create mode 100644 doc/development/feature_flags/controls.md
create mode 100644 doc/development/feature_flags/development.md
create mode 100644 doc/development/feature_flags/index.md
create mode 100644 doc/development/feature_flags/process.md
create mode 100644 doc/development/lfs.md
create mode 100644 doc/development/repository_mirroring.md
delete mode 100644 doc/development/testing_guide/img/qa_on_merge_requests_cicd_architecture.png
delete mode 100644 doc/development/testing_guide/img/review_apps_cicd_architecture.png
delete mode 100644 doc/install/database_mysql.md
create mode 100644 doc/topics/application_development_platform/index.md
create mode 100644 doc/user/admin_area/settings/img/admin_required_pipeline.png
create mode 100644 doc/user/application_security/dependency_scanning/analyzers.md
create mode 100644 doc/user/application_security/license_management/img/license_management_add_license.png
create mode 100644 doc/user/application_security/license_management/img/license_management_search.png
delete mode 100644 doc/user/discussions/img/btn_new_issue_for_all_discussions.png
create mode 100644 doc/user/discussions/img/btn_new_issue_for_all_threads.png
delete mode 100644 doc/user/discussions/img/discussion_view.png
create mode 100644 doc/user/discussions/img/new_issue_for_thread.png
create mode 100644 doc/user/discussions/img/only_allow_merge_if_all_threads_are_resolved.png
create mode 100644 doc/user/discussions/img/preview_issue_for_thread.png
create mode 100644 doc/user/discussions/img/preview_issue_for_threads.png
create mode 100644 doc/user/discussions/img/resolve_thread_button.png
create mode 100644 doc/user/discussions/img/resolve_thread_issue_notice.png
create mode 100644 doc/user/discussions/img/resolve_thread_open_issue.png
create mode 100644 doc/user/discussions/img/thread_view.png
create mode 100644 doc/user/discussions/img/threads_resolved.png
delete mode 100644 doc/user/img/color_inline_colorchip_render_gfm.png
delete mode 100644 doc/user/img/markdown_inline_diffs_tags_rendered.png
delete mode 100644 doc/user/img/math_inline_sup_render_gfm.png
delete mode 100644 doc/user/img/task_list_ordered_render_gfm.png
delete mode 100644 doc/user/profile/account/img/2fa.png
delete mode 100644 doc/user/profile/account/img/2fa_auth.png
delete mode 100644 doc/user/profile/account/img/2fa_u2f_authenticate.png
delete mode 100644 doc/user/profile/account/img/2fa_u2f_register.png
create mode 100644 doc/user/project/autocomplete_characters.md
create mode 100644 doc/user/project/clusters/serverless/img/function-endpoint.png
create mode 100755 doc/user/project/img/autocomplete_characters_example1_v12_0.png
create mode 100755 doc/user/project/img/autocomplete_characters_example2_v12_0.png
delete mode 100644 doc/user/project/img/file_lock_folders.png
delete mode 100644 doc/user/project/img/file_lock_list.png
delete mode 100644 doc/user/project/integrations/img/jira_service_close_comment.png
create mode 100644 doc/user/project/integrations/img/prometheus_dashboard_area_panel_type.png
create mode 100644 doc/user/project/integrations/img/prometheus_dashboard_single_stat_panel_type.png
create mode 100644 doc/user/project/issues/managing_issues.md
create mode 100644 doc/user/project/pages/custom_domains_ssl_tls_certification/dns_concepts.md
rename doc/user/project/pages/{ => custom_domains_ssl_tls_certification}/img/add_certificate_to_pages.png (100%)
rename doc/user/project/pages/{ => custom_domains_ssl_tls_certification}/img/dns_add_new_a_record_example_updated_2018.png (100%)
rename doc/user/project/pages/{ => custom_domains_ssl_tls_certification}/img/dns_cname_record_example.png (100%)
create mode 100644 doc/user/project/pages/custom_domains_ssl_tls_certification/img/get_domain_verification_code_v12_0.png
create mode 100644 doc/user/project/pages/custom_domains_ssl_tls_certification/img/lets_encrypt_integration_v12_1.png
create mode 100644 doc/user/project/pages/custom_domains_ssl_tls_certification/img/retry_domain_verification_v12_0.png
create mode 100644 doc/user/project/pages/custom_domains_ssl_tls_certification/index.md
create mode 100644 doc/user/project/pages/custom_domains_ssl_tls_certification/lets_encrypt_integration.md
create mode 100644 doc/user/project/pages/custom_domains_ssl_tls_certification/ssl_tls_concepts.md
rename doc/user/project/pages/img/{pages_project_templates_11-8.png => pages_project_templates_v11_8.png} (100%)
delete mode 100644 doc/user/project/pages/img/verify_your_domain.png
rename doc/workflow/{ => img}/ci_mr.png (100%)
rename doc/workflow/{ => img}/close_issue_mr.png (100%)
rename doc/workflow/{ => img}/environment_branches.png (100%)
rename doc/workflow/{ => img}/four_stages.png (100%)
rename doc/workflow/{ => img}/git_pull.png (100%)
rename doc/workflow/{ => img}/gitdashflow.png (100%)
rename doc/workflow/{ => img}/github_flow.png (100%)
rename doc/workflow/{ => img}/gitlab_flow.png (100%)
rename doc/workflow/{ => img}/good_commit.png (100%)
rename doc/workflow/{ => img}/merge_commits.png (100%)
rename doc/workflow/{ => img}/merge_request.png (100%)
rename doc/workflow/{ => img}/messy_flow.png (100%)
rename doc/workflow/{ => img}/mr_inline_comments.png (100%)
rename doc/workflow/{ => img}/production_branch.png (100%)
rename doc/workflow/{ => img}/rebase.png (100%)
rename doc/workflow/{ => img}/release_branches.png (100%)
rename doc/workflow/{ => img}/remove_checkbox.png (100%)
create mode 100644 lib/api/group_clusters.rb
create mode 100644 lib/api/user_counts.rb
create mode 100644 lib/banzai/filter/ascii_doc_sanitization_filter.rb
create mode 100644 lib/banzai/filter/base_sanitization_filter.rb
create mode 100644 lib/banzai/filter/inline_embeds_filter.rb
create mode 100644 lib/banzai/filter/inline_metrics_filter.rb
create mode 100644 lib/banzai/filter/inline_metrics_redactor_filter.rb
rename lib/banzai/filter/{redactor_filter.rb => reference_redactor_filter.rb} (82%)
rename lib/banzai/{redactor.rb => reference_redactor.rb} (99%)
create mode 100644 lib/gitlab/asciidoc/syntax_highlighter/html_pipeline_adapter.rb
delete mode 100644 lib/gitlab/background_migration/create_fork_network_memberships_range.rb
delete mode 100644 lib/gitlab/background_migration/delete_conflicting_redirect_routes_range.rb
create mode 100644 lib/gitlab/background_migration/fix_pages_access_level.rb
create mode 100644 lib/gitlab/background_migration/fix_user_namespace_names.rb
create mode 100644 lib/gitlab/background_migration/fix_user_project_route_names.rb
delete mode 100644 lib/gitlab/background_migration/migrate_events_to_push_event_payloads.rb
create mode 100644 lib/gitlab/background_migration/migrate_null_private_profile_to_false.rb
delete mode 100644 lib/gitlab/background_migration/migrate_system_uploads_to_new_folder.rb
delete mode 100644 lib/gitlab/background_migration/move_personal_snippet_files.rb
delete mode 100644 lib/gitlab/background_migration/normalize_ldap_extern_uids_range.rb
delete mode 100644 lib/gitlab/background_migration/populate_fork_networks_range.rb
delete mode 100644 lib/gitlab/background_migration/populate_merge_requests_latest_merge_request_diff_id.rb
create mode 100644 lib/gitlab/batch_pop_queueing.rb
create mode 100644 lib/gitlab/ci/config/entry/default.rb
delete mode 100644 lib/gitlab/ci/config/entry/global.rb
create mode 100644 lib/gitlab/ci/config/entry/root.rb
create mode 100644 lib/gitlab/cleanup/orphan_job_artifact_files.rb
create mode 100644 lib/gitlab/cleanup/orphan_job_artifact_files_batch.rb
create mode 100644 lib/gitlab/database_importers/common_metrics.rb
create mode 100644 lib/gitlab/database_importers/common_metrics/importer.rb
create mode 100644 lib/gitlab/database_importers/common_metrics/prometheus_metric.rb
create mode 100644 lib/gitlab/database_importers/common_metrics/prometheus_metric_enums.rb
create mode 100644 lib/gitlab/diff/position_tracer/base_strategy.rb
create mode 100644 lib/gitlab/diff/position_tracer/image_strategy.rb
create mode 100644 lib/gitlab/diff/position_tracer/line_strategy.rb
create mode 100644 lib/gitlab/git/rugged_impl/use_rugged.rb
create mode 100644 lib/gitlab/global_id.rb
create mode 100644 lib/gitlab/graphql/calls_gitaly.rb
create mode 100644 lib/gitlab/graphql/calls_gitaly/instrumentation.rb
create mode 100644 lib/gitlab/graphql/copy_field_description.rb
create mode 100644 lib/gitlab/graphql/docs/helper.rb
create mode 100644 lib/gitlab/graphql/docs/renderer.rb
create mode 100644 lib/gitlab/graphql/docs/templates/default.md.haml
create mode 100644 lib/gitlab/graphql/find_argument_in_parent.rb
create mode 100644 lib/gitlab/graphql/loaders/pipeline_for_sha_loader.rb
create mode 100644 lib/gitlab/graphql/markdown_field.rb
create mode 100644 lib/gitlab/graphql/markdown_field/resolver.rb
create mode 100644 lib/gitlab/graphql/representation/submodule_tree_entry.rb
create mode 100644 lib/gitlab/kubernetes/role.rb
create mode 100644 lib/gitlab/lets_encrypt.rb
create mode 100644 lib/gitlab/metrics/dashboard/dynamic_dashboard_service.rb
create mode 100644 lib/gitlab/metrics/dashboard/url.rb
create mode 100644 lib/gitlab/patch/active_record_query_cache.rb
create mode 100644 lib/gitlab/performance_bar/redis_adapter_when_peek_enabled.rb
create mode 100644 lib/gitlab/phabricator_import/conduit/user.rb
create mode 100644 lib/gitlab/phabricator_import/conduit/users_response.rb
create mode 100644 lib/gitlab/phabricator_import/representation/user.rb
create mode 100644 lib/gitlab/phabricator_import/user_finder.rb
create mode 100644 lib/gitlab/submodule_links.rb
create mode 100644 lib/gitlab/thread_memory_cache.rb
create mode 100644 lib/gitlab/usage_data_counters/redis_counter.rb
create mode 100644 lib/gitlab/usage_data_counters/web_ide_counter.rb
delete mode 100644 lib/gitlab/user_extractor.rb
delete mode 100644 lib/gitlab/web_ide_commits_counter.rb
create mode 100644 lib/gitlab/zoom_link_extractor.rb
create mode 100644 lib/peek/views/redis.rb
create mode 100644 lib/tasks/gitlab/graphql.rake
create mode 100644 lib/tasks/migrate/schema_check.rake
create mode 100644 qa/.rspec_parallel
create mode 100644 qa/qa/page/component/confirm_modal.rb
create mode 100644 qa/qa/page/file/edit.rb
create mode 100644 qa/qa/page/file/shared/commit_button.rb
create mode 100644 qa/qa/page/file/shared/editor.rb
create mode 100644 qa/qa/page/project/sub_menus/project.rb
create mode 100644 qa/qa/specs/features/api/3_create/repository/project_archive_compare_spec.rb
create mode 100644 qa/qa/specs/features/browser_ui/1_manage/group/transfer_project_spec.rb
create mode 100644 qa/qa/specs/features/browser_ui/2_plan/issue/check_mentions_for_xss_spec.rb
create mode 100644 qa/qa/specs/features/browser_ui/2_plan/issue/comment_issue_spec.rb
create mode 100644 qa/qa/specs/parallel_runner.rb
create mode 100644 qa/spec/specs/parallel_runner_spec.rb
create mode 100644 rubocop/cop/gitlab/rails_logger.rb
create mode 100644 rubocop/cop/graphql/authorize_types.rb
create mode 100755 scripts/gather-test-memory-data
create mode 100755 scripts/generate-gems-memory-metrics-static
create mode 100755 scripts/generate-gems-size-metrics-static
create mode 100755 scripts/generate-memory-metrics-on-boot
create mode 100755 scripts/merge-html-reports
create mode 100644 spec/controllers/projects/merge_requests/content_controller_spec.rb
create mode 100644 spec/factories/namespace/aggregation_schedules.rb
create mode 100644 spec/factories/namespace/root_storage_statistics.rb
create mode 100644 spec/features/issues/user_creates_confidential_merge_request_spec.rb
rename spec/features/tags/{master_creates_tag_spec.rb => developer_creates_tag_spec.rb} (94%)
rename spec/features/tags/{master_deletes_tag_spec.rb => developer_deletes_tag_spec.rb} (87%)
rename spec/features/tags/{master_updates_tag_spec.rb => developer_updates_tag_spec.rb} (89%)
rename spec/features/tags/{master_views_tags_spec.rb => developer_views_tags_spec.rb} (90%)
rename spec/{services/boards/visits/latest_service_spec.rb => finders/boards/visits_finder_spec.rb} (65%)
create mode 100644 spec/fixtures/api/schemas/current-board.json
create mode 100644 spec/fixtures/lib/gitlab/metrics/dashboard/schemas/embedded_dashboard.json
create mode 100644 spec/fixtures/lib/gitlab/metrics/dashboard/schemas/embedded_panel_groups.json
create mode 100644 spec/fixtures/phabricator_responses/user.search.json
create mode 100644 spec/frontend/boards/services/board_service_spec.js
create mode 100644 spec/frontend/branches/components/__snapshots__/divergence_graph_spec.js.snap
create mode 100644 spec/frontend/branches/components/divergence_graph_spec.js
create mode 100644 spec/frontend/branches/components/graph_bar_spec.js
create mode 100644 spec/frontend/branches/divergence_graph_spec.js
create mode 100644 spec/frontend/commons/nav/user_merge_requests_spec.js
create mode 100644 spec/frontend/confidential_merge_request/components/__snapshots__/project_form_group_spec.js.snap
create mode 100644 spec/frontend/confidential_merge_request/components/dropdown_spec.js
create mode 100644 spec/frontend/confidential_merge_request/components/project_form_group_spec.js
rename spec/{javascripts => frontend}/create_merge_request_dropdown_spec.js (61%)
create mode 100644 spec/frontend/diffs/components/diff_discussion_reply_spec.js
create mode 100644 spec/frontend/diffs/components/diff_gutter_avatars_spec.js
create mode 100644 spec/frontend/diffs/mock_data/diff_discussions.js
rename spec/{javascripts => frontend}/error_tracking_settings/components/app_spec.js (97%)
rename spec/{javascripts => frontend}/error_tracking_settings/components/error_tracking_form_spec.js (100%)
rename spec/{javascripts => frontend}/error_tracking_settings/components/project_dropdown_spec.js (100%)
rename spec/{javascripts => frontend}/error_tracking_settings/mock.js (97%)
rename spec/{javascripts => frontend}/error_tracking_settings/store/actions_spec.js (93%)
rename spec/{javascripts => frontend}/error_tracking_settings/store/getters_spec.js (100%)
rename spec/{javascripts => frontend}/error_tracking_settings/store/mutation_spec.js (98%)
rename spec/{javascripts => frontend}/error_tracking_settings/utils_spec.js (100%)
create mode 100644 spec/frontend/filterable_list_spec.js
create mode 100644 spec/frontend/helpers/vuex_action_helper_spec.js
create mode 100644 spec/frontend/ide/utils_spec.js
create mode 100644 spec/frontend/mocks/ce/lib/utils/axios_utils.js
create mode 100644 spec/frontend/mocks/mocks_helper.js
create mode 100644 spec/frontend/mocks/mocks_helper_spec.js
create mode 100644 spec/frontend/mocks/node/jquery.js
create mode 100644 spec/frontend/mocks_spec.js
create mode 100644 spec/frontend/monitoring/__snapshots__/dashboard_state_spec.js.snap
create mode 100644 spec/frontend/monitoring/dashboard_state_spec.js
create mode 100644 spec/frontend/notes/components/discussion_notes_replies_wrapper_spec.js
create mode 100644 spec/frontend/projects/projects_filterable_list_spec.js
create mode 100644 spec/frontend/repository/components/__snapshots__/last_commit_spec.js.snap
create mode 100644 spec/frontend/repository/components/last_commit_spec.js
create mode 100644 spec/frontend/repository/log_tree_spec.js
rename spec/{javascripts => frontend}/vue_shared/components/markdown/header_spec.js (91%)
create mode 100644 spec/frontend/vue_shared/components/paginated_list_spec.js
create mode 100644 spec/graphql/types/award_emojis/award_emoji_type_spec.rb
create mode 100644 spec/graphql/types/commit_type_spec.rb
create mode 100644 spec/graphql/types/diff_refs_type_spec.rb
create mode 100644 spec/helpers/onboarding_experiment_helper_spec.rb
create mode 100644 spec/helpers/recaptcha_experiment_helper_spec.rb
create mode 100644 spec/javascripts/boards/components/board_form_spec.js
create mode 100644 spec/javascripts/boards/components/boards_selector_spec.js
delete mode 100644 spec/javascripts/diffs/components/diff_gutter_avatars_spec.js
create mode 100644 spec/javascripts/monitoring/charts/column_spec.js
delete mode 100644 spec/javascripts/monitoring/dashboard_state_spec.js
create mode 100644 spec/javascripts/monitoring/store/utils_spec.js
delete mode 100644 spec/javascripts/performance_bar/components/simple_metric_spec.js
create mode 100644 spec/lib/banzai/filter/inline_metrics_filter_spec.rb
create mode 100644 spec/lib/banzai/filter/inline_metrics_redactor_filter_spec.rb
rename spec/lib/banzai/filter/{redactor_filter_spec.rb => reference_redactor_filter_spec.rb} (99%)
rename spec/lib/banzai/{redactor_spec.rb => reference_redactor_spec.rb} (99%)
create mode 100644 spec/lib/gitlab/auth/ip_rate_limiter_spec.rb
delete mode 100644 spec/lib/gitlab/background_migration/create_fork_network_memberships_range_spec.rb
delete mode 100644 spec/lib/gitlab/background_migration/delete_conflicting_redirect_routes_range_spec.rb
create mode 100644 spec/lib/gitlab/background_migration/fix_user_namespace_names_spec.rb
create mode 100644 spec/lib/gitlab/background_migration/fix_user_project_route_names_spec.rb
delete mode 100644 spec/lib/gitlab/background_migration/migrate_events_to_push_event_payloads_spec.rb
create mode 100644 spec/lib/gitlab/background_migration/migrate_null_private_profile_to_false_spec.rb
delete mode 100644 spec/lib/gitlab/background_migration/migrate_stage_status_spec.rb
delete mode 100644 spec/lib/gitlab/background_migration/migrate_system_uploads_to_new_folder_spec.rb
delete mode 100644 spec/lib/gitlab/background_migration/move_personal_snippet_files_spec.rb
delete mode 100644 spec/lib/gitlab/background_migration/normalize_ldap_extern_uids_range_spec.rb
delete mode 100644 spec/lib/gitlab/background_migration/populate_fork_networks_range_spec.rb
delete mode 100644 spec/lib/gitlab/background_migration/populate_merge_requests_latest_merge_request_diff_id_spec.rb
create mode 100644 spec/lib/gitlab/batch_pop_queueing_spec.rb
create mode 100644 spec/lib/gitlab/ci/config/entry/default_spec.rb
rename spec/lib/gitlab/ci/config/entry/{global_spec.rb => root_spec.rb} (54%)
create mode 100644 spec/lib/gitlab/cleanup/orphan_job_artifact_files_batch_spec.rb
create mode 100644 spec/lib/gitlab/cleanup/orphan_job_artifact_files_spec.rb
rename spec/{db/importers/common_metrics_importer_spec.rb => lib/gitlab/database_importers/common_metrics/importer_spec.rb} (83%)
create mode 100644 spec/lib/gitlab/database_importers/common_metrics/prometheus_metric_spec.rb
create mode 100644 spec/lib/gitlab/diff/position_tracer/image_strategy_spec.rb
create mode 100644 spec/lib/gitlab/diff/position_tracer/line_strategy_spec.rb
create mode 100644 spec/lib/gitlab/git/rugged_impl/use_rugged_spec.rb
create mode 100644 spec/lib/gitlab/global_id_spec.rb
create mode 100644 spec/lib/gitlab/graphql/calls_gitaly/instrumentation_spec.rb
create mode 100644 spec/lib/gitlab/graphql/copy_field_description_spec.rb
create mode 100644 spec/lib/gitlab/graphql/find_argument_in_parent_spec.rb
create mode 100644 spec/lib/gitlab/graphql/loaders/pipeline_for_sha_loader_spec.rb
create mode 100644 spec/lib/gitlab/graphql/markdown_field/resolver_spec.rb
create mode 100644 spec/lib/gitlab/graphql/markdown_field_spec.rb
create mode 100644 spec/lib/gitlab/graphql/representation/submodule_tree_entry_spec.rb
create mode 100644 spec/lib/gitlab/kubernetes/role_spec.rb
create mode 100644 spec/lib/gitlab/lets_encrypt_spec.rb
create mode 100644 spec/lib/gitlab/metrics/dashboard/dynamic_dashboard_service_spec.rb
create mode 100644 spec/lib/gitlab/metrics/dashboard/url_spec.rb
create mode 100644 spec/lib/gitlab/phabricator_import/conduit/user_spec.rb
create mode 100644 spec/lib/gitlab/phabricator_import/conduit/users_response_spec.rb
create mode 100644 spec/lib/gitlab/phabricator_import/representation/user_spec.rb
create mode 100644 spec/lib/gitlab/phabricator_import/user_finder_spec.rb
create mode 100644 spec/lib/gitlab/submodule_links_spec.rb
create mode 100644 spec/lib/gitlab/time_tracking_formatter_spec.rb
create mode 100644 spec/lib/gitlab/usage_data_counters/web_ide_counter_spec.rb
delete mode 100644 spec/lib/gitlab/user_extractor_spec.rb
delete mode 100644 spec/lib/gitlab/web_ide_commits_counter_spec.rb
create mode 100644 spec/lib/gitlab/zoom_link_extractor_spec.rb
create mode 100644 spec/lib/peek/views/redis_detailed_spec.rb
delete mode 100644 spec/migrations/add_foreign_key_to_merge_requests_spec.rb
delete mode 100644 spec/migrations/add_head_pipeline_for_each_merge_request_spec.rb
create mode 100644 spec/migrations/backfill_and_add_not_null_constraint_to_released_at_column_on_releases_table_spec.rb
delete mode 100644 spec/migrations/calculate_conv_dev_index_percentages_spec.rb
delete mode 100644 spec/migrations/clean_appearance_symlinks_spec.rb
delete mode 100644 spec/migrations/clean_stage_id_reference_migration_spec.rb
delete mode 100644 spec/migrations/clean_stages_statuses_migration_spec.rb
delete mode 100644 spec/migrations/clean_upload_symlinks_spec.rb
delete mode 100644 spec/migrations/cleanup_move_system_upload_folder_symlink_spec.rb
delete mode 100644 spec/migrations/cleanup_nonexisting_namespace_pending_delete_projects_spec.rb
delete mode 100644 spec/migrations/convert_custom_notification_settings_to_columns_spec.rb
delete mode 100644 spec/migrations/delete_conflicting_redirect_routes_spec.rb
create mode 100644 spec/migrations/encrypt_feature_flags_clients_tokens_spec.rb
create mode 100644 spec/migrations/enqueue_reset_merge_status_second_run_spec.rb
create mode 100644 spec/migrations/fix_wrong_pages_access_level_spec.rb
delete mode 100644 spec/migrations/fix_wrongly_renamed_routes_spec.rb
delete mode 100644 spec/migrations/issues_moved_to_id_foreign_key_spec.rb
delete mode 100644 spec/migrations/migrate_build_stage_reference_again_spec.rb
delete mode 100644 spec/migrations/migrate_gcp_clusters_to_new_clusters_architectures_spec.rb
delete mode 100644 spec/migrations/migrate_issues_to_ghost_user_spec.rb
delete mode 100644 spec/migrations/migrate_kubernetes_service_to_new_clusters_architectures_spec.rb
create mode 100644 spec/migrations/migrate_legacy_managed_clusters_to_unmanaged_spec.rb
create mode 100644 spec/migrations/migrate_managed_clusters_with_no_token_to_unmanaged_spec.rb
delete mode 100644 spec/migrations/migrate_old_artifacts_spec.rb
delete mode 100644 spec/migrations/migrate_pipeline_sidekiq_queues_spec.rb
delete mode 100644 spec/migrations/migrate_pipeline_stages_spec.rb
delete mode 100644 spec/migrations/migrate_process_commit_worker_jobs_spec.rb
delete mode 100644 spec/migrations/migrate_stage_id_reference_in_background_spec.rb
delete mode 100644 spec/migrations/migrate_stages_statuses_spec.rb
delete mode 100644 spec/migrations/migrate_user_activities_to_users_last_activity_on_spec.rb
delete mode 100644 spec/migrations/migrate_user_authentication_token_to_personal_access_token_spec.rb
delete mode 100644 spec/migrations/migrate_user_project_view_spec.rb
delete mode 100644 spec/migrations/move_personal_snippets_files_spec.rb
delete mode 100644 spec/migrations/move_system_upload_folder_spec.rb
delete mode 100644 spec/migrations/move_uploads_to_system_dir_spec.rb
delete mode 100644 spec/migrations/normalize_ldap_extern_uids_spec.rb
delete mode 100644 spec/migrations/populate_can_push_from_deploy_keys_projects_spec.rb
delete mode 100644 spec/migrations/remove_assignee_id_from_issue_spec.rb
delete mode 100644 spec/migrations/remove_dot_git_from_usernames_spec.rb
delete mode 100644 spec/migrations/remove_duplicate_mr_events_spec.rb
delete mode 100644 spec/migrations/remove_empty_fork_networks_spec.rb
delete mode 100644 spec/migrations/remove_project_labels_group_id_spec.rb
delete mode 100644 spec/migrations/rename_duplicated_variable_key_spec.rb
delete mode 100644 spec/migrations/rename_more_reserved_project_names_spec.rb
delete mode 100644 spec/migrations/rename_reserved_project_names_spec.rb
delete mode 100644 spec/migrations/rename_users_with_renamed_namespace_spec.rb
delete mode 100644 spec/migrations/schedule_merge_request_latest_merge_request_diff_id_migrations_spec.rb
delete mode 100644 spec/migrations/track_untracked_uploads_spec.rb
delete mode 100644 spec/migrations/turn_nested_groups_into_regular_groups_for_mysql_spec.rb
delete mode 100644 spec/migrations/update_legacy_diff_notes_type_for_import_spec.rb
delete mode 100644 spec/migrations/update_notes_type_for_import_spec.rb
delete mode 100644 spec/migrations/update_retried_for_ci_build_spec.rb
delete mode 100644 spec/migrations/update_upload_paths_to_system_spec.rb
create mode 100644 spec/models/clusters/clusters_hierarchy_spec.rb
create mode 100644 spec/models/concerns/project_api_compatibility_spec.rb
create mode 100644 spec/models/concerns/stepable_spec.rb
rename spec/models/{cycle_analytics_spec.rb => cycle_analytics/project_level_spec.rb} (83%)
create mode 100644 spec/models/deployment_metrics_spec.rb
create mode 100644 spec/models/namespace/aggregation_schedule_spec.rb
create mode 100644 spec/models/namespace/root_storage_statistics_spec.rb
create mode 100644 spec/policies/award_emoji_policy_spec.rb
create mode 100644 spec/presenters/award_emoji_presenter_spec.rb
create mode 100644 spec/requests/api/graphql/mutations/award_emojis/add_spec.rb
create mode 100644 spec/requests/api/graphql/mutations/award_emojis/remove_spec.rb
create mode 100644 spec/requests/api/graphql/mutations/award_emojis/toggle_spec.rb
create mode 100644 spec/requests/api/graphql/mutations/notes/create/diff_note_spec.rb
create mode 100644 spec/requests/api/graphql/mutations/notes/create/image_diff_note_spec.rb
create mode 100644 spec/requests/api/graphql/mutations/notes/create/note_spec.rb
create mode 100644 spec/requests/api/graphql/mutations/notes/destroy_spec.rb
create mode 100644 spec/requests/api/graphql/mutations/notes/update_spec.rb
create mode 100644 spec/requests/api/group_clusters_spec.rb
create mode 100644 spec/requests/api/user_counts_spec.rb
delete mode 100644 spec/routing/api_routing_spec.rb
create mode 100644 spec/rubocop/cop/gitlab/rails_logger_spec.rb
create mode 100644 spec/rubocop/cop/graphql/authorize_types_spec.rb
create mode 100644 spec/serializers/diff_file_base_entity_spec.rb
create mode 100644 spec/services/branches/diverging_commit_counts_service_spec.rb
create mode 100644 spec/services/issues/reorder_service_spec.rb
create mode 100644 spec/services/merge_requests/mergeability_check_service_spec.rb
create mode 100644 spec/services/namespaces/statistics_refresher_service_spec.rb
create mode 100644 spec/services/self_monitoring/project/create_service_spec.rb
create mode 100644 spec/support/helpers/memory_usage_helper.rb
create mode 100644 spec/support/helpers/position_tracer_helpers.rb
create mode 100644 spec/support/inspect_squelch.rb
create mode 100644 spec/support/matchers/abort_matcher.rb
create mode 100644 spec/support/matchers/be_n_plus_1_query.rb
create mode 100644 spec/support/shared_examples/graphql/mutation_shared_examples.rb
create mode 100644 spec/support/shared_examples/graphql/notes_creation_shared_examples.rb
create mode 100644 spec/support/shared_examples/models/services_fields_shared_examples.rb
delete mode 100644 spec/support/shared_examples/quick_actions/issuable/assign_quick_action_shared_examples.rb
delete mode 100644 spec/support/shared_examples/quick_actions/issuable/award_quick_action_shared_examples.rb
delete mode 100644 spec/support/shared_examples/quick_actions/issuable/copy_metadata_quick_action_shared_examples.rb
delete mode 100644 spec/support/shared_examples/quick_actions/issuable/done_quick_action_shared_examples.rb
delete mode 100644 spec/support/shared_examples/quick_actions/issuable/estimate_quick_action_shared_examples.rb
create mode 100644 spec/support/shared_examples/quick_actions/issuable/issuable_quick_actions_shared_examples.rb
delete mode 100644 spec/support/shared_examples/quick_actions/issuable/label_quick_action_shared_examples.rb
delete mode 100644 spec/support/shared_examples/quick_actions/issuable/lock_quick_action_shared_examples.rb
delete mode 100644 spec/support/shared_examples/quick_actions/issuable/milestone_quick_action_shared_examples.rb
delete mode 100644 spec/support/shared_examples/quick_actions/issuable/relabel_quick_action_shared_examples.rb
delete mode 100644 spec/support/shared_examples/quick_actions/issuable/remove_estimate_quick_action_shared_examples.rb
delete mode 100644 spec/support/shared_examples/quick_actions/issuable/remove_milestone_quick_action_shared_examples.rb
delete mode 100644 spec/support/shared_examples/quick_actions/issuable/remove_time_spent_quick_action_shared_examples.rb
delete mode 100644 spec/support/shared_examples/quick_actions/issuable/reopen_quick_action_shared_examples.rb
delete mode 100644 spec/support/shared_examples/quick_actions/issuable/shrug_quick_action_shared_examples.rb
delete mode 100644 spec/support/shared_examples/quick_actions/issuable/spend_quick_action_shared_examples.rb
delete mode 100644 spec/support/shared_examples/quick_actions/issuable/subscribe_quick_action_shared_examples.rb
delete mode 100644 spec/support/shared_examples/quick_actions/issuable/tableflip_quick_action_shared_examples.rb
delete mode 100644 spec/support/shared_examples/quick_actions/issuable/title_quick_action_shared_examples.rb
delete mode 100644 spec/support/shared_examples/quick_actions/issuable/todo_quick_action_shared_examples.rb
delete mode 100644 spec/support/shared_examples/quick_actions/issuable/unassign_quick_action_shared_examples.rb
delete mode 100644 spec/support/shared_examples/quick_actions/issuable/unlabel_quick_action_shared_examples.rb
delete mode 100644 spec/support/shared_examples/quick_actions/issuable/unlock_quick_action_shared_examples.rb
delete mode 100644 spec/support/shared_examples/quick_actions/issuable/unsubscribe_quick_action_shared_examples.rb
delete mode 100644 spec/support/shared_examples/quick_actions/issue/confidential_quick_action_shared_examples.rb
delete mode 100644 spec/support/shared_examples/quick_actions/issue/due_quick_action_shared_examples.rb
delete mode 100644 spec/support/shared_examples/quick_actions/issue/remove_due_date_quick_action_shared_examples.rb
delete mode 100644 spec/support/shared_examples/quick_actions/merge_request/target_branch_quick_action_shared_examples.rb
delete mode 100644 spec/support/shared_examples/quick_actions/merge_request/wip_quick_action_shared_examples.rb
create mode 100644 spec/tasks/migrate/schema_check_rake_spec.rb
create mode 100644 spec/workers/namespaces/prune_aggregation_schedules_worker_spec.rb
create mode 100644 spec/workers/namespaces/root_statistics_worker_spec.rb
create mode 100644 spec/workers/namespaces/schedule_aggregation_worker_spec.rb
create mode 100644 spec/workers/pages_domain_ssl_renewal_cron_worker_spec.rb
create mode 100644 spec/workers/pages_domain_ssl_renewal_worker_spec.rb
rename app/graphql/mutations/.keep => tmp/prometheus_multiproc_dir/puma/.gitkeep (100%)
rename config/database.yml.example => tmp/prometheus_multiproc_dir/sidekiq/.gitkeep (100%)
create mode 100644 tmp/prometheus_multiproc_dir/unicorn/.gitkeep
diff --git a/.eslintrc.yml b/.eslintrc.yml
index 2b881d5f20..2612fd3371 100644
--- a/.eslintrc.yml
+++ b/.eslintrc.yml
@@ -5,6 +5,7 @@ globals:
gl: false
gon: false
localStorage: false
+ IS_EE: false
plugins:
- import
- html
diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
index 059b181bb1..5b39304444 100644
--- a/.gitlab-ci.yml
+++ b/.gitlab-ci.yml
@@ -1,7 +1,6 @@
image: "dev.gitlab.org:5005/gitlab/gitlab-build-images:ruby-2.6.3-golang-1.11-git-2.21-chrome-73.0-node-12.x-yarn-1.16-postgresql-9.6-graphicsmagick-1.3.29"
variables:
- MYSQL_ALLOW_EMPTY_PASSWORD: "1"
RAILS_ENV: "test"
NODE_ENV: "test"
SIMPLECOV: "true"
@@ -37,6 +36,7 @@ include:
- local: .gitlab/ci/cng.gitlab-ci.yml
- local: .gitlab/ci/docs.gitlab-ci.yml
- local: .gitlab/ci/frontend.gitlab-ci.yml
+ - local: .gitlab/ci/memory.gitlab-ci.yml
- local: .gitlab/ci/pages.gitlab-ci.yml
- local: .gitlab/ci/qa.gitlab-ci.yml
- local: .gitlab/ci/reports.gitlab-ci.yml
diff --git a/.gitlab/CODEOWNERS b/.gitlab/CODEOWNERS
index 0ca6d7a350..b865b212ac 100644
--- a/.gitlab/CODEOWNERS
+++ b/.gitlab/CODEOWNERS
@@ -6,8 +6,8 @@
/doc/ @axil @marcia @eread @mikelewis
# Frontend maintainers should see everything in `app/assets/`
-app/assets/ @ClemMakesApps @fatihacet @filipa @iamphill @mikegreiling @timzallmann @kushalpandya
-*.scss @annabeldunstone @ClemMakesApps @fatihacet @filipa @iamphill @mikegreiling @timzallmann @kushalpandya
+app/assets/ @ClemMakesApps @fatihacet @filipa @iamphill @mikegreiling @timzallmann @kushalpandya @pslaughter
+*.scss @annabeldunstone @ClemMakesApps @fatihacet @filipa @iamphill @mikegreiling @timzallmann @kushalpandya @pslaughter
# Someone from the database team should review changes in `db/`
db/ @abrandl @NikolayS
@@ -19,3 +19,5 @@ db/ @abrandl @NikolayS
/lib/gitlab/ci/templates/ @nolith @zj
/lib/gitlab/ci/templates/Auto-DevOps.gitlab-ci.yml @DylanGriffith @mayra-cabrera @tkuah
/lib/gitlab/ci/templates/Security/ @plafoucriere @gonzoyumo @twoodham
+/ee/app/models/project_alias.rb @patrickbajao
+/ee/lib/api/project_aliases.rb @patrickbajao
diff --git a/.gitlab/ci/docs.gitlab-ci.yml b/.gitlab/ci/docs.gitlab-ci.yml
index 5aa1a85640..5bc109f2b7 100644
--- a/.gitlab/ci/docs.gitlab-ci.yml
+++ b/.gitlab/ci/docs.gitlab-ci.yml
@@ -12,7 +12,9 @@
# Trigger a manual docs build in gitlab-docs only on non docs-only branches.
# Useful to preview the docs changes live.
review-docs-deploy-manual:
- <<: *review-docs
+ extends:
+ - .review-docs
+ - .no-docs-and-no-qa
stage: build
script:
- gem install gitlab --no-document
@@ -21,9 +23,6 @@ review-docs-deploy-manual:
only:
- branches@gitlab-org/gitlab-ce
- branches@gitlab-org/gitlab-ee
- except:
- - /(^docs[\/-].*|.*-docs$)/
- - /(^qa[\/-].*|.*-qa$)/
# Always trigger a docs build in gitlab-docs only on docs-only branches.
# Useful to preview the docs changes live.
@@ -66,6 +65,8 @@ docs lint:
- scripts/lint-changelog-yaml
- mv doc/ /tmp/gitlab-docs/content/$DOCS_GITLAB_REPO_SUFFIX
- cd /tmp/gitlab-docs
+ # Lint Markdown
+ - bundle exec mdl content/$DOCS_GITLAB_REPO_SUFFIX -c $CI_PROJECT_DIR/.mdlrc
# Build HTML from Markdown
- bundle exec nanoc
# Check the internal links
diff --git a/.gitlab/ci/frontend.gitlab-ci.yml b/.gitlab/ci/frontend.gitlab-ci.yml
index 6afa668af2..b3e7c85385 100644
--- a/.gitlab/ci/frontend.gitlab-ci.yml
+++ b/.gitlab/ci/frontend.gitlab-ci.yml
@@ -1,26 +1,25 @@
.assets-compile-cache: &assets-compile-cache
cache:
- key: "assets-compile:vendor_ruby:.yarn-cache:tmp_cache_assets_sprockets:v5"
+ key: "assets-compile:vendor_ruby:.yarn-cache:tmp_cache_assets_sprockets:v6"
paths:
- vendor/ruby/
- .yarn-cache/
- tmp/cache/assets/sprockets
- policy: pull-push
.use-pg: &use-pg
services:
- - name: postgres:9.6
+ - name: postgres:9.6.11
command: ["postgres", "-c", "fsync=off", "-c", "synchronous_commit=off", "-c", "full_page_writes=off"]
- name: redis:alpine
-gitlab:assets:compile:
+.gitlab:assets:compile-metadata:
<<: *assets-compile-cache
extends: .dedicated-no-docs-pull-cache-job
image: dev.gitlab.org:5005/gitlab/gitlab-build-images:ruby-2.6.3-git-2.21-chrome-73.0-node-12.x-yarn-1.16-graphicsmagick-1.3.29-docker-18.06.1
dependencies:
- setup-test-env
services:
- - docker:stable-dind
+ - docker:19.03.0-dind
variables:
NODE_ENV: "production"
RAILS_ENV: "production"
@@ -33,7 +32,7 @@ gitlab:assets:compile:
DOCKER_HOST: tcp://docker:2375
script:
- node --version
- - retry yarn install --frozen-lockfile --production --cache-folder .yarn-cache
+ - retry yarn install --frozen-lockfile --production --cache-folder .yarn-cache --prefer-offline
- free -m
- retry bundle exec rake gitlab:assets:compile
- time scripts/build_assets_image
@@ -58,14 +57,32 @@ gitlab:assets:compile:
- docker
- gitlab-org
-compile-assets:
+gitlab:assets:compile:
+ extends: .gitlab:assets:compile-metadata
+ cache:
+ policy: pull-push
+ only:
+ - master@gitlab-org/gitlab-ce
+ - master@gitlab-org/gitlab-ee
+
+gitlab:assets:compile pull-cache:
+ extends: .gitlab:assets:compile-metadata
+ cache:
+ policy: pull
+ except:
+ refs:
+ - master@gitlab-org/gitlab-ce
+ - master@gitlab-org/gitlab-ee
+ - /(^docs[\/-].*|.*-docs$)/
+
+.compile-assets-metadata:
extends: .dedicated-runner
<<: *use-pg
<<: *assets-compile-cache
stage: prepare
script:
- node --version
- - retry yarn install --frozen-lockfile --cache-folder .yarn-cache
+ - retry yarn install --frozen-lockfile --cache-folder .yarn-cache --prefer-offline
- free -m
- retry bundle exec rake gitlab:assets:compile
- scripts/clean-old-cached-assets
@@ -77,8 +94,23 @@ compile-assets:
paths:
- node_modules
- public/assets
+
+compile-assets:
+ extends: .compile-assets-metadata
+ cache:
+ policy: pull-push
+ only:
+ - master@gitlab-org/gitlab-ce
+ - master@gitlab-org/gitlab-ee
+
+compile-assets pull-cache:
+ extends: .compile-assets-metadata
+ cache:
+ policy: pull
except:
refs:
+ - master@gitlab-org/gitlab-ce
+ - master@gitlab-org/gitlab-ee
- /(^docs[\/-].*|.*-docs$)/
gitlab:ui:visual:
@@ -87,6 +119,7 @@ gitlab:ui:visual:
allow_failure: true
dependencies:
- compile-assets
+ - compile-assets pull-cache
script:
# Remove node modules from GitLab that may conflict with gitlab-ui
- rm -r node_modules
@@ -116,6 +149,7 @@ karma:
<<: *use-pg
dependencies:
- compile-assets
+ - compile-assets pull-cache
- setup-test-env
variables:
# we override the max_old_space_size to prevent OOM errors
@@ -134,14 +168,15 @@ karma:
paths:
- chrome_debug.log
- coverage-javascript/
- reports:
- junit: junit_karma.xml
+# reports:
+# junit: junit_karma.xml
jest:
extends: .dedicated-no-docs-and-no-qa-pull-cache-job
<<: *use-pg
dependencies:
- compile-assets
+ - compile-assets pull-cache
- setup-test-env
script:
- scripts/gitaly-test-spawn
@@ -156,8 +191,8 @@ jest:
paths:
- coverage-frontend/
- junit_jest.xml
- reports:
- junit: junit_jest.xml
+# reports:
+# junit: junit_jest.xml
cache:
key: jest
paths:
@@ -196,7 +231,7 @@ qa:selectors:
before_script: []
script:
- date
- - yarn install --frozen-lockfile --cache-folder .yarn-cache
+ - yarn install --frozen-lockfile --cache-folder .yarn-cache --prefer-offline
- date
- yarn run webpack-prod
@@ -232,6 +267,7 @@ jsdoc:
stage: post-test
dependencies:
- compile-assets
+ - compile-assets pull-cache
before_script: []
script:
- date
diff --git a/.gitlab/ci/global.gitlab-ci.yml b/.gitlab/ci/global.gitlab-ci.yml
index b7ef4b3174..4da7f40476 100644
--- a/.gitlab/ci/global.gitlab-ci.yml
+++ b/.gitlab/ci/global.gitlab-ci.yml
@@ -28,16 +28,26 @@
policy: pull
stage: test
-.dedicated-no-docs-pull-cache-job:
- extends: .dedicated-pull-cache-job
+.no-docs:
except:
- - /(^docs[\/-].*|.*-docs$)/
+ refs:
+ - /(^docs[\/-].*|.*-docs$)/
+
+.no-docs-and-no-qa:
+ except:
+ refs:
+ - /(^docs[\/-].*|.*-docs$)/
+ - /(^qa[\/-].*|.*-qa$)/
+
+.dedicated-no-docs-pull-cache-job:
+ extends:
+ - .dedicated-pull-cache-job
+ - .no-docs
.dedicated-no-docs-and-no-qa-pull-cache-job:
- extends: .dedicated-pull-cache-job
- except:
- - /(^docs[\/-].*|.*-docs$)/
- - /(^qa[\/-].*|.*-qa$)/
+ extends:
+ - .dedicated-pull-cache-job
+ - .no-docs-and-no-qa
# Jobs that do not need a DB
.dedicated-no-docs-no-db-pull-cache-job:
@@ -45,6 +55,12 @@
variables:
SETUP_DB: "false"
+# Jobs that need a dedicated runner, with no cache
+.dedicated-no-docs:
+ extends:
+ - .dedicated-runner
+ - .no-docs
+
.single-script-job-dedicated-runner:
extends: .dedicated-runner
image: ruby:2.6-alpine
diff --git a/.gitlab/ci/memory.gitlab-ci.yml b/.gitlab/ci/memory.gitlab-ci.yml
new file mode 100644
index 0000000000..ffe5dbdc31
--- /dev/null
+++ b/.gitlab/ci/memory.gitlab-ci.yml
@@ -0,0 +1,42 @@
+memory-static:
+ extends: .dedicated-no-docs-no-db-pull-cache-job
+ script:
+ # Uses two different reports from the 'derailed_benchmars' gem.
+
+ # Loads each of gems in the Gemfile and checks how much memory they consume when they are required.
+ # 'derailed_benchmarks' internally uses 'get_process_mem'
+ - bundle exec derailed bundle:mem > tmp/memory_bundle_mem.txt
+ - scripts/generate-gems-size-metrics-static tmp/memory_bundle_mem.txt >> 'tmp/memory_metrics.txt'
+
+ # Outputs detailed information about objects created while gems are loaded.
+ # 'derailed_benchmarks' internally uses 'memory_profiler'
+ - bundle exec derailed bundle:objects > tmp/memory_bundle_objects.txt
+ - scripts/generate-gems-memory-metrics-static tmp/memory_bundle_objects.txt >> 'tmp/memory_metrics.txt'
+ artifacts:
+ paths:
+ - tmp/memory_*.txt
+ reports:
+ metrics: tmp/memory_metrics.txt
+
+# Show memory usage caused by invoking require per gem.
+# Unlike `memory-static`, it hits the app with one request to ensure that any last minute require-s have been called.
+# The application is booted in `production` environment.
+# All tests are run without a webserver (directly using Rack::Mock by default).
+memory-on-boot:
+ extends: .rspec-metadata-pg-10
+ variables:
+ NODE_ENV: "production"
+ RAILS_ENV: "production"
+ SETUP_DB: "true"
+ SKIP_STORAGE_VALIDATION: "true"
+ # we override the max_old_space_size to prevent OOM errors
+ NODE_OPTIONS: --max_old_space_size=3584
+ script:
+ # Both bootsnap and derailed monkey-patch Kernel#require, which leads to circular dependency
+ - DISABLE_BOOTSNAP=true PATH_TO_HIT="/users/sign_in" CUT_OFF=0.3 bundle exec derailed exec perf:mem >> 'tmp/memory_on_boot.txt'
+ - scripts/generate-memory-metrics-on-boot tmp/memory_on_boot.txt >> 'tmp/memory_on_boot_metrics.txt'
+ artifacts:
+ paths:
+ - tmp/memory_*.txt
+ reports:
+ metrics: tmp/memory_on_boot_metrics.txt
diff --git a/.gitlab/ci/rails.gitlab-ci.yml b/.gitlab/ci/rails.gitlab-ci.yml
index 68280506da..c7a51beeee 100644
--- a/.gitlab/ci/rails.gitlab-ci.yml
+++ b/.gitlab/ci/rails.gitlab-ci.yml
@@ -1,6 +1,6 @@
.use-pg: &use-pg
services:
- - name: postgres:9.6
+ - name: postgres:9.6.11
command: ["postgres", "-c", "fsync=off", "-c", "synchronous_commit=off", "-c", "full_page_writes=off"]
- name: redis:alpine
@@ -10,11 +10,6 @@
command: ["postgres", "-c", "fsync=off", "-c", "synchronous_commit=off", "-c", "full_page_writes=off"]
- name: redis:alpine
-.use-mysql: &use-mysql
- services:
- - mysql:5.7
- - redis:alpine
-
.only-schedules-master: &only-schedules-master
only:
- schedules@gitlab-org/gitlab-ce
@@ -25,8 +20,9 @@
- master@gitlab/gitlab-ee
.gitlab-setup: &gitlab-setup
- extends: .dedicated-no-docs-and-no-qa-pull-cache-job
- <<: *use-pg
+ extends:
+ - .dedicated-no-docs-and-no-qa-pull-cache-job
+ - .use-pg
variables:
SETUP_DB: "false"
script:
@@ -48,7 +44,9 @@
- bundle exec rake $CI_JOB_NAME
.rspec-metadata: &rspec-metadata
- extends: .dedicated-pull-cache-job
+ extends:
+ - .dedicated-pull-cache-job
+ - .no-docs-and-no-qa
stage: test
script:
- JOB_NAME=( $CI_JOB_NAME )
@@ -68,6 +66,8 @@
- scripts/gitaly-test-spawn
- date
- 'export KNAPSACK_TEST_FILE_PATTERN=$(ruby -r./lib/quality/test_level.rb -e "puts Quality::TestLevel.new.pattern(:${TEST_LEVEL})")'
+ - mkdir -p tmp/memory_test
+ - export MEMORY_TEST_PATH="tmp/memory_test/${TEST_TOOL}_${TEST_LEVEL}_${DATABASE}_node_${CI_NODE_INDEX}_${CI_NODE_TOTAL}_memory.csv"
- knapsack rspec "--color --format documentation --format RspecJunitFormatter --out junit_rspec.xml --tag level:${TEST_LEVEL} --tag ~geo"
- date
artifacts:
@@ -79,11 +79,9 @@
- rspec_flaky/
- rspec_profiling/
- tmp/capybara/
- reports:
- junit: junit_rspec.xml
- except:
- - /(^docs[\/-].*|.*-docs$)/
- - /(^qa[\/-].*|.*-qa$)/
+ - tmp/memory_test/
+# reports:
+# junit: junit_rspec.xml
.rspec-metadata-pg: &rspec-metadata-pg
<<: *rspec-metadata
@@ -94,10 +92,6 @@
<<: *use-pg-10
image: "dev.gitlab.org:5005/gitlab/gitlab-build-images:ruby-2.6.3-golang-1.11-git-2.21-chrome-73.0-node-12.x-yarn-1.16-postgresql-10-graphicsmagick-1.3.29"
-.rspec-metadata-mysql: &rspec-metadata-mysql
- <<: *rspec-metadata
- <<: *use-mysql
-
# DB migration, rollback, and seed jobs
.db-migrate-reset: &db-migrate-reset
extends: .dedicated-no-docs-and-no-qa-pull-cache-job
@@ -131,8 +125,10 @@
- setup-test-env
setup-test-env:
- extends: .dedicated-runner-default-cache
- <<: *use-pg
+ extends:
+ - .dedicated-runner-default-cache
+ - .no-docs
+ - .use-pg
stage: prepare
script:
- bundle exec ruby -Ispec -e 'require "spec_helper" ; TestEnv.init'
@@ -143,8 +139,6 @@ setup-test-env:
- tmp/tests
- config/secrets.yml
- vendor/gitaly-ruby
- except:
- - /(^docs[\/-].*|.*-docs$)/
rspec unit pg:
<<: *rspec-metadata-pg
@@ -173,42 +167,6 @@ rspec system pg-10:
<<: *only-schedules-master
parallel: 24
-rspec unit mysql:
- <<: *rspec-metadata-mysql
- <<: *only-schedules-master
- parallel: 20
-
-rspec integration mysql:
- <<: *rspec-metadata-mysql
- <<: *only-schedules-master
- parallel: 6
-
-rspec system mysql:
- <<: *rspec-metadata-mysql
- <<: *only-schedules-master
- parallel: 24
-
-.rspec-mysql-on-demand: &rspec-mysql-on-demand
- only:
- variables:
- - $CI_COMMIT_MESSAGE =~ /\[run mysql\]/i
- - $CI_COMMIT_REF_NAME =~ /mysql/
-
-rspec unit mysql on-demand:
- <<: *rspec-metadata-mysql
- <<: *rspec-mysql-on-demand
- parallel: 20
-
-rspec integration mysql on-demand:
- <<: *rspec-metadata-mysql
- <<: *rspec-mysql-on-demand
- parallel: 6
-
-rspec system mysql on-demand:
- <<: *rspec-metadata-mysql
- <<: *rspec-mysql-on-demand
- parallel: 24
-
rspec-fast-spec-helper:
<<: *rspec-metadata-pg
script:
@@ -226,16 +184,11 @@ rspec quarantine pg:
<<: *rspec-quarantine
allow_failure: true
-rspec quarantine mysql:
- <<: *rspec-metadata-mysql
- <<: *rspec-quarantine
- <<: *only-schedules-master
- allow_failure: true
-
static-analysis:
extends: .dedicated-no-docs-no-db-pull-cache-job
dependencies:
- compile-assets
+ - compile-assets pull-cache
- setup-test-env
script:
- scripts/static-analysis
@@ -250,11 +203,12 @@ static-analysis:
downtime_check:
<<: *rake-exec
except:
- - master
- - tags
- - /^[\d-]+-stable(-ee)?$/
- - /(^docs[\/-].*|.*-docs$)/
- - /(^qa[\/-].*|.*-qa$)/
+ refs:
+ - master
+ - tags
+ - /^[\d-]+-stable(-ee)?$/
+ - /(^docs[\/-].*|.*-docs$)/
+ - /(^qa[\/-].*|.*-qa$)/
dependencies:
- setup-test-env
@@ -262,12 +216,13 @@ ee_compat_check:
<<: *rake-exec
dependencies: []
except:
- - master
- - tags
- - /[\d-]+-stable(-ee)?/
- - /^security-/
- - branches@gitlab-org/gitlab-ee
- - branches@gitlab/gitlab-ee
+ refs:
+ - master
+ - tags
+ - /[\d-]+-stable(-ee)?/
+ - /^security-/
+ - branches@gitlab-org/gitlab-ee
+ - branches@gitlab/gitlab-ee
retry: 0
artifacts:
name: "${CI_JOB_NAME}_${CI_COMIT_REF_NAME}_${CI_COMMIT_SHA}"
@@ -280,10 +235,6 @@ db:migrate:reset-pg:
<<: *db-migrate-reset
<<: *use-pg
-db:migrate:reset-mysql:
- <<: *db-migrate-reset
- <<: *use-mysql
-
db:check-schema-pg:
<<: *db-migrate-reset
<<: *use-pg
@@ -294,15 +245,11 @@ migration:path-pg:
<<: *migration-paths
<<: *use-pg
-migration:path-mysql:
- <<: *migration-paths
- <<: *use-mysql
-
.db-rollback: &db-rollback
extends: .dedicated-no-docs-and-no-qa-pull-cache-job
script:
- - bundle exec rake db:migrate VERSION=20170523121229
- - bundle exec rake db:migrate
+ - bundle exec rake db:migrate VERSION=20180101160629
+ - bundle exec rake db:migrate SKIP_SCHEMA_VERSION_CHECK=true
dependencies:
- setup-test-env
@@ -310,26 +257,18 @@ db:rollback-pg:
<<: *db-rollback
<<: *use-pg
-db:rollback-mysql:
- <<: *db-rollback
- <<: *use-mysql
-
gitlab:setup-pg:
<<: *gitlab-setup
<<: *use-pg
dependencies:
- setup-test-env
-gitlab:setup-mysql:
- <<: *gitlab-setup
- <<: *use-mysql
- dependencies:
- - setup-test-env
-
coverage:
# Don't include dedicated-no-docs-no-db-pull-cache-job here since we need to
# download artifacts from all the rspec jobs instead of from setup-test-env only
- extends: .dedicated-runner-default-cache
+ extends:
+ - .dedicated-runner-default-cache
+ - .no-docs-and-no-qa
cache:
policy: pull
variables:
@@ -337,6 +276,7 @@ coverage:
stage: post-test
script:
- bundle exec scripts/merge-simplecov
+ - bundle exec scripts/gather-test-memory-data
coverage: '/LOC \((\d+\.\d+%)\) covered.$/'
artifacts:
name: coverage
@@ -344,6 +284,4 @@ coverage:
paths:
- coverage/index.html
- coverage/assets/
- except:
- - /(^docs[\/-].*|.*-docs$)/
- - /(^qa[\/-].*|.*-qa$)/
+ - tmp/memory_test/
diff --git a/.gitlab/ci/reports.gitlab-ci.yml b/.gitlab/ci/reports.gitlab-ci.yml
index d0e09dbf2f..ca55bbd32a 100644
--- a/.gitlab/ci/reports.gitlab-ci.yml
+++ b/.gitlab/ci/reports.gitlab-ci.yml
@@ -1,98 +1,26 @@
include:
- template: Code-Quality.gitlab-ci.yml
+ - template: Security/SAST.gitlab-ci.yml
+ - template: Security/Dependency-Scanning.gitlab-ci.yml
code_quality:
- extends: .dedicated-no-docs-no-db-pull-cache-job
+ extends: .dedicated-no-docs
# gitlab-org runners set `privileged: false` but we need to have it set to true
# since we're using Docker in Docker
tags: []
before_script: []
cache: {}
- dependencies: []
- variables:
- SETUP_DB: "false"
sast:
- extends: .dedicated-no-docs-no-db-pull-cache-job
- image: docker:stable
- variables:
- SAST_CONFIDENCE_LEVEL: 2
- DOCKER_DRIVER: overlay2
- allow_failure: true
+ extends: .dedicated-no-docs
tags: []
before_script: []
cache: {}
- dependencies: []
- services:
- - docker:stable-dind
- script:
- - | # this is required to avoid undesirable reset of Docker image ENV variables being set on build stage
- function propagate_env_vars() {
- CURRENT_ENV=$(printenv)
-
- for VAR_NAME; do
- echo $CURRENT_ENV | grep "${VAR_NAME}=" > /dev/null && echo "--env $VAR_NAME "
- done
- }
- - export SP_VERSION=$(echo "$CI_SERVER_VERSION" | sed 's/^\([0-9]*\)\.\([0-9]*\).*/\1-\2-stable/')
- - |
- docker run \
- $(propagate_env_vars \
- SAST_ANALYZER_IMAGES \
- SAST_ANALYZER_IMAGE_PREFIX \
- SAST_ANALYZER_IMAGE_TAG \
- SAST_DEFAULT_ANALYZERS \
- SAST_BRAKEMAN_LEVEL \
- SAST_GOSEC_LEVEL \
- SAST_FLAWFINDER_LEVEL \
- SAST_DOCKER_CLIENT_NEGOTIATION_TIMEOUT \
- SAST_PULL_ANALYZER_IMAGE_TIMEOUT \
- SAST_RUN_ANALYZER_TIMEOUT \
- ) \
- --volume "$PWD:/code" \
- --volume /var/run/docker.sock:/var/run/docker.sock \
- "registry.gitlab.com/gitlab-org/security-products/sast:$SP_VERSION" /app/bin/run /code
- artifacts:
- reports:
- sast: gl-sast-report.json
+ variables:
+ SAST_BRAKEMAN_LEVEL: 2
dependency_scanning:
- extends: .dedicated-no-docs-no-db-pull-cache-job
- image: docker:stable
- variables:
- DOCKER_DRIVER: overlay2
- allow_failure: true
+ extends: .dedicated-no-docs
tags: []
before_script: []
cache: {}
- dependencies: []
- services:
- - docker:stable-dind
- script:
- - export SP_VERSION=$(echo "$CI_SERVER_VERSION" | sed 's/^\([0-9]*\)\.\([0-9]*\).*/\1-\2-stable/')
- - | # this is required to avoid undesirable reset of Docker image ENV variables being set on build stage
- function propagate_env_vars() {
- CURRENT_ENV=$(printenv)
-
- for VAR_NAME; do
- echo $CURRENT_ENV | grep "${VAR_NAME}=" > /dev/null && echo "--env $VAR_NAME "
- done
- }
- - |
- docker run \
- $(propagate_env_vars \
- DS_ANALYZER_IMAGES \
- DS_ANALYZER_IMAGE_PREFIX \
- DS_ANALYZER_IMAGE_TAG \
- DS_DEFAULT_ANALYZERS \
- DEP_SCAN_DISABLE_REMOTE_CHECKS \
- DS_DOCKER_CLIENT_NEGOTIATION_TIMEOUT \
- DS_PULL_ANALYZER_IMAGE_TIMEOUT \
- DS_RUN_ANALYZER_TIMEOUT \
- ) \
- --volume "$PWD:/code" \
- --volume /var/run/docker.sock:/var/run/docker.sock \
- "registry.gitlab.com/gitlab-org/security-products/dependency-scanning:$SP_VERSION" /code
- artifacts:
- reports:
- dependency_scanning: gl-dependency-scanning-report.json
diff --git a/.gitlab/ci/review.gitlab-ci.yml b/.gitlab/ci/review.gitlab-ci.yml
index 9b764028be..e3a77574d7 100644
--- a/.gitlab/ci/review.gitlab-ci.yml
+++ b/.gitlab/ci/review.gitlab-ci.yml
@@ -35,7 +35,7 @@
<<: *review-base
image: registry.gitlab.com/gitlab-org/gitlab-build-images:gitlab-qa-alpine
services:
- - docker:stable-dind
+ - docker:19.03.0-dind
tags:
- gitlab-org
- docker
@@ -77,6 +77,7 @@ schedule:review-build-cng:
.review-deploy-base: &review-deploy-base
<<: *review-base
allow_failure: true
+ retry: 1
stage: review
variables:
HOST_SUFFIX: "${CI_ENVIRONMENT_SLUG}"
@@ -95,10 +96,16 @@ schedule:review-build-cng:
- install_api_client_dependencies_with_apk
- source scripts/review_apps/review-apps.sh
script:
- - perform_review_app_deployment
+ - check_kube_domain
+ - ensure_namespace
+ - install_tiller
+ - install_external_dns
+ - download_chart
+ - deploy || display_deployment_debug
+ - wait_for_review_app_to_be_accessible
+ - add_license
artifacts:
- paths:
- - review_app_url.txt
+ paths: [review_app_url.txt]
expire_in: 2 days
when: always
@@ -108,8 +115,6 @@ review-deploy:
schedule:review-deploy:
<<: *review-deploy-base
<<: *review-schedules-only
- script:
- - perform_review_app_deployment
review-stop:
<<: *review-base
@@ -124,11 +129,11 @@ review-stop:
script:
- source scripts/review_apps/review-apps.sh
- delete
- - cleanup
.review-qa-base: &review-qa-base
<<: *review-docker
allow_failure: true
+ retry: 2
stage: qa
variables:
<<: *review-docker-variables
@@ -169,7 +174,38 @@ review-qa-all:
script:
- export KNAPSACK_REPORT_PATH=knapsack/${CI_PROJECT_NAME}/review-qa-all_master_report.json
- export KNAPSACK_TEST_FILE_PATTERN=qa/specs/features/**/*_spec.rb
- - gitlab-qa Test::Instance::Any "${QA_IMAGE}" "${CI_ENVIRONMENT_URL}"
+ - gitlab-qa Test::Instance::Any "${QA_IMAGE}" "${CI_ENVIRONMENT_URL}" -- --format RspecJunitFormatter --out tmp/rspec-${CI_JOB_ID}.xml --format html --out tmp/rspec.htm --color --format documentation
+
+parallel-spec-reports:
+ extends: .dedicated-runner
+ dependencies:
+ - review-qa-all
+ image: ruby:2.6-alpine
+ services: []
+ before_script: []
+ variables:
+ SETUP_DB: "false"
+ NEW_PARALLEL_SPECS_REPORT: qa/report-new.html
+ BASE_ARTIFACT_URL: "${CI_PROJECT_URL}/-/jobs/${CI_JOB_ID}/artifacts/file/qa/"
+ stage: post-test
+ allow_failure: true
+ when: manual
+ retry: 0
+ artifacts:
+ when: always
+ paths:
+ - qa/report-new.html
+ - qa/gitlab-qa-run-*
+ reports:
+ junit: qa/gitlab-qa-run-*/**/rspec-*.xml
+ script:
+ - apk add --update build-base libxml2-dev libxslt-dev && rm -rf /var/cache/apk/*
+ - gem install nokogiri
+ - cd qa/gitlab-qa-run-*/gitlab-*
+ - ARTIFACT_DIRS=$(pwd |rev| awk -F / '{print $1,$2}' | rev | sed s_\ _/_)
+ - cd ../../..
+ - '[[ -f $NEW_PARALLEL_SPECS_REPORT ]] || echo "{}" > ${NEW_PARALLEL_SPECS_REPORT}'
+ - scripts/merge-html-reports ${NEW_PARALLEL_SPECS_REPORT} ${BASE_ARTIFACT_URL}${ARTIFACT_DIRS} qa/gitlab-qa-run-*/**/rspec.htm
.review-performance-base: &review-performance-base
<<: *review-qa-base
@@ -225,11 +261,12 @@ danger-review:
except:
refs:
- master
+ - /^[\d-]+-stable(-ee)?$/
variables:
- $CI_COMMIT_REF_NAME =~ /^ce-to-ee-.*/
- $CI_COMMIT_REF_NAME =~ /.*-stable(-ee)?-prepare-.*/
script:
- git version
- node --version
- - yarn install --frozen-lockfile --cache-folder .yarn-cache
+ - yarn install --frozen-lockfile --cache-folder .yarn-cache --prefer-offline
- danger --fail-on-errors=true
diff --git a/.gitlab/ci/setup.gitlab-ci.yml b/.gitlab/ci/setup.gitlab-ci.yml
index debc90a1cb..c1fc3a893c 100644
--- a/.gitlab/ci/setup.gitlab-ci.yml
+++ b/.gitlab/ci/setup.gitlab-ci.yml
@@ -15,7 +15,9 @@ cache gems:
- setup-test-env
gitlab_git_test:
- extends: .dedicated-runner
+ extends:
+ - .dedicated-runner
+ - .no-docs-and-no-qa
variables:
SETUP_DB: "false"
before_script: []
@@ -23,12 +25,11 @@ gitlab_git_test:
cache: {}
script:
- spec/support/prepare-gitlab-git-test-for-commit --check-for-changes
- except:
- - /(^docs[\/-].*|.*-docs$)/
- - /(^qa[\/-].*|.*-qa$)/
no_ee_check:
- extends: .dedicated-runner
+ extends:
+ - .dedicated-runner
+ - .no-docs-and-no-qa
variables:
SETUP_DB: "false"
before_script: []
@@ -38,6 +39,3 @@ no_ee_check:
- scripts/no-ee-check
only:
- /.+/@gitlab-org/gitlab-ce
- except:
- - /(^docs[\/-].*|.*-docs$)/
- - /(^qa[\/-].*|.*-qa$)/
diff --git a/.gitlab/ci/test-metadata.gitlab-ci.yml b/.gitlab/ci/test-metadata.gitlab-ci.yml
index c51f825f83..2454ea8565 100644
--- a/.gitlab/ci/test-metadata.gitlab-ci.yml
+++ b/.gitlab/ci/test-metadata.gitlab-ci.yml
@@ -12,7 +12,9 @@
- rspec_profiling/
retrieve-tests-metadata:
- <<: *tests-metadata-state
+ extends:
+ - .tests-metadata-state
+ - .no-docs-and-no-qa
stage: prepare
cache:
key: tests_metadata
@@ -25,9 +27,6 @@ retrieve-tests-metadata:
- mkdir -p rspec_profiling/
- wget -O $FLAKY_RSPEC_SUITE_REPORT_PATH http://${TESTS_METADATA_S3_BUCKET}.s3.amazonaws.com/$FLAKY_RSPEC_SUITE_REPORT_PATH || rm $FLAKY_RSPEC_SUITE_REPORT_PATH
- '[[ -f $FLAKY_RSPEC_SUITE_REPORT_PATH ]] || echo "{}" > ${FLAKY_RSPEC_SUITE_REPORT_PATH}'
- except:
- - /(^docs[\/-].*|.*-docs$)/
- - /(^qa[\/-].*|.*-qa$)/
update-tests-metadata:
<<: *tests-metadata-state
@@ -69,9 +68,10 @@ flaky-examples-check:
only:
- branches
except:
- - master
- - /(^docs[\/-].*|.*-docs$)/
- - /(^qa[\/-].*|.*-qa$)/
+ refs:
+ - master
+ - /(^docs[\/-].*|.*-docs$)/
+ - /(^qa[\/-].*|.*-qa$)/
artifacts:
expire_in: 30d
paths:
diff --git a/.gitlab/issue_templates/Database Reviewer.md b/.gitlab/issue_templates/Database Reviewer.md
deleted file mode 100644
index acbaf5c196..0000000000
--- a/.gitlab/issue_templates/Database Reviewer.md
+++ /dev/null
@@ -1,34 +0,0 @@
-#### Database Reviewer Checklist
-
-Thank you for becoming a ~database reviewer! Please work on the list
-below to complete your setup. For any question, reach out to #database
-an mention `@abrandl`.
-
-- [ ] Change issue title to include your name: `Database Reviewer Checklist: Your Name`
-- [ ] Review general [code review guide](https://docs.gitlab.com/ee/development/code_review.html)
-- [ ] Review [database review documentation](https://about.gitlab.com/handbook/engineering/workflow/code-review/database.html)
-- [ ] Familiarize with [migration helpers](https://gitlab.com/gitlab-org/gitlab-ce/blob/master/lib/gitlab/database/migration_helpers.rb) and review usage in existing migrations
-- [ ] Read [database migration style guide](https://docs.gitlab.com/ee/development/migration_style_guide.html)
-- [ ] Familiarize with best practices in [database guides](https://docs.gitlab.com/ee/development/#database-guides)
-- [ ] Watch [Optimising Rails Database Queries: Episode 1](https://www.youtube.com/watch?v=79GurlaxhsI)
-- [ ] Read [Understanding EXPLAIN plans](https://docs.gitlab.com/ee/development/understanding_explain_plans.html)
-- [ ] Review [database best practices](https://docs.gitlab.com/ee/development/#best-practices)
-- [ ] Review how we use [database instances restored from a backup](https://ops.gitlab.net/gitlab-com/gl-infra/gitlab-restore/postgres-gprd) for testing and make sure you're set up to execute pipelines (check [README.md](https://ops.gitlab.net/gitlab-com/gl-infra/gitlab-restore/postgres-gprd/blob/master/README.md) and reach out to @abrandl since this is currently subject to being changed)
-- [ ] Get yourself added to [`@gl-database`](https://gitlab.com/groups/gl-database/-/group_members) group and respond to @-mentions to the group (reach out to any maintainer on the group to get added). You will get TODOs on gitlab.com for group mentions.
-- [ ] Make sure you have proper access to at least a read-only replica in staging and production
-- [ ] Indicate in `data/team.yml` your role as a database reviewer ([example MR](https://gitlab.com/gitlab-com/www-gitlab-com/merge_requests/19600/diffs)). Assign MR to your manager for merge.
-- [ ] Send one MR to improve the [review documentation](https://about.gitlab.com/handbook/engineering/workflow/code-review/database.html) or the [issue template](https://gitlab.com/gitlab-org/gitlab-ce/blob/master/.gitlab/issue_templates/Database%20Reviewer.md)
-
-Note that *approving and accepting* merge requests is *restricted* to
-Database Maintainers only. As a reviewer, pass the MR to a maintainer
-for approval.
-
-You're all set! Watch out for TODOs on GitLab.com.
-
-###### Where to go for questions?
-
-Reach out to `#database` on Slack and mention `@abrandl` for any questions.
-
-cc @abrandl
-
-/label ~meta ~database
diff --git a/.gitlab/issue_templates/Documentation.md b/.gitlab/issue_templates/Documentation.md
index 67602b7b2d..f4070a4475 100644
--- a/.gitlab/issue_templates/Documentation.md
+++ b/.gitlab/issue_templates/Documentation.md
@@ -4,7 +4,7 @@
Note: Doc work as part of feature development is covered in the Feature Request template.
* For issues related to features of the docs.gitlab.com site, see
- https://gitlab.com/gitlab-com/gitlab-docs/issues/
+ https://gitlab.com/gitlab-org/gitlab-docs/issues/
* For information about documentation content and process, see
https://docs.gitlab.com/ee/development/documentation/ -->
diff --git a/.gitlab/merge_request_templates/Change documentation location.md b/.gitlab/merge_request_templates/Change documentation location.md
index c80af95d5e..7dc80a641c 100644
--- a/.gitlab/merge_request_templates/Change documentation location.md
+++ b/.gitlab/merge_request_templates/Change documentation location.md
@@ -22,7 +22,7 @@ https://docs.gitlab.com/ce/development/documentation/index.html#changing-documen
- [ ] Make sure internal links pointing to the document in question are not broken.
- [ ] Search and replace any links referring to old docs in GitLab Rails app,
specifically under the `app/views/` and `ee/app/views` (for GitLab EE) directories.
-- [ ] Make sure to add [`redirect_from`](https://docs.gitlab.com/ce/development/writing_documentation.html#redirections-for-pages-with-disqus-comments)
+- [ ] Make sure to add [`redirect_from`](https://docs.gitlab.com/ce/development/documentation/index.html#redirections-for-pages-with-disqus-comments)
to the new document if there are any Disqus comments on the old document thread.
- [ ] Update the link in `features.yml` (if applicable)
- [ ] If working on CE and the `ee-compat-check` jobs fails, submit an MR to EE
diff --git a/.mdlrc b/.mdlrc
new file mode 100644
index 0000000000..151c54f7d4
--- /dev/null
+++ b/.mdlrc
@@ -0,0 +1,7 @@
+# This is the options file for mdl, configured in .gitlab/ci/docs.gitlab-ci.yml,
+# and related to the style file ./mdlrc.style
+
+# See https://github.com/markdownlint/markdownlint/blob/master/docs/configuration.md
+
+ignore_front_matter true
+style File.expand_path('.mdlrc.style', __dir__)
diff --git a/.mdlrc.style b/.mdlrc.style
new file mode 100644
index 0000000000..0ca3611df0
--- /dev/null
+++ b/.mdlrc.style
@@ -0,0 +1,21 @@
+# This is the style file for mdl, configured in .gitlab/ci/docs.gitlab-ci.yml,
+# and related to the options file ./mdlrc
+
+# See https://github.com/markdownlint/markdownlint/blob/master/docs/RULES.md
+# for more detailed information on the rules and styles.
+
+rule "MD001"
+rule "MD003", :style => :atx
+rule "MD011"
+rule "MD023"
+rule "MD032"
+rule "MD034"
+rule "MD037"
+
+# Should not be used currently:
+
+# rule "MD004", :style => :dash # unordered list style - dash
+# False positives, see https://github.com/markdownlint/markdownlint/issues/261
+
+# rule "MD039" # Spaces inside link text
+# Crashes when link text has certain punctuation
diff --git a/.rubocop_todo.yml b/.rubocop_todo.yml
index 698570efb0..41714eefa9 100644
--- a/.rubocop_todo.yml
+++ b/.rubocop_todo.yml
@@ -466,12 +466,10 @@ Rails/LinkToBlank:
Rails/Presence:
Exclude:
- 'app/models/ci/pipeline.rb'
- - 'app/models/clusters/platforms/kubernetes.rb'
- 'app/models/concerns/mentionable.rb'
- 'app/models/project_services/hipchat_service.rb'
- 'app/models/project_services/irker_service.rb'
- 'app/models/project_services/jira_service.rb'
- - 'app/models/project_services/kubernetes_service.rb'
- 'app/models/project_services/packagist_service.rb'
- 'app/models/wiki_page.rb'
- 'lib/gitlab/github_import/importer/releases_importer.rb'
@@ -514,7 +512,6 @@ Security/YAMLLoad:
- 'spec/config/mail_room_spec.rb'
- 'spec/initializers/secret_token_spec.rb'
- 'spec/lib/gitlab/prometheus/additional_metrics_parser_spec.rb'
- - 'spec/models/project_services/kubernetes_service_spec.rb'
# Offense count: 34
# Configuration parameters: EnforcedStyle.
diff --git a/CHANGELOG.md b/CHANGELOG.md
index 2180f24f7e..9e24988705 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -2,20 +2,27 @@
documentation](doc/development/changelog.md) for instructions on adding your own
entry.
-## 12.0.9
+## 12.1.11
+
+- No changes.
+
+## 12.1.10
+
+- No changes.
+
+## 12.1.9
### Security (1 change)
-- Upgrade pages to 1.6.3.
+- Upgrade pages to 1.7.2.
-## 12.0.8
+## 12.1.8
-### Security (22 changes)
+### Security (21 changes)
- Ensure only authorised users can create notes on Merge Requests and Issues.
- Add :login_recaptcha_protection_enabled setting to prevent bots from brute-force attacks.
-- Queries for Upload should be scoped by model.
- Speed up regexp in namespace format by failing fast after reaching maximum namespace depth.
- Limit the size of issuable description and comments.
- Send TODOs for comments on commits correctly.
@@ -37,36 +44,349 @@ entry.
- Fix SSRF via DNS rebinding in Kubernetes Integration.
-## 12.0.7
+## 12.1.7
- Unreleased due to QA failure.
-## 12.0.6
+## 12.1.6
### Security (2 changes)
-- Upgrade Gitaly to 1.47.2 to prevent revision flag injection exploits.
-- Upgrade pages to 1.6.2 to prevent gitlab api token recovery from cookie.
+- Upgrade Gitaly to 1.53.2 to prevent revision flag injection exploits.
+- Upgrade pages to 1.7.1 to prevent gitlab api token recovery from cookie.
-## 12.0.5
+## 12.1.5
- No changes.
-## 12.0.4
+## 12.1.4
+
+### Fixed (3 changes, 1 of them is from the community)
+
+- Properly translate term in projects list. !30958
+- Add exclusive lease to mergeability check process. !31082
+- Fix Docker in Docker (DIND) listen port behavior change by adding DOCKER_TLS_CERTDIR in CI job templates. !31201 (Cameron Boulton)
+
+### Performance (1 change)
+
+- Improve job log rendering performance. !31262
+
+
+## 12.1.3
+
+### Fixed (11 changes)
+
+- Prevent multiple confirmation modals from opening when deleting a repository. !30532
+- Fix the project auto devops API. !30946
+- Fix "Certificate misses intermediates" UI error when enabling Let's Encrypt integration for pages domain. !30995
+- Fix xterm css not loading for environment terminal. !31023
+- Set DOCKER_TLS_CERTDIR in Auto Dev-Ops CI template to fix jobs using Docker-in-Docker. !31078
+- Set DOCKER_TLS_CERTDIR in CI job templates to fix Docker-in-Docker service. !31080
+- Support Docker OCI images. !31127
+- Fix error rendering submodules in MR diffs when there is no .gitmodules. !31162
+- Fix pdf.js rendering pages in the wrong order. !31222
+- Fix exception handling in Gitaly autodetection. !31285
+- Fix bug that caused diffs not to show on MRs with changes to submodules.
+
+### Performance (1 change)
+
+- Optimise import performance. !31045
+
+
+## 12.1.2
+
+### Security (1 change)
+
+- Use source project as permissions reference for MergeRequestsController#pipelines.
### Security (9 changes)
- Restrict slash commands to users who can log in.
- Patch XSS issue in wiki links.
+- Queries for Upload should be scoped by model.
- Filter merge request params on the new merge request page.
- Fix Server Side Request Forgery mitigation bypass.
- Show badges if pipelines are public otherwise default to project permissions.
- Do not allow localhost url redirection in GitHub Integration.
- Do not show moved issue id for users that cannot read issue.
-- Use source project as permissions reference for MergeRequestsController#pipelines.
- Drop feature to take ownership of trigger token.
+## 12.1.1
+
+- No changes.
+
+## 12.1.0
+
+### Security (11 changes, 2 of them are from the community)
+
+- Update tar to 2.2.2. !29949 (Takuya Noguchi)
+- Update lodash to 4.7.14 and lodash.mergewith to 4.6.2. !30602 (Takuya Noguchi)
+- Correctly check permissions when creating snippet notes.
+- Gate MR head_pipeline behind read_pipeline ability.
+- Prevent Billion Laughs attack.
+- Add missing authorizations in GraphQL.
+- Fix Denial of Service for comments when rendering issues/MR comments.
+- Expose merge requests count based on user access.
+- Fix DoS vulnerability in color validation regex.
+- Prevent the detection of merge request templates by unauthorized users.
+- Persist tmp snippet uploads at users.
+
+### Removed (7 changes)
+
+- Disable Kubernetes credential passthrough for managed project-level clusters. !29262
+- Remove deprecated group routes. !29351
+- Remove support for creating non-RBAC kubernetes clusters. !29614
+- Remove Kubernetes service integration and Kubernetes service template from available deployment platforms. !29786
+- Remove MySQL support. !29790
+- Remove depreated /u/:username routing. !30044
+- Remove support for legacy pipeline triggers. !30133
+
+### Fixed (84 changes, 14 of them are from the community)
+
+- Update a user's routes after updating their name. !23272
+- Show poper panel when validation error occurs in admin settings panels. !25434
+- Expect bytes from Gitaly RPC GetRawChanges. !28164
+- Sanitize LDAP output in Rake tasks. !28427
+- Left align mr widget icons and text. !28561
+- Keep the empty folders in the tree. !29196
+- Fix incorrect emoji placement in commit diff discussion. !29445
+- Fix favicon path with uploads of object store. !29482 (Roger Meier)
+- Remove duplicate trailing +/- char in merge request discussions. !29518
+- Fix the signup form's username validation messages not displaying. !29678 (Jiaan Louw)
+- Fix broken environment selector and always display it on monitoring dashboard. !29705
+- Fix Container Scanning job timeout when using the kubernetes executor. !29706
+- Look for new branches more carefully. !29761
+- Fix nested lists unnecessary margin. !29775 (Kuba Kopeć)
+- Fix reports jobs timing out because of cache. !29780
+- Fix Double Border in Profile Page. !29784 (Yoginth <@yo>)
+- Remove minimum character limits for fuzzy searches when using a CTE. !29810
+- Set default sort method for dashboard projects list. !29830 (David Palubin)
+- Protect TeamCity builds from triggering when a branch has been deleted. And a MR-option. !29836 (Nikolay Novikov, Raphael Tweitmann)
+- Fix pipeline schedule does not run correctly when it's scheduled at the same time with the cron worker. !29848
+- Always shows author of created issue/started discussion/comment in HTML body and text of email. !29886 (Frank van Rest)
+- Build correct basenames for title search results. !29898
+- Resolve "500 error when forking via the web IDE button". !29909
+- Turn commit sha in monitor charts popover to link. !29914
+- Fix broken URLs for uploads with a plus in the filename. !29915
+- Retry fetching Kubernetes Secret#token (#63507). !29922
+- Enforce presence of pipeline when "Pipeline must succeed" project setting is enabled. !29926
+- Fix unresponsive reply button in discussions. !29936
+- Allow asynchronous rebase operations to be monitored. !29940
+- Resolve Avatar in Please sign in pattern too large. !29944
+- Persist the cluster a deployment was deployed to. !29960
+- Fix runner tags search dropdown being empty when there are tags. !29985
+- Display the correct amount of projects being migrated/rolled-back to Hashed Storage when specifying ranges. !29996
+- Resolve Environment details header border misaligned. !30011
+- Correct link to docs for External Dashboard. !30019
+- Fix Jupyter-Git integration. !30020 (Amit Rathi)
+- Update Mermaid to 8.1.0. !30036
+- Fix background migrations failing with unused replication slot. !30042
+- Disable Rails SQL query cache when applying service templates. !30060
+- Set higher TTL for write lock of trace to prevent concurrent archiving. !30064
+- Fix charts on Cluster health page. !30073
+- Display boards filter bar on mobile. !30120
+- Fix IDE editor not showing when switching back from preview. !30135
+- Support note position tracing on an image. !30158
+- Replace slugifyWithHyphens with improved slugify function. !30172 (Luke Ward)
+- 'Open' and 'Closed' issue board lists no longer display a redundant tooltip. !30187
+- Fix pipelines table to update without refreshing after action. !30190
+- Change ruby_process_start_time_seconds metric to unix timestamp instead of seconds from boot. !30195
+- Fix attachments using the wrong URLs in e-mails. !30197
+- Make sure UnicornSampler is started only in master process. !30215
+- Don't show image diff note on text file. !30221
+- Fix median counting for cycle analytics. !30229
+- In WebIDE allow adding new entries of the same name as deleted entry. !30239
+- Don't let logged out user do manual order. !30264
+- Skip spam check for task list updates. !30279
+- Make Housekeeping button do a full garbage collection. !30289
+- Removing an image should not output binary data. !30314
+- Fix spacing issues for toasts. !30345
+- Fix race in forbid_sidekiq_in_transactions.rb. !30359
+- Fixed back navigation for projects filter. !30373
+- Fix environments broken terminal. !30401
+- Fix invalid SSL certificate errors on Drone CI service. !30422
+- Fix subgroup url in search drop down. !30457
+- Make unicorn_workers to return meaningful results. !30506
+- Fix wrong URL when creating milestones from instance milestones dashboard. !30512
+- Fixed incorrect line wrap for assignee label in issues. !30523 (Marc Schwede)
+- Improves section header whitespace on the CI/CD Charts page. !30531
+- Prevent multiple confirmation modals from opening when deleting a repository. !30532
+- Aligns CI icon in Merge Request dashboard. !30558
+- Add text-secondary to controls in project list. !30567
+- Review Tools: Add large z-index to toolbar. !30583
+- Hide restricted and disallowed visibility radios. !30590
+- Resolve Label picker: Line break on long label titles. !30610
+- Fix a bug that prevented projects containing merge request diff comments from being imported. !30630
+- I fixed z index bug in diff page. !30657 (Faruk Can)
+- Allow client authentication method to be configured for OpenID Connect. !30683 (Vincent Fazio)
+- Fix commenting before discussions are loaded. !30724
+- Fix linebreak rendering in Mermaid flowcharts. !30730
+- Make httpclient respect system SSL configuration. !30749
+- Bump fog-aws to v3.5.2. !30803
+- API: Allow changing only ci_default_git_depth. !30888 (Mathieu Parent)
+- Search issuables by iids. (Riccardo Padovani)
+- Fix broken warnings while Editing Issues and Edit File on MR.
+- Make sure we are receiving the proper information on the MR Popover by updating the IID in the graphql query.
+
+### Changed (39 changes, 8 of them are from the community)
+
+- Improve group list UI. !26542
+- Backport and Docs for Paginate license management and add license search. !27602
+- Update merge requests section description text on project settings page. !27838
+- Knative version bump 0.5 -> 0.6. !28798 (Chris Baumbauer)
+- Add salesforce logo for salesforce SSO. !28857
+- Enforced requirements for UltraAuth users. !28941 (Kartikey Tanna)
+- Return 400 when deleting tags more often than once per hour. !29448
+- Add identity information to external authorization requests. !29461
+- Enable just-in-time Kubernetes resource creation for project-level clusters. !29515
+- renamed discussion to thread in merge-request and issue timeline. !29553 (Michel Engelen)
+- Changed HTTP Status Code for disabled repository on /branches and /commits to 404. !29585 (Sam Battalio)
+- Enable Git object pools. !29595 (jramsay)
+- Updated container registry to display error message when special characters in path. Documentation has also been updated. !29616
+- Allow developers to delete tags. !29668
+- Will not update issue timestamps when changing positions in a list. !29677
+- Include a link back to the MR for Visual Review feedback form. !29719
+- Improve discussion reply buttons layout and how jump to next discussion button appears. !29779
+- Renders a pre-release tag for releases. !29797
+- Migrate NULL values for users.private_profile column and update users API to reject null value for private_profile. !29888
+- Re-name files in Web IDE in a more natural way. !29948
+- Include events from subgroups in group's activity. !29953 (Fabian Schneider @fabsrc)
+- Upgrade to Gitaly v1.49.0. !29990
+- Remove group and instance clusters feature flag. !30124
+- Add support for creating random passwords in user creation API. !30138
+- Support CIDR notation in IP rate limiter. !30146
+- Add Redis call details in Peek performance bar. !30191
+- Create Knative role and binding with service account. !30235
+- Add cleanup migration for MR's multiple assignees. !30261
+- Updates PHP template to php:latest to ensure always targeting latest stable. !30319 (Paul Giberson)
+- Format `from` and `to` fields in JSON audit log. !30333
+- Upgrade to Gitaly v1.51.0. !30353
+- Modify cycle analytics on project level. !30356
+- Extract clair version as CLAIR_EXECUTABLE_VERSION variable and update clair executable from v8 to v11. !30396
+- Upgrade Rouge to 3.5.1. !30431
+- Move multiple issue boards to core. !30503
+- Upgrade to Gitaly v1.52.0. !30568
+- Upgrade to Gitaly v1.53.0. !30614
+- Open WebIDE in fork when user doesn't have access. !30642
+- Propagate python version variable. (Can Eldem)
+
+### Performance (25 changes, 1 of them is from the community)
+
+- Remove tooltip directive on project avatar image component. !29631 (George Tsiolis)
+- Use Rugged if we detect storage is NFS and we can access the disk. !29725
+- Add endpoint for fetching diverging commit counts. !29802
+- Cache feature flag names in Redis for a minute. !29816
+- Avoid storing backtraces from Bitbucket Cloud imports in the database. !29862
+- Remove import columns from projects table. !29863
+- Enable Gitaly ref name caching for discussions.json. !29951
+- Allow caching of negative FindCommit matches. !29952
+- Eliminate N+1 queries in Dashboard::TodosController. !29954
+- Memoize non-existent custom appearances. !29957
+- Add a separate endpoint for fetching MRs serialized as widgets. !29979
+- Use CTE to fetch clusters hierarchy in single query. !30063
+- Enable Gitaly ref caching for SearchController. !30105
+- Avoid loading pipeline status in search results. !30111
+- Improve performance of MergeRequestsController#ci_environment_status endpoint. !30224
+- Add a memory cache local to the thread to reduce Redis load. !30233
+- Cache Flipper persisted names directly to local memory storage. !30265
+- Limit amount of JUnit tests returned. !30274
+- Cache Flipper feature flags in L1 and L2 caches. !30276
+- Prevent amplification of ReactiveCachingWorker jobs upon failures. !30432
+- Allow ReactiveCaching to support nil value. !30456
+- Improve performance of fetching environments statuses. !30560
+- Do Redis lookup in batches in ActiveSession.sessions_from_ids. !30561
+- Remove catfile cache feature flag. !30750
+- Fix Gitaly auto-detection caching. !30954
+
+### Added (46 changes, 12 of them are from the community)
+
+- Document the negative commit message push rule for the API. !14004 (Maikel Vlasman)
+- Expose saml_provider_id in the users API. !14045
+- Improve Project API. !28327 (Mathieu Parent)
+- Remove Sentry from application settings. !28447 (Roger Meier)
+- Implement borderless discussion design with new reply field. !28580
+- Enable terminals for instance and group clusters. !28613
+- Resolve Multiple discussions per line in merge request diffs. !28748
+- Adds link to Grafana in Admin > Monitoring settings when grafana is enabled in config. !28937 (Romain Maneschi)
+- Bring Manual Ordering on Issue List. !29410
+- Added commit type to tree GraphQL response. !29412
+- New API for User Counts, updates on success of an MR the count on top and in other tabs. !29441
+- Add option to limit time tracking units to hours. !29469 (Jon Kolb)
+- Add confirmation for registry image deletion. !29505
+- Sync merge ref upon mergeability check. !29569
+- Show an Upcoming Status for Releases. !29577
+- Add order_by and sort params to list runner jobs api. !29629 (Sujay Patel)
+- Allow custom username for deploy tokens. !29639
+- Add a verified pill next to email addresses under the admin users section. !29669
+- Add rake task to clean orphan artifact files. !29681
+- Render GFM in GraphQL. !29700
+- Upgrade asciidoctor version to 2.0.10. !29741 (Rajendra Kadam)
+- Allow auto-completing scoped labels. !29749
+- Enable syntax highlighting for AsciiDoc. !29835 (Guillaume Grossetie)
+- Expose placeholder element for metrics charts in GFM. !29861
+- Added a min schema version check to db:migrate. !29882
+- Extract zoom link from issue and pass to frontend. !29910 (raju249)
+- GraphQL mutations for add, remove and toggle emoji. !29919
+- Labeled issue boards can now collapse. !29955
+- Allow Ingress to be uninstalled from the UI. !29977
+- Add permission check to metrics dashboards endpoint. !30017
+- Allow JupyterHub to be uninstalled from the UI. !30097
+- Allow GitLab Runner to be uninstalled from the UI. !30176
+- GraphQL mutations for managing Notes. !30210
+- Add API for CRUD group clusters. !30213
+- Add endpoint to move multiple issues in boards. !30216
+- Enable terminals button for group clusters. !30255
+- Prevent excessive sanitization of AsciiDoc ouptut. !30290 (Guillaume Grossetie)
+- Extend `MergeToRefService` to create merge ref from an arbitrary ref. !30361
+- Add CI variable to provide GitLab HOST. !30417
+- Add migration for adding rule_type to approval_project_rules. !30575
+- Enable section anchors in Asciidoctor. !30666 (Guillaume Grossetie)
+- Preserve footnote link ids in Asciidoctor. !30790 (Guillaume Grossetie)
+- Add support for generating SSL certificates for custon pages domains through Let's Encrypt.
+- Introduce default: for gitlab-ci.yml.
+- Move Multiple Issue Boards for Projects to Core.
+- Add Gitaly data to the usage ping.
+
+### Other (35 changes, 15 of them are from the community)
+
+- Remove unresolved class and fixed height in discussion header. !28440 (David Palubin)
+- Moved EE/CE code differences for file `app/views/search/_category.html.haml` into CE. !28755 (Michel Engelen)
+- Changes "Todo" to "To Do" in the UI for clarity. !28844
+- Migrate GitLab managed project-level clusters to unmanaged if a Kubernetes namespace was unable to be created. !29251
+- Migrate GitLab managed project-level clusters to unmanaged if they are missing a Kubernetes service account token. !29648
+- Add strategies column to operations_feature_flag_scopes table. !29808
+- Disallow `NULL` values for `geo_nodes.primary` column. !29818 (Arun Kumar Mohan)
+- Replace 'JIRA' with 'Jira'. !29849 (Takuya Noguchi)
+- Support jsonb default in add_column_with_default migration helper. !29871
+- Update pagination prev and next texts. !29911
+- Adds metrics to measure cost of expensive operations. !29928
+- Always allow access to health endpoints from localhost in dev. !29930
+- Update GitLab Runner Helm Chart to 0.6.0. !29982
+- Use darker gray color for system note metadata and edited text. !30054
+- Fix typo in docs about Elasticsearch. !30162 (Takuya Noguchi)
+- Fix typo in code comments about Elasticsearch. !30163 (Takuya Noguchi)
+- Update mixin-deep to 1.3.2. !30223 (Takuya Noguchi)
+- Migrate markdown header_spec.js to Jest. !30228 (Martin Hobert)
+- Remove istanbul JavaScript package. !30232 (Takuya Noguchi)
+- Centralize markdownlint configuration. !30263
+- Use PostgreSQL 9.6.11 in CI tests. !30270 (Takuya Noguchi)
+- Fix typo in updateResolvableDiscussionsCounts action. !30278 (Frank van Rest)
+- Change color for namespace in commit search. !30312
+- Remove applySuggestion from notes service. !30399 (Frank van Rest)
+- Improved readability of storage statistics in group / project admin area. !30406
+- Alignign empty container registry message with design guidelines. !30502
+- Remove toggleAward from notes service. !30536 (Frank van Rest)
+- Remove deleteNote from notes service. !30537 (Frank van Rest)
+- change the use of boardService in favor of boardsStore on footer for the board component. !30616 (eduarmreyes)
+- Update example Prometheus scrape config. !30739
+- Update GitLab Pages to v1.7.0.
+- Add token_encrypted column to operations_feature_flags_clients table.
+- Removes EE diff for app/views/profiles/preferences/show.html.haml.
+- Removes EE differences for app/views/layouts/fullscreen.html.haml.
+- Removes EE differences for app/views/admin/users/show.html.haml.
+
+
## 12.0.3 (2019-06-27)
- No changes.
@@ -415,6 +735,15 @@ entry.
- Moves snowplow to CE repo.
+## 11.11.4 (2019-06-26)
+
+### Fixed (3 changes)
+
+- Fix Fogbugz Importer not working. !29383
+- Fix scrolling to top on assignee change. !29500
+- Fix IDE commit using latest ref in branch and overriding contents. !29769
+
+
## 11.11.3 (2019-06-10)
### Fixed (5 changes)
@@ -628,6 +957,27 @@ entry.
- Add some frozen string to spec/**/*.rb. (gfyoung)
+## 11.10.8 (2019-06-27)
+
+- No changes.
+### Security (10 changes)
+
+- Fix Denial of Service for comments when rendering issues/MR comments.
+- Gate MR head_pipeline behind read_pipeline ability.
+- Fix DoS vulnerability in color validation regex.
+- Expose merge requests count based on user access.
+- Persist tmp snippet uploads at users.
+- Add missing authorizations in GraphQL.
+- Disable Rails SQL query cache when applying service templates.
+- Prevent Billion Laughs attack.
+- Correctly check permissions when creating snippet notes.
+- Prevent the detection of merge request templates by unauthorized users.
+
+### Performance (1 change)
+
+- Add improvements to global search of issues and merge requests. !27817
+
+
## 11.10.6 (2019-06-04)
### Fixed (7 changes, 1 of them is from the community)
diff --git a/Dangerfile b/Dangerfile
index d0a605f8d8..094d55e865 100644
--- a/Dangerfile
+++ b/Dangerfile
@@ -19,4 +19,5 @@ unless helper.release_automation?
danger.import_dangerfile(path: 'danger/single_codebase')
danger.import_dangerfile(path: 'danger/gitlab_ui_wg')
danger.import_dangerfile(path: 'danger/ce_ee_vue_templates')
+ danger.import_dangerfile(path: 'danger/only_documentation')
end
diff --git a/GITALY_SERVER_VERSION b/GITALY_SERVER_VERSION
index 6bd281069f..ede3db7b44 100644
--- a/GITALY_SERVER_VERSION
+++ b/GITALY_SERVER_VERSION
@@ -1 +1 @@
-1.47.3
+1.53.3
diff --git a/GITLAB_PAGES_VERSION b/GITLAB_PAGES_VERSION
index 266146b87c..f8a696c8dc 100644
--- a/GITLAB_PAGES_VERSION
+++ b/GITLAB_PAGES_VERSION
@@ -1 +1 @@
-1.6.3
+1.7.2
diff --git a/Gemfile b/Gemfile
index c9a95fb7a3..8bffc2a973 100644
--- a/Gemfile
+++ b/Gemfile
@@ -1,6 +1,6 @@
source 'https://rubygems.org'
-gem 'rails', '5.1.7'
+gem 'rails', '5.2.3'
# Improves copy-on-write performance for MRI
gem 'nakayoshi_fork', '~> 0.0.4'
@@ -11,7 +11,7 @@ gem 'responders', '~> 2.0'
gem 'sprockets', '~> 3.7.0'
# Default values for AR models
-gem 'gitlab-default_value_for', '~> 3.1.1', require: 'default_value_for'
+gem 'default_value_for', '~> 3.2.0'
# Supported DBs
gem 'mysql2', '~> 0.4.10', group: :mysql
@@ -84,6 +84,7 @@ gem 'rack-cors', '~> 1.0.0', require: 'rack/cors'
gem 'graphql', '~> 1.8.0'
gem 'graphiql-rails', '~> 1.4.10'
gem 'apollo_upload_server', '~> 2.0.0.beta3'
+gem 'graphql-docs', '~> 1.6.0', group: [:development, :test]
# Disable strong_params so that Mash does not respond to :permitted?
gem 'hashie-forbidden_attributes'
@@ -99,7 +100,7 @@ gem 'carrierwave', '~> 1.3'
gem 'mini_magick'
# for backups
-gem 'fog-aws', '~> 3.3'
+gem 'fog-aws', '~> 3.5'
# Locked until fog-google resolves https://github.com/fog/fog-google/issues/421.
# Also see config/initializers/fog_core_patch.rb.
gem 'fog-core', '= 2.1.0'
@@ -129,10 +130,10 @@ gem 'rdoc', '~> 6.0'
gem 'org-ruby', '~> 0.9.12'
gem 'creole', '~> 0.5.0'
gem 'wikicloth', '0.8.1'
-gem 'asciidoctor', '~> 1.5.8'
+gem 'asciidoctor', '~> 2.0.10'
gem 'asciidoctor-include-ext', '~> 0.3.1', require: false
-gem 'asciidoctor-plantuml', '0.0.8'
-gem 'rouge', '~> 3.1'
+gem 'asciidoctor-plantuml', '0.0.9'
+gem 'rouge', '~> 3.5'
gem 'truncato', '~> 0.7.11'
gem 'bootstrap_form', '~> 4.2.0'
gem 'nokogiri', '~> 1.10.3'
@@ -211,7 +212,7 @@ gem 'discordrb-webhooks-blackst0ne', '~> 3.3', require: false
# HipChat integration
gem 'hipchat', '~> 1.5.0'
-# JIRA integration
+# Jira integration
gem 'jira-ruby', '~> 1.4'
# Flowdock integration
@@ -300,13 +301,16 @@ gem 'peek-pg', '~> 1.3.0', group: :postgres
gem 'peek-rblineprof', '~> 0.2.0'
gem 'peek-redis', '~> 1.2.0'
+# Memory benchmarks
+gem 'derailed_benchmarks', require: false
+
# Metrics
group :metrics do
gem 'method_source', '~> 0.8', require: false
gem 'influxdb', '~> 0.2', require: false
# Prometheus
- gem 'prometheus-client-mmap', '~> 0.9.4'
+ gem 'prometheus-client-mmap', '~> 0.9.8'
gem 'raindrops', '~> 0.18'
end
@@ -336,7 +340,7 @@ group :development, :test do
gem 'database_cleaner', '~> 1.7.0'
gem 'factory_bot_rails', '~> 4.8.2'
- gem 'rspec-rails', '~> 3.7.0'
+ gem 'rspec-rails', '~> 3.8.0'
gem 'rspec-retry', '~> 0.6.1'
gem 'rspec_profiling', '~> 0.0.5'
gem 'rspec-set', '~> 0.1.3'
@@ -365,6 +369,7 @@ group :development, :test do
gem 'haml_lint', '~> 0.31.0', require: false
gem 'simplecov', '~> 0.16.1', require: false
gem 'bundler-audit', '~> 0.5.0', require: false
+ gem 'mdl', '~> 0.5.0', require: false
gem 'benchmark-ips', '~> 2.3.0', require: false
@@ -374,7 +379,6 @@ group :development, :test do
gem 'activerecord_sane_schema_dumper', '1.0'
gem 'stackprof', '~> 0.2.10', require: false
- gem 'derailed_benchmarks', require: false
gem 'simple_po_parser', '~> 1.1.2', require: false
@@ -417,7 +421,7 @@ gem 'vmstat', '~> 2.3.0'
gem 'sys-filesystem', '~> 1.1.6'
# SSH host key support
-gem 'net-ssh', '~> 5.0'
+gem 'net-ssh', '~> 5.2'
gem 'sshkey', '~> 2.0'
# Required for ED25519 SSH host key support
@@ -427,7 +431,7 @@ group :ed25519 do
end
# Gitaly GRPC client
-gem 'gitaly-proto', '~> 1.32.0', require: 'gitaly'
+gem 'gitaly-proto', '~> 1.37.0', require: 'gitaly'
gem 'grpc', '~> 1.19.0'
diff --git a/Gemfile.lock b/Gemfile.lock
index 4cebf73f17..60939ae918 100644
--- a/Gemfile.lock
+++ b/Gemfile.lock
@@ -6,44 +6,48 @@ GEM
ace-rails-ap (4.1.2)
acme-client (2.0.2)
faraday (~> 0.9, >= 0.9.1)
- actioncable (5.1.7)
- actionpack (= 5.1.7)
+ actioncable (5.2.3)
+ actionpack (= 5.2.3)
nio4r (~> 2.0)
- websocket-driver (~> 0.6.1)
- actionmailer (5.1.7)
- actionpack (= 5.1.7)
- actionview (= 5.1.7)
- activejob (= 5.1.7)
+ websocket-driver (>= 0.6.1)
+ actionmailer (5.2.3)
+ actionpack (= 5.2.3)
+ actionview (= 5.2.3)
+ activejob (= 5.2.3)
mail (~> 2.5, >= 2.5.4)
rails-dom-testing (~> 2.0)
- actionpack (5.1.7)
- actionview (= 5.1.7)
- activesupport (= 5.1.7)
+ actionpack (5.2.3)
+ actionview (= 5.2.3)
+ activesupport (= 5.2.3)
rack (~> 2.0)
rack-test (>= 0.6.3)
rails-dom-testing (~> 2.0)
rails-html-sanitizer (~> 1.0, >= 1.0.2)
- actionview (5.1.7)
- activesupport (= 5.1.7)
+ actionview (5.2.3)
+ activesupport (= 5.2.3)
builder (~> 3.1)
erubi (~> 1.4)
rails-dom-testing (~> 2.0)
rails-html-sanitizer (~> 1.0, >= 1.0.3)
- activejob (5.1.7)
- activesupport (= 5.1.7)
+ activejob (5.2.3)
+ activesupport (= 5.2.3)
globalid (>= 0.3.6)
- activemodel (5.1.7)
- activesupport (= 5.1.7)
- activerecord (5.1.7)
- activemodel (= 5.1.7)
- activesupport (= 5.1.7)
- arel (~> 8.0)
+ activemodel (5.2.3)
+ activesupport (= 5.2.3)
+ activerecord (5.2.3)
+ activemodel (= 5.2.3)
+ activesupport (= 5.2.3)
+ arel (>= 9.0)
activerecord-explain-analyze (0.1.0)
activerecord (>= 4)
pg
activerecord_sane_schema_dumper (1.0)
rails (>= 5, < 6)
- activesupport (5.1.7)
+ activestorage (5.2.3)
+ actionpack (= 5.2.3)
+ activerecord (= 5.2.3)
+ marcel (~> 0.3.1)
+ activesupport (5.2.3)
concurrent-ruby (~> 1.0, >= 1.0.2)
i18n (>= 0.7, < 2)
minitest (~> 5.1)
@@ -60,17 +64,17 @@ GEM
apollo_upload_server (2.0.0.beta.3)
graphql (>= 1.8)
rails (>= 4.2)
- arel (8.0.0)
+ arel (9.0.0)
asana (0.8.1)
faraday (~> 0.9)
faraday_middleware (~> 0.9)
faraday_middleware-multi_json (~> 0.0)
oauth2 (~> 1.0)
- asciidoctor (1.5.8)
+ asciidoctor (2.0.10)
asciidoctor-include-ext (0.3.1)
asciidoctor (>= 1.5.6, < 3.0.0)
- asciidoctor-plantuml (0.0.8)
- asciidoctor (~> 1.5)
+ asciidoctor-plantuml (0.0.9)
+ asciidoctor (>= 1.5.6, < 3.0.0)
ast (2.4.0)
atomic (1.1.99)
attr_encrypted (3.1.0)
@@ -163,6 +167,8 @@ GEM
html-pipeline
declarative (0.0.10)
declarative-option (0.1.0)
+ default_value_for (3.2.0)
+ activerecord (>= 3.2.0, < 6.0)
derailed_benchmarks (1.3.5)
benchmark-ips (~> 2)
get_process_mem (~> 0)
@@ -214,6 +220,8 @@ GEM
excon (0.62.0)
execjs (2.6.0)
expression_parser (0.9.0)
+ extended-markdown-filter (0.6.0)
+ html-pipeline (~> 2.0)
factory_bot (4.8.2)
activesupport (>= 3.0.0)
factory_bot_rails (4.8.2)
@@ -245,7 +253,7 @@ GEM
fog-json
ipaddress (~> 0.8)
xml-simple (~> 1.1)
- fog-aws (3.3.0)
+ fog-aws (3.5.2)
fog-core (~> 2.1)
fog-json (~> 1.1)
fog-xml (~> 0.1)
@@ -288,6 +296,7 @@ GEM
fuubar (2.2.0)
rspec-core (~> 3.0)
ruby-progressbar (~> 1.4)
+ gemoji (3.0.1)
gemojione (3.3.0)
json
get_process_mem (0.2.3)
@@ -301,11 +310,9 @@ GEM
gettext_i18n_rails (>= 0.7.1)
po_to_json (>= 1.0.0)
rails (>= 3.2.0)
- gitaly-proto (1.32.0)
+ gitaly-proto (1.37.0)
grpc (~> 1.0)
github-markup (1.7.0)
- gitlab-default_value_for (3.1.1)
- activerecord (>= 3.2.0, < 6.0)
gitlab-labkit (0.3.0)
actionpack (~> 5)
activesupport (~> 5)
@@ -370,6 +377,14 @@ GEM
railties
sprockets-rails
graphql (1.8.1)
+ graphql-docs (1.6.0)
+ commonmarker (~> 0.16)
+ escape_utils (~> 1.2)
+ extended-markdown-filter (~> 0.4)
+ gemoji (~> 3.0)
+ graphql (~> 1.6)
+ html-pipeline (~> 2.8)
+ sass (~> 3.4)
grpc (1.19.0)
google-protobuf (~> 3.1)
googleapis-common-protos-types (~> 1.0.0)
@@ -459,6 +474,7 @@ GEM
kgio (2.11.2)
knapsack (1.17.0)
rake
+ kramdown (1.17.0)
kubeclient (4.2.2)
http (~> 3.0)
recursive-open-struct (~> 1.0, >= 1.0.4)
@@ -492,6 +508,12 @@ GEM
mail (2.7.1)
mini_mime (>= 0.1.1)
mail_room (0.9.1)
+ marcel (0.3.3)
+ mimemagic (~> 0.3.2)
+ mdl (0.5.0)
+ kramdown (~> 1.12, >= 1.12.0)
+ mixlib-cli (~> 1.7, >= 1.7.0)
+ mixlib-config (~> 2.2, >= 2.2.1)
memoist (0.16.0)
memoizable (0.4.2)
thread_safe (~> 0.3, >= 0.3.1)
@@ -505,6 +527,9 @@ GEM
mini_mime (1.0.1)
mini_portile2 (2.4.0)
minitest (5.11.3)
+ mixlib-cli (1.7.0)
+ mixlib-config (2.2.18)
+ tomlrb
msgpack (1.2.10)
multi_json (1.13.1)
multi_xml (0.6.0)
@@ -515,7 +540,7 @@ GEM
mysql2 (0.4.10)
nakayoshi_fork (0.0.4)
net-ldap (0.16.0)
- net-ssh (5.0.1)
+ net-ssh (5.2.0)
netrc (0.11.0)
nio4r (2.3.1)
nokogiri (1.10.3)
@@ -652,7 +677,7 @@ GEM
parser
unparser
procto (0.0.3)
- prometheus-client-mmap (0.9.4)
+ prometheus-client-mmap (0.9.8)
pry (0.11.3)
coderay (~> 1.1.0)
method_source (~> 0.9.0)
@@ -687,17 +712,18 @@ GEM
rack-test (1.1.0)
rack (>= 1.0, < 3)
rack-timeout (0.5.1)
- rails (5.1.7)
- actioncable (= 5.1.7)
- actionmailer (= 5.1.7)
- actionpack (= 5.1.7)
- actionview (= 5.1.7)
- activejob (= 5.1.7)
- activemodel (= 5.1.7)
- activerecord (= 5.1.7)
- activesupport (= 5.1.7)
+ rails (5.2.3)
+ actioncable (= 5.2.3)
+ actionmailer (= 5.2.3)
+ actionpack (= 5.2.3)
+ actionview (= 5.2.3)
+ activejob (= 5.2.3)
+ activemodel (= 5.2.3)
+ activerecord (= 5.2.3)
+ activestorage (= 5.2.3)
+ activesupport (= 5.2.3)
bundler (>= 1.3.0)
- railties (= 5.1.7)
+ railties (= 5.2.3)
sprockets-rails (>= 2.0.0)
rails-controller-testing (1.0.2)
actionpack (~> 5.x, >= 5.0.1)
@@ -711,12 +737,12 @@ GEM
rails-i18n (5.1.1)
i18n (>= 0.7, < 2)
railties (>= 5.0, < 6)
- railties (5.1.7)
- actionpack (= 5.1.7)
- activesupport (= 5.1.7)
+ railties (5.2.3)
+ actionpack (= 5.2.3)
+ activesupport (= 5.2.3)
method_source
rake (>= 0.8.7)
- thor (>= 0.18.1, < 2.0)
+ thor (>= 0.19.0, < 2.0)
rainbow (3.0.0)
raindrops (0.19.0)
rake (12.3.2)
@@ -770,41 +796,41 @@ GEM
retriable (3.1.2)
rinku (2.0.0)
rotp (2.1.2)
- rouge (3.3.0)
+ rouge (3.5.1)
rqrcode (0.7.0)
chunky_png
rqrcode-rails3 (0.1.7)
rqrcode (>= 0.4.2)
- rspec (3.7.0)
- rspec-core (~> 3.7.0)
- rspec-expectations (~> 3.7.0)
- rspec-mocks (~> 3.7.0)
- rspec-core (3.7.1)
- rspec-support (~> 3.7.0)
- rspec-expectations (3.7.0)
+ rspec (3.8.0)
+ rspec-core (~> 3.8.0)
+ rspec-expectations (~> 3.8.0)
+ rspec-mocks (~> 3.8.0)
+ rspec-core (3.8.2)
+ rspec-support (~> 3.8.0)
+ rspec-expectations (3.8.4)
diff-lcs (>= 1.2.0, < 2.0)
- rspec-support (~> 3.7.0)
- rspec-mocks (3.7.0)
+ rspec-support (~> 3.8.0)
+ rspec-mocks (3.8.1)
diff-lcs (>= 1.2.0, < 2.0)
- rspec-support (~> 3.7.0)
+ rspec-support (~> 3.8.0)
rspec-parameterized (0.4.2)
binding_ninja (>= 0.2.3)
parser
proc_to_ast
rspec (>= 2.13, < 4)
unparser
- rspec-rails (3.7.2)
+ rspec-rails (3.8.2)
actionpack (>= 3.0)
activesupport (>= 3.0)
railties (>= 3.0)
- rspec-core (~> 3.7.0)
- rspec-expectations (~> 3.7.0)
- rspec-mocks (~> 3.7.0)
- rspec-support (~> 3.7.0)
+ rspec-core (~> 3.8.0)
+ rspec-expectations (~> 3.8.0)
+ rspec-mocks (~> 3.8.0)
+ rspec-support (~> 3.8.0)
rspec-retry (0.6.1)
rspec-core (> 3.3)
rspec-set (0.1.3)
- rspec-support (3.7.1)
+ rspec-support (3.8.2)
rspec_junit_formatter (0.4.1)
rspec-core (>= 2, < 4, != 2.12.0)
rspec_profiling (0.0.5)
@@ -943,6 +969,7 @@ GEM
parslet (~> 1.8.0)
toml-rb (1.0.0)
citrus (~> 3.0, > 3.0)
+ tomlrb (1.2.8)
truncato (0.7.11)
htmlentities (~> 4.3.1)
nokogiri (>= 1.7.0, <= 2.0)
@@ -999,7 +1026,7 @@ GEM
hashdiff
webpack-rails (0.9.11)
railties (>= 3.2.0)
- websocket-driver (0.6.5)
+ websocket-driver (0.7.0)
websocket-extensions (>= 0.1.0)
websocket-extensions (0.1.3)
wikicloth (0.8.1)
@@ -1025,9 +1052,9 @@ DEPENDENCIES
akismet (~> 2.0)
apollo_upload_server (~> 2.0.0.beta3)
asana (~> 0.8.1)
- asciidoctor (~> 1.5.8)
+ asciidoctor (~> 2.0.10)
asciidoctor-include-ext (~> 0.3.1)
- asciidoctor-plantuml (= 0.0.8)
+ asciidoctor-plantuml (= 0.0.9)
attr_encrypted (~> 3.1.0)
awesome_print
babosa (~> 1.0.2)
@@ -1056,6 +1083,7 @@ DEPENDENCIES
creole (~> 0.5.0)
database_cleaner (~> 1.7.0)
deckar01-task_list (= 2.2.0)
+ default_value_for (~> 3.2.0)
derailed_benchmarks
device_detector
devise (~> 4.6)
@@ -1077,7 +1105,7 @@ DEPENDENCIES
flipper-active_support_cache_store (~> 0.13.0)
flowdock (~> 0.7)
fog-aliyun (~> 0.3)
- fog-aws (~> 3.3)
+ fog-aws (~> 3.5)
fog-core (= 2.1.0)
fog-google (~> 1.8)
fog-local (~> 0.6)
@@ -1091,9 +1119,8 @@ DEPENDENCIES
gettext (~> 3.2.2)
gettext_i18n_rails (~> 1.8.0)
gettext_i18n_rails_js (~> 1.3)
- gitaly-proto (~> 1.32.0)
+ gitaly-proto (~> 1.37.0)
github-markup (~> 1.7.0)
- gitlab-default_value_for (~> 3.1.1)
gitlab-labkit (~> 0.3.0)
gitlab-markup (~> 1.7.0)
gitlab-sidekiq-fetcher (~> 0.4.0)
@@ -1109,6 +1136,7 @@ DEPENDENCIES
grape_logging (~> 1.7)
graphiql-rails (~> 1.4.10)
graphql (~> 1.8.0)
+ graphql-docs (~> 1.6.0)
grpc (~> 1.19.0)
haml_lint (~> 0.31.0)
hamlit (~> 2.8.8)
@@ -1134,6 +1162,7 @@ DEPENDENCIES
lograge (~> 0.5)
loofah (~> 2.2)
mail_room (~> 0.9.1)
+ mdl (~> 0.5.0)
memory_profiler (~> 0.9)
method_source (~> 0.8)
mimemagic (~> 0.3.2)
@@ -1142,7 +1171,7 @@ DEPENDENCIES
mysql2 (~> 0.4.10)
nakayoshi_fork (~> 0.0.4)
net-ldap
- net-ssh (~> 5.0)
+ net-ssh (~> 5.2)
nokogiri (~> 1.10.3)
oauth2 (~> 1.4)
octokit (~> 4.9)
@@ -1173,7 +1202,7 @@ DEPENDENCIES
peek-redis (~> 1.2.0)
pg (~> 1.1)
premailer-rails (~> 1.9.7)
- prometheus-client-mmap (~> 0.9.4)
+ prometheus-client-mmap (~> 0.9.8)
pry-byebug (~> 3.5.1)
pry-rails (~> 0.3.4)
puma (~> 3.12)
@@ -1184,7 +1213,7 @@ DEPENDENCIES
rack-oauth2 (~> 1.9.3)
rack-proxy (~> 0.6.0)
rack-timeout
- rails (= 5.1.7)
+ rails (= 5.2.3)
rails-controller-testing
rails-i18n (~> 5.1)
rainbow (~> 3.0)
@@ -1199,10 +1228,10 @@ DEPENDENCIES
redis-rails (~> 5.0.2)
request_store (~> 1.3)
responders (~> 2.0)
- rouge (~> 3.1)
+ rouge (~> 3.5)
rqrcode-rails3 (~> 0.1.7)
rspec-parameterized
- rspec-rails (~> 3.7.0)
+ rspec-rails (~> 3.8.0)
rspec-retry (~> 0.6.1)
rspec-set (~> 0.1.3)
rspec_junit_formatter
diff --git a/PROCESS.md b/PROCESS.md
index 07b150ea46..22b68b0aac 100644
--- a/PROCESS.md
+++ b/PROCESS.md
@@ -84,44 +84,29 @@ star, smile, etc.). Some good tips about code reviews can be found in our
[Code Review Guidelines]: https://docs.gitlab.com/ce/development/code_review.html
+## Feature flags
+
+Overview and details of feature flag processes in development of GitLab itself is described in [feature flags process documentation](https://docs.gitlab.com/ee/development/feature_flags/process.html).
+
+Guides on how to include feature flags in your backend/frontend code while developing GitLab are described in [developing with feature flags documentation](https://docs.gitlab.com/ee/development/feature_flags/developing.html).
+
+Getting access and how to expose the feature to users is detailed in [controlling feature flags documentation](https://docs.gitlab.com/ee/development/feature_flags/controls.html).
+
+## Feature proposals from the 22nd to the 1st
+
+To allow the Product and Engineering teams time to discuss issues that will be placed into an upcoming milestone,
+Product Managers must have their proposal for that milestone ready by the 22nd of each month.
+
+This proposal will be shared with Engineering for discussion, feedback, and planning.
+The plan for the upcoming milestone must be finalized by the 1st of the month, one week before kickoff on the 8th.
+
## Feature freeze on the 7th for the release on the 22nd
-The feature freeze on the 7th has been discontinued. The [transition period overview](https://gitlab.com/gitlab-org/release/docs/blob/21cbd409dd5f157fe252f254f3e897f01908abe2/general/deploy/auto-deploy-transition.md#transition)
+The feature freeze on the 7th has been discontinued. [Transition period overview](https://gitlab.com/gitlab-org/release/docs/blob/21cbd409dd5f157fe252f254f3e897f01908abe2/general/deploy/auto-deploy-transition.md#transition)
describes the change to this process. During the transition period, the only guarantee that
a change will be included in the release on the 22nd is if the change has been
deployed to GitLab.com prior to this date.
-### Feature flags
-
-Merge requests that make changes hidden behind a feature flag, or remove an
-existing feature flag because a feature is deemed stable, may be merged (and
-picked into the stable branches) up to the 19th of the month. Such merge
-requests should have the ~"feature flag" label assigned, and don't require a
-corresponding exception request to be created.
-
-A level of common sense should be applied when deciding whether to have a feature
-behind a feature flag off or on by default.
-
-The following guidelines can be applied to help make this decision:
-
-* If the feature is not fully ready or functioning, the feature flag should be disabled by default.
-* If the feature is ready but there are concerns about performance or impact, the feature flag should be enabled by default, but
-disabled via chatops before deployment on GitLab.com environments. If the performance concern is confirmed, the final release should have the feature flag disabled by default.
-* In most other cases, the feature flag can be enabled by default.
-
-For more information on rolling out changes using feature flags, read [through the documentation](https://docs.gitlab.com/ee/development/rolling_out_changes_using_feature_flags.html).
-
-In order to build the final package and present the feature for self-hosted
-customers, the feature flag should be removed. This should happen before the
-22nd, ideally _at least_ 2 days before. That means MRs with feature
-flags being picked at the 19th would have quite a tight schedule, so picking
-these _earlier_ is preferable.
-
-While rare, release managers may decide to reject picking a change into a stable
-branch, even when feature flags are used. This might be necessary if the changes
-are deemed problematic, too invasive, or there simply isn't enough time to
-properly test how the changes behave on GitLab.com.
-
### Between the 1st and the 7th
These types of merge requests for the upcoming release need special consideration:
diff --git a/README.md b/README.md
index e64f04cea5..51dc87ac65 100644
--- a/README.md
+++ b/README.md
@@ -15,7 +15,7 @@ To see how GitLab looks please see the [features page on our website](https://ab
- Manage Git repositories with fine grained access controls that keep your code secure
- Perform code reviews and enhance collaboration with merge requests
-- Complete continuous integration (CI) and CD pipelines to builds, test, and deploy your applications
+- Complete continuous integration (CI) and continuous deployment/delivery (CD) pipelines to build, test, and deploy your applications
- Each project can also have an issue tracker, issue board, and a wiki
- Used by more than 100,000 organizations, GitLab is the most popular solution to manage Git repositories on-premises
- Completely free and open source (MIT Expat license)
diff --git a/VERSION b/VERSION
index 18eb8a00cf..d6cf4b5bb6 100644
--- a/VERSION
+++ b/VERSION
@@ -1 +1 @@
-12.0.9
+12.1.11
diff --git a/app/assets/images/auth_buttons/salesforce_64.png b/app/assets/images/auth_buttons/salesforce_64.png
new file mode 100644
index 0000000000000000000000000000000000000000..c8a86a0c5153da2802a38009c2e9781d86b4ad23
GIT binary patch
literal 8774
zcmeHMc|4TuyC1S;ClOi3SW1kUVGJ{oWhmQNvP8CKc`yva7`u`pYbZ)eB$TL>?6QVP
z)+|Mftks)+jnoa?|ohO^W2|_wJ&q#7<^yOPB
zySE^1))kzko%AlYcTjQRy_#PT`*Il9eEIxv=s?Y2O?BporOCvrzG2(WecrMU6f&Q3
z)-}3JKFWC4LakX>)A1^{@gISQEk?vpv%W69q1JW!t~Cf++39MWgX?Kdd8BqXYTS_B
zSUwoDBTH1#jwd-jgSV)3O_loS%ayw-i%YLXHP1%OZ@8?^H_d*l-Rn-xsa!pFvN_J5
zbxfokKK@xdkSXS!x#?nTQQ+$P^)+JsVgBd)o?qfwF`1P{Zopp0u}=j7Pw#y+BEuF%
zPxB)JT@i=Q)Z2tTuU#|Iq*1M%WAzhMgwgcT}yLQd3DJvAqyGkBs
z1*^nDbg;}!w#Mk)3-|Q0XAHAa{gmx#9ne)llLM8hkY;*;Nvf=UT#Plj*Yob3$>Rlm
z#~r4jB{2!WpmB<=gJ+E@+5GxL%xa*Sdw0IkBjMfmhD!K8sP?wzaEtnv^tfH|g)n(v
zR(RBj+F0N^aIa+HfQhY>*D}vwz-#i9Q`zUL;Tc$;r1iU;6@f~roJpy^My6*oDX@Is
z(Vmsm0$77UR#O(l-&n@*P9XM2KVFmWN7QE{8
zTD)iTc12WIvLD-p
z@`3HAd-t!~p3Zyy=)IW5bo;scx*kKNDxViZn@YJXPFqXH4hiLa7B8sU-YvmiGM?xgQ5=iQ>f875+QCR;yJfy+`GVxb}zll#)~
zNoS=GzQoE{#V?u)iX5%FFL?ZpL_~`IN$32TOZd5Se#DPgRF|s;9zVqPrLZ4~HL^lI
zksRiHpGj>at)g6-&t7mv4O58CXcm#kxUYd6<&XA!X!#wM4|erblECHNJE6j#B+=9r=(5BRv4+-gt4?
zrfQhqFQu34KztY^%QBMlQpVGvRjpFQ823`X(0nA@5puo*1Cp1&`P_BVg&gKmIH6?obTD+VXF#jnsByym}E)l01uiH|bU2(h>UC_~X>bcxaw9qpp6!rLY
zOyYd1d_XSJYVIn_V1z_S(3JxSS9t*Ad_;&B~lU!VWoifKv
zxzPA9k#67rICWp7>NU#Pq&nrylf3$Mjl0RmD|I;e`SabKPIkQvA?59QgJ9jI+lG9$
z6PQn07}#87-^D{yDb$bhwCgL7nV3%WQn=kaRo!cTU^Brs#iGbKR>tqfIiE~|`$4A(
z)Nv>=EHbn3(n!e7yVj~Cfg_p9Y0f!f$THr$-zMf7&UBc9Z=b|I$4=?A6uSXme<#t5|;QKa^!N)8bHQ$O!}
zj0E3?@pD8>r-L4(6an2w8JsE4lWJ+S7gwHOFSwP)gX%~=LH
ze0I6;T2ag3W^T8&65&%t))ho#jd*jOWPurGho%r9`fA^q-Ntvxvs?}j%i?*Br$8zT
zQ5O>w8`gJT!H$fQg0Ed9{HtX{+_kI7p|=#6@`K*`vptY=
zUeg|sZVJJLtf$ufBvl$Ni&QmfdrOPk4M2=*-+5rKj!3rgRE*y(t%yzZiHU;N#fxz$
zIX1ew)Lb}}>Pu|w6b(d{>GaP{h`
z;JPQo1$1Oj-j!3<#N7>6^{ybtzu-Zgy6-
zFw_z0Nza9{8L?A6B|ul(Y?
zj3Ens?!4GByO7-`PiE7icD#7eK|maE3ZY$ro7UEJ-)NtqeR)v}S&qL|SkAjh6XB!B)3SIy&?*@YYN!2USb8?3oCUOQ)U_3YY%#G;O_n_F(!1j(rfV2jv>
zhwS;{qA`^4T`%satGZI;u$Z;!Pq-|6(*XuipK
zarNHlx&f@9AAZLahYmX2{X;)iP__ntN$<2SV~@o%Coa%zXa82G9d
zzVuzoqNJBq{Tr8&cIqadT5l2v#1u)!Vl9lY*x#S+8Bg>XCogCjKG6|xcCpI4X~P~L
zqe03y6V^8nFXc4I=l6)Rl`vJ_13G&sDbIt;K{8}H5q&-(6+FrakC*iWn
zF}JMT^5|>VCc3IWqxtk{L(M1LFXWx~We%0_bZ#^W*rwWy`i)wqC>wrl^=}?i?_^D5
z%@jqvxPu<$cxdO2&x^9}>5JJHn^SPhsy2DvZsKvXy`qiXSmxKL_ZhX1oBXe04Now|
zCxi8LS@-U5IGkX6U5HCzC~0Gj-KkDrIm&VGiSa8(M8!yheBapXs!JDkjX59H;4P`s
z=zI$2A7cGv^YqK1fQ{9$bOmu}TL?zp9GRD>%1AkbaScR05zJHrMbZnXfzrISAnUhKp6<2!t^X{z=XlB^m@VI)6IYYH!o~(Md2PMgz&14+8*Gfx|VRa22Qu8uqI_V-$z`
z!`j>Lr-}?cVL^Bw7(y8i^YZ$Og&*A@;7@=5(!$T0apZ*^1^lS~G$LRS0C>}7es$_Y
z@%Q`Hr@tSt)wLZrh2#oj1hwt?SDPb7IEz1Qwq$f8d--fzY@vTel8ArceEeyYZ48MB
z11NwOBM?6ZGvY6JI@$Hl1^UZ;wnqL-APjeZ@c#w
zkf=m53A6nZPShX(D544!P9PAWNCXK9#jBDCP*pV~fvE0^c6C)J{z7Hs?MKIZ6M-!%
z2Dvhs!2?IB!BMJe>QGm_IsuAA5eQHMQUic$005e#p-w`f5x-KH)5wfUz*ByWYKw}*
zpi+es)d>hZ5=ug-BcMnXI39{d!AVdQ0fi^15{P&-0>2&2);eHxEsV4vD$4Lbdn_n;
zx+|6Dr3Jy^iC}Z9KS!*|UVs%Hzoi;N4W)uWsi`9oD7c2Y3i3~oEkN^QWcd~;0mImPIRGKxFO3{LB
z1qmb3Xq^A
zk}95&$7n|Kx#Hna1RjM%pw&<)I702O?0!^NdLW(#=(;g-fU(Yu+S*=c@ctj^r|?&J
zpgXXYTW|y#3Rj21Rjm;yjG7t-iBN>AVBm1bk0l3d!nStV->0m(wGZKNm|sQF+}fuw
zMqAlvJ!YUWOurGp!dIZ|1W?)7);4T
zz}t`d??V3-@?2nt~&s5o}rvJz5XA1s5dSFohwAvg;qY{+0rN3;a)Z{h!Ij`RB14@Mb*x1u_oRZC9I<83%GUg2@qm(D$v^
zjhfpjjGmo7hW36Skci;co5?M!ckBODcDfPHfPIX82d}zP8k$ab
zpa|LQIbDZVtsb7%;}T*PGQ2C0FU+);10^lQeZWv(pAc4mg~KkDS%I08`Q}=^oVlezEgtfOldoHBLqtMrcW>i79WCk@k?^#yL8G0ac3-?6f*A))Rx
zP<^nwa!MXK`%*YbdD>%XPIjTV)_wothak;bw0mYW)pr_5a7Sc++WlPosHhZE;VI+W
zPEVaUmcQA)(>0FG7JRB=`Z38VkGa0L5@~md3?8=0M$VT=USEbKiv7P%B?8esPHViA*a%<4=)SPONP1z
zxH;SROLP-bm^_oX<&ulbCk#e;W%7)?`r#HVMr~u3eFFPQ(#YB6r>vAhZu0jS!29-1
zieh|AUx{OVONvX5N6yT%DmkxR2JRi2Mz
z4q0QpwKD9#5qMgAVm^{nQYZhTENj3~I%R#DHR$o?F29aKjDjboap$ZROwe@l*JE|^a
zrKXARtM3+3ozAuztkw-~v~0N6GG*H4=v=o_epiB*^PA#*wtdXS&N{heEDFmk;gfRb
zYEyR%%UdMB01s5T=C7^lJvLI^MITt*b?16>NkraxR3ympj-5`LvpKl$ZLHkvIfLwaI|NVksrQk8+oRTd~syHGk6+l`X(CY6ZLF?<{Umw@rx!`
z$ds&Gu(c^TSe8Zv)_}CE>rMEC$||Ki=Ahcu2_|mmZbVOlr$?MHi-KB6m~g|p3?_Az
z>ZT)Ex;YkFmGz*=tDINtdg^+@x>_b?RfpH(-Nyk&ddK!B-{T^TWer*+R=QqhR{!bjCVB89I8N}|p~miG@XFcO
zdr!^7ALVn^g^7#~Cl$_+j+P!eAD>hgG5Fn#yQ=sJOV0UF6&SLG$
za}w!ReYO)9vrZmzp0)0|Rk&|CJs}&WYh1lswJxb39y=x)Hq3gOM0;ltSrAPS+qj1Q
zO?PRIJ3xr%HuyH=t&Lh)9;KrTYshJ;BT#7=4Aa9sDT8qMiVb5T0q?QVk1%@;OhWwc
emx<#Sc8!c|_m2IOqKuslWMp8be_!v!ng0MA2y~(V
literal 0
HcmV?d00001
diff --git a/app/assets/javascripts/api.js b/app/assets/javascripts/api.js
index 7cebb88f3a..a649c52140 100644
--- a/app/assets/javascripts/api.js
+++ b/app/assets/javascripts/api.js
@@ -12,6 +12,7 @@ const Api = {
groupProjectsPath: '/api/:version/groups/:id/projects.json',
projectsPath: '/api/:version/projects.json',
projectPath: '/api/:version/projects/:id',
+ forkedProjectsPath: '/api/:version/projects/:id/forks',
projectLabelsPath: '/:namespace_path/:project_path/-/labels',
projectMergeRequestsPath: '/api/:version/projects/:id/merge_requests',
projectMergeRequestPath: '/api/:version/projects/:id/merge_requests/:mrid',
@@ -23,6 +24,7 @@ const Api = {
issuableTemplatePath: '/:namespace_path/:project_path/templates/:type/:key',
projectTemplatePath: '/api/:version/projects/:id/templates/:type/:key',
projectTemplatesPath: '/api/:version/projects/:id/templates/:type',
+ userCountsPath: '/api/:version/user_counts',
usersPath: '/api/:version/users.json',
userPath: '/api/:version/users/:id',
userStatusPath: '/api/:version/users/:id/status',
@@ -113,6 +115,21 @@ const Api = {
return axios.get(url);
},
+ /**
+ * Get all projects for a forked relationship to a specified project
+ * @param {string} projectPath - Path or ID of a project
+ * @param {Object} params - Get request parameters
+ * @returns {Promise} - Request promise
+ */
+ projectForks(projectPath, params) {
+ const url = Api.buildUrl(Api.forkedProjectsPath).replace(
+ ':id',
+ encodeURIComponent(projectPath),
+ );
+
+ return axios.get(url, { params });
+ },
+
/**
* Get all Merge Requests for a project, eventually filtering based on
* supplied parameters
@@ -296,6 +313,11 @@ const Api = {
});
},
+ userCounts() {
+ const url = Api.buildUrl(this.userCountsPath);
+ return axios.get(url);
+ },
+
userStatus(id, options) {
const url = Api.buildUrl(this.userStatusPath).replace(':id', encodeURIComponent(id));
return axios.get(url, {
diff --git a/app/assets/javascripts/behaviors/markdown/render_mermaid.js b/app/assets/javascripts/behaviors/markdown/render_mermaid.js
index d0b7f3ff7a..dbc28beffb 100644
--- a/app/assets/javascripts/behaviors/markdown/render_mermaid.js
+++ b/app/assets/javascripts/behaviors/markdown/render_mermaid.js
@@ -36,7 +36,8 @@ export default function renderMermaid($els) {
});
$els.each((i, el) => {
- const source = el.textContent;
+ // Mermaid doesn't like `
` tags, so collapse all like tags into `
`, which is parsed correctly.
+ const source = el.textContent.replace(/
/g, '
');
/**
* Restrict the rendering to a certain amount of character to
@@ -59,6 +60,14 @@ export default function renderMermaid($els) {
mermaid.init(undefined, el, id => {
const svg = document.getElementById(id);
+ // As of https://github.com/knsv/mermaid/commit/57b780a0d,
+ // Mermaid will make two init callbacks:one to initialize the
+ // flow charts, and another to initialize the Gannt charts.
+ // Guard against an error caused by double initialization.
+ if (svg.classList.contains('mermaid')) {
+ return;
+ }
+
svg.classList.add('mermaid');
// pre > code > svg
diff --git a/app/assets/javascripts/boards/components/board.js b/app/assets/javascripts/boards/components/board.js
index 45b9e57f9a..c6122fbc68 100644
--- a/app/assets/javascripts/boards/components/board.js
+++ b/app/assets/javascripts/boards/components/board.js
@@ -1,6 +1,7 @@
+import $ from 'jquery';
import Sortable from 'sortablejs';
import Vue from 'vue';
-import { n__ } from '~/locale';
+import { n__, s__ } from '~/locale';
import Icon from '~/vue_shared/components/icon.vue';
import Tooltip from '~/vue_shared/directives/tooltip';
import AccessorUtilities from '../../lib/utils/accessor';
@@ -53,12 +54,19 @@ export default Vue.extend({
const { issuesSize } = this.list;
return `${n__('%d issue', '%d issues', issuesSize)}`;
},
+ caretTooltip() {
+ return this.list.isExpanded ? s__('Boards|Collapse') : s__('Boards|Expand');
+ },
isNewIssueShown() {
return (
this.list.type === 'backlog' ||
(!this.disabled && this.list.type !== 'closed' && this.list.type !== 'blank')
);
},
+ uniqueKey() {
+ // eslint-disable-next-line @gitlab/i18n/no-non-i18n-strings
+ return `boards.${this.boardId}.${this.list.type}.${this.list.id}`;
+ },
},
watch: {
filter: {
@@ -72,31 +80,34 @@ export default Vue.extend({
},
},
mounted() {
- this.sortableOptions = getBoardSortableDefaultOptions({
+ const instance = this;
+
+ const sortableOptions = getBoardSortableDefaultOptions({
disabled: this.disabled,
group: 'boards',
draggable: '.is-draggable',
handle: '.js-board-handle',
- onEnd: e => {
+ onEnd(e) {
sortableEnd();
+ const sortable = this;
+
if (e.newIndex !== undefined && e.oldIndex !== e.newIndex) {
- const order = this.sortable.toArray();
+ const order = sortable.toArray();
const list = boardsStore.findList('id', parseInt(e.item.dataset.id, 10));
- this.$nextTick(() => {
+ instance.$nextTick(() => {
boardsStore.moveList(list, order);
});
}
},
});
- this.sortable = Sortable.create(this.$el.parentNode, this.sortableOptions);
+ Sortable.create(this.$el.parentNode, sortableOptions);
},
created() {
if (this.list.isExpandable && AccessorUtilities.isLocalStorageAccessSafe()) {
- const isCollapsed =
- localStorage.getItem(`boards.${this.boardId}.${this.list.type}.expanded`) === 'false';
+ const isCollapsed = localStorage.getItem(`${this.uniqueKey}.expanded`) === 'false';
this.list.isExpanded = !isCollapsed;
}
@@ -105,16 +116,17 @@ export default Vue.extend({
showNewIssueForm() {
this.$refs['board-list'].showIssueForm = !this.$refs['board-list'].showIssueForm;
},
- toggleExpanded(e) {
- if (this.list.isExpandable && !e.target.classList.contains('js-no-trigger-collapse')) {
+ toggleExpanded() {
+ if (this.list.isExpandable) {
this.list.isExpanded = !this.list.isExpanded;
if (AccessorUtilities.isLocalStorageAccessSafe()) {
- localStorage.setItem(
- `boards.${this.boardId}.${this.list.type}.expanded`,
- this.list.isExpanded,
- );
+ localStorage.setItem(`${this.uniqueKey}.expanded`, this.list.isExpanded);
}
+
+ // When expanding/collapsing, the tooltip on the caret button sometimes stays open.
+ // Close all tooltips manually to prevent dangling tooltips.
+ $('.tooltip').tooltip('hide');
}
},
},
diff --git a/app/assets/javascripts/boards/components/board_blank_state.vue b/app/assets/javascripts/boards/components/board_blank_state.vue
index 1cbd31729c..d8b0b60c18 100644
--- a/app/assets/javascripts/boards/components/board_blank_state.vue
+++ b/app/assets/javascripts/boards/components/board_blank_state.vue
@@ -1,4 +1,5 @@
+
+
+
+
+ Are you sure you want to delete this board?
+
+
+
+
diff --git a/app/assets/javascripts/boards/components/board_list.vue b/app/assets/javascripts/boards/components/board_list.vue
index b1a8b13f3a..787ff110bf 100644
--- a/app/assets/javascripts/boards/components/board_list.vue
+++ b/app/assets/javascripts/boards/components/board_list.vue
@@ -227,7 +227,7 @@ export default {
:class="{ 'd-none': !list.isExpanded, 'd-flex flex-column': list.isExpanded }"
class="board-list-component position-relative h-100"
>
-
+
- Showing all issues
+ {{ __('Showing all issues') }}
Showing {{ list.issues.length }} of {{ list.issuesSize }} issues
diff --git a/app/assets/javascripts/boards/components/board_new_issue.vue b/app/assets/javascripts/boards/components/board_new_issue.vue
index cc6af8e88c..4180023b7d 100644
--- a/app/assets/javascripts/boards/components/board_new_issue.vue
+++ b/app/assets/javascripts/boards/components/board_new_issue.vue
@@ -102,9 +102,9 @@ export default {
diff --git a/app/assets/javascripts/boards/components/board_sidebar.js b/app/assets/javascripts/boards/components/board_sidebar.js
index c587b276fa..2ace0060c4 100644
--- a/app/assets/javascripts/boards/components/board_sidebar.js
+++ b/app/assets/javascripts/boards/components/board_sidebar.js
@@ -38,6 +38,7 @@ export default Vue.extend({
issue: {},
list: {},
loadingAssignees: false,
+ timeTrackingLimitToHours: boardsStore.timeTracking.limitToHours,
};
},
computed: {
diff --git a/app/assets/javascripts/boards/components/boards_selector.vue b/app/assets/javascripts/boards/components/boards_selector.vue
new file mode 100644
index 0000000000..b05de4538f
--- /dev/null
+++ b/app/assets/javascripts/boards/components/boards_selector.vue
@@ -0,0 +1,334 @@
+
+
+
+
+
+
+
+
+ {{ s__('IssueBoards|Switch board') }}
+
+
+
+
+
+
+
+
+
+ {{ s__('IssueBoards|No matching boards found') }}
+
+
+
+
+
+
+ {{ recentBoard.name }}
+
+
+
+
+
+
+
+
+ {{ otherBoard.name }}
+
+
+ {{
+ s__(
+ 'IssueBoards|Some of your boards are hidden, activate a license to see them again.',
+ )
+ }}
+
+
+
+
+
+
+
+
+
+
+
+ {{ s__('IssueBoards|Create new board') }}
+
+
+
+ {{ s__('IssueBoards|Delete board') }}
+
+
+
+
+
+
+
+
diff --git a/app/assets/javascripts/boards/components/issue_card_inner.vue b/app/assets/javascripts/boards/components/issue_card_inner.vue
index a8516f178f..7f554c9966 100644
--- a/app/assets/javascripts/boards/components/issue_card_inner.vue
+++ b/app/assets/javascripts/boards/components/issue_card_inner.vue
@@ -124,7 +124,7 @@ export default {
return `${this.rootPath}${assignee.username}`;
},
avatarUrlTitle(assignee) {
- return `Avatar for ${assignee.name}`;
+ return sprintf(__(`Avatar for %{assigneeName}`), { assigneeName: assignee.name });
},
showLabel(label) {
if (!label.id) return false;
@@ -160,9 +160,10 @@ export default {
:title="__('Confidential')"
class="confidential-icon append-right-4"
:aria-label="__('Confidential')"
- />{{
- issue.title
- }}
+ />
+
+ {{ issue.title }}
+
@@ -204,13 +205,13 @@ export default {
placement="bottom"
class="board-issue-path block-truncated bold"
>{{ issueReferencePath }}#{{ issue.iid }}
+ >
+ #{{ issue.iid }}
-
+
+
- Assignee {{ assignee.name }}
+ {{ __('Assignee') }}
+ {{ assignee.name }}
@{{ assignee.username }}
@@ -240,9 +242,8 @@ export default {
:title="assigneeCounterTooltip"
class="avatar-counter"
data-placement="bottom"
+ >{{ assigneeCounterLabel }}
- {{ assigneeCounterLabel }}
-
diff --git a/app/assets/javascripts/boards/components/issue_time_estimate.vue b/app/assets/javascripts/boards/components/issue_time_estimate.vue
index 98c1d29db1..3385aad5b1 100644
--- a/app/assets/javascripts/boards/components/issue_time_estimate.vue
+++ b/app/assets/javascripts/boards/components/issue_time_estimate.vue
@@ -2,6 +2,7 @@
import { GlTooltip } from '@gitlab/ui';
import Icon from '~/vue_shared/components/icon.vue';
import { parseSeconds, stringifyTime } from '~/lib/utils/datetime_utility';
+import boardsStore from '../stores/boards_store';
export default {
components: {
@@ -14,12 +15,17 @@ export default {
required: true,
},
},
+ data() {
+ return {
+ limitToHours: boardsStore.timeTracking.limitToHours,
+ };
+ },
computed: {
title() {
- return stringifyTime(parseSeconds(this.estimate), true);
+ return stringifyTime(parseSeconds(this.estimate, { limitToHours: this.limitToHours }), true);
},
timeEstimate() {
- return stringifyTime(parseSeconds(this.estimate));
+ return stringifyTime(parseSeconds(this.estimate, { limitToHours: this.limitToHours }));
},
},
};
diff --git a/app/assets/javascripts/boards/components/modal/empty_state.vue b/app/assets/javascripts/boards/components/modal/empty_state.vue
index 091700de93..66f5900971 100644
--- a/app/assets/javascripts/boards/components/modal/empty_state.vue
+++ b/app/assets/javascripts/boards/components/modal/empty_state.vue
@@ -1,4 +1,5 @@
+
+
+
+
diff --git a/app/assets/javascripts/branches/components/graph_bar.vue b/app/assets/javascripts/branches/components/graph_bar.vue
new file mode 100644
index 0000000000..83da41ca09
--- /dev/null
+++ b/app/assets/javascripts/branches/components/graph_bar.vue
@@ -0,0 +1,69 @@
+
+
+
+
+
diff --git a/app/assets/javascripts/branches/constants.js b/app/assets/javascripts/branches/constants.js
new file mode 100644
index 0000000000..16949e662d
--- /dev/null
+++ b/app/assets/javascripts/branches/constants.js
@@ -0,0 +1,6 @@
+export const SIDES = {
+ full: 'full',
+ left: 'left',
+ right: 'right',
+};
+export const MAX_COMMIT_COUNT = 1000;
diff --git a/app/assets/javascripts/branches/divergence_graph.js b/app/assets/javascripts/branches/divergence_graph.js
new file mode 100644
index 0000000000..7dbaf984ac
--- /dev/null
+++ b/app/assets/javascripts/branches/divergence_graph.js
@@ -0,0 +1,51 @@
+import Vue from 'vue';
+import { __ } from '../locale';
+import createFlash from '../flash';
+import axios from '../lib/utils/axios_utils';
+import DivergenceGraph from './components/divergence_graph.vue';
+
+export function createGraphVueApp(el, data, maxCommits) {
+ return new Vue({
+ el,
+ render(h) {
+ return h(DivergenceGraph, {
+ props: {
+ defaultBranch: 'master',
+ distance: data.distance ? parseInt(data.distance, 10) : null,
+ aheadCount: parseInt(data.ahead, 10),
+ behindCount: parseInt(data.behind, 10),
+ maxCommits,
+ },
+ });
+ },
+ });
+}
+
+export default endpoint => {
+ const names = [...document.querySelectorAll('.js-branch-item')].map(
+ ({ dataset }) => dataset.name,
+ );
+ return axios
+ .get(endpoint, {
+ params: { names },
+ })
+ .then(({ data }) => {
+ const maxCommits = Object.entries(data).reduce((acc, [, val]) => {
+ const max = Math.max(...Object.values(val));
+ return max > acc ? max : acc;
+ }, 100);
+
+ Object.entries(data).forEach(([branchName, val]) => {
+ const el = document.querySelector(
+ `[data-name="${branchName}"] .js-branch-divergence-graph`,
+ );
+
+ if (!el) return;
+
+ createGraphVueApp(el, val, maxCommits);
+ });
+ })
+ .catch(() =>
+ createFlash(__('Error fetching diverging counts for branches. Please try again.')),
+ );
+};
diff --git a/app/assets/javascripts/clusters/components/application_row.vue b/app/assets/javascripts/clusters/components/application_row.vue
index 4771090aa7..cd2121db3b 100644
--- a/app/assets/javascripts/clusters/components/application_row.vue
+++ b/app/assets/javascripts/clusters/components/application_row.vue
@@ -207,7 +207,7 @@ export default {
return __('Updating');
}
- return __('Updated');
+ return this.updateSuccessful ? __('Updated to') : __('Updated');
},
updateFailureDescription() {
return s__('ClusterIntegration|Update failed. Please check the logs and try again.');
@@ -331,8 +331,6 @@ export default {
class="form-text text-muted label p-0 js-cluster-application-update-details"
>
{{ versionLabel }}
- to
-
- {{ __('More information') }}
-
+ {{
+ __('More information')
+ }}
import LoadingButton from '~/vue_shared/components/loading_button.vue';
import { APPLICATION_STATUS } from '~/clusters/constants';
+import { __ } from '~/locale';
const { UPDATING, UNINSTALLING } = APPLICATION_STATUS;
@@ -22,7 +23,7 @@ export default {
return this.status === UNINSTALLING;
},
label() {
- return this.loading ? this.__('Uninstalling') : this.__('Uninstall');
+ return this.loading ? __('Uninstalling') : __('Uninstall');
},
},
};
diff --git a/app/assets/javascripts/clusters/components/uninstall_application_confirmation_modal.vue b/app/assets/javascripts/clusters/components/uninstall_application_confirmation_modal.vue
index 65827f1cb6..920439ebb2 100644
--- a/app/assets/javascripts/clusters/components/uninstall_application_confirmation_modal.vue
+++ b/app/assets/javascripts/clusters/components/uninstall_application_confirmation_modal.vue
@@ -14,7 +14,9 @@ const CUSTOM_APP_WARNING_TEXT = {
[PROMETHEUS]: s__('ClusterIntegration|All data will be deleted and cannot be restored.'),
[RUNNER]: s__('ClusterIntegration|Any running pipelines will be canceled.'),
[KNATIVE]: s__('ClusterIntegration|The associated IP will be deleted and cannot be restored.'),
- [JUPYTER]: '',
+ [JUPYTER]: s__(
+ 'ClusterIntegration|All data not committed to GitLab will be deleted and cannot be restored.',
+ ),
};
export default {
diff --git a/app/assets/javascripts/clusters/services/application_state_machine.js b/app/assets/javascripts/clusters/services/application_state_machine.js
index 17ea4d7779..6e632519d8 100644
--- a/app/assets/javascripts/clusters/services/application_state_machine.js
+++ b/app/assets/javascripts/clusters/services/application_state_machine.js
@@ -80,6 +80,9 @@ const applicationStateMachine = {
installFailed: false,
},
},
+ [NOT_INSTALLABLE]: {
+ target: NOT_INSTALLABLE,
+ },
// This is possible in artificial environments for E2E testing
[INSTALLED]: {
target: INSTALLED,
@@ -108,6 +111,9 @@ const applicationStateMachine = {
updateSuccessful: false,
},
},
+ [NOT_INSTALLABLE]: {
+ target: NOT_INSTALLABLE,
+ },
[UNINSTALL_EVENT]: {
target: UNINSTALLING,
effects: {
diff --git a/app/assets/javascripts/commons/index.js b/app/assets/javascripts/commons/index.js
index 0d2fe2925d..ad0f6cc149 100644
--- a/app/assets/javascripts/commons/index.js
+++ b/app/assets/javascripts/commons/index.js
@@ -4,3 +4,6 @@ import './jquery';
import './bootstrap';
import './vue';
import '../lib/utils/axios_utils';
+import { openUserCountsBroadcast } from './nav/user_merge_requests';
+
+openUserCountsBroadcast();
diff --git a/app/assets/javascripts/commons/nav/user_merge_requests.js b/app/assets/javascripts/commons/nav/user_merge_requests.js
new file mode 100644
index 0000000000..8e694cca6a
--- /dev/null
+++ b/app/assets/javascripts/commons/nav/user_merge_requests.js
@@ -0,0 +1,67 @@
+import Api from '~/api';
+
+let channel;
+
+function broadcastCount(newCount) {
+ if (!channel) {
+ return;
+ }
+
+ channel.postMessage(newCount);
+}
+
+function updateUserMergeRequestCounts(newCount) {
+ const mergeRequestsCountEl = document.querySelector('.merge-requests-count');
+ mergeRequestsCountEl.textContent = newCount.toLocaleString();
+ mergeRequestsCountEl.classList.toggle('hidden', Number(newCount) === 0);
+}
+
+/**
+ * Refresh user counts (and broadcast if open)
+ */
+export function refreshUserMergeRequestCounts() {
+ return Api.userCounts()
+ .then(({ data }) => {
+ const count = data.merge_requests;
+
+ updateUserMergeRequestCounts(count);
+ broadcastCount(count);
+ })
+ .catch(ex => {
+ console.error(ex); // eslint-disable-line no-console
+ });
+}
+
+/**
+ * Close the broadcast channel for user counts
+ */
+export function closeUserCountsBroadcast() {
+ if (!channel) {
+ return;
+ }
+
+ channel.close();
+ channel = null;
+}
+
+/**
+ * Open the broadcast channel for user counts, adds user id so we only update
+ *
+ * **Please note:**
+ * Not supported in all browsers, but not polyfilling for now
+ * to keep bundle size small and
+ * no special functionality lost except cross tab notifications
+ */
+export function openUserCountsBroadcast() {
+ closeUserCountsBroadcast();
+
+ if (window.BroadcastChannel) {
+ const currentUserId = typeof gon !== 'undefined' && gon && gon.current_user_id;
+ if (currentUserId) {
+ channel = new BroadcastChannel(`mr_count_channel_${currentUserId}`);
+ channel.onmessage = ev => {
+ updateUserMergeRequestCounts(ev.data);
+ };
+ }
+ }
+}
diff --git a/app/assets/javascripts/commons/polyfills.js b/app/assets/javascripts/commons/polyfills.js
index d0cc4897ae..a4394ab7e9 100644
--- a/app/assets/javascripts/commons/polyfills.js
+++ b/app/assets/javascripts/commons/polyfills.js
@@ -12,6 +12,7 @@ import 'core-js/es/promise/finally';
import 'core-js/es/string/code-point-at';
import 'core-js/es/string/from-code-point';
import 'core-js/es/string/includes';
+import 'core-js/es/string/starts-with';
import 'core-js/es/symbol';
import 'core-js/es/map';
import 'core-js/es/weak-map';
diff --git a/app/assets/javascripts/confidential_merge_request/components/dropdown.vue b/app/assets/javascripts/confidential_merge_request/components/dropdown.vue
new file mode 100644
index 0000000000..444640980a
--- /dev/null
+++ b/app/assets/javascripts/confidential_merge_request/components/dropdown.vue
@@ -0,0 +1,58 @@
+
+
+
+
+
+
+
+ {{ dropdownText }}
+
+
+
+
+
+ {{ project.name }}
+
+
+
diff --git a/app/assets/javascripts/confidential_merge_request/components/project_form_group.vue b/app/assets/javascripts/confidential_merge_request/components/project_form_group.vue
new file mode 100644
index 0000000000..197a070606
--- /dev/null
+++ b/app/assets/javascripts/confidential_merge_request/components/project_form_group.vue
@@ -0,0 +1,140 @@
+
+
+
+
+
diff --git a/app/assets/javascripts/confidential_merge_request/index.js b/app/assets/javascripts/confidential_merge_request/index.js
new file mode 100644
index 0000000000..9672821d30
--- /dev/null
+++ b/app/assets/javascripts/confidential_merge_request/index.js
@@ -0,0 +1,30 @@
+import Vue from 'vue';
+import { parseBoolean } from '../lib/utils/common_utils';
+import ProjectFormGroup from './components/project_form_group.vue';
+import state from './state';
+
+export function isConfidentialIssue() {
+ return parseBoolean(document.querySelector('.js-create-mr').dataset.isConfidential);
+}
+
+export function canCreateConfidentialMergeRequest() {
+ return isConfidentialIssue() && Object.keys(state.selectedProject).length > 0;
+}
+
+export function init() {
+ const el = document.getElementById('js-forked-project');
+
+ return new Vue({
+ el,
+ render(h) {
+ return h(ProjectFormGroup, {
+ props: {
+ namespacePath: el.dataset.namespacePath,
+ projectPath: el.dataset.projectPath,
+ newForkPath: el.dataset.newForkPath,
+ helpPagePath: el.dataset.helpPagePath,
+ },
+ });
+ },
+ });
+}
diff --git a/app/assets/javascripts/confidential_merge_request/state.js b/app/assets/javascripts/confidential_merge_request/state.js
new file mode 100644
index 0000000000..95b0580f4b
--- /dev/null
+++ b/app/assets/javascripts/confidential_merge_request/state.js
@@ -0,0 +1,5 @@
+import Vue from 'vue';
+
+export default Vue.observable({
+ selectedProject: {},
+});
diff --git a/app/assets/javascripts/create_merge_request_dropdown.js b/app/assets/javascripts/create_merge_request_dropdown.js
index 8f5cece078..dce9c1a541 100644
--- a/app/assets/javascripts/create_merge_request_dropdown.js
+++ b/app/assets/javascripts/create_merge_request_dropdown.js
@@ -5,6 +5,12 @@ import Flash from './flash';
import DropLab from './droplab/drop_lab';
import ISetter from './droplab/plugins/input_setter';
import { __, sprintf } from './locale';
+import {
+ init as initConfidentialMergeRequest,
+ isConfidentialIssue,
+ canCreateConfidentialMergeRequest,
+} from './confidential_merge_request';
+import confidentialMergeRequestState from './confidential_merge_request/state';
// Todo: Remove this when fixing issue in input_setter plugin
const InputSetter = Object.assign({}, ISetter);
@@ -12,6 +18,17 @@ const InputSetter = Object.assign({}, ISetter);
const CREATE_MERGE_REQUEST = 'create-mr';
const CREATE_BRANCH = 'create-branch';
+function createEndpoint(projectPath, endpoint) {
+ if (canCreateConfidentialMergeRequest()) {
+ return endpoint.replace(
+ projectPath,
+ confidentialMergeRequestState.selectedProject.pathWithNamespace,
+ );
+ }
+
+ return endpoint;
+}
+
export default class CreateMergeRequestDropdown {
constructor(wrapperEl) {
this.wrapperEl = wrapperEl;
@@ -42,6 +59,8 @@ export default class CreateMergeRequestDropdown {
this.refIsValid = true;
this.refsPath = this.wrapperEl.dataset.refsPath;
this.suggestedRef = this.refInput.value;
+ this.projectPath = this.wrapperEl.dataset.projectPath;
+ this.projectId = this.wrapperEl.dataset.projectId;
// These regexps are used to replace
// a backend generated new branch name and its source (ref)
@@ -58,6 +77,14 @@ export default class CreateMergeRequestDropdown {
};
this.init();
+
+ if (isConfidentialIssue()) {
+ this.createMergeRequestButton.setAttribute(
+ 'data-dropdown-trigger',
+ '#create-merge-request-dropdown',
+ );
+ initConfidentialMergeRequest();
+ }
}
available() {
@@ -113,7 +140,9 @@ export default class CreateMergeRequestDropdown {
this.isCreatingBranch = true;
return axios
- .post(this.createBranchPath)
+ .post(createEndpoint(this.projectPath, this.createBranchPath), {
+ confidential_issue_project_id: canCreateConfidentialMergeRequest() ? this.projectId : null,
+ })
.then(({ data }) => {
this.branchCreated = true;
window.location.href = data.url;
@@ -125,7 +154,11 @@ export default class CreateMergeRequestDropdown {
this.isCreatingMergeRequest = true;
return axios
- .post(this.createMrPath)
+ .post(this.createMrPath, {
+ target_project_id: canCreateConfidentialMergeRequest()
+ ? confidentialMergeRequestState.selectedProject.id
+ : null,
+ })
.then(({ data }) => {
this.mergeRequestCreated = true;
window.location.href = data.url;
@@ -149,6 +182,8 @@ export default class CreateMergeRequestDropdown {
}
enable() {
+ if (isConfidentialIssue() && !canCreateConfidentialMergeRequest()) return;
+
this.createMergeRequestButton.classList.remove('disabled');
this.createMergeRequestButton.removeAttribute('disabled');
@@ -205,7 +240,7 @@ export default class CreateMergeRequestDropdown {
if (!ref) return false;
return axios
- .get(`${this.refsPath}${encodeURIComponent(ref)}`)
+ .get(`${createEndpoint(this.projectPath, this.refsPath)}${encodeURIComponent(ref)}`)
.then(({ data }) => {
const branches = data[Object.keys(data)[0]];
const tags = data[Object.keys(data)[1]];
@@ -325,6 +360,12 @@ export default class CreateMergeRequestDropdown {
let xhr = null;
event.preventDefault();
+ if (isConfidentialIssue() && !event.target.classList.contains('js-create-target')) {
+ this.droplab.hooks.forEach(hook => hook.list.toggle());
+
+ return;
+ }
+
if (this.isBusy()) {
return;
}
diff --git a/app/assets/javascripts/cycle_analytics/cycle_analytics_bundle.js b/app/assets/javascripts/cycle_analytics/cycle_analytics_bundle.js
index b56e08175c..d4b994d492 100644
--- a/app/assets/javascripts/cycle_analytics/cycle_analytics_bundle.js
+++ b/app/assets/javascripts/cycle_analytics/cycle_analytics_bundle.js
@@ -17,6 +17,7 @@ Vue.use(Translate);
export default () => {
const OVERVIEW_DIALOG_COOKIE = 'cycle_analytics_help_dismissed';
+ const cycleAnalyticsEl = document.querySelector('#cycle-analytics');
// eslint-disable-next-line no-new
new Vue({
@@ -33,7 +34,6 @@ export default () => {
'stage-production-component': stageComponent,
},
data() {
- const cycleAnalyticsEl = document.querySelector('#cycle-analytics');
const cycleAnalyticsService = new CycleAnalyticsService({
requestPath: cycleAnalyticsEl.dataset.requestPath,
});
@@ -56,7 +56,13 @@ export default () => {
},
},
created() {
- this.fetchCycleAnalyticsData();
+ // Conditional check placed here to prevent this method from being called on the
+ // new Cycle Analytics page (i.e. the new page will be initialized blank and only
+ // after a group is selected the cycle analyitcs data will be fetched). Once the
+ // old (current) page has been removed this entire created method as well as the
+ // variable itself can be completely removed.
+ // Follow up issue: https://gitlab.com/gitlab-org/gitlab-ce/issues/64490
+ if (cycleAnalyticsEl.dataset.requestPath) this.fetchCycleAnalyticsData();
},
methods: {
handleError() {
diff --git a/app/assets/javascripts/diff_notes/components/comment_resolve_btn.js b/app/assets/javascripts/diff_notes/components/comment_resolve_btn.js
index f66e07ba31..7817b41514 100644
--- a/app/assets/javascripts/diff_notes/components/comment_resolve_btn.js
+++ b/app/assets/javascripts/diff_notes/components/comment_resolve_btn.js
@@ -32,15 +32,15 @@ const CommentAndResolveBtn = Vue.extend({
buttonText: function() {
if (this.isDiscussionResolved) {
if (this.textareaIsEmpty) {
- return __('Unresolve discussion');
+ return __('Unresolve thread');
} else {
- return __('Comment & unresolve discussion');
+ return __('Comment & unresolve thread');
}
} else {
if (this.textareaIsEmpty) {
- return __('Resolve discussion');
+ return __('Resolve thread');
} else {
- return __('Comment & resolve discussion');
+ return __('Comment & resolve thread');
}
}
},
diff --git a/app/assets/javascripts/diffs/components/commit_item.vue b/app/assets/javascripts/diffs/components/commit_item.vue
index aaa9f8b759..58d5b658b1 100644
--- a/app/assets/javascripts/diffs/components/commit_item.vue
+++ b/app/assets/javascripts/diffs/components/commit_item.vue
@@ -49,6 +49,8 @@ export default {
return this.author.id ? this.author.id : '';
},
authorUrl() {
+ // TODO: when the vue i18n rules are merged need to disable @gitlab/i18n/no-non-i18n-strings
+ // name: 'mailto:' is a false positive: https://gitlab.com/gitlab-org/frontend/eslint-plugin-i18n/issues/26#possible-false-positives
return this.author.web_url || `mailto:${this.commit.author_email}`;
},
authorAvatar() {
@@ -80,7 +82,7 @@ export default {
v-html="commit.title_html"
>
- · {{ commit.short_id }}
+ · {{ commit.short_id }}
@@ -94,9 +95,10 @@ export default {
class="js-manual-action-link no-btn btn d-flex align-items-center"
@click="onClickAction(action)"
>
- {{ action.name }}
+ {{ action.name }}
- {{ remainingTime(action) }}
+
+ {{ remainingTime(action) }}
diff --git a/app/assets/javascripts/environments/components/environment_item.vue b/app/assets/javascripts/environments/components/environment_item.vue
index f0e80cba75..813045cb5e 100644
--- a/app/assets/javascripts/environments/components/environment_item.vue
+++ b/app/assets/javascripts/environments/components/environment_item.vue
@@ -1,4 +1,5 @@
-
-
-
-
+
diff --git a/app/assets/javascripts/groups/components/item_caret.vue b/app/assets/javascripts/groups/components/item_caret.vue
index 43b9607ea8..18ea481987 100644
--- a/app/assets/javascripts/groups/components/item_caret.vue
+++ b/app/assets/javascripts/groups/components/item_caret.vue
@@ -21,5 +21,5 @@ export default {
-
+
diff --git a/app/assets/javascripts/groups/components/item_stats.vue b/app/assets/javascripts/groups/components/item_stats.vue
index bc6851ea2b..734a9a89c7 100644
--- a/app/assets/javascripts/groups/components/item_stats.vue
+++ b/app/assets/javascripts/groups/components/item_stats.vue
@@ -48,7 +48,7 @@ export default {
:title="__('Subgroups')"
:value="item.subgroupCount"
css-class="number-subgroups"
- icon-name="folder"
+ icon-name="folder-o"
/>
-
diff --git a/app/assets/javascripts/groups/components/item_type_icon.vue b/app/assets/javascripts/groups/components/item_type_icon.vue
index e1ebd03cb5..ae69fbd7bd 100644
--- a/app/assets/javascripts/groups/components/item_type_icon.vue
+++ b/app/assets/javascripts/groups/components/item_type_icon.vue
@@ -20,7 +20,7 @@ export default {
computed: {
iconClass() {
if (this.itemType === ITEM_TYPE.GROUP) {
- return this.isGroupOpen ? 'folder-open' : 'folder';
+ return this.isGroupOpen ? 'folder-open' : 'folder-o';
}
return 'bookmark';
},
diff --git a/app/assets/javascripts/groups_select.js b/app/assets/javascripts/groups_select.js
index a1263d1cda..f1cc675658 100644
--- a/app/assets/javascripts/groups_select.js
+++ b/app/assets/javascripts/groups_select.js
@@ -77,9 +77,7 @@ export default function groupsSelect() {
}
},
formatResult(object) {
- return `
${
- object.full_name
- }
${object.full_path}
`;
+ return `
${object.full_name}
${object.full_path}
`;
},
formatSelection(object) {
return object.full_name;
diff --git a/app/assets/javascripts/ide/components/commit_sidebar/list_item.vue b/app/assets/javascripts/ide/components/commit_sidebar/list_item.vue
index 4be4b02ac1..c8fbc3cb9f 100644
--- a/app/assets/javascripts/ide/components/commit_sidebar/list_item.vue
+++ b/app/assets/javascripts/ide/components/commit_sidebar/list_item.vue
@@ -107,7 +107,8 @@ export default {
@click="openFileInEditor"
>
- {{ file.name }}
+
+ {{ file.name }}
diff --git a/app/assets/javascripts/ide/components/external_link.vue b/app/assets/javascripts/ide/components/external_link.vue
index 954f84cea1..d1857f0176 100644
--- a/app/assets/javascripts/ide/components/external_link.vue
+++ b/app/assets/javascripts/ide/components/external_link.vue
@@ -27,7 +27,7 @@ export default {
target="_blank"
rel="noopener noreferrer"
>
- Open in file view
+ {{ __('Open in file view') }}
diff --git a/app/assets/javascripts/ide/components/ide_tree_list.vue b/app/assets/javascripts/ide/components/ide_tree_list.vue
index 95782b2c88..1af86a9448 100644
--- a/app/assets/javascripts/ide/components/ide_tree_list.vue
+++ b/app/assets/javascripts/ide/components/ide_tree_list.vue
@@ -30,6 +30,9 @@ export default {
showLoading() {
return !this.currentTree || this.currentTree.loading;
},
+ actualTreeList() {
+ return this.currentTree.tree.filter(entry => !entry.moved);
+ },
},
mounted() {
this.updateViewer(this.viewerType);
@@ -54,9 +57,9 @@ export default {
-
+
this.refreshEditorDimensions());
+ }
},
},
beforeDestroy() {
@@ -128,7 +144,9 @@ export default {
'triggerFilesChange',
]),
initEditor() {
- if (this.shouldHideEditor) return;
+ if (this.shouldHideEditor && (this.file.content || this.file.raw)) {
+ return;
+ }
this.editor.clearEditor();
@@ -145,7 +163,14 @@ export default {
this.createEditorInstance();
})
.catch(err => {
- flash('Error setting up editor. Please try again.', 'alert', document, null, false, true);
+ flash(
+ __('Error setting up editor. Please try again.'),
+ 'alert',
+ document,
+ null,
+ false,
+ true,
+ );
throw err;
});
},
@@ -212,6 +237,11 @@ export default {
eol: this.model.eol,
});
},
+ refreshEditorDimensions() {
+ if (this.showEditor) {
+ this.editor.updateDimensions();
+ }
+ },
},
viewerTypes,
};
@@ -227,12 +257,8 @@ export default {
role="button"
@click.prevent="setFileViewMode({ file, viewMode: 'editor' })"
>
-
- {{ __('Edit') }}
-
-
- {{ __('Review') }}
-
+ {{ __('Edit') }}
+ {{ __('Review') }}
@@ -240,16 +266,15 @@ export default {
href="javascript:void(0);"
role="button"
@click.prevent="setFileViewMode({ file, viewMode: 'preview' })"
+ >{{ file.previewMode.previewTitle }}
- {{ file.previewMode.previewTitle }}
-
{
}
commit(types.DELETE_ENTRY, path);
-
- if (entry.parentPath && state.entries[entry.parentPath].tree.length === 0) {
- dispatch('deleteEntry', entry.parentPath);
- }
+ dispatch('stageChange', path);
dispatch('triggerFilesChange');
};
@@ -238,10 +236,15 @@ export const renameEntry = (
parentPath: newParentPath,
});
});
- }
+ } else {
+ const newPath = parentPath ? `${parentPath}/${name}` : name;
+ const newEntry = state.entries[newPath];
+ commit(types.TOGGLE_FILE_CHANGED, { file: newEntry, changed: true });
- if (!entryPath && !entry.tempFile) {
- dispatch('deleteEntry', path);
+ if (entry.opened) {
+ router.push(`/project${newEntry.url}`);
+ commit(types.TOGGLE_FILE_OPEN, entry.path);
+ }
}
dispatch('triggerFilesChange');
diff --git a/app/assets/javascripts/ide/stores/actions/file.js b/app/assets/javascripts/ide/stores/actions/file.js
index dc40a1fa6a..7627b6e03a 100644
--- a/app/assets/javascripts/ide/stores/actions/file.js
+++ b/app/assets/javascripts/ide/stores/actions/file.js
@@ -73,7 +73,9 @@ export const getFileData = (
.getFileData(joinPaths(gon.relative_url_root || '', url.replace('/-/', '/')))
.then(({ data, headers }) => {
const normalizedHeaders = normalizeHeaders(headers);
- setPageTitle(decodeURI(normalizedHeaders['PAGE-TITLE']));
+ let title = normalizedHeaders['PAGE-TITLE'];
+ title = file.prevPath ? title.replace(file.prevPath, file.path) : title;
+ setPageTitle(decodeURI(title));
if (data) commit(types.SET_FILE_DATA, { data, file });
if (openFile) commit(types.TOGGLE_FILE_OPEN, path);
diff --git a/app/assets/javascripts/ide/stores/modules/commit/actions.js b/app/assets/javascripts/ide/stores/modules/commit/actions.js
index ff1255ce74..ac34491c1a 100644
--- a/app/assets/javascripts/ide/stores/modules/commit/actions.js
+++ b/app/assets/javascripts/ide/stores/modules/commit/actions.js
@@ -63,9 +63,7 @@ export const setLastCommitMessage = ({ commit, rootGetters }, data) => {
const commitMsg = sprintf(
__('Your changes have been committed. Commit %{commitId} %{commitStats}'),
{
- commitId: `
${
- data.short_id
- }`,
+ commitId: `
${data.short_id}`,
commitStats,
},
false,
@@ -188,6 +186,8 @@ export const commitChanges = ({ commit, state, getters, dispatch, rootState, roo
commit(rootTypes.CLEAR_STAGED_CHANGES, null, { root: true });
+ commit(rootTypes.CLEAR_REPLACED_FILES, null, { root: true });
+
setTimeout(() => {
commit(rootTypes.SET_LAST_COMMIT_MSG, '', { root: true });
}, 5000);
@@ -215,9 +215,7 @@ export const commitChanges = ({ commit, state, getters, dispatch, rootState, roo
if (rootGetters.activeFile) {
router.push(
- `/project/${rootState.currentProjectId}/blob/${getters.branchName}/-/${
- rootGetters.activeFile.path
- }`,
+ `/project/${rootState.currentProjectId}/blob/${getters.branchName}/-/${rootGetters.activeFile.path}`,
);
}
}
diff --git a/app/assets/javascripts/ide/stores/mutation_types.js b/app/assets/javascripts/ide/stores/mutation_types.js
index 86ab76136d..f021729c45 100644
--- a/app/assets/javascripts/ide/stores/mutation_types.js
+++ b/app/assets/javascripts/ide/stores/mutation_types.js
@@ -60,6 +60,8 @@ export const CLEAR_STAGED_CHANGES = 'CLEAR_STAGED_CHANGES';
export const STAGE_CHANGE = 'STAGE_CHANGE';
export const UNSTAGE_CHANGE = 'UNSTAGE_CHANGE';
+export const CLEAR_REPLACED_FILES = 'CLEAR_REPLACED_FILES';
+
export const UPDATE_FILE_AFTER_COMMIT = 'UPDATE_FILE_AFTER_COMMIT';
export const ADD_PENDING_TAB = 'ADD_PENDING_TAB';
export const REMOVE_PENDING_TAB = 'REMOVE_PENDING_TAB';
diff --git a/app/assets/javascripts/ide/stores/mutations.js b/app/assets/javascripts/ide/stores/mutations.js
index ae42b87c9a..ea125214eb 100644
--- a/app/assets/javascripts/ide/stores/mutations.js
+++ b/app/assets/javascripts/ide/stores/mutations.js
@@ -56,6 +56,11 @@ export default {
stagedFiles: [],
});
},
+ [types.CLEAR_REPLACED_FILES](state) {
+ Object.assign(state, {
+ replacedFiles: [],
+ });
+ },
[types.SET_ENTRIES](state, entries) {
Object.assign(state, {
entries,
@@ -70,6 +75,13 @@ export default {
Object.assign(state.entries, {
[key]: entry,
});
+ } else if (foundEntry.deleted) {
+ Object.assign(state.entries, {
+ [key]: {
+ ...entry,
+ replaces: true,
+ },
+ });
} else {
const tree = entry.tree.filter(
f => foundEntry.tree.find(e => e.path === f.path) === undefined,
@@ -144,6 +156,7 @@ export default {
raw: file.content,
changed: Boolean(changedFile),
staged: false,
+ replaces: false,
prevPath: '',
moved: false,
lastCommitSha: lastCommit.commit.id,
@@ -216,15 +229,16 @@ export default {
Vue.set(state.entries, newPath, {
...oldEntry,
id: newPath,
- key: `${newPath}-${oldEntry.type}-${oldEntry.id}`,
+ key: `${newPath}-${oldEntry.type}-${oldEntry.path}`,
path: newPath,
name: entryPath ? oldEntry.name : name,
tempFile: true,
prevPath: oldEntry.tempFile ? null : oldEntry.path,
url: oldEntry.url.replace(new RegExp(`${oldEntry.path}/?$`), newPath),
tree: [],
- parentPath,
raw: '',
+ opened: false,
+ parentPath,
});
oldEntry.moved = true;
@@ -241,10 +255,6 @@ export default {
state.changedFiles = state.changedFiles.concat(newEntry);
}
- if (state.entries[newPath].opened) {
- state.openFiles.push(state.entries[newPath]);
- }
-
if (oldEntry.tempFile) {
const filterMethod = f => f.path !== oldEntry.path;
diff --git a/app/assets/javascripts/ide/stores/mutations/file.js b/app/assets/javascripts/ide/stores/mutations/file.js
index 6ca246c1d6..a52f1e235e 100644
--- a/app/assets/javascripts/ide/stores/mutations/file.js
+++ b/app/assets/javascripts/ide/stores/mutations/file.js
@@ -1,6 +1,7 @@
import * as types from '../mutation_types';
import { sortTree } from '../utils';
import { diffModes } from '../../constants';
+import { convertObjectPropsToCamelCase } from '~/lib/utils/common_utils';
export default {
[types.SET_FILE_ACTIVE](state, { path, active }) {
@@ -35,19 +36,18 @@ export default {
}
},
[types.SET_FILE_DATA](state, { data, file }) {
- Object.assign(state.entries[file.path], {
- id: data.id,
- blamePath: data.blame_path,
- commitsPath: data.commits_path,
- permalink: data.permalink,
- rawPath: data.raw_path,
- binary: data.binary,
- renderError: data.render_error,
- raw: (state.entries[file.path] && state.entries[file.path].raw) || null,
- baseRaw: null,
- html: data.html,
- size: data.size,
- lastCommitSha: data.last_commit_sha,
+ const stateEntry = state.entries[file.path];
+ const stagedFile = state.stagedFiles.find(f => f.path === file.path);
+ const openFile = state.openFiles.find(f => f.path === file.path);
+ const changedFile = state.changedFiles.find(f => f.path === file.path);
+
+ [stateEntry, stagedFile, openFile, changedFile].forEach(f => {
+ if (f) {
+ Object.assign(f, convertObjectPropsToCamelCase(data, { dropKeys: ['raw', 'baseRaw'] }), {
+ raw: (stateEntry && stateEntry.raw) || null,
+ baseRaw: null,
+ });
+ }
});
},
[types.SET_FILE_RAW_DATA](state, { file, raw }) {
@@ -170,12 +170,16 @@ export default {
entries: Object.assign(state.entries, {
[path]: Object.assign(state.entries[path], {
staged: true,
- changed: false,
}),
}),
});
if (stagedFile) {
+ Object.assign(state, {
+ replacedFiles: state.replacedFiles.concat({
+ ...stagedFile,
+ }),
+ });
Object.assign(stagedFile, {
...state.entries[path],
});
diff --git a/app/assets/javascripts/ide/stores/state.js b/app/assets/javascripts/ide/stores/state.js
index d400b9831a..c4da482bf0 100644
--- a/app/assets/javascripts/ide/stores/state.js
+++ b/app/assets/javascripts/ide/stores/state.js
@@ -6,6 +6,7 @@ export default () => ({
currentMergeRequestId: '',
changedFiles: [],
stagedFiles: [],
+ replacedFiles: [],
endpoints: {},
lastCommitMsg: '',
lastCommitPath: '',
diff --git a/app/assets/javascripts/ide/stores/utils.js b/app/assets/javascripts/ide/stores/utils.js
index 4e7a8765ab..01f78a29cf 100644
--- a/app/assets/javascripts/ide/stores/utils.js
+++ b/app/assets/javascripts/ide/stores/utils.js
@@ -18,6 +18,7 @@ export const dataStructure = () => ({
active: false,
changed: false,
staged: false,
+ replaces: false,
lastCommitPath: '',
lastCommitSha: '',
lastCommit: {
@@ -119,7 +120,7 @@ export const commitActionForFile = file => {
return commitActionTypes.move;
} else if (file.deleted) {
return commitActionTypes.delete;
- } else if (file.tempFile) {
+ } else if (file.tempFile && !file.replaces) {
return commitActionTypes.create;
}
@@ -147,11 +148,12 @@ export const createCommitPayload = ({
commit_message: state.commitMessage || getters.preBuiltCommitMessage,
actions: getCommitFiles(rootState.stagedFiles).map(f => ({
action: commitActionForFile(f),
- file_path: f.path,
+ file_path: f.moved ? f.movedPath : f.path,
previous_path: f.prevPath === '' ? undefined : f.prevPath,
- content: f.content || undefined,
+ content: f.prevPath ? null : f.content || undefined,
encoding: f.base64 ? 'base64' : 'text',
- last_commit_id: newBranch || f.deleted || f.prevPath ? undefined : f.lastCommitSha,
+ last_commit_id:
+ newBranch || f.deleted || f.prevPath || f.replaces ? undefined : f.lastCommitSha,
})),
start_sha: newBranch ? rootGetters.lastCommit.short_id : undefined,
});
diff --git a/app/assets/javascripts/ide/utils.js b/app/assets/javascripts/ide/utils.js
index d895eca7af..ae579fef25 100644
--- a/app/assets/javascripts/ide/utils.js
+++ b/app/assets/javascripts/ide/utils.js
@@ -3,7 +3,7 @@ import { commitItemIconMap } from './constants';
export const getCommitIconMap = file => {
if (file.deleted) {
return commitItemIconMap.deleted;
- } else if (file.tempFile) {
+ } else if (file.tempFile && !file.prevPath) {
return commitItemIconMap.addition;
}
diff --git a/app/assets/javascripts/issuable_bulk_update_actions.js b/app/assets/javascripts/issuable_bulk_update_actions.js
index bc9d7fcf30..c855f3973b 100644
--- a/app/assets/javascripts/issuable_bulk_update_actions.js
+++ b/app/assets/javascripts/issuable_bulk_update_actions.js
@@ -1,4 +1,4 @@
-/* eslint-disable consistent-return, func-names, array-callback-return, prefer-arrow-callback, no-unused-vars */
+/* eslint-disable consistent-return, func-names, array-callback-return, prefer-arrow-callback */
import $ from 'jquery';
import _ from 'underscore';
@@ -7,7 +7,7 @@ import Flash from './flash';
import { __ } from './locale';
export default {
- init({ container, form, issues, prefixId } = {}) {
+ init({ form, issues, prefixId } = {}) {
this.prefixId = prefixId || 'issue_';
this.form = form || this.getElement('.bulk-update');
this.$labelDropdown = this.form.find('.js-label-select');
diff --git a/app/assets/javascripts/issuable_index.js b/app/assets/javascripts/issuable_index.js
index 16f88cddce..f3f8b6ec71 100644
--- a/app/assets/javascripts/issuable_index.js
+++ b/app/assets/javascripts/issuable_index.js
@@ -2,26 +2,13 @@ import $ from 'jquery';
import axios from './lib/utils/axios_utils';
import flash from './flash';
import { s__, __ } from './locale';
-import IssuableBulkUpdateSidebar from './issuable_bulk_update_sidebar';
-import IssuableBulkUpdateActions from './issuable_bulk_update_actions';
+import issuableInitBulkUpdateSidebar from './issuable_init_bulk_update_sidebar';
export default class IssuableIndex {
constructor(pagePrefix) {
- this.initBulkUpdate(pagePrefix);
+ issuableInitBulkUpdateSidebar.init(pagePrefix);
IssuableIndex.resetIncomingEmailToken();
}
- initBulkUpdate(pagePrefix) {
- const userCanBulkUpdate = $('.issues-bulk-update').length > 0;
- const alreadyInitialized = Boolean(this.bulkUpdateSidebar);
-
- if (userCanBulkUpdate && !alreadyInitialized) {
- IssuableBulkUpdateActions.init({
- prefixId: pagePrefix,
- });
-
- this.bulkUpdateSidebar = new IssuableBulkUpdateSidebar();
- }
- }
static resetIncomingEmailToken() {
const $resetToken = $('.incoming-email-token-reset');
diff --git a/app/assets/javascripts/issuable_init_bulk_update_sidebar.js b/app/assets/javascripts/issuable_init_bulk_update_sidebar.js
new file mode 100644
index 0000000000..da8969c80f
--- /dev/null
+++ b/app/assets/javascripts/issuable_init_bulk_update_sidebar.js
@@ -0,0 +1,19 @@
+import IssuableBulkUpdateSidebar from './issuable_bulk_update_sidebar';
+import issuableBulkUpdateActions from './issuable_bulk_update_actions';
+
+export default {
+ bulkUpdateSidebar: null,
+
+ init(prefixId) {
+ const bulkUpdateEl = document.querySelector('.issues-bulk-update');
+ const alreadyInitialized = Boolean(this.bulkUpdateSidebar);
+
+ if (bulkUpdateEl && !alreadyInitialized) {
+ issuableBulkUpdateActions.init({ prefixId });
+
+ this.bulkUpdateSidebar = new IssuableBulkUpdateSidebar();
+ }
+
+ return this.bulkUpdateSidebar;
+ },
+};
diff --git a/app/assets/javascripts/issuable_suggestions/components/app.vue b/app/assets/javascripts/issuable_suggestions/components/app.vue
index 575c860851..d435460e38 100644
--- a/app/assets/javascripts/issuable_suggestions/components/app.vue
+++ b/app/assets/javascripts/issuable_suggestions/components/app.vue
@@ -4,7 +4,7 @@ import { GlTooltipDirective } from '@gitlab/ui';
import { __ } from '~/locale';
import Icon from '~/vue_shared/components/icon.vue';
import Suggestion from './item.vue';
-import query from '../queries/issues.graphql';
+import query from '../queries/issues.query.graphql';
export default {
components: {
diff --git a/app/assets/javascripts/issuable_suggestions/queries/issues.graphql b/app/assets/javascripts/issuable_suggestions/queries/issues.query.graphql
similarity index 100%
rename from app/assets/javascripts/issuable_suggestions/queries/issues.graphql
rename to app/assets/javascripts/issuable_suggestions/queries/issues.query.graphql
diff --git a/app/assets/javascripts/issue_show/components/app.vue b/app/assets/javascripts/issue_show/components/app.vue
index de2a9664cd..9ca38d6bbf 100644
--- a/app/assets/javascripts/issue_show/components/app.vue
+++ b/app/assets/javascripts/issue_show/components/app.vue
@@ -55,6 +55,11 @@ export default {
required: false,
default: true,
},
+ zoomMeetingUrl: {
+ type: String,
+ required: false,
+ default: null,
+ },
issuableRef: {
type: String,
required: true,
@@ -342,7 +347,7 @@ export default {
:title-text="state.titleText"
:show-inline-edit-button="showInlineEditButton"
/>
-
+
- Cancel
+
+ {{ __('Cancel') }}
+
-
+
diff --git a/app/assets/javascripts/issue_show/components/fields/description_template.vue b/app/assets/javascripts/issue_show/components/fields/description_template.vue
index 14f0acf654..6f955928d8 100644
--- a/app/assets/javascripts/issue_show/components/fields/description_template.vue
+++ b/app/assets/javascripts/issue_show/components/fields/description_template.vue
@@ -56,22 +56,31 @@ export default {
data-selected="null"
data-toggle="dropdown"
>
- Choose a template
+ {{ __('Choose a template') }}