From 49089d4fb1f5c17328ac61c955d95a68c6d4d545 Mon Sep 17 00:00:00 2001 From: GitLab Bot Date: Tue, 14 Jul 2020 12:09:14 +0000 Subject: Add latest changes from gitlab-org/gitlab@master --- GITLAB_PAGES_VERSION | 2 +- .../javascripts/filtered_search/constants.js | 2 + .../stores/recent_searches_store.js | 12 +- app/assets/javascripts/ide/stores/actions/file.js | 8 +- .../registry/settings/components/settings_form.vue | 38 ++- .../shared/components/expiration_policy_fields.vue | 57 ++-- .../javascripts/registry/shared/constants.js | 2 +- app/assets/javascripts/registry/shared/utils.js | 2 +- .../filtered_search_bar_root.vue | 54 ++-- .../filtered_search_bar/tokens/author_token.vue | 16 +- .../services/build_custom_renderer.js | 9 +- .../services/renderers/build_uneditable_token.js | 22 +- .../renderers/render_font_awesome_html_inline.js | 11 + app/controllers/concerns/service_params.rb | 1 + app/controllers/projects/services_controller.rb | 2 +- app/helpers/icons_helper.rb | 10 +- app/helpers/projects_helper.rb | 22 +- app/models/ci/job_artifact.rb | 11 +- app/models/ci/pipeline.rb | 30 +- app/models/merge_request.rb | 10 +- app/models/project.rb | 12 +- app/models/project_services/confluence_service.rb | 97 +++++++ app/models/service.rb | 2 +- app/services/branches/delete_service.rb | 7 + app/services/ci/create_job_artifacts_service.rb | 12 - .../ci/destroy_expired_job_artifacts_service.rb | 2 +- app/services/ci/unlock_artifacts_service.rb | 33 +++ app/services/git/branch_push_service.rb | 7 + app/services/git/tag_push_service.rb | 18 ++ app/services/tags/destroy_service.rb | 8 + app/views/layouts/nav/sidebar/_project.html.haml | 14 + app/workers/all_queues.yml | 16 ++ .../ci/pipeline_success_unlock_artifacts_worker.rb | 20 ++ .../ci/ref_delete_unlock_artifacts_worker.rb | 22 ++ .../209912-memoize-sprites-icon-path.yml | 5 + ...with-your-cleanup-policy-with-improved-vali.yml | 5 + .../unreleased/223928-page-title-editorconfig.yml | 5 + ...ps-deploy-failure-when-code-quality-enabled.yml | 5 + .../36361-custom-renderer-font-awesome.yml | 5 + .../unreleased/fix-uninitialized-constant.yml | 5 + changelogs/unreleased/pages-1-21-0.yml | 5 + config/application.rb | 2 + .../20200527211605_add_locked_to_ci_pipelines.rb | 19 ++ ...174052_add_partial_index_to_locked_pipelines.rb | 17 ++ ...ult_value_stream_to_groups_with_group_stages.rb | 55 ++++ ..._foreign_key_on_cycle_analytics_group_stages.rb | 19 ++ db/structure.sql | 13 +- .../navigating_gitlab_via_rails_console.md | 2 +- doc/administration/troubleshooting/sidekiq.md | 2 +- doc/api/graphql/reference/gitlab_schema.graphql | 1 + doc/api/graphql/reference/gitlab_schema.json | 6 + doc/api/services.md | 67 +++++ doc/ci/docker/using_kaniko.md | 2 +- doc/user/project/integrations/overview.md | 1 + lib/api/helpers/services_helpers.rb | 9 + lib/gitlab/ci/features.rb | 8 + lib/gitlab/ci/pipeline/chain/build.rb | 6 +- lib/gitlab/ci/templates/Jobs/Deploy.gitlab-ci.yml | 2 +- .../file_collection/merge_request_diff_base.rb | 10 +- lib/gitlab/import_export/project/import_export.yml | 1 + lib/gitlab/marginalia/comment.rb | 4 +- locale/gitlab.pot | 36 ++- spec/factories/services.rb | 6 + .../stores/recent_searches_store_spec.js | 9 + spec/frontend/ide/stores/actions/file_spec.js | 309 +++++++-------------- .../monitoring/components/charts/anomaly_spec.js | 133 +++++---- .../monitoring/components/dashboard_panel_spec.js | 5 +- spec/frontend/monitoring/graph_data.js | 38 +++ spec/frontend/monitoring/mock_data.js | 130 --------- spec/frontend/monitoring/utils_spec.js | 8 +- .../settings/components/settings_form_spec.js | 69 +++-- .../expiration_policy_fields_spec.js.snap | 2 - .../components/expiration_policy_fields_spec.js | 69 +++-- .../filtered_search_bar_root_spec.js | 35 ++- .../components/filtered_search_bar/mock_data.js | 23 ++ .../tokens/author_token_spec.js | 23 +- .../renderers/build_uneditable_token_spec.js | 14 +- .../services/renderers/mock_data.js | 34 ++- .../render_font_awesome_html_inline_spec.js | 33 +++ spec/helpers/icons_helper_spec.rb | 9 +- spec/helpers/projects_helper_spec.rb | 16 +- spec/lib/gitlab/import_export/all_models.yml | 1 + ...alue_stream_to_groups_with_group_stages_spec.rb | 44 +++ spec/models/ci/job_artifact_spec.rb | 12 - spec/models/ci/pipeline_spec.rb | 119 ++++++++ spec/models/merge_request_spec.rb | 46 +-- .../project_services/confluence_service_spec.rb | 90 ++++++ spec/models/project_spec.rb | 41 +++ spec/requests/api/jobs_spec.rb | 6 +- spec/services/branches/delete_service_spec.rb | 10 + .../ci/create_job_artifacts_service_spec.rb | 20 -- .../destroy_expired_job_artifacts_service_spec.rb | 4 +- spec/services/ci/unlock_artifacts_service_spec.rb | 97 +++++++ spec/services/git/branch_push_service_spec.rb | 31 +++ spec/services/git/tag_push_service_spec.rb | 37 ++- spec/services/tags/destroy_service_spec.rb | 10 + spec/support/helpers/notification_helpers.rb | 12 +- .../shared_contexts/services_shared_context.rb | 2 + .../diff_file_collections_shared_examples.rb | 101 ++----- .../layouts/nav/sidebar/_project.html.haml_spec.rb | 34 ++- ...ipeline_success_unlock_artifacts_worker_spec.rb | 67 +++++ .../ci/ref_delete_unlock_artifacts_worker_spec.rb | 78 ++++++ spec/workers/every_sidekiq_worker_spec.rb | 2 +- 103 files changed, 1970 insertions(+), 767 deletions(-) create mode 100644 app/assets/javascripts/vue_shared/components/rich_content_editor/services/renderers/render_font_awesome_html_inline.js create mode 100644 app/models/project_services/confluence_service.rb create mode 100644 app/services/ci/unlock_artifacts_service.rb create mode 100644 app/workers/ci/pipeline_success_unlock_artifacts_worker.rb create mode 100644 app/workers/ci/ref_delete_unlock_artifacts_worker.rb create mode 100644 changelogs/unreleased/209912-memoize-sprites-icon-path.yml create mode 100644 changelogs/unreleased/220413-quickly-resolve-issues-with-your-cleanup-policy-with-improved-vali.yml create mode 100644 changelogs/unreleased/223928-page-title-editorconfig.yml create mode 100644 changelogs/unreleased/228674-auto-devops-deploy-failure-when-code-quality-enabled.yml create mode 100644 changelogs/unreleased/36361-custom-renderer-font-awesome.yml create mode 100644 changelogs/unreleased/fix-uninitialized-constant.yml create mode 100644 changelogs/unreleased/pages-1-21-0.yml create mode 100644 db/migrate/20200527211605_add_locked_to_ci_pipelines.rb create mode 100644 db/migrate/20200625174052_add_partial_index_to_locked_pipelines.rb create mode 100644 db/post_migrate/20200701070435_add_default_value_stream_to_groups_with_group_stages.rb create mode 100644 db/post_migrate/20200701091253_validate_foreign_key_on_cycle_analytics_group_stages.rb create mode 100644 spec/frontend/vue_shared/components/rich_content_editor/services/renderers/render_font_awesome_html_inline_spec.js create mode 100644 spec/migrations/add_default_value_stream_to_groups_with_group_stages_spec.rb create mode 100644 spec/models/project_services/confluence_service_spec.rb create mode 100644 spec/services/ci/unlock_artifacts_service_spec.rb create mode 100644 spec/workers/ci/pipeline_success_unlock_artifacts_worker_spec.rb create mode 100644 spec/workers/ci/ref_delete_unlock_artifacts_worker_spec.rb diff --git a/GITLAB_PAGES_VERSION b/GITLAB_PAGES_VERSION index 39893559155..3500250a4b0 100644 --- a/GITLAB_PAGES_VERSION +++ b/GITLAB_PAGES_VERSION @@ -1 +1 @@ -1.20.0 +1.21.0 diff --git a/app/assets/javascripts/filtered_search/constants.js b/app/assets/javascripts/filtered_search/constants.js index 7e7a2588951..0b9fe969da1 100644 --- a/app/assets/javascripts/filtered_search/constants.js +++ b/app/assets/javascripts/filtered_search/constants.js @@ -9,3 +9,5 @@ export const FILTER_TYPE = { none: 'none', any: 'any', }; + +export const MAX_HISTORY_SIZE = 5; diff --git a/app/assets/javascripts/filtered_search/stores/recent_searches_store.js b/app/assets/javascripts/filtered_search/stores/recent_searches_store.js index cdbc9ec84bd..423f123f71c 100644 --- a/app/assets/javascripts/filtered_search/stores/recent_searches_store.js +++ b/app/assets/javascripts/filtered_search/stores/recent_searches_store.js @@ -1,4 +1,6 @@ -import { uniq } from 'lodash'; +import { uniqWith, isEqual } from 'lodash'; + +import { MAX_HISTORY_SIZE } from '../constants'; class RecentSearchesStore { constructor(initialState = {}, allowedKeys) { @@ -17,8 +19,12 @@ class RecentSearchesStore { } setRecentSearches(searches = []) { - const trimmedSearches = searches.map(search => search.trim()); - this.state.recentSearches = uniq(trimmedSearches).slice(0, 5); + const trimmedSearches = searches.map(search => + typeof search === 'string' ? search.trim() : search, + ); + + // Do object equality check to remove duplicates. + this.state.recentSearches = uniqWith(trimmedSearches, isEqual).slice(0, MAX_HISTORY_SIZE); return this.state.recentSearches; } } diff --git a/app/assets/javascripts/ide/stores/actions/file.js b/app/assets/javascripts/ide/stores/actions/file.js index 1ebf14d6eb7..c0cb924e749 100644 --- a/app/assets/javascripts/ide/stores/actions/file.js +++ b/app/assets/javascripts/ide/stores/actions/file.js @@ -79,11 +79,13 @@ export const getFileData = ( return service .getFileData(url) .then(({ data }) => { - setPageTitleForFile(state, file); - if (data) commit(types.SET_FILE_DATA, { data, file }); if (openFile) commit(types.TOGGLE_FILE_OPEN, path); - if (makeFileActive) dispatch('setFileActive', path); + + if (makeFileActive) { + setPageTitleForFile(state, file); + dispatch('setFileActive', path); + } }) .catch(() => { dispatch('setErrorMessage', { diff --git a/app/assets/javascripts/registry/settings/components/settings_form.vue b/app/assets/javascripts/registry/settings/components/settings_form.vue index 63dc4430d18..6a41e162af9 100644 --- a/app/assets/javascripts/registry/settings/components/settings_form.vue +++ b/app/assets/javascripts/registry/settings/components/settings_form.vue @@ -1,4 +1,5 @@