From ef8c47e97e1c178291e4857314a3f53875d75062 Mon Sep 17 00:00:00 2001 From: GitLab Bot Date: Wed, 20 Jan 2021 15:10:29 +0000 Subject: [PATCH] Add latest changes from gitlab-org/gitlab@master --- .eslintrc.yml | 1 - GITLAB_WORKHORSE_VERSION | 2 +- Gemfile | 2 +- Gemfile.lock | 4 +- .../components/service_desk_root.vue | 67 ++-- .../components/service_desk_setting.vue | 20 +- .../settings_service_desk/event_hub.js | 3 - .../projects/settings_service_desk/index.js | 70 ++--- .../services/service_desk_service.js | 23 -- .../components/list_page/cli_commands.vue | 2 + .../subscriptions/subscriptions.vue | 2 + .../components/registry/list_item.vue | 10 +- app/assets/stylesheets/pages/login.scss | 3 +- .../stylesheets/startup/startup-signin.scss | 3 +- .../commits_with_trailer_finder.rb | 82 +++++ app/graphql/types/notes/discussion_type.rb | 12 +- app/graphql/types/notes/note_type.rb | 2 +- app/models/merge_request_context_commit.rb | 3 + app/models/merge_request_diff_commit.rb | 6 +- app/models/project.rb | 20 +- app/models/repository.rb | 3 +- app/models/service.rb | 11 - .../bulk_create_integration_service.rb | 10 - app/services/feature_flags/base_service.rb | 1 - .../merge_requests/add_context_service.rb | 3 +- app/validators/json_schemas/git_trailers.json | 9 + ...ned_member_access_granted_email.html.haml} | 3 +- ...oned_member_access_granted_email.text.erb} | 3 +- .../jira_connect/sync_feature_flags_worker.rb | 1 - ...715-has_external_issue_tracker_trigger.yml | 5 + .../unreleased/294007-bump-workhorse.yml | 5 + ...i-polish-condense-spacing-to-match-iss.yml | 5 + .../unreleased/296990-enable-jira-ff-sync.yml | 5 + .../unreleased/gitaly-trailer-parsing.yml | 5 + .../unreleased/yo-fix-border-radius.yml | 5 + .../development/jira_sync_feature_flags.yml | 8 - ..._add_merge_request_diff_commit_trailers.rb | 22 ++ ...d_merge_request_context_commit_trailers.rb | 12 + ..._add_has_external_issue_tracker_trigger.rb | 61 ++++ db/schema_migrations/20210106155209 | 1 + db/schema_migrations/20210107154615 | 1 + db/schema_migrations/20210117210226 | 1 + db/structure.sql | 32 +- doc/.vale/gitlab/Admin.yml | 1 + .../graphql/reference/gitlab_schema.graphql | 6 +- doc/api/graphql/reference/gitlab_schema.json | 6 +- doc/api/graphql/reference/index.md | 6 +- doc/user/project/integrations/jira.md | 11 +- .../project/merge_requests/getting_started.md | 3 +- lib/atlassian/jira_connect/client.rb | 2 - lib/gitlab/git/commit.rb | 3 +- lib/gitlab/git/rugged_impl/commit.rb | 1 + lib/gitlab/gitaly_client/commit_service.rb | 3 +- lib/gitlab/global_id.rb | 4 +- locale/gitlab.pot | 5 +- .../commits_with_trailer_finder_spec.rb | 38 +++ .../clusters/components/applications_spec.js | 56 ++-- .../package_list_row_spec.js.snap | 8 +- .../components/service_desk_root_spec.js | 264 ++++++++-------- .../components/service_desk_setting_spec.js | 190 +++++------ .../services/service_desk_service_spec.js | 111 ------- spec/frontend/tracking_spec.js | 2 + .../lib/atlassian/jira_connect/client_spec.rb | 18 -- spec/lib/gitlab/git/commit_spec.rb | 3 +- .../import_export/safe_model_attributes.yml | 2 + ...has_external_issue_tracker_trigger_spec.rb | 164 ++++++++++ spec/models/merge_request_diff_commit_spec.rb | 9 +- spec/models/merge_request_spec.rb | 13 +- spec/models/project_spec.rb | 152 +++++---- spec/models/service_spec.rb | 46 --- spec/requests/api/graphql/issue/issue_spec.rb | 14 + .../project/issue/designs/notes_spec.rb | 19 +- .../bulk_create_integration_service_spec.rb | 51 --- .../feature_flags/create_service_spec.rb | 12 - .../feature_flags/update_service_spec.rb | 12 - spec/services/issues/close_service_spec.rb | 3 + .../merge_requests/build_service_spec.rb | 2 + .../system_notes/issuables_service_spec.rb | 2 + spec/support/helpers/graphql_helpers.rb | 8 +- ...an_housekeep_repository_shared_examples.rb | 45 --- .../api/graphql/noteable_shared_examples.rb | 62 ++++ .../sync_feature_flags_worker_spec.rb | 24 -- workhorse/CHANGELOG | 12 + workhorse/VERSION | 2 +- workhorse/gitaly_test.go | 169 ++++++++++ workhorse/go.mod | 18 +- workhorse/go.sum | 297 +++++++++++++----- .../internal/filestore/save_file_opts.go | 2 +- .../internal/filestore/save_file_opts_test.go | 10 + workhorse/internal/git/info-refs.go | 5 + workhorse/internal/git/info-refs_test.go | 33 ++ workhorse/internal/upstream/routes.go | 22 +- workhorse/main_test.go | 6 + workhorse/upload_test.go | 70 ++++- 94 files changed, 1581 insertions(+), 995 deletions(-) delete mode 100644 app/assets/javascripts/projects/settings_service_desk/event_hub.js delete mode 100644 app/assets/javascripts/projects/settings_service_desk/services/service_desk_service.js create mode 100644 app/finders/repositories/commits_with_trailer_finder.rb create mode 100644 app/validators/json_schemas/git_trailers.json rename app/views/notify/{provisioned_member_access_granted_email.haml => provisioned_member_access_granted_email.html.haml} (75%) rename app/views/notify/{provisioned_member_access_granted_email.erb => provisioned_member_access_granted_email.text.erb} (68%) create mode 100644 changelogs/unreleased/290715-has_external_issue_tracker_trigger.yml create mode 100644 changelogs/unreleased/294007-bump-workhorse.yml create mode 100644 changelogs/unreleased/296948-container-and-package-list-ui-polish-condense-spacing-to-match-iss.yml create mode 100644 changelogs/unreleased/296990-enable-jira-ff-sync.yml create mode 100644 changelogs/unreleased/gitaly-trailer-parsing.yml create mode 100644 changelogs/unreleased/yo-fix-border-radius.yml delete mode 100644 config/feature_flags/development/jira_sync_feature_flags.yml create mode 100644 db/migrate/20210106155209_add_merge_request_diff_commit_trailers.rb create mode 100644 db/migrate/20210107154615_add_merge_request_context_commit_trailers.rb create mode 100644 db/migrate/20210117210226_add_has_external_issue_tracker_trigger.rb create mode 100644 db/schema_migrations/20210106155209 create mode 100644 db/schema_migrations/20210107154615 create mode 100644 db/schema_migrations/20210117210226 create mode 100644 spec/finders/repositories/commits_with_trailer_finder_spec.rb delete mode 100644 spec/frontend/projects/settings_service_desk/services/service_desk_service_spec.js create mode 100644 spec/migrations/add_has_external_issue_tracker_trigger_spec.rb delete mode 100644 spec/support/shared_examples/models/concerns/can_housekeep_repository_shared_examples.rb create mode 100644 spec/support/shared_examples/requests/api/graphql/noteable_shared_examples.rb create mode 100644 workhorse/internal/git/info-refs_test.go diff --git a/.eslintrc.yml b/.eslintrc.yml index 6a20ddc96c3..297eb5a5893 100644 --- a/.eslintrc.yml +++ b/.eslintrc.yml @@ -51,7 +51,6 @@ rules: # new ones, to ease migration to v7, so violations of each can be fixed # separately. vue/no-mutating-props: off - vue/one-component-per-file: off vue/no-lone-template: off # END eslint-plugin-vue@7 overrides overrides: diff --git a/GITLAB_WORKHORSE_VERSION b/GITLAB_WORKHORSE_VERSION index 8c20f999400..a6c6f8ed977 100644 --- a/GITLAB_WORKHORSE_VERSION +++ b/GITLAB_WORKHORSE_VERSION @@ -1 +1 @@ -8.59.0 +8.60.0 diff --git a/Gemfile b/Gemfile index c7ed1cd4d71..a2aff0f4b1e 100644 --- a/Gemfile +++ b/Gemfile @@ -462,7 +462,7 @@ group :ed25519 do end # Gitaly GRPC protocol definitions -gem 'gitaly', '~> 13.8.0.pre.rc2' +gem 'gitaly', '~> 13.8.0.pre.rc3' gem 'grpc', '~> 1.30.2' diff --git a/Gemfile.lock b/Gemfile.lock index b370024b95b..74d88417541 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -417,7 +417,7 @@ GEM rails (>= 3.2.0) git (1.7.0) rchardet (~> 1.8) - gitaly (13.8.0.pre.rc2) + gitaly (13.8.0.pre.rc3) grpc (~> 1.0) github-markup (1.7.0) gitlab-chronic (0.10.5) @@ -1357,7 +1357,7 @@ DEPENDENCIES gettext (~> 3.3) gettext_i18n_rails (~> 1.8.0) gettext_i18n_rails_js (~> 1.3) - gitaly (~> 13.8.0.pre.rc2) + gitaly (~> 13.8.0.pre.rc3) github-markup (~> 1.7.0) gitlab-chronic (~> 0.10.5) gitlab-experiment (~> 0.4.5) diff --git a/app/assets/javascripts/projects/settings_service_desk/components/service_desk_root.vue b/app/assets/javascripts/projects/settings_service_desk/components/service_desk_root.vue index 909f1afd9f6..43fe54d6e38 100644 --- a/app/assets/javascripts/projects/settings_service_desk/components/service_desk_root.vue +++ b/app/assets/javascripts/projects/settings_service_desk/components/service_desk_root.vue @@ -2,60 +2,42 @@ import { GlAlert } from '@gitlab/ui'; import { __, sprintf } from '~/locale'; import ServiceDeskSetting from './service_desk_setting.vue'; -import ServiceDeskService from '../services/service_desk_service'; -import eventHub from '../event_hub'; +import axios from '~/lib/utils/axios_utils'; export default { - name: 'ServiceDeskRoot', components: { GlAlert, ServiceDeskSetting, }, - props: { + inject: { initialIsEnabled: { - type: Boolean, - required: true, + default: false, }, endpoint: { - type: String, - required: true, + default: '', }, - incomingEmail: { - type: String, - required: false, + initialIncomingEmail: { default: '', }, customEmail: { - type: String, - required: false, default: '', }, customEmailEnabled: { - type: Boolean, - required: false, + default: false, }, selectedTemplate: { - type: String, - required: false, default: '', }, outgoingName: { - type: String, - required: false, default: '', }, projectKey: { - type: String, - required: false, default: '', }, templates: { - type: Array, - required: false, - default: () => [], + default: [], }, }, - data() { return { isEnabled: this.initialIsEnabled, @@ -63,28 +45,21 @@ export default { isAlertShowing: false, alertVariant: 'danger', alertMessage: '', + incomingEmail: this.initialIncomingEmail, updatedCustomEmail: this.customEmail, }; }, - - created() { - eventHub.$on('serviceDeskEnabledCheckboxToggled', this.onEnableToggled); - eventHub.$on('serviceDeskTemplateSave', this.onSaveTemplate); - this.service = new ServiceDeskService(this.endpoint); - }, - - beforeDestroy() { - eventHub.$off('serviceDeskEnabledCheckboxToggled', this.onEnableToggled); - eventHub.$off('serviceDeskTemplateSave', this.onSaveTemplate); - }, - methods: { onEnableToggled(isChecked) { this.isEnabled = isChecked; this.incomingEmail = ''; - this.service - .toggleServiceDesk(isChecked) + const body = { + service_desk_enabled: isChecked, + }; + + return axios + .put(this.endpoint, body) .then(({ data }) => { const email = data.service_desk_address; if (isChecked && !email) { @@ -104,8 +79,16 @@ export default { onSaveTemplate({ selectedTemplate, outgoingName, projectKey }) { this.isTemplateSaving = true; - this.service - .updateTemplate({ selectedTemplate, outgoingName, projectKey }, this.isEnabled) + + const body = { + issue_template_key: selectedTemplate, + outgoing_name: outgoingName, + project_key: projectKey, + service_desk_enabled: this.isEnabled, + }; + + return axios + .put(this.endpoint, body) .then(({ data }) => { this.updatedCustomEmail = data?.service_desk_address; this.showAlert(__('Changes saved.'), 'success'); @@ -150,6 +133,8 @@ export default { :initial-project-key="projectKey" :templates="templates" :is-template-saving="isTemplateSaving" + @save="onSaveTemplate" + @toggle="onEnableToggled" /> diff --git a/app/assets/javascripts/projects/settings_service_desk/components/service_desk_setting.vue b/app/assets/javascripts/projects/settings_service_desk/components/service_desk_setting.vue index a850374fc88..39d9a6a4239 100644 --- a/app/assets/javascripts/projects/settings_service_desk/components/service_desk_setting.vue +++ b/app/assets/javascripts/projects/settings_service_desk/components/service_desk_setting.vue @@ -1,12 +1,9 @@