From 5564275a0b378298dc6281599cbfe71a937109ff Mon Sep 17 00:00:00 2001 From: GitLab Bot Date: Thu, 6 Feb 2020 12:10:29 +0000 Subject: [PATCH] Add latest changes from gitlab-org/gitlab@master --- .gitlab/ci/pages.gitlab-ci.yml | 27 +++ .gitlab/ci/rails.gitlab-ci.yml | 1 + Gemfile | 5 + Gemfile.lock | 1 + app/assets/javascripts/api.js | 9 + .../boards/components/issue_count.vue | 2 +- .../code_navigation/components/app.vue | 43 ++++ .../code_navigation/components/popover.vue | 76 ++++++ .../javascripts/code_navigation/index.js | 20 ++ .../code_navigation/store/actions.js | 62 +++++ .../code_navigation/store/index.js | 10 + .../code_navigation/store/mutation_types.js | 5 + .../code_navigation/store/mutations.js | 23 ++ .../code_navigation/store/state.js | 9 + .../code_navigation/utils/index.js | 20 ++ .../pages/projects/blob/show/index.js | 5 + .../javascripts/reports/components/modal.vue | 4 +- app/assets/javascripts/reports/constants.js | 2 +- app/assets/javascripts/reports/store/state.js | 2 +- app/assets/javascripts/user_popovers.js | 10 +- app/assets/stylesheets/framework/files.scss | 12 + app/assets/stylesheets/utilities.scss | 7 + .../profiles/preferences_controller.rb | 1 + app/controllers/projects/blob_controller.rb | 4 + app/helpers/preferences_helper.rb | 4 + app/helpers/projects_helper.rb | 4 + app/models/deploy_token.rb | 33 ++- app/models/group_deploy_token.rb | 23 ++ app/models/project_deploy_token.rb | 4 + app/models/user.rb | 24 +- app/models/user_bot_type_enums.rb | 12 + app/models/user_preference.rb | 6 + app/policies/base_policy.rb | 3 + app/policies/concerns/policy_actor.rb | 4 + app/policies/project_policy.rb | 2 + app/views/layouts/application.html.haml | 2 +- app/views/layouts/fullscreen.html.haml | 2 +- app/views/profiles/preferences/show.html.haml | 9 + app/views/profiles/preferences/update.js.erb | 8 +- app/views/projects/blob/_blob.html.haml | 2 + .../unreleased/13904-tab-width-option.yml | 5 + ...ed-when-board-list-is-scoped-to-an-ass.yml | 5 + .../21765-group-token-architecture.yml | 5 + ...he-test-execution-time-from-test-cases.yml | 5 + .../unreleased/37012-jira-dvcs-error.yml | 5 + ...roject-audit-events-statement-timeouts.yml | 5 + .../fix-duplicated-user-popover.yml | 5 + .../fix-quoted-printable-unicode-in-mails.yml | 5 + config/initializers/mail_encoding_patch.rb | 82 +++++++ ...dd_saml_provider_prohibited_outer_forks.rb | 17 ++ ...90253_add_tab_width_to_user_preferences.rb | 9 + ...200121200203_create_group_deploy_tokens.rb | 16 ++ ...72428_add_index_on_audit_events_id_desc.rb | 24 ++ db/schema.rb | 15 +- doc/api/groups.md | 4 +- doc/ci/yaml/README.md | 2 +- doc/topics/autodevops/index.md | 33 +++ .../dependency_list/index.md | 2 +- doc/user/application_security/sast/index.md | 6 + doc/user/profile/preferences.md | 9 + doc/user/project/operations/error_tracking.md | 2 +- lib/gitlab/auth.rb | 6 +- .../email/hook/smime_signature_interceptor.rb | 1 + lib/gitlab/tab_width.rb | 29 +++ locale/gitlab.pot | 17 +- .../create_and_process_pipeline_spec.rb | 11 +- .../profiles/preferences_controller_spec.rb | 1 + spec/factories/deploy_tokens.rb | 9 + spec/factories/group_deploy_tokens.rb | 8 + spec/factories/users.rb | 4 + spec/features/groups/navbar_spec.rb | 105 +++++---- .../maintainer_edits_fork_spec.rb | 2 +- .../profiles/user_edit_preferences_spec.rb | 27 +++ .../features/projects/blobs/blob_show_spec.rb | 4 + spec/features/projects/blobs/edit_spec.rb | 2 + ...er_creates_new_blob_in_new_project_spec.rb | 1 + .../projects/files/user_creates_files_spec.rb | 2 +- .../projects/files/user_deletes_files_spec.rb | 2 + .../files/user_replaces_files_spec.rb | 2 + .../__snapshots__/popover_spec.js.snap | 39 ++++ .../code_navigation/components/app_spec.js | 64 +++++ .../components/popover_spec.js | 58 +++++ .../code_navigation/store/actions_spec.js | 221 ++++++++++++++++++ .../code_navigation/store/mutations_spec.js | 63 +++++ .../code_navigation/utils/index_spec.js | 58 +++++ spec/initializers/mail_encoding_patch_spec.rb | 207 ++++++++++++++++ .../reports/components/modal_spec.js | 4 +- spec/javascripts/user_popovers_spec.js | 7 + spec/lib/gitlab/auth_spec.rb | 18 +- .../hook/smime_signature_interceptor_spec.rb | 17 +- spec/lib/gitlab/tab_width_spec.rb | 31 +++ spec/models/deploy_token_spec.rb | 172 ++++++++++++-- spec/models/group_deploy_token_spec.rb | 17 ++ spec/models/user_preference_spec.rb | 15 ++ spec/models/user_spec.rb | 40 ++++ spec/policies/project_policy_spec.rb | 14 ++ 96 files changed, 1942 insertions(+), 99 deletions(-) create mode 100644 app/assets/javascripts/code_navigation/components/app.vue create mode 100644 app/assets/javascripts/code_navigation/components/popover.vue create mode 100644 app/assets/javascripts/code_navigation/index.js create mode 100644 app/assets/javascripts/code_navigation/store/actions.js create mode 100644 app/assets/javascripts/code_navigation/store/index.js create mode 100644 app/assets/javascripts/code_navigation/store/mutation_types.js create mode 100644 app/assets/javascripts/code_navigation/store/mutations.js create mode 100644 app/assets/javascripts/code_navigation/store/state.js create mode 100644 app/assets/javascripts/code_navigation/utils/index.js create mode 100644 app/models/group_deploy_token.rb create mode 100644 app/models/user_bot_type_enums.rb create mode 100644 changelogs/unreleased/13904-tab-width-option.yml create mode 100644 changelogs/unreleased/197311-board-list-wip-limit-distorted-when-board-list-is-scoped-to-an-ass.yml create mode 100644 changelogs/unreleased/21765-group-token-architecture.yml create mode 100644 changelogs/unreleased/26247-junit-xml-tests-mis-present-the-test-execution-time-from-test-cases.yml create mode 100644 changelogs/unreleased/37012-jira-dvcs-error.yml create mode 100644 changelogs/unreleased/39474-unable-to-view-project-audit-events-statement-timeouts.yml create mode 100644 changelogs/unreleased/fix-duplicated-user-popover.yml create mode 100644 changelogs/unreleased/fix-quoted-printable-unicode-in-mails.yml create mode 100644 config/initializers/mail_encoding_patch.rb create mode 100644 db/migrate/20191217165641_add_saml_provider_prohibited_outer_forks.rb create mode 100644 db/migrate/20191218190253_add_tab_width_to_user_preferences.rb create mode 100644 db/migrate/20200121200203_create_group_deploy_tokens.rb create mode 100644 db/migrate/20200129172428_add_index_on_audit_events_id_desc.rb create mode 100644 lib/gitlab/tab_width.rb create mode 100644 spec/factories/group_deploy_tokens.rb create mode 100644 spec/frontend/code_navigation/components/__snapshots__/popover_spec.js.snap create mode 100644 spec/frontend/code_navigation/components/app_spec.js create mode 100644 spec/frontend/code_navigation/components/popover_spec.js create mode 100644 spec/frontend/code_navigation/store/actions_spec.js create mode 100644 spec/frontend/code_navigation/store/mutations_spec.js create mode 100644 spec/frontend/code_navigation/utils/index_spec.js create mode 100644 spec/initializers/mail_encoding_patch_spec.rb create mode 100644 spec/lib/gitlab/tab_width_spec.rb create mode 100644 spec/models/group_deploy_token_spec.rb diff --git a/.gitlab/ci/pages.gitlab-ci.yml b/.gitlab/ci/pages.gitlab-ci.yml index 9d80f4cba94..6c52afb068f 100644 --- a/.gitlab/ci/pages.gitlab-ci.yml +++ b/.gitlab/ci/pages.gitlab-ci.yml @@ -2,6 +2,32 @@ .if-canonical-dot-com-gitlab-org-group-master-refs: &if-canonical-dot-com-gitlab-org-group-master-refs if: '$CI_SERVER_HOST == "gitlab.com" && $CI_PROJECT_NAMESPACE == "gitlab-org" && $CI_COMMIT_REF_NAME == "master"' +# Make sure to update all the similar patterns in other CI config files if you modify these patterns +.code-backstage-qa-patterns: &code-backstage-qa-patterns + - ".gitlab/ci/**/*" + - ".{eslintignore,gitattributes,nvmrc,prettierrc,stylelintrc,yamllint}" + - ".{codeclimate,eslintrc,gitlab-ci,haml-lint,haml-lint_todo,rubocop,rubocop_todo,scss-lint}.yml" + - ".csscomb.json" + - "Dockerfile.assets" + - "*_VERSION" + - "Gemfile{,.lock}" + - "Rakefile" + - "{babel.config,jest.config}.js" + - "config.ru" + - "{package.json,yarn.lock}" + - "{,ee/}{app,bin,config,db,haml_lint,lib,locale,public,scripts,symbol,vendor}/**/*" + - "doc/api/graphql/reference/*" # Files in this folder are auto-generated + # Backstage changes + - "Dangerfile" + - "danger/**/*" + - "{,ee/}fixtures/**/*" + - "{,ee/}rubocop/**/*" + - "{,ee/}spec/**/*" + - "doc/README.md" # Some RSpec test rely on this file + # QA changes + - ".dockerignore" + - "qa/**/*" + pages: extends: - .default-tags @@ -9,6 +35,7 @@ pages: - .default-cache rules: - <<: *if-canonical-dot-com-gitlab-org-group-master-refs + changes: *code-backstage-qa-patterns when: on_success stage: pages dependencies: ["coverage", "karma", "gitlab:assets:compile pull-cache"] diff --git a/.gitlab/ci/rails.gitlab-ci.yml b/.gitlab/ci/rails.gitlab-ci.yml index 6b0a7f31f1a..3fe8411ccad 100644 --- a/.gitlab/ci/rails.gitlab-ci.yml +++ b/.gitlab/ci/rails.gitlab-ci.yml @@ -68,6 +68,7 @@ setup-test-env: - rspec_profiling/ - tmp/capybara/ - tmp/memory_test/ + - junit_rspec.xml reports: junit: junit_rspec.xml diff --git a/Gemfile b/Gemfile index c9319a34594..18da93d2a05 100644 --- a/Gemfile +++ b/Gemfile @@ -488,3 +488,8 @@ gem 'liquid', '~> 4.0' gem 'lru_redux' gem 'erubi', '~> 1.9.0' + +# Locked as long as quoted-printable encoding issues are not resolved +# Monkey-patched in `config/initializers/mail_encoding_patch.rb` +# See https://gitlab.com/gitlab-org/gitlab/issues/197386 +gem 'mail', '= 2.7.1' diff --git a/Gemfile.lock b/Gemfile.lock index c8912d70810..64e701d22de 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -1283,6 +1283,7 @@ DEPENDENCIES lograge (~> 0.5) loofah (~> 2.2) lru_redux + mail (= 2.7.1) mail_room (~> 0.10.0) marginalia (~> 1.8.0) memory_profiler (~> 0.9) diff --git a/app/assets/javascripts/api.js b/app/assets/javascripts/api.js index 6de9ab9efb3..76f3020c5c2 100644 --- a/app/assets/javascripts/api.js +++ b/app/assets/javascripts/api.js @@ -45,6 +45,7 @@ const Api = { mergeRequestsPipeline: '/api/:version/projects/:id/merge_requests/:merge_request_iid/pipelines', adminStatisticsPath: '/api/:version/application/statistics', pipelineSinglePath: '/api/:version/projects/:id/pipelines/:pipeline_id', + lsifPath: '/api/:version/projects/:id/commits/:commit_id/lsif/info', group(groupId, callback) { const url = Api.buildUrl(Api.groupPath).replace(':id', groupId); @@ -457,6 +458,14 @@ const Api = { return axios.get(url); }, + lsifData(projectPath, commitId, path) { + const url = Api.buildUrl(this.lsifPath) + .replace(':id', encodeURIComponent(projectPath)) + .replace(':commit_id', commitId); + + return axios.get(url, { params: { path } }); + }, + buildUrl(url) { return joinPaths(gon.relative_url_root || '', url.replace(':version', gon.api_version)); }, diff --git a/app/assets/javascripts/boards/components/issue_count.vue b/app/assets/javascripts/boards/components/issue_count.vue index c50a3c1c0d3..d55f7151d7e 100644 --- a/app/assets/javascripts/boards/components/issue_count.vue +++ b/app/assets/javascripts/boards/components/issue_count.vue @@ -25,7 +25,7 @@ export default { -