From 0179dc40d71c2549d787d2f5fa7ba6dc6efae376 Mon Sep 17 00:00:00 2001 From: GitLab Bot Date: Mon, 8 Mar 2021 18:09:12 +0000 Subject: [PATCH] Add latest changes from gitlab-org/gitlab@master --- .gitlab/ci/rails.gitlab-ci.yml | 4 +- .gitlab/ci/reports.gitlab-ci.yml | 2 +- .gitlab/ci/rules.gitlab-ci.yml | 11 +- .rubocop_manual_todo.yml | 3 - .../javascripts/diffs/components/app.vue | 7 +- .../diffs/components/diff_file.vue | 14 +- app/assets/javascripts/diffs/index.js | 2 +- .../javascripts/diffs/utils/file_reviews.js | 7 +- .../components/grouped_test_reports_app.vue | 15 +- .../components/deployment/deployment_list.vue | 92 +++++++ .../mr_widget_pipeline_container.vue | 57 +---- .../components/states/ready_to_merge.vue | 82 +++--- .../components/states/squash_before_merge.vue | 2 +- .../unreleased/295665-fix-sidekiq-check.yml | 5 + ...ge-reschedule-artifact-expiry-backfill.yml | 5 + ...mf-test-report-parsing-errors-frontend.yml | 5 + ...ct-file-viewed-reviews-convert-to-vuex.yml | 5 + ...506_reschedule_artifact_expiry_backfill.rb | 44 ++++ db/schema_migrations/20210224150506 | 1 + .../auth/img/okta_admin_panel.png | Bin 26164 -> 0 bytes doc/administration/index.md | 2 +- doc/administration/terraform_state.md | 27 ++ doc/api/branches.md | 4 +- doc/api/commits.md | 28 +- doc/api/discussions.md | 2 +- doc/api/merge_request_approvals.md | 18 +- doc/api/project_badges.md | 12 +- doc/api/project_import_export.md | 10 +- doc/api/project_templates.md | 2 +- doc/api/project_vulnerabilities.md | 8 +- doc/api/remote_mirrors.md | 4 +- doc/api/repository_submodules.md | 2 +- doc/api/search.md | 28 +- doc/api/tags.md | 7 +- ...environments_manual_action_deployments.png | Bin 12635 -> 0 bytes ...nvironments_manual_action_environments.png | Bin 9485 -> 0 bytes .../img/environments_manual_action_jobs.png | Bin 8446 -> 0 bytes .../environments_manual_action_pipelines.png | Bin 14979 -> 0 bytes ...ronments_manual_action_single_pipeline.png | Bin 10273 -> 0 bytes doc/development/api_graphql_styleguide.md | 3 + doc/development/usage_ping/index.md | 57 ++++- doc/gitlab-basics/create-branch.md | 2 +- doc/gitlab-basics/feature_branch_workflow.md | 2 +- doc/gitlab-basics/index.md | 4 +- doc/gitlab-basics/start-using-git.md | 52 ++-- .../img/oauth_provider_admin_application.png | Bin 17071 -> 0 bytes doc/topics/autodevops/customize.md | 2 +- doc/topics/autodevops/index.md | 184 ++++++------- doc/topics/autodevops/requirements.md | 2 +- doc/topics/autodevops/stages.md | 2 +- doc/topics/git/feature_branch_development.md | 6 +- doc/topics/git/how_to_install_git/index.md | 4 +- doc/topics/git/index.md | 2 +- doc/topics/git/partial_clone.md | 14 +- .../training/gitlab_flow/feature_branches.png | Bin 6202 -> 0 bytes .../settings/continuous_integration.md | 2 +- ...lnerability_details_create_issue_v13_7.png | Bin 31816 -> 0 bytes doc/user/clusters/agent/index.md | 9 +- doc/user/project/file_lock.md | 32 +-- doc/user/project/git_attributes.md | 2 +- ...autocomplete_characters_example1_v12_0.png | Bin 17510 -> 0 bytes ...autocomplete_characters_example2_v12_0.png | Bin 14623 -> 0 bytes .../img/mattermost_config_help.png | Bin 102890 -> 0 bytes ...mattermost_slash_command_configuration.png | Bin 24162 -> 0 bytes .../img/project_members_filter_v12_6.png | Bin 6381 -> 0 bytes .../merge_requests/fast_forward_merge.md | 8 +- .../img/multiline-comment-highlighted.png | Bin 38822 -> 0 bytes .../merge_requests/merge_request_approvals.md | 2 +- .../merge_requests/squash_and_merge.md | 20 +- doc/user/project/requirements/index.md | 8 +- .../usage/metrics/aggregates/aggregate.rb | 22 +- .../aggregates/sources/postgres_hll.rb | 6 +- lib/gitlab/usage_data.rb | 23 +- .../aggregated_metrics/code_review.yml | 3 + .../aggregated_metrics/common.yml | 22 +- lib/gitlab/utils/usage_data.rb | 6 +- lib/system_check/sidekiq_check.rb | 24 +- locale/gitlab.pot | 9 + spec/factories/go_module_commits.rb | 10 +- spec/factories/go_module_versions.rb | 40 +-- spec/factories/go_modules.rb | 2 +- spec/factories_spec.rb | 3 - .../frontend/diffs/utils/file_reviews_spec.js | 10 +- .../grouped_test_reports_app_spec.js | 21 ++ .../mr_widget_pipeline_container_spec.js | 56 +--- .../deployment/deployment_list_spec.js | 101 ++++++++ .../metrics/aggregates/aggregate_spec.rb | 241 ++++++++++++------ .../aggregates/sources/postgres_hll_spec.rb | 6 +- .../aggregated_metrics_spec.rb | 24 ++ spec/lib/gitlab/usage_data_spec.rb | 25 +- spec/lib/system_check/sidekiq_check_spec.rb | 81 ++++++ ...eschedule_artifact_expiry_backfill_spec.rb | 38 +++ .../issuable/merge_request_shared_context.rb | 64 +---- .../merge_requests/show.html.haml_spec.rb | 38 +-- 94 files changed, 1143 insertions(+), 668 deletions(-) create mode 100644 app/assets/javascripts/vue_merge_request_widget/components/deployment/deployment_list.vue create mode 100644 changelogs/unreleased/295665-fix-sidekiq-check.yml create mode 100644 changelogs/unreleased/mc-backstage-reschedule-artifact-expiry-backfill.yml create mode 100644 changelogs/unreleased/mf-test-report-parsing-errors-frontend.yml create mode 100644 changelogs/unreleased/tor-defect-file-viewed-reviews-convert-to-vuex.yml create mode 100644 db/post_migrate/20210224150506_reschedule_artifact_expiry_backfill.rb create mode 100644 db/schema_migrations/20210224150506 delete mode 100644 doc/administration/auth/img/okta_admin_panel.png delete mode 100644 doc/ci/img/environments_manual_action_deployments.png delete mode 100644 doc/ci/img/environments_manual_action_environments.png delete mode 100644 doc/ci/img/environments_manual_action_jobs.png delete mode 100644 doc/ci/img/environments_manual_action_pipelines.png delete mode 100644 doc/ci/img/environments_manual_action_single_pipeline.png delete mode 100644 doc/integration/img/oauth_provider_admin_application.png delete mode 100644 doc/university/training/gitlab_flow/feature_branches.png delete mode 100644 doc/user/application_security/vulnerability_report/img/vulnerability_details_create_issue_v13_7.png delete mode 100644 doc/user/project/img/autocomplete_characters_example1_v12_0.png delete mode 100644 doc/user/project/img/autocomplete_characters_example2_v12_0.png delete mode 100644 doc/user/project/integrations/img/mattermost_config_help.png delete mode 100644 doc/user/project/integrations/img/mattermost_slash_command_configuration.png delete mode 100644 doc/user/project/members/img/project_members_filter_v12_6.png delete mode 100644 doc/user/project/merge_requests/img/multiline-comment-highlighted.png create mode 100644 spec/frontend/vue_mr_widget/deployment/deployment_list_spec.js create mode 100644 spec/lib/system_check/sidekiq_check_spec.rb create mode 100644 spec/migrations/reschedule_artifact_expiry_backfill_spec.rb diff --git a/.gitlab/ci/rails.gitlab-ci.yml b/.gitlab/ci/rails.gitlab-ci.yml index 78840315c37..3e29e8fea38 100644 --- a/.gitlab/ci/rails.gitlab-ci.yml +++ b/.gitlab/ci/rails.gitlab-ci.yml @@ -142,7 +142,7 @@ setup-test-env: extends: - .rails-job-base - .setup-test-env-cache - - .rails:rules:default-refs-code-backstage-qa + - .rails:rules:code-backstage-qa - .use-pg11 stage: prepare variables: @@ -244,7 +244,7 @@ update-static-analysis-cache: static-analysis: extends: - .static-analysis-base - - .rails:rules:default-refs-code-backstage-qa + - .rails:rules:code-backstage-qa stage: test parallel: 4 script: diff --git a/.gitlab/ci/reports.gitlab-ci.yml b/.gitlab/ci/reports.gitlab-ci.yml index 77ada89aa6a..4d54380cefe 100644 --- a/.gitlab/ci/reports.gitlab-ci.yml +++ b/.gitlab/ci/reports.gitlab-ci.yml @@ -15,7 +15,7 @@ code_quality: stage: test needs: [] variables: - CODE_QUALITY_IMAGE: "registry.gitlab.com/gitlab-org/ci-cd/codequality:0.85.18" + CODE_QUALITY_IMAGE: "registry.gitlab.com/gitlab-org/ci-cd/codequality:0.85.23" script: - | if ! docker info &>/dev/null; then diff --git a/.gitlab/ci/rules.gitlab-ci.yml b/.gitlab/ci/rules.gitlab-ci.yml index a078422690f..22629c1167f 100644 --- a/.gitlab/ci/rules.gitlab-ci.yml +++ b/.gitlab/ci/rules.gitlab-ci.yml @@ -610,10 +610,9 @@ - <<: *if-merge-request changes: ["config/**/*"] -.rails:rules:default-refs-code-backstage-qa: +.rails:rules:code-backstage-qa: rules: - - <<: *if-default-refs - changes: *code-backstage-qa-patterns + - changes: *code-backstage-qa-patterns - <<: *if-merge-request-title-run-all-rspec .rails:rules:ee-only-migration: @@ -825,8 +824,7 @@ .rails:rules:detect-tests: rules: - - <<: *if-default-refs - changes: *code-backstage-patterns + - changes: *code-backstage-patterns - <<: *if-merge-request-title-run-all-rspec .rails:rules:rspec-foss-impact: @@ -1139,8 +1137,7 @@ ####################### .test-metadata:rules:retrieve-tests-metadata: rules: - - <<: *if-default-refs - changes: *code-backstage-patterns + - changes: *code-backstage-patterns when: on_success - <<: *if-merge-request-title-run-all-rspec diff --git a/.rubocop_manual_todo.yml b/.rubocop_manual_todo.yml index b6898ebe606..67dfeebaf7d 100644 --- a/.rubocop_manual_todo.yml +++ b/.rubocop_manual_todo.yml @@ -44,7 +44,6 @@ Graphql/Descriptions: # WIP See https://gitlab.com/gitlab-org/gitlab/-/issues/267606 FactoryBot/InlineAssociation: Exclude: - - 'ee/spec/factories/analytics/cycle_analytics/group_stages.rb' - 'ee/spec/factories/geo/event_log.rb' - 'ee/spec/factories/merge_request_blocks.rb' - 'ee/spec/factories/vulnerabilities/feedback.rb' @@ -57,8 +56,6 @@ FactoryBot/InlineAssociation: - 'spec/factories/go_modules.rb' - 'spec/factories/group_group_links.rb' - 'spec/factories/import_export_uploads.rb' - - 'spec/factories/uploads.rb' - - 'spec/factories/wiki_pages.rb' # WIP: See https://gitlab.com/gitlab-org/gitlab/-/issues/220040 Rails/SaveBang: diff --git a/app/assets/javascripts/diffs/components/app.vue b/app/assets/javascripts/diffs/components/app.vue index 46ed06fc3ab..253e1e3b70e 100644 --- a/app/assets/javascripts/diffs/components/app.vue +++ b/app/assets/javascripts/diffs/components/app.vue @@ -125,7 +125,7 @@ export default { required: false, default: '', }, - mrReviews: { + rehydratedMrReviews: { type: Object, required: false, default: () => ({}), @@ -164,6 +164,7 @@ export default { 'canMerge', 'hasConflicts', 'viewDiffsFileByFile', + 'mrReviews', ]), ...mapGetters('diffs', ['whichCollapsedTypes', 'isParallelView', 'currentDiffIndex']), ...mapGetters(['isNotesFetched', 'getNoteableData']), @@ -268,7 +269,7 @@ export default { showSuggestPopover: this.showSuggestPopover, viewDiffsFileByFile: fileByFile(this.fileByFileUserPreference), defaultSuggestionCommitMessage: this.defaultSuggestionCommitMessage, - mrReviews: this.mrReviews || {}, + mrReviews: this.rehydratedMrReviews, }); if (this.shouldShow) { @@ -513,7 +514,7 @@ export default { v-for="(file, index) in diffs" :key="file.newPath" :file="file" - :reviewed="fileReviews[index]" + :reviewed="fileReviews[file.id]" :is-first-file="index === 0" :is-last-file="index === diffFilesLength - 1" :help-page-path="helpPagePath" diff --git a/app/assets/javascripts/diffs/components/diff_file.vue b/app/assets/javascripts/diffs/components/diff_file.vue index f77c8d7406b..ca4543f7002 100644 --- a/app/assets/javascripts/diffs/components/diff_file.vue +++ b/app/assets/javascripts/diffs/components/diff_file.vue @@ -150,6 +150,11 @@ export default { }, }, watch: { + 'file.id': { + handler: function fileIdHandler() { + this.manageViewedEffects(); + }, + }, 'file.file_hash': { handler: function hashChangeWatch(newHash, oldHash) { this.isCollapsed = isCollapsed(this.file); @@ -186,9 +191,7 @@ export default { this.postRender(); } - if (this.reviewed && !this.isCollapsed && this.showLocalFileReviews) { - this.handleToggle(); - } + this.manageViewedEffects(); }, beforeDestroy() { eventHub.$off(EVT_EXPAND_ALL_FILES, this.expandAllListener); @@ -200,6 +203,11 @@ export default { 'setRenderIt', 'setFileCollapsedByUser', ]), + manageViewedEffects() { + if (this.reviewed && !this.isCollapsed && this.showLocalFileReviews) { + this.handleToggle(); + } + }, expandAllListener() { if (this.isCollapsed) { this.handleToggle(); diff --git a/app/assets/javascripts/diffs/index.js b/app/assets/javascripts/diffs/index.js index 68fe204d955..87e9af174e5 100644 --- a/app/assets/javascripts/diffs/index.js +++ b/app/assets/javascripts/diffs/index.js @@ -124,7 +124,7 @@ export default function initDiffsApp(store) { showSuggestPopover: this.showSuggestPopover, fileByFileUserPreference: this.viewDiffsFileByFile, defaultSuggestionCommitMessage: this.defaultSuggestionCommitMessage, - mrReviews: getReviewsForMergeRequest(mrPath), + rehydratedMrReviews: getReviewsForMergeRequest(mrPath), }, }); }, diff --git a/app/assets/javascripts/diffs/utils/file_reviews.js b/app/assets/javascripts/diffs/utils/file_reviews.js index 5fafc1714ae..7a4b1aa6b17 100644 --- a/app/assets/javascripts/diffs/utils/file_reviews.js +++ b/app/assets/javascripts/diffs/utils/file_reviews.js @@ -9,7 +9,12 @@ export function isFileReviewed(reviews, file) { } export function reviewStatuses(files, reviews) { - return files.map((file) => isFileReviewed(reviews, file)); + return files.reduce((flat, file) => { + return { + ...flat, + [file.id]: isFileReviewed(reviews, file), + }; + }, {}); } export function getReviewsForMergeRequest(mrPath) { diff --git a/app/assets/javascripts/reports/components/grouped_test_reports_app.vue b/app/assets/javascripts/reports/components/grouped_test_reports_app.vue index 5634751ba58..eae6675d63b 100644 --- a/app/assets/javascripts/reports/components/grouped_test_reports_app.vue +++ b/app/assets/javascripts/reports/components/grouped_test_reports_app.vue @@ -1,5 +1,5 @@ + diff --git a/app/assets/javascripts/vue_merge_request_widget/components/mr_widget_pipeline_container.vue b/app/assets/javascripts/vue_merge_request_widget/components/mr_widget_pipeline_container.vue index 9eb59b65e93..c24ae92db4f 100644 --- a/app/assets/javascripts/vue_merge_request_widget/components/mr_widget_pipeline_container.vue +++ b/app/assets/javascripts/vue_merge_request_widget/components/mr_widget_pipeline_container.vue @@ -1,12 +1,11 @@