From 11c99a1a7ac7ef3093f1c96aba6755b93ddb283f Mon Sep 17 00:00:00 2001 From: GitLab Bot Date: Wed, 31 Jul 2024 18:11:27 +0000 Subject: [PATCH] Add latest changes from gitlab-org/gitlab@master --- .rubocop_todo/style/string_concatenation.yml | 1 - .../cycle_analytics/components/base.vue | 4 +- .../cycle_analytics/components/filter_bar.vue | 2 +- .../components/path_navigation.vue | 28 +++++------ .../components/stage_table.vue | 28 +++++------ .../components/value_stream_filters.vue | 8 ++-- .../components/devops_score.vue | 4 +- .../components/date_ranges_dropdown.vue | 2 +- .../analytics/shared/components/daterange.vue | 10 ++-- .../shared/components/metric_popover.vue | 8 ++-- .../shared/components/metric_tile.vue | 2 +- .../components/projects_dropdown_filter.vue | 10 ++-- .../components/value_stream_metrics.vue | 8 ++-- .../value_streams_dashboard_link.vue | 6 +-- .../usage_trends/components/usage_counts.vue | 6 +-- .../components/error_tracking_form.vue | 2 +- .../javascripts/issues/list/constants.js | 48 +++++++++---------- app/assets/javascripts/issues/list/utils.js | 24 ++++------ .../issues/service_desk/constants.js | 42 ++++++++-------- .../javascripts/issues/service_desk/utils.js | 8 ++-- .../components/mr_widget_pipeline.vue | 2 +- .../components/alert_details.vue | 15 +++--- .../alert_details/components/alert_status.vue | 2 +- .../components/alert_summary_row.vue | 4 +- .../components/sidebar/sidebar_assignees.vue | 20 ++++---- .../components/sidebar/sidebar_header.vue | 2 +- .../components/sidebar/sidebar_status.vue | 10 ++-- .../components/sidebar/sidebar_todo.vue | 2 +- .../components/system_notes/system_note.vue | 6 +-- .../components/alert_details_table.vue | 4 +- .../vue_shared/components/awards_list.vue | 2 +- .../components/badges/beta_badge.stories.js | 2 +- .../badges/experiment_badge.stories.js | 2 +- .../components/blob_viewers/simple_viewer.vue | 23 +++------ .../ci_cd_analytics_charts.vue | 2 +- .../code_dropdown/code_dropdown.vue | 6 +-- .../code_dropdown/code_dropdown_item.vue | 2 +- .../code_dropdown/snippet_code_dropdown.vue | 2 +- .../components/color_picker/color_picker.vue | 10 ++-- .../color_select_dropdown/dropdown_header.vue | 6 +-- .../vue_shared/components/commit.vue | 2 +- .../viewers/download_viewer.vue | 2 +- .../vue_shared/components/crud_component.vue | 14 +++--- .../components/deployment_instance.vue | 2 +- .../design_management/design_disclosure.vue | 2 +- .../design_management/design_note_pin.vue | 2 +- .../components/diff_stats_dropdown.vue | 20 ++++---- .../components/dismissible_container.vue | 2 +- .../components/dropdown/dropdown_button.vue | 2 +- .../dropdown_widget/dropdown_widget.vue | 4 +- .../components/file_finder/index.vue | 2 +- .../components/file_finder/item.vue | 2 +- .../vue_shared/components/file_row_header.vue | 2 +- .../filtered_search_bar_root.vue | 2 +- .../tokens/branch_token.vue | 4 +- .../tokens/crm_contact_token.vue | 2 +- .../tokens/daterange_token.vue | 2 +- .../tokens/emoji_token.vue | 2 +- .../tokens/label_token.vue | 6 +-- .../filtered_search_bar/tokens/user_token.vue | 4 +- .../components/form/errors_alert.vue | 2 +- .../components/form/form_footer_actions.vue | 2 +- .../form/input_copy_toggle_visibility.vue | 3 +- .../components/groups_list/groups_list.vue | 2 +- .../groups_list/groups_list_item.vue | 2 +- .../components/incubation/pagination.vue | 2 +- .../issuable_blocked_icon.vue | 10 ++-- .../components/list_selector/group_item.vue | 2 +- .../components/logs_viewer/line_number.vue | 2 +- .../components/logs_viewer/logs_viewer.vue | 2 +- .../components/markdown/non_gfm_markdown.vue | 4 +- .../metric_images/metric_images_table.vue | 24 ++++------ .../components/mr_more_dropdown.vue | 14 +++--- .../vue_shared/components/navigation_tabs.vue | 2 +- .../new_resource_dropdown.vue | 4 +- .../components/notes/placeholder_note.vue | 2 +- .../components/notes/skeleton_note.vue | 2 +- .../components/notes/system_note.vue | 19 ++++---- .../components/notes/timeline_icon.vue | 2 +- .../number_to_human_size.stories.js | 2 +- .../vue_shared/components/page_heading.vue | 4 +- .../constants.js | 5 +- .../paginated_table_with_search_and_tabs.vue | 6 +-- .../pagination_bar/pagination_bar.vue | 2 +- .../components/papa_parse_alert.vue | 2 +- .../project_selector/project_list_item.vue | 6 +-- .../project_selector/project_selector.vue | 8 ++-- .../projects_list/projects_list.vue | 2 +- .../projects_list/projects_list_item.vue | 2 +- .../components/registry/details_row.vue | 4 +- .../components/registry/history_item.vue | 2 +- .../components/registry/list_item.vue | 2 +- .../components/registry/metadata_item.vue | 10 ++-- .../components/registry/registry_search.vue | 6 +-- .../components/registry/title_area.vue | 30 +++++------- .../components/settings/settings_block.vue | 8 ++-- .../components/settings/settings_section.vue | 2 +- .../vue_shared/components/toggle_labels.vue | 4 +- .../tooltip_on_truncate.stories.js | 6 +-- .../components/usage_quotas/usage_banner.vue | 2 +- .../components/user_access_role_badge.vue | 2 +- .../components/user_popover/user_popover.vue | 10 ++-- .../vue_shared/components/web_ide_link.vue | 10 ++-- .../list/components/issuable_list_root.vue | 2 +- .../components/issuable_sidebar_root.vue | 2 +- .../components/section_layout.vue | 6 +-- app/assets/stylesheets/framework/common.scss | 5 -- app/helpers/access_tokens_helper.rb | 2 + app/helpers/application_settings_helper.rb | 4 +- .../application_setting_implementation.rb | 3 +- app/models/commit_status.rb | 2 +- app/models/container_repository.rb | 1 - app/models/deploy_key.rb | 1 - app/models/epic.rb | 2 - app/models/personal_access_token.rb | 2 +- app/models/project_pages_metadatum.rb | 1 - app/models/sent_notification.rb | 2 - .../bulk_imports/file_download_service.rb | 2 +- .../personal_access_tokens/create_service.rb | 6 ++- .../personal_access_tokens/rotate_service.rb | 32 ++++++++----- .../resource_access_tokens/create_service.rb | 8 +++- .../_account_and_limit.html.haml | 1 + ...ire_personal_access_token_expiry.html.haml | 7 +++ config/gitlab_loose_foreign_keys.yml | 4 ++ ...10216180441_issues_created_from_alerts.yml | 4 +- config/sidekiq_queues.yml | 2 + ...bility_occurrence_pipelines_project_id.yml | 9 ++++ db/docs/vulnerability_flags.yml | 4 +- .../vulnerability_occurrence_pipelines.yml | 1 + ...uire_pat_expiry_to_application_settings.rb | 9 ++++ ...d_to_vulnerability_occurrence_pipelines.rb | 9 ++++ ...backfill_vulnerability_flags_project_id.rb | 4 +- ...jects_vulnerability_flags_project_id_fk.rb | 21 ++++++++ ...lity_occurrence_pipelines_on_project_id.rb | 16 +++++++ ...occurrence_pipelines_project_id_trigger.rb | 25 ++++++++++ ...ability_occurrence_pipelines_project_id.rb | 40 ++++++++++++++++ db/schema_migrations/20240702181131 | 1 + db/schema_migrations/20240715151939 | 1 + db/schema_migrations/20240730172815 | 1 + db/schema_migrations/20240730172816 | 1 + db/schema_migrations/20240730172817 | 1 + db/schema_migrations/20240730172818 | 1 + db/structure.sql | 25 ++++++++-- .../integration/diagrams_net.md | 2 +- doc/administration/lfs/index.md | 4 +- .../operations/fast_ssh_key_lookup.md | 12 ++--- .../settings/account_and_limit_settings.md | 38 ++++++++++++++- .../settings/instance_template_repository.md | 2 +- .../settings/push_event_activities_limit.md | 2 +- doc/api/commits.md | 2 +- doc/api/graphql/branch_rules.md | 2 +- doc/api/graphql/reference/index.md | 12 +++++ doc/api/projects.md | 2 + doc/api/protected_branches.md | 2 +- doc/api/repository_submodules.md | 2 +- doc/api/settings.md | 4 ++ doc/api/tags.md | 2 +- doc/development/code_owners/index.md | 2 +- doc/development/developing_with_solargraph.md | 2 +- .../styleguide/availability_details.md | 20 +++++++- doc/development/fe_guide/source_editor.md | 4 +- doc/development/fips_compliance.md | 6 +-- .../specification_guide/index.md | 6 +-- doc/development/gitlab_shell/features.md | 4 +- doc/development/gitlab_shell/index.md | 4 +- doc/development/internal_api/index.md | 19 ++++---- .../internal_api/internal_api_allowed.md | 2 +- doc/development/lfs.md | 2 +- .../merge_request_concepts/rate_limits.md | 4 +- doc/development/project_templates.md | 6 +-- doc/development/rails_endpoints/index.md | 2 +- .../repository_storage_moves/index.md | 8 ++-- doc/development/workhorse/channel.md | 2 +- doc/development/workhorse/configuration.md | 12 ++--- doc/development/workhorse/handlers.md | 2 +- doc/raketasks/x509_signatures.md | 2 +- doc/security/reset_user_password.md | 2 +- doc/security/token_overview.md | 2 + doc/topics/git/get_started.md | 6 +-- doc/topics/git/troubleshooting_git.md | 4 +- doc/user/asciidoc.md | 2 +- .../get_started/get_started_managing_code.md | 8 ++-- doc/user/gitlab_com/index.md | 8 ++-- doc/user/gitlab_duo/index.md | 2 +- doc/user/group/ssh_certificates.md | 4 +- doc/user/project/codeowners/reference.md | 2 +- .../project/codeowners/troubleshooting.md | 2 +- doc/user/project/file_lock.md | 4 +- doc/user/project/integrations/git_guardian.md | 9 ++-- .../merge_requests/duo_in_merge_requests.md | 2 +- doc/user/project/protected_branches.md | 2 +- doc/user/project/repository/index.md | 2 +- .../repository/mirror/bidirectional.md | 4 +- doc/user/project/repository/mirror/pull.md | 2 +- .../repository/mirror/troubleshooting.md | 2 +- .../reducing_the_repo_size_using_git.md | 2 +- .../repository/signed_commits/web_commits.md | 2 +- .../project/repository/signed_commits/x509.md | 4 +- doc/user/snippets.md | 2 +- lib/api/entities/project_upload.rb | 3 ++ .../helpers/personal_access_tokens_helpers.rb | 2 +- lib/api/resource_access_tokens.rb | 12 ++--- lib/api/settings.rb | 1 + .../backfill_desired_sharding_key_job.rb | 8 +++- ...ability_occurrence_pipelines_project_id.rb | 10 ++++ .../fp/settings/env_var_override_processor.rb | 2 + .../issues_created_from_alerts_metric.rb | 29 ----------- ...ues_with_alert_management_alerts_metric.rb | 4 -- .../issues_with_prometheus_alert_events.rb | 24 ---------- lib/gitlab/usage_data.rb | 7 --- locale/gitlab.pot | 6 +++ package.json | 1 + scripts/frontend/tailwind_equivalents.json | 5 +- .../application_settings_controller_spec.rb | 1 + spec/db/schema_spec.rb | 1 + spec/factories/usage_data.rb | 10 +--- .../components/alert_management_table_spec.js | 4 +- spec/frontend/issues/list/mock_data.js | 8 ++-- spec/frontend/issues/list/utils_spec.js | 26 +++++----- .../__snapshots__/file_sha_spec.js.snap | 2 +- .../package_list_row_spec.js.snap | 2 +- .../__snapshots__/file_sha_spec.js.snap | 2 +- .../package_list_row_spec.js.snap | 2 +- .../components/mr_widget_pipeline_spec.js | 8 ++-- .../alert_details/alert_status_spec.js | 4 +- .../vue_shared/components/awards_list_spec.js | 26 +++++----- .../__snapshots__/simple_viewer_spec.js.snap | 14 +++--- .../design_note_pin_spec.js.snap | 8 ++-- .../metric_images_table_spec.js.snap | 8 ++-- .../components/page_heading_spec.js | 6 ++- .../settings/settings_section_spec.js | 4 +- spec/helpers/access_tokens_helper_spec.rb | 12 ++++- ...ty_occurrence_pipelines_project_id_spec.rb | 15 ++++++ .../database/no_cross_db_foreign_keys_spec.rb | 3 +- .../env_var_override_processor_spec.rb | 10 ++++ ...ith_alert_management_alerts_metric_spec.rb | 17 +++++++ spec/lib/gitlab/usage_data_spec.rb | 1 - .../settings/settings_integration_spec.rb | 11 +++++ ...ill_vulnerability_flags_project_id_spec.rb | 2 +- ...ty_occurrence_pipelines_project_id_spec.rb | 33 +++++++++++++ spec/models/personal_access_token_spec.rb | 12 +++++ spec/requests/api/markdown_uploads_spec.rb | 1 + .../api/personal_access_tokens_spec.rb | 16 +++++++ spec/requests/api/settings_spec.rb | 5 +- .../file_download_service_spec.rb | 28 +++++++---- .../create_service_spec.rb | 10 ++++ .../create_service_spec.rb | 13 +++++ .../value_streams_dashboard_helpers.rb | 18 +++++++ ...every_metric_definition_shared_examples.rb | 3 +- ...value_streams_dashboard_shared_examples.rb | 11 +---- ...ll_desired_sharding_key_shared_examples.rb | 23 ++++++++- 251 files changed, 1039 insertions(+), 695 deletions(-) create mode 100644 app/views/admin/application_settings/_require_personal_access_token_expiry.html.haml create mode 100644 db/docs/batched_background_migrations/backfill_vulnerability_occurrence_pipelines_project_id.yml create mode 100644 db/migrate/20240702181131_add_require_pat_expiry_to_application_settings.rb create mode 100644 db/migrate/20240730172815_add_project_id_to_vulnerability_occurrence_pipelines.rb create mode 100644 db/post_migrate/20240715151939_remove_projects_vulnerability_flags_project_id_fk.rb create mode 100644 db/post_migrate/20240730172816_prepare_index_vulnerability_occurrence_pipelines_on_project_id.rb create mode 100644 db/post_migrate/20240730172817_add_vulnerability_occurrence_pipelines_project_id_trigger.rb create mode 100644 db/post_migrate/20240730172818_queue_backfill_vulnerability_occurrence_pipelines_project_id.rb create mode 100644 db/schema_migrations/20240702181131 create mode 100644 db/schema_migrations/20240715151939 create mode 100644 db/schema_migrations/20240730172815 create mode 100644 db/schema_migrations/20240730172816 create mode 100644 db/schema_migrations/20240730172817 create mode 100644 db/schema_migrations/20240730172818 create mode 100644 lib/gitlab/background_migration/backfill_vulnerability_occurrence_pipelines_project_id.rb delete mode 100644 lib/gitlab/usage/metrics/instrumentations/issues_created_from_alerts_metric.rb delete mode 100644 lib/gitlab/usage/metrics/instrumentations/issues_with_prometheus_alert_events.rb create mode 100644 spec/lib/gitlab/background_migration/backfill_vulnerability_occurrence_pipelines_project_id_spec.rb create mode 100644 spec/lib/gitlab/usage/metrics/instrumentations/issues_with_alert_management_alerts_metric_spec.rb create mode 100644 spec/migrations/20240730172818_queue_backfill_vulnerability_occurrence_pipelines_project_id_spec.rb diff --git a/.rubocop_todo/style/string_concatenation.yml b/.rubocop_todo/style/string_concatenation.yml index 2722f70f81b..1f5d2c9f0c2 100644 --- a/.rubocop_todo/style/string_concatenation.yml +++ b/.rubocop_todo/style/string_concatenation.yml @@ -108,7 +108,6 @@ Style/StringConcatenation: - 'lib/gitlab/throttle.rb' - 'lib/gitlab/time_tracking_formatter.rb' - 'lib/gitlab/untrusted_regexp.rb' - - 'lib/gitlab/usage/metrics/instrumentations/issues_created_from_alerts_metric.rb' - 'lib/gitlab/usage_data_queries.rb' - 'lib/google_api/cloud_platform/client.rb' - 'lib/kramdown/converter/commonmark.rb' diff --git a/app/assets/javascripts/analytics/cycle_analytics/components/base.vue b/app/assets/javascripts/analytics/cycle_analytics/components/base.vue index 44dbe46ed10..d54193bd6a3 100644 --- a/app/assets/javascripts/analytics/cycle_analytics/components/base.vue +++ b/app/assets/javascripts/analytics/cycle_analytics/components/base.vue @@ -177,11 +177,11 @@ export default { @setDateRange="onSetDateRange" @setPredefinedDateRange="setPredefinedDateRange" /> -
+
-
-
+
+
{{ s__('ValueStreamEvent|Stage time (median)') }}
{{ pathItem.metric }}
-
-
+
+
{{ s__('ValueStreamEvent|Items in stage') }}
@@ -87,29 +87,23 @@ export default { {{ s__('ValueStreamEvent|Only items that reached their stop event.') }}
-
-
-
+
+
+
{{ s__('ValueStreamEvent|Start') }}
-
-
+
+
{{ s__('ValueStreamEvent|Stop') }}
diff --git a/app/assets/javascripts/analytics/cycle_analytics/components/stage_table.vue b/app/assets/javascripts/analytics/cycle_analytics/components/stage_table.vue index 498fbf792f9..3c6f3ce1df2 100644 --- a/app/assets/javascripts/analytics/cycle_analytics/components/stage_table.vue +++ b/app/assets/javascripts/analytics/cycle_analytics/components/stage_table.vue @@ -225,7 +225,7 @@ export default {

{{ itemId(item.id, '#') }} @@ -233,7 +233,7 @@ export default { {{ item.branch.name }} @@ -243,37 +243,33 @@ export default {

- {{ item.date }} + {{ item.date }} {{ s__('ByAuthor|by') }} - {{ item.author.name }} + {{ + item.author.name + }}

-
- {{ itemTitle(item) }} +
+ {{ itemTitle(item) }}

{{ itemDisplayName(item) }} - · + · {{ s__('OpenedNDaysAgo|Created') }} - {{ - item.createdAt - }} + {{ item.createdAt }} {{ s__('ByAuthor|by') }} - {{ + {{ item.author.name }} diff --git a/app/assets/javascripts/analytics/cycle_analytics/components/value_stream_filters.vue b/app/assets/javascripts/analytics/cycle_analytics/components/value_stream_filters.vue index 8798cbbfabe..f0e8a6babb7 100644 --- a/app/assets/javascripts/analytics/cycle_analytics/components/value_stream_filters.vue +++ b/app/assets/javascripts/analytics/cycle_analytics/components/value_stream_filters.vue @@ -130,17 +130,17 @@ export default {