From 592223823c8ebf6e32d98e4b12620ba8ff043cca Mon Sep 17 00:00:00 2001 From: GitLab Bot Date: Thu, 3 Sep 2020 18:08:29 +0000 Subject: Add latest changes from gitlab-org/gitlab@master --- .gitlab/ci/rails.gitlab-ci.yml | 15 + .rubocop_todo.yml | 35 - GITLAB_WORKHORSE_VERSION | 2 +- app/assets/javascripts/ajax_loading_spinner.js | 5 +- .../javascripts/boards/components/board_form.vue | 5 + .../boards/components/boards_selector.vue | 5 + .../javascripts/ide/components/pipelines/list.vue | 8 +- .../javascripts/jobs/components/log/line.vue | 2 +- .../jobs/components/log/line_header.vue | 2 +- .../milestones/project_milestone_combobox.vue | 10 +- .../notes/components/note_signed_out_widget.vue | 7 +- .../index/components/delete_project_modal.vue | 9 +- .../components/pipelines_list/nav_controls.vue | 9 +- .../projects/components/shared/delete_button.vue | 2 +- .../javascripts/snippets/components/edit.vue | 30 +- .../components/snippet_visibility_edit.vue | 50 +- app/assets/javascripts/snippets/constants.js | 12 + app/assets/javascripts/snippets/index.js | 13 +- .../queries/snippet_visibility.query.graphql | 5 + app/assets/javascripts/snippets/utils/blob.js | 15 + .../vue_shared/components/markdown/suggestions.vue | 7 +- .../components/sidebar/labels_select/base.vue | 23 +- .../labels_select/dropdown_create_label.vue | 16 +- app/assets/stylesheets/framework/common.scss | 1 - app/assets/stylesheets/framework/dropdowns.scss | 7 + app/models/ci/pipeline.rb | 6 +- app/models/merge_request.rb | 2 +- app/models/packages/pypi/metadatum.rb | 1 + .../packages/nuget/search_results_presenter.rb | 2 +- .../ci/pipelines/create_artifact_service.rb | 4 +- .../packages/pypi/create_package_service.rb | 10 +- app/views/groups/packages/index.html.haml | 2 +- .../projects/packages/packages/index.html.haml | 2 +- .../projects/packages/packages/show.html.haml | 4 +- app/views/shared/boards/_switcher.html.haml | 1 + app/views/shared/snippets/_form.html.haml | 3 +- changelogs/archive-10-ee.md | 1097 ------------ changelogs/archive-11-ee.md | 1731 ------------------- changelogs/archive-12-ee.md | 1739 ------------------- changelogs/archive-ee.md | 1799 -------------------- ...-assets-javascripts-ajax_loading_spinner-js.yml | 5 + ...age-registry-breadcrumb-to-match-navigation.yml | 5 + .../unreleased/241492-check-pypi-metadata-size.yml | 5 + changelogs/unreleased/241879-Replace-v-html.yml | 5 + changelogs/unreleased/241897-Replace-v-html.yml | 5 + changelogs/unreleased/241941-Replace-v-html.yml | 5 + changelogs/unreleased/241966-Replace-v-html.yml | 5 + .../unreleased/eb-update-workhorse-8-45-0.yml | 5 + ...ix-missing-create-manage-labels-issue-board.yml | 5 + changelogs/unreleased/rails-save-bang-17.yml | 5 + changelogs/unreleased/rails-save-bang-18.yml | 5 + changelogs/unreleased/rails-save-bang-22.yml | 5 + changelogs/unreleased/rails-save-bang-23.yml | 5 + changelogs/unreleased/rails-save-bang-25.yml | 5 + changelogs/unreleased/rails-save-bang-27.yml | 5 + changelogs/unreleased/rails-save-bang-28.yml | 5 + changelogs/unreleased/redundant-sort-cop.yml | 5 + changelogs/unreleased/sh-log-psql-errors.yml | 5 + danger/database/Dangerfile | 8 +- danger/documentation/Dangerfile | 6 - danger/specialization_labels/Dangerfile | 25 + doc/api/README.md | 10 +- doc/api/freeze_periods.md | 10 +- doc/api/graphql/reference/gitlab_schema.graphql | 31 + doc/api/graphql/reference/gitlab_schema.json | 115 ++ doc/api/graphql/reference/index.md | 9 + doc/ci/environments/protected_environments.md | 35 + doc/ci/yaml/README.md | 5 +- doc/development/documentation/styleguide.md | 16 +- doc/development/testing_guide/best_practices.md | 42 + .../incident_management/alert_details.md | 6 + doc/operations/incident_management/alerts.md | 4 + doc/operations/incident_management/incidents.md | 4 + doc/raketasks/backup_restore.md | 18 + doc/user/gitlab_com/index.md | 4 +- .../helpers/packages_manager_clients_helpers.rb | 16 - lib/backup/database.rb | 59 +- lib/gitlab/danger/helper.rb | 12 - lib/gitlab/task_helpers.rb | 2 + lib/gitlab/tracking.rb | 9 +- lib/gitlab_danger.rb | 1 + lib/tasks/gitlab/backup.rake | 16 +- locale/gitlab.pot | 15 + spec/factories/projects.rb | 6 +- spec/frontend/ajax_loading_spinner_spec.js | 10 +- spec/frontend/boards/components/board_form_spec.js | 1 + .../boards/components/boards_selector_spec.js | 1 + .../project_delete_button_spec.js.snap | 2 +- .../__snapshots__/delete_button_spec.js.snap | 2 +- .../snippet_visibility_edit_spec.js.snap | 8 + spec/frontend/snippets/components/edit_spec.js | 7 + .../components/snippet_visibility_edit_spec.js | 122 +- .../labels_select/dropdown_create_label_spec.js | 7 +- .../components/sidebar/labels_select/mock_data.js | 46 +- .../packages_manager_clients_helpers_spec.rb | 32 - spec/lib/backup/database_spec.rb | 52 + spec/lib/gitlab/danger/helper_spec.rb | 16 - spec/models/ci/pipeline_spec.rb | 16 + spec/models/cycle_analytics/issue_spec.rb | 8 +- spec/models/cycle_analytics/plan_spec.rb | 6 +- spec/models/cycle_analytics/production_spec.rb | 2 +- spec/models/environment_spec.rb | 4 +- spec/models/note_spec.rb | 18 +- spec/models/remote_mirror_spec.rb | 6 +- .../nuget/search_results_presenter_spec.rb | 2 +- spec/requests/api/access_requests_spec.rb | 2 +- spec/requests/api/boards_spec.rb | 4 +- spec/requests/api/branches_spec.rb | 4 +- spec/requests/api/pages/internal_access_spec.rb | 2 +- spec/requests/api/pages/private_access_spec.rb | 2 +- spec/requests/api/pages/public_access_spec.rb | 2 +- spec/requests/api/pypi_packages_spec.rb | 16 +- spec/requests/projects/metrics_dashboard_spec.rb | 7 +- spec/serializers/environment_status_entity_spec.rb | 2 +- spec/serializers/issue_entity_spec.rb | 2 +- spec/serializers/job_entity_spec.rb | 4 +- .../merge_request_poll_widget_entity_spec.rb | 2 +- .../merge_request_widget_entity_spec.rb | 4 +- .../destroy_expired_job_artifacts_service_spec.rb | 4 +- spec/services/issues/close_service_spec.rb | 2 +- spec/services/issues/create_service_spec.rb | 6 +- spec/services/issues/export_csv_service_spec.rb | 4 +- spec/services/issues/reopen_service_spec.rb | 2 +- spec/services/issues/update_service_spec.rb | 16 +- .../packages/pypi/create_package_service_spec.rb | 14 +- .../projects/overwrite_project_service_spec.rb | 2 + spec/spec_helper.rb | 1 + spec/support/helpers/features/releases_helpers.rb | 17 +- spec/support/helpers/snowplow_helpers.rb | 53 + spec/support/snowplow.rb | 22 + 130 files changed, 1109 insertions(+), 6727 deletions(-) create mode 100644 app/assets/javascripts/snippets/queries/snippet_visibility.query.graphql delete mode 100644 changelogs/archive-10-ee.md delete mode 100644 changelogs/archive-11-ee.md delete mode 100644 changelogs/archive-12-ee.md delete mode 100644 changelogs/archive-ee.md create mode 100644 changelogs/unreleased/202261-migrate-spinner-for-app-assets-javascripts-ajax_loading_spinner-js.yml create mode 100644 changelogs/unreleased/225166-adjust-the-package-registry-breadcrumb-to-match-navigation.yml create mode 100644 changelogs/unreleased/241492-check-pypi-metadata-size.yml create mode 100644 changelogs/unreleased/241879-Replace-v-html.yml create mode 100644 changelogs/unreleased/241897-Replace-v-html.yml create mode 100644 changelogs/unreleased/241941-Replace-v-html.yml create mode 100644 changelogs/unreleased/241966-Replace-v-html.yml create mode 100644 changelogs/unreleased/eb-update-workhorse-8-45-0.yml create mode 100644 changelogs/unreleased/kp-fix-missing-create-manage-labels-issue-board.yml create mode 100644 changelogs/unreleased/rails-save-bang-17.yml create mode 100644 changelogs/unreleased/rails-save-bang-18.yml create mode 100644 changelogs/unreleased/rails-save-bang-22.yml create mode 100644 changelogs/unreleased/rails-save-bang-23.yml create mode 100644 changelogs/unreleased/rails-save-bang-25.yml create mode 100644 changelogs/unreleased/rails-save-bang-27.yml create mode 100644 changelogs/unreleased/rails-save-bang-28.yml create mode 100644 changelogs/unreleased/redundant-sort-cop.yml create mode 100644 changelogs/unreleased/sh-log-psql-errors.yml create mode 100644 danger/specialization_labels/Dangerfile create mode 100644 spec/lib/backup/database_spec.rb create mode 100644 spec/support/helpers/snowplow_helpers.rb create mode 100644 spec/support/snowplow.rb diff --git a/.gitlab/ci/rails.gitlab-ci.yml b/.gitlab/ci/rails.gitlab-ci.yml index 057c2b3a510..813a55eb3b5 100644 --- a/.gitlab/ci/rails.gitlab-ci.yml +++ b/.gitlab/ci/rails.gitlab-ci.yml @@ -296,6 +296,21 @@ gitlab:setup: paths: - log/*.log +db:backup_and_restore: + extends: .db-job-base + variables: + SETUP_DB: "false" + GITLAB_ASSUME_YES: "1" + script: + - . scripts/prepare_build.sh + - bundle exec rake db:drop db:create db:structure:load db:seed_fu + - mkdir -p tmp/tests/public/uploads tmp/tests/{artifacts,pages,lfs-objects,registry} + - bundle exec rake gitlab:backup:create + - date + - bundle exec rake gitlab:backup:restore + rules: + - changes: ["lib/backup/**/*"] + rspec:coverage: extends: - .rails-job-base diff --git a/.rubocop_todo.yml b/.rubocop_todo.yml index cafba1c6149..4776936ccce 100644 --- a/.rubocop_todo.yml +++ b/.rubocop_todo.yml @@ -638,13 +638,6 @@ Style/RedundantInterpolation: Style/RedundantSelf: Enabled: false -# Offense count: 2 -# Cop supports --auto-correct. -Style/RedundantSort: - Exclude: - - 'app/presenters/packages/nuget/search_results_presenter.rb' - - 'spec/presenters/packages/nuget/search_results_presenter_spec.rb' - # Offense count: 120 # Cop supports --auto-correct. # Configuration parameters: EnforcedStyle, AllowInnerSlashes. @@ -697,11 +690,6 @@ Rails/SaveBang: - 'ee/spec/initializers/fog_google_https_private_urls_spec.rb' - 'ee/spec/lib/analytics/merge_request_metrics_calculator_spec.rb' - 'ee/spec/lib/ee/gitlab/auth/ldap/sync/group_spec.rb' - - 'ee/spec/lib/ee/gitlab/background_migration/migrate_approver_to_approval_rules_spec.rb' - - 'ee/spec/lib/ee/gitlab/background_migration/move_epic_issues_after_epics_spec.rb' - - 'ee/spec/lib/ee/gitlab/background_migration/populate_any_approval_rule_for_merge_requests_spec.rb' - - 'ee/spec/lib/ee/gitlab/background_migration/populate_any_approval_rule_for_projects_spec.rb' - - 'ee/spec/lib/ee/gitlab/background_migration/prune_orphaned_geo_events_spec.rb' - 'ee/spec/lib/ee/gitlab/checks/push_rules/commit_check_spec.rb' - 'ee/spec/lib/ee/gitlab/ci/pipeline/quota/activity_spec.rb' - 'ee/spec/lib/gitlab/auth/ldap/access_spec.rb' @@ -829,10 +817,6 @@ Rails/SaveBang: - 'ee/spec/services/merge_requests/remove_approval_service_spec.rb' - 'ee/spec/services/merge_requests/update_blocks_service_spec.rb' - 'ee/spec/services/merge_trains/refresh_merge_request_service_spec.rb' - - 'ee/spec/services/projects/after_rename_service_spec.rb' - - 'ee/spec/services/projects/import_export/export_service_spec.rb' - - 'ee/spec/services/projects/update_mirror_service_spec.rb' - - 'ee/spec/services/projects/update_service_spec.rb' - 'ee/spec/services/quick_actions/interpret_service_spec.rb' - 'ee/spec/services/slash_commands/global_slack_handler_spec.rb' - 'ee/spec/services/start_pull_mirroring_service_spec.rb' @@ -1111,9 +1095,6 @@ Rails/SaveBang: - 'spec/models/concerns/subscribable_spec.rb' - 'spec/models/concerns/token_authenticatable_spec.rb' - 'spec/models/container_repository_spec.rb' - - 'spec/models/cycle_analytics/issue_spec.rb' - - 'spec/models/cycle_analytics/plan_spec.rb' - - 'spec/models/cycle_analytics/production_spec.rb' - 'spec/models/deploy_keys_project_spec.rb' - 'spec/models/deploy_token_spec.rb' - 'spec/models/deployment_spec.rb' @@ -1172,9 +1153,6 @@ Rails/SaveBang: - 'spec/presenters/ci/build_runner_presenter_spec.rb' - 'spec/presenters/ci/trigger_presenter_spec.rb' - 'spec/presenters/packages/conan/package_presenter_spec.rb' - - 'spec/requests/api/access_requests_spec.rb' - - 'spec/requests/api/boards_spec.rb' - - 'spec/requests/api/branches_spec.rb' - 'spec/requests/api/ci/runner_spec.rb' - 'spec/requests/api/commit_statuses_spec.rb' - 'spec/requests/api/conan_packages_spec.rb' @@ -1196,9 +1174,6 @@ Rails/SaveBang: - 'spec/requests/api/merge_request_diffs_spec.rb' - 'spec/requests/api/merge_requests_spec.rb' - 'spec/requests/api/notes_spec.rb' - - 'spec/requests/api/pages/internal_access_spec.rb' - - 'spec/requests/api/pages/private_access_spec.rb' - - 'spec/requests/api/pages/public_access_spec.rb' - 'spec/requests/api/pipeline_schedules_spec.rb' - 'spec/requests/api/project_import_spec.rb' - 'spec/requests/api/project_milestones_spec.rb' @@ -1208,11 +1183,6 @@ Rails/SaveBang: - 'spec/requests/lfs_http_spec.rb' - 'spec/requests/profiles/notifications_controller_spec.rb' - 'spec/requests/projects/cycle_analytics_events_spec.rb' - - 'spec/serializers/environment_status_entity_spec.rb' - - 'spec/serializers/issue_entity_spec.rb' - - 'spec/serializers/job_entity_spec.rb' - - 'spec/serializers/merge_request_poll_widget_entity_spec.rb' - - 'spec/serializers/merge_request_widget_entity_spec.rb' - 'spec/services/auth/container_registry_authentication_service_spec.rb' - 'spec/services/auto_merge/base_service_spec.rb' - 'spec/services/auto_merge_service_spec.rb' @@ -1232,11 +1202,6 @@ Rails/SaveBang: - 'spec/services/issuable/bulk_update_service_spec.rb' - 'spec/services/issuable/clone/attributes_rewriter_spec.rb' - 'spec/services/issuable/common_system_notes_service_spec.rb' - - 'spec/services/issues/close_service_spec.rb' - - 'spec/services/issues/create_service_spec.rb' - - 'spec/services/issues/export_csv_service_spec.rb' - - 'spec/services/issues/reopen_service_spec.rb' - - 'spec/services/issues/update_service_spec.rb' - 'spec/services/labels/promote_service_spec.rb' - 'spec/services/members/destroy_service_spec.rb' - 'spec/services/merge_requests/build_service_spec.rb' diff --git a/GITLAB_WORKHORSE_VERSION b/GITLAB_WORKHORSE_VERSION index 606159a47ac..29ef4f968d2 100644 --- a/GITLAB_WORKHORSE_VERSION +++ b/GITLAB_WORKHORSE_VERSION @@ -1 +1 @@ -8.44.0 +8.45.0 diff --git a/app/assets/javascripts/ajax_loading_spinner.js b/app/assets/javascripts/ajax_loading_spinner.js index 54e86f329e4..1c95bc5081c 100644 --- a/app/assets/javascripts/ajax_loading_spinner.js +++ b/app/assets/javascripts/ajax_loading_spinner.js @@ -28,7 +28,8 @@ export default class AjaxLoadingSpinner { static toggleLoadingIcon(iconElement) { const { classList } = iconElement; classList.toggle(iconElement.dataset.icon); - classList.toggle('fa-spinner'); - classList.toggle('fa-spin'); + classList.toggle('gl-spinner'); + classList.toggle('gl-spinner-orange'); + classList.toggle('gl-spinner-sm'); } } diff --git a/app/assets/javascripts/boards/components/board_form.vue b/app/assets/javascripts/boards/components/board_form.vue index 616c1e5c254..385dd5fdc71 100644 --- a/app/assets/javascripts/boards/components/board_form.vue +++ b/app/assets/javascripts/boards/components/board_form.vue @@ -29,6 +29,10 @@ export default { type: String, required: true, }, + labelsWebUrl: { + type: String, + required: true, + }, scopedIssueBoardFeatureEnabled: { type: Boolean, required: false, @@ -198,6 +202,7 @@ export default { :board="board" :can-admin-board="canAdminBoard" :labels-path="labelsPath" + :labels-web-url="labelsWebUrl" :enable-scoped-labels="enableScopedLabels" :project-id="projectId" :group-id="groupId" diff --git a/app/assets/javascripts/boards/components/boards_selector.vue b/app/assets/javascripts/boards/components/boards_selector.vue index 708d12f46b2..271e1fc4b5f 100644 --- a/app/assets/javascripts/boards/components/boards_selector.vue +++ b/app/assets/javascripts/boards/components/boards_selector.vue @@ -61,6 +61,10 @@ export default { type: String, required: true, }, + labelsWebUrl: { + type: String, + required: true, + }, projectId: { type: Number, required: true, @@ -332,6 +336,7 @@ export default { -/* eslint-disable vue/no-v-html */ import { mapActions, mapGetters, mapState } from 'vuex'; import { escape } from 'lodash'; -import { GlLoadingIcon, GlIcon } from '@gitlab/ui'; +import { GlLoadingIcon, GlIcon, GlSafeHtmlDirective as SafeHtml } from '@gitlab/ui'; import { sprintf, __ } from '../../../locale'; import CiIcon from '../../../vue_shared/components/ci_icon.vue'; import Tabs from '../../../vue_shared/components/tabs/tabs'; @@ -22,6 +21,9 @@ export default { EmptyState, GlLoadingIcon, }, + directives: { + SafeHtml, + }, computed: { ...mapState(['pipelinesEmptyStateSvgPath', 'links']), ...mapGetters(['currentProject']), @@ -84,7 +86,7 @@ export default {

