From bfa1adf9773ba7ea7cde546ea545b72721d36faa Mon Sep 17 00:00:00 2001 From: GitLab Bot Date: Thu, 30 Mar 2023 12:08:15 +0000 Subject: [PATCH] Add latest changes from gitlab-org/gitlab@master --- .rubocop_todo/layout/argument_alignment.yml | 2 - .../layout/first_hash_element_indentation.yml | 1 - .rubocop_todo/layout/line_length.yml | 2 - .rubocop_todo/lint/symbol_conversion.yml | 2 - .rubocop_todo/lint/unused_block_argument.yml | 1 - .../naming/heredoc_delimiter_naming.yml | 1 - .rubocop_todo/rspec/context_wording.yml | 1 - .../rspec/missing_feature_category.yml | 1 - .../style/class_and_module_children.yml | 1 - GITALY_SERVER_VERSION | 2 +- .../components/board_filtered_search.vue | 8 +- .../boards/components/board_form.vue | 10 +- .../boards/components/board_top_bar.vue | 1 + .../issue_board_filtered_search.vue | 6 ++ app/assets/javascripts/diffs/i18n.js | 3 + app/assets/javascripts/diffs/store/actions.js | 26 +++++ .../graphql_shared/issuable_client.js | 20 ++++ .../incidents/timeline_events_form.vue | 2 +- .../lib/utils/vue3compat/vue_apollo.js | 78 +++++++++++++++ .../pages/projects/blob/show/index.js | 1 + .../branch_rules/components/view/index.vue | 2 + .../components/view/protection_row.vue | 8 +- .../settings/repository/branch_rules/app.vue | 11 ++- .../branch_rules/components/branch_rule.vue | 8 +- .../ref/components/ref_selector.vue | 8 ++ app/assets/javascripts/ref/stores/actions.js | 4 +- .../javascripts/ref/stores/mutation_types.js | 1 + .../javascripts/ref/stores/mutations.js | 3 + app/assets/javascripts/ref/stores/state.js | 1 + app/assets/javascripts/repository/index.js | 1 + .../super_sidebar/components/user_menu.vue | 4 +- app/assets/stylesheets/pages/notes.scss | 12 ++- .../projects/incidents_controller.rb | 1 - app/controllers/projects/issues_controller.rb | 1 - app/models/namespaces/traversal/linear.rb | 2 +- app/models/packages/debian.rb | 2 + app/models/packages/debian/file_metadatum.rb | 94 ++++++++++--------- app/models/packages/package.rb | 2 +- app/models/packages/package_file.rb | 7 ++ .../debian/find_or_create_incoming_service.rb | 2 +- .../notify/reassigned_issue_email.text.erb | 2 +- .../projects/branch_rules/_show.html.haml | 2 +- .../projects/merge_requests/_mr_box.html.haml | 2 +- .../merge_requests/_mr_title.html.haml | 2 +- app/workers/all_queues.yml | 9 ++ .../cleanup_dangling_package_files_worker.rb | 32 +++++++ .../debian/process_package_file_worker.rb | 3 +- .../development/incident_event_tags.yml | 8 -- ...ad_max_access_levels_for_labels_finder.yml | 2 +- config/initializers/1_settings.rb | 3 + config/webpack.config.js | 1 + ...kages_debian_file_metadata_when_unknown.rb | 17 ++++ ...ity_finding_signatures_on_signature_sha.rb | 15 +++ ...00222_drop_software_licenses_temp_index.rb | 16 ++++ db/schema_migrations/20230327125705 | 1 + db/schema_migrations/20230329100222 | 1 + db/schema_migrations/20230329194244 | 1 + db/structure.sql | 6 +- .../blueprints/database_testing/index.md | 7 +- doc/ci/jobs/ci_job_token.md | 3 +- .../incident_timeline_events.md | 5 +- doc/tutorials/index.md | 7 +- doc/user/analytics/value_streams_dashboard.md | 2 +- doc/user/group/import/index.md | 7 +- doc/user/packages/npm_registry/index.md | 61 +++++++----- doc/user/product_analytics/index.md | 2 +- jest.config.base.js | 1 + .../super_sidebar_menus/analyze_menu.rb | 33 +++++++ .../groups/super_sidebar_menus/build_menu.rb | 26 +++++ .../groups/super_sidebar_menus/manage_menu.rb | 30 ++++++ .../super_sidebar_menus/monitor_menu.rb | 27 ++++++ .../super_sidebar_menus/operations_menu.rb | 12 ++- .../groups/super_sidebar_menus/plan_menu.rb | 14 ++- .../groups/super_sidebar_menus/secure_menu.rb | 30 ++++++ lib/sidebars/groups/super_sidebar_panel.rb | 11 ++- lib/sidebars/projects/menus/monitor_menu.rb | 10 +- .../super_sidebar_menus/monitor_menu.rb | 12 +++ locale/gitlab.pot | 6 ++ package.json | 2 + qa/qa/page/project/settings/branch_rules.rb | 33 +++++++ .../project/settings/branch_rules_details.rb | 35 +++++++ qa/qa/page/project/settings/repository.rb | 8 ++ .../api/1_manage/group_access_token_spec.rb | 6 ++ .../api/1_manage/project_access_token_spec.rb | 6 ++ .../repository/add_new_branch_rule_spec.rb | 69 ++++++++++++++ .../packages/debian/file_metadatum.rb | 61 ++++++------ spec/factories/packages/package_files.rb | 1 + .../incident_timeline_events_spec.rb | 4 +- spec/features/users/login_spec.rb | 47 +++++----- spec/frontend/diffs/store/actions_spec.js | 82 ++++++++++++++++ .../create_timeline_events_form_spec.js | 1 - .../incidents/timeline_events_form_spec.js | 12 +-- .../ref/components/ref_selector_spec.js | 22 +++++ spec/frontend/ref/stores/actions_spec.js | 7 ++ spec/frontend/ref/stores/mutations_spec.js | 10 ++ .../super_sidebar_menus/analyze_menu_spec.rb | 28 ++++++ .../super_sidebar_menus/build_menu_spec.rb | 21 +++++ .../super_sidebar_menus/manage_menu_spec.rb | 25 +++++ .../super_sidebar_menus/monitor_menu_spec.rb | 22 +++++ .../operations_menu_spec.rb | 24 +++++ .../super_sidebar_menus/plan_menu_spec.rb | 26 +++++ .../super_sidebar_menus/secure_menu_spec.rb | 25 +++++ .../groups/super_sidebar_panel_spec.rb | 7 +- .../super_sidebar_menus/monitor_menu_spec.rb | 14 +++ .../projects/super_sidebar_panel_spec.rb | 1 - spec/mailers/notify_spec.rb | 30 +++++- ..._drop_software_licenses_temp_index_spec.rb | 20 ++++ .../packages/debian/file_metadatum_spec.rb | 45 +++++---- spec/models/packages/package_file_spec.rb | 11 +++ ...anup_dangling_package_files_worker_spec.rb | 85 +++++++++++++++++ .../process_package_file_worker_spec.rb | 1 + yarn.lock | 14 +++ 112 files changed, 1347 insertions(+), 230 deletions(-) create mode 100644 app/assets/javascripts/lib/utils/vue3compat/vue_apollo.js create mode 100644 app/workers/packages/debian/cleanup_dangling_package_files_worker.rb delete mode 100644 config/feature_flags/development/incident_event_tags.yml create mode 100644 db/migrate/20230329194244_add_index_packages_debian_file_metadata_when_unknown.rb create mode 100644 db/post_migrate/20230327125705_add_index_to_vulnerability_finding_signatures_on_signature_sha.rb create mode 100644 db/post_migrate/20230329100222_drop_software_licenses_temp_index.rb create mode 100644 db/schema_migrations/20230327125705 create mode 100644 db/schema_migrations/20230329100222 create mode 100644 db/schema_migrations/20230329194244 create mode 100644 lib/sidebars/groups/super_sidebar_menus/analyze_menu.rb create mode 100644 lib/sidebars/groups/super_sidebar_menus/build_menu.rb create mode 100644 lib/sidebars/groups/super_sidebar_menus/manage_menu.rb create mode 100644 lib/sidebars/groups/super_sidebar_menus/monitor_menu.rb create mode 100644 lib/sidebars/groups/super_sidebar_menus/secure_menu.rb create mode 100644 qa/qa/page/project/settings/branch_rules.rb create mode 100644 qa/qa/page/project/settings/branch_rules_details.rb create mode 100644 qa/qa/specs/features/browser_ui/3_create/repository/add_new_branch_rule_spec.rb create mode 100644 spec/lib/sidebars/groups/super_sidebar_menus/analyze_menu_spec.rb create mode 100644 spec/lib/sidebars/groups/super_sidebar_menus/build_menu_spec.rb create mode 100644 spec/lib/sidebars/groups/super_sidebar_menus/manage_menu_spec.rb create mode 100644 spec/lib/sidebars/groups/super_sidebar_menus/monitor_menu_spec.rb create mode 100644 spec/lib/sidebars/groups/super_sidebar_menus/operations_menu_spec.rb create mode 100644 spec/lib/sidebars/groups/super_sidebar_menus/plan_menu_spec.rb create mode 100644 spec/lib/sidebars/groups/super_sidebar_menus/secure_menu_spec.rb create mode 100644 spec/migrations/20230329100222_drop_software_licenses_temp_index_spec.rb create mode 100644 spec/workers/packages/debian/cleanup_dangling_package_files_worker_spec.rb diff --git a/.rubocop_todo/layout/argument_alignment.yml b/.rubocop_todo/layout/argument_alignment.yml index 827ec9b1e7d..be4a464b05b 100644 --- a/.rubocop_todo/layout/argument_alignment.yml +++ b/.rubocop_todo/layout/argument_alignment.yml @@ -556,7 +556,6 @@ Layout/ArgumentAlignment: - 'app/models/packages/cleanup/policy.rb' - 'app/models/packages/conan/metadatum.rb' - 'app/models/packages/debian/file_entry.rb' - - 'app/models/packages/debian/file_metadatum.rb' - 'app/models/packages/package.rb' - 'app/models/packages/rpm/metadatum.rb' - 'app/models/pages_domain.rb' @@ -665,7 +664,6 @@ Layout/ArgumentAlignment: - 'app/validators/feature_flag_user_xids_validator.rb' - 'app/workers/gitlab/github_import/stage/import_protected_branches_worker.rb' - 'app/workers/gitlab/jira_import/stuck_jira_import_jobs_worker.rb' - - 'app/workers/packages/debian/process_package_file_worker.rb' - 'app/workers/repository_update_remote_mirror_worker.rb' - 'app/workers/run_pipeline_schedule_worker.rb' - 'app/workers/stuck_export_jobs_worker.rb' diff --git a/.rubocop_todo/layout/first_hash_element_indentation.yml b/.rubocop_todo/layout/first_hash_element_indentation.yml index 71a32b64c50..e65c8658ba3 100644 --- a/.rubocop_todo/layout/first_hash_element_indentation.yml +++ b/.rubocop_todo/layout/first_hash_element_indentation.yml @@ -186,7 +186,6 @@ Layout/FirstHashElementIndentation: - 'spec/controllers/projects/web_ide_terminals_controller_spec.rb' - 'spec/controllers/projects_controller_spec.rb' - 'spec/factories/ci/builds.rb' - - 'spec/factories/packages/debian/file_metadatum.rb' - 'spec/frontend/fixtures/autocomplete_sources.rb' - 'spec/graphql/types/ci/detailed_status_type_spec.rb' - 'spec/helpers/groups/observability_helper_spec.rb' diff --git a/.rubocop_todo/layout/line_length.yml b/.rubocop_todo/layout/line_length.yml index 382b9d29ca8..c549dd2b56d 100644 --- a/.rubocop_todo/layout/line_length.yml +++ b/.rubocop_todo/layout/line_length.yml @@ -3534,7 +3534,6 @@ Layout/LineLength: - 'spec/factories/keys.rb' - 'spec/factories/namespaces.rb' - 'spec/factories/notes.rb' - - 'spec/factories/packages/debian/file_metadatum.rb' - 'spec/factories/packages/package_files.rb' - 'spec/factories/project_members.rb' - 'spec/factories/projects.rb' @@ -4667,7 +4666,6 @@ Layout/LineLength: - 'spec/models/packages/composer/metadatum_spec.rb' - 'spec/models/packages/conan/metadatum_spec.rb' - 'spec/models/packages/debian/file_entry_spec.rb' - - 'spec/models/packages/debian/file_metadatum_spec.rb' - 'spec/models/packages/debian/publication_spec.rb' - 'spec/models/packages/dependency_link_spec.rb' - 'spec/models/packages/dependency_spec.rb' diff --git a/.rubocop_todo/lint/symbol_conversion.yml b/.rubocop_todo/lint/symbol_conversion.yml index 537b32d856d..da56c283180 100644 --- a/.rubocop_todo/lint/symbol_conversion.yml +++ b/.rubocop_todo/lint/symbol_conversion.yml @@ -84,7 +84,6 @@ Lint/SymbolConversion: - 'spec/controllers/jira_connect/branches_controller_spec.rb' - 'spec/factories/ci/reports/codequality_degradations.rb' - 'spec/factories/evidences.rb' - - 'spec/factories/packages/debian/file_metadatum.rb' - 'spec/factories/packages/helm/file_metadatum.rb' - 'spec/factories/packages/npm/metadata.rb' - 'spec/features/file_uploads/graphql_add_design_spec.rb' @@ -140,7 +139,6 @@ Lint/SymbolConversion: - 'spec/lib/service_ping/devops_report_spec.rb' - 'spec/models/integrations/prometheus_spec.rb' - 'spec/models/merge_request_diff_commit_spec.rb' - - 'spec/models/packages/debian/file_metadatum_spec.rb' - 'spec/models/packages/helm/file_metadatum_spec.rb' - 'spec/models/packages/npm/metadatum_spec.rb' - 'spec/presenters/packages/npm/package_presenter_spec.rb' diff --git a/.rubocop_todo/lint/unused_block_argument.yml b/.rubocop_todo/lint/unused_block_argument.yml index aa2f0169006..bf3bde843af 100644 --- a/.rubocop_todo/lint/unused_block_argument.yml +++ b/.rubocop_todo/lint/unused_block_argument.yml @@ -374,7 +374,6 @@ Lint/UnusedBlockArgument: - 'spec/models/concerns/each_batch_spec.rb' - 'spec/models/container_repository_spec.rb' - 'spec/models/network/graph_spec.rb' - - 'spec/models/packages/debian/file_metadatum_spec.rb' - 'spec/requests/api/ci/pipeline_schedules_spec.rb' - 'spec/requests/api/graphql/gitlab_schema_spec.rb' - 'spec/requests/api/internal/container_registry/migration_spec.rb' diff --git a/.rubocop_todo/naming/heredoc_delimiter_naming.yml b/.rubocop_todo/naming/heredoc_delimiter_naming.yml index b92d316b693..b4586ecf414 100644 --- a/.rubocop_todo/naming/heredoc_delimiter_naming.yml +++ b/.rubocop_todo/naming/heredoc_delimiter_naming.yml @@ -54,7 +54,6 @@ Naming/HeredocDelimiterNaming: - 'rubocop/cop/gitlab/predicate_memoization.rb' - 'spec/controllers/projects/pipelines_controller_spec.rb' - 'spec/deprecation_toolkit_env.rb' - - 'spec/factories/packages/debian/file_metadatum.rb' - 'spec/features/projects/commit/user_comments_on_commit_spec.rb' - 'spec/features/task_lists_spec.rb' - 'spec/initializers/100_patch_omniauth_oauth2_spec.rb' diff --git a/.rubocop_todo/rspec/context_wording.yml b/.rubocop_todo/rspec/context_wording.yml index 5768ce2fefe..f925b637173 100644 --- a/.rubocop_todo/rspec/context_wording.yml +++ b/.rubocop_todo/rspec/context_wording.yml @@ -2303,7 +2303,6 @@ RSpec/ContextWording: - 'spec/models/notification_setting_spec.rb' - 'spec/models/operations/feature_flag_spec.rb' - 'spec/models/packages/conan/file_metadatum_spec.rb' - - 'spec/models/packages/debian/file_metadatum_spec.rb' - 'spec/models/packages/dependency_link_spec.rb' - 'spec/models/packages/dependency_spec.rb' - 'spec/models/packages/package_file_spec.rb' diff --git a/.rubocop_todo/rspec/missing_feature_category.yml b/.rubocop_todo/rspec/missing_feature_category.yml index 5a7d81848e8..72336d8d0c4 100644 --- a/.rubocop_todo/rspec/missing_feature_category.yml +++ b/.rubocop_todo/rspec/missing_feature_category.yml @@ -5264,7 +5264,6 @@ RSpec/MissingFeatureCategory: - 'spec/models/packages/conan/file_metadatum_spec.rb' - 'spec/models/packages/conan/metadatum_spec.rb' - 'spec/models/packages/debian/file_entry_spec.rb' - - 'spec/models/packages/debian/file_metadatum_spec.rb' - 'spec/models/packages/debian/group_architecture_spec.rb' - 'spec/models/packages/debian/group_component_file_spec.rb' - 'spec/models/packages/debian/group_component_spec.rb' diff --git a/.rubocop_todo/style/class_and_module_children.yml b/.rubocop_todo/style/class_and_module_children.yml index c49901db696..4485a5df956 100644 --- a/.rubocop_todo/style/class_and_module_children.yml +++ b/.rubocop_todo/style/class_and_module_children.yml @@ -285,7 +285,6 @@ Style/ClassAndModuleChildren: - 'app/models/packages/build_info.rb' - 'app/models/packages/conan/file_metadatum.rb' - 'app/models/packages/conan/metadatum.rb' - - 'app/models/packages/debian/file_metadatum.rb' - 'app/models/packages/debian/group_architecture.rb' - 'app/models/packages/debian/group_component.rb' - 'app/models/packages/debian/group_component_file.rb' diff --git a/GITALY_SERVER_VERSION b/GITALY_SERVER_VERSION index 4dab861ec68..3019d72ae6f 100644 --- a/GITALY_SERVER_VERSION +++ b/GITALY_SERVER_VERSION @@ -1 +1 @@ -c9c3f444b7d9e54f706552e199f7b9239b0027c5 +140ee5c9aa5f4fb7dd4a0017677788ee88ce7149 diff --git a/app/assets/javascripts/boards/components/board_filtered_search.vue b/app/assets/javascripts/boards/components/board_filtered_search.vue index 2e14afad963..46612320136 100644 --- a/app/assets/javascripts/boards/components/board_filtered_search.vue +++ b/app/assets/javascripts/boards/components/board_filtered_search.vue @@ -22,7 +22,7 @@ import { TOKEN_TYPE_WEIGHT, } from '~/vue_shared/components/filtered_search_bar/constants'; import FilteredSearch from '~/vue_shared/components/filtered_search_bar/filtered_search_bar_root.vue'; -import { AssigneeFilterType } from '~/boards/constants'; +import { AssigneeFilterType, GroupByParamType } from 'ee_else_ce/boards/constants'; import { TYPENAME_ITERATION } from '~/graphql_shared/constants'; import eventHub from '../eventhub'; @@ -33,6 +33,11 @@ export default { components: { FilteredSearch }, inject: ['initialFilterParams', 'isApolloBoard'], props: { + isSwimlanesOn: { + type: Boolean, + required: false, + default: false, + }, tokens: { type: Array, required: true, @@ -321,6 +326,7 @@ export default { release_tag: releaseTag, confidential, health_status: healthStatus, + group_by: this.isSwimlanesOn ? GroupByParamType.epic : undefined, }, (value) => { if (value || value === false) { diff --git a/app/assets/javascripts/boards/components/board_form.vue b/app/assets/javascripts/boards/components/board_form.vue index 9ea801dc9a2..604e71f5993 100644 --- a/app/assets/javascripts/boards/components/board_form.vue +++ b/app/assets/javascripts/boards/components/board_form.vue @@ -226,12 +226,10 @@ export default { } this.cancel(); - if (!this.isApolloBoard) { - const param = getParameterByName('group_by') - ? `?group_by=${getParameterByName('group_by')}` - : ''; - updateHistory({ url: `${this.boardBaseUrl}/${getIdFromGraphQLId(board.id)}${param}` }); - } + const param = getParameterByName('group_by') + ? `?group_by=${getParameterByName('group_by')}` + : ''; + updateHistory({ url: `${this.boardBaseUrl}/${getIdFromGraphQLId(board.id)}${param}` }); } catch { this.setError({ message: this.$options.i18n.saveErrorMessage }); } finally { diff --git a/app/assets/javascripts/boards/components/board_top_bar.vue b/app/assets/javascripts/boards/components/board_top_bar.vue index fad57758be1..c186346b2ac 100644 --- a/app/assets/javascripts/boards/components/board_top_bar.vue +++ b/app/assets/javascripts/boards/components/board_top_bar.vue @@ -98,6 +98,7 @@ export default { {}, }, + isSwimlanesOn: { + type: Boolean, + required: false, + default: false, + }, }, computed: { tokensCE() { @@ -203,6 +208,7 @@ export default { data-testid="issue-board-filtered-search" :tokens="tokens" :board="board" + :is-swimlanes-on="isSwimlanesOn" @setFilters="$emit('setFilters', $event)" /> diff --git a/app/assets/javascripts/diffs/i18n.js b/app/assets/javascripts/diffs/i18n.js index 0f44eb06cb3..d8812de12d4 100644 --- a/app/assets/javascripts/diffs/i18n.js +++ b/app/assets/javascripts/diffs/i18n.js @@ -1,6 +1,9 @@ import { __, s__ } from '~/locale'; export const GENERIC_ERROR = __('Something went wrong on our end. Please try again!'); +export const LOAD_SINGLE_DIFF_FAILED = s__( + 'MergeRequest|Encountered an issue while trying to fetch the single file diff.', +); export const DIFF_FILE_HEADER = { optionsDropdownTitle: __('Options'), diff --git a/app/assets/javascripts/diffs/store/actions.js b/app/assets/javascripts/diffs/store/actions.js index 29b77431f7d..6c461021f86 100644 --- a/app/assets/javascripts/diffs/store/actions.js +++ b/app/assets/javascripts/diffs/store/actions.js @@ -50,6 +50,7 @@ import { TRACKING_SINGLE_FILE_MODE, TRACKING_MULTIPLE_FILES_MODE, } from '../constants'; +import { LOAD_SINGLE_DIFF_FAILED } from '../i18n'; import eventHub from '../event_hub'; import { isCollapsed } from '../utils/diff_file'; import { markFileReview, setReviewsForMergeRequest } from '../utils/file_reviews'; @@ -590,6 +591,31 @@ export const setCurrentFileHash = ({ commit }, hash) => { commit(types.SET_CURRENT_DIFF_FILE, hash); }; +export const goToFile = ({ state, commit, dispatch, getters }, { path }) => { + if (!state.viewDiffsFileByFile) { + dispatch('scrollToFile', { path }); + } else { + if (!state.treeEntries[path]) return; + + const { fileHash } = state.treeEntries[path]; + + commit(types.SET_CURRENT_DIFF_FILE, fileHash); + + if (!getters.isTreePathLoaded(path)) { + document.location.hash = fileHash; + dispatch('fetchFileByFile') + .then(() => { + dispatch('scrollToFile', { path }); + }) + .catch(() => { + createAlert({ + message: LOAD_SINGLE_DIFF_FAILED, + }); + }); + } + } +}; + export const scrollToFile = ({ state, commit, getters }, { path }) => { if (!state.treeEntries[path]) return; diff --git a/app/assets/javascripts/graphql_shared/issuable_client.js b/app/assets/javascripts/graphql_shared/issuable_client.js index 2f2a4b3a474..f482fabc5f6 100644 --- a/app/assets/javascripts/graphql_shared/issuable_client.js +++ b/app/assets/javascripts/graphql_shared/issuable_client.js @@ -126,6 +126,26 @@ export const config = { }; }, }, + Group: { + fields: { + projects: { + keyArgs: ['includeSubgroups', 'search'], + }, + descendantGroups: { + keyArgs: ['includeSubgroups', 'search'], + }, + }, + }, + ProjectConnection: { + fields: { + nodes: concatPagination(), + }, + }, + GroupConnection: { + fields: { + nodes: concatPagination(), + }, + }, Board: { fields: { epics: { diff --git a/app/assets/javascripts/issues/show/components/incidents/timeline_events_form.vue b/app/assets/javascripts/issues/show/components/incidents/timeline_events_form.vue index 96995d2597f..4b3f4b58816 100644 --- a/app/assets/javascripts/issues/show/components/incidents/timeline_events_form.vue +++ b/app/assets/javascripts/issues/show/components/incidents/timeline_events_form.vue @@ -199,7 +199,7 @@ export default {

{{ __('UTC') }}

- +