{{ __('Found errors in your .gitlab-ci.yml:') }}

{{ latestPipeline.yamlError }}

-

+

diff --git a/app/assets/javascripts/jobs/components/log/line.vue b/app/assets/javascripts/jobs/components/log/line.vue index 48f669ae8ed..e68d5b8eda4 100644 --- a/app/assets/javascripts/jobs/components/log/line.vue +++ b/app/assets/javascripts/jobs/components/log/line.vue @@ -20,7 +20,7 @@ export default { return h( 'span', { - class: ['ws-pre-wrap', content.style], + class: ['gl-white-space-pre-wrap', content.style], }, content.text, ); diff --git a/app/assets/javascripts/jobs/components/log/line_header.vue b/app/assets/javascripts/jobs/components/log/line_header.vue index dbd16d55886..4c1c00cb2a7 100644 --- a/app/assets/javascripts/jobs/components/log/line_header.vue +++ b/app/assets/javascripts/jobs/components/log/line_header.vue @@ -52,7 +52,7 @@ export default { {{ content.text }} diff --git a/app/assets/javascripts/milestones/project_milestone_combobox.vue b/app/assets/javascripts/milestones/project_milestone_combobox.vue index b2196bd9ceb..1a94cf2a465 100644 --- a/app/assets/javascripts/milestones/project_milestone_combobox.vue +++ b/app/assets/javascripts/milestones/project_milestone_combobox.vue @@ -13,6 +13,8 @@ import { __, sprintf } from '~/locale'; import Api from '~/api'; import { deprecatedCreateFlash as createFlash } from '~/flash'; +const SEARCH_DEBOUNCE_MS = 250; + export default { components: { GlNewDropdown, @@ -95,12 +97,15 @@ export default { // lodash attaches to the function, which is // made inaccessible by Vue. More info: // https://stackoverflow.com/a/52988020/1063392 - this.debouncedSearchMilestones = debounce(this.searchMilestones, 100); + this.debouncedSearchMilestones = debounce(this.searchMilestones, SEARCH_DEBOUNCE_MS); }, mounted() { this.fetchMilestones(); }, methods: { + focusSearchBox() { + this.$refs.searchBox.$el.querySelector('input').focus(); + }, fetchMilestones() { this.requestCount += 1; @@ -183,7 +188,7 @@ export default {