Add latest changes from gitlab-org/gitlab@master

This commit is contained in:
GitLab Bot 2024-11-08 15:17:16 +00:00
parent 0daacd8353
commit 74ad68a3c4
125 changed files with 486 additions and 259 deletions

View File

@ -20,8 +20,8 @@ FactoryBot/ExcessiveCreateList:
- 'spec/features/issues/user_edits_issue_spec.rb'
- 'spec/features/issues/user_scrolls_to_deeplinked_note_spec.rb'
- 'spec/features/projects/container_registry_spec.rb'
- 'spec/features/projects/work_items/work_item_spec.rb'
- 'spec/features/users/overview_spec.rb'
- 'spec/features/work_items/work_item_spec.rb'
- 'spec/frontend/fixtures/timelogs.rb'
- 'spec/lib/gitlab/database/background_migration/batched_migration_spec.rb'
- 'spec/lib/gitlab/database/consistency_checker_spec.rb'

View File

@ -808,8 +808,6 @@ RSpec/BeforeAllRoleAssignment:
- 'spec/features/projects/terraform_spec.rb'
- 'spec/features/projects/user_sees_user_popover_spec.rb'
- 'spec/features/projects/user_views_empty_project_spec.rb'
- 'spec/features/projects/work_items/work_item_children_spec.rb'
- 'spec/features/projects/work_items/work_item_spec.rb'
- 'spec/features/promotion_spec.rb'
- 'spec/features/registrations/oauth_registration_spec.rb'
- 'spec/features/reportable_note/snippets_spec.rb'
@ -824,6 +822,8 @@ RSpec/BeforeAllRoleAssignment:
- 'spec/features/search/user_uses_header_search_field_spec.rb'
- 'spec/features/user_can_display_performance_bar_spec.rb'
- 'spec/features/user_sorts_things_spec.rb'
- 'spec/features/work_items/work_item_children_spec.rb'
- 'spec/features/work_items/work_item_spec.rb'
- 'spec/finders/alert_management/alerts_finder_spec.rb'
- 'spec/finders/autocomplete/deploy_keys_with_write_access_finder_spec.rb'
- 'spec/finders/autocomplete/routes_finder_spec.rb'

View File

@ -2135,7 +2135,6 @@ RSpec/FeatureCategory:
- 'spec/lib/gitlab/ci/badge/coverage/report_spec.rb'
- 'spec/lib/gitlab/ci/badge/coverage/template_spec.rb'
- 'spec/lib/gitlab/ci/badge/pipeline/metadata_spec.rb'
- 'spec/lib/gitlab/ci/badge/pipeline/status_spec.rb'
- 'spec/lib/gitlab/ci/badge/pipeline/template_spec.rb'
- 'spec/lib/gitlab/ci/badge/release/latest_release_spec.rb'
- 'spec/lib/gitlab/ci/badge/release/metadata_spec.rb'
@ -4155,7 +4154,6 @@ RSpec/FeatureCategory:
- 'spec/views/projects/imports/new.html.haml_spec.rb'
- 'spec/views/projects/issues/_related_branches.html.haml_spec.rb'
- 'spec/views/projects/issues/show.html.haml_spec.rb'
- 'spec/views/projects/jobs/_generic_commit_status.html.haml_spec.rb'
- 'spec/views/projects/jobs/show.html.haml_spec.rb'
- 'spec/views/projects/merge_requests/_commits.html.haml_spec.rb'
- 'spec/views/projects/merge_requests/edit.html.haml_spec.rb'

View File

@ -85,9 +85,9 @@ RSpec/NoExpectationExample:
- 'spec/features/projects/environments/environment_spec.rb'
- 'spec/features/projects/files/template_selector_menu_spec.rb'
- 'spec/features/projects/files/undo_template_spec.rb'
- 'spec/features/projects/work_items/linked_work_items_spec.rb'
- 'spec/features/user_settings/ssh_keys_spec.rb'
- 'spec/features/users/login_spec.rb'
- 'spec/features/work_items/linked_work_items_spec.rb'
- 'spec/frontend/fixtures/issues.rb'
- 'spec/frontend/fixtures/listbox.rb'
- 'spec/frontend/fixtures/merge_requests.rb'

View File

@ -5,7 +5,6 @@ SidekiqLoadBalancing/WorkerDataConsistency:
- 'app/workers/bulk_imports/pipeline_batch_worker.rb'
- 'app/workers/bulk_imports/relation_batch_export_worker.rb'
- 'app/workers/bulk_imports/stale_import_worker.rb'
- 'app/workers/chat_notification_worker.rb'
- 'app/workers/ci/archive_traces_cron_worker.rb'
- 'app/workers/ci/build_prepare_worker.rb'
- 'app/workers/ci/build_schedule_worker.rb'
@ -124,8 +123,6 @@ SidekiqLoadBalancing/WorkerDataConsistency:
- 'app/workers/incident_management/close_incident_worker.rb'
- 'app/workers/incident_management/pager_duty/process_incident_worker.rb'
- 'app/workers/incident_management/process_alert_worker_v2.rb'
- 'app/workers/integrations/execute_worker.rb'
- 'app/workers/integrations/irker_worker.rb'
- 'app/workers/integrations/propagate_integration_descendant_worker.rb'
- 'app/workers/invalid_gpg_signature_update_worker.rb'
- 'app/workers/issuable/label_links_destroy_worker.rb'
@ -135,8 +132,6 @@ SidekiqLoadBalancing/WorkerDataConsistency:
- 'app/workers/issues/close_worker.rb'
- 'app/workers/issues/placement_worker.rb'
- 'app/workers/issues/rebalancing_worker.rb'
- 'app/workers/jira_connect/forward_event_worker.rb'
- 'app/workers/jira_connect/retry_request_worker.rb'
- 'app/workers/loose_foreign_keys/cleanup_worker.rb'
- 'app/workers/mail_scheduler/issue_due_worker.rb'
- 'app/workers/mail_scheduler/notification_service_worker.rb'

View File

@ -1 +1 @@
e39eef132f47d2c679e0cc5d199406084135540b
a3bc04233c29d8368ac509e8c360bf82f104a2ce

View File

@ -127,6 +127,7 @@ function mountBoardApp(el) {
hasIssueWeightsFeature: parseBoolean(el.dataset.weightFeatureAvailable),
hasIssuableHealthStatusFeature: parseBoolean(el.dataset.healthStatusFeatureAvailable),
hasSubepicsFeature: parseBoolean(el.dataset.subEpicsFeatureAvailable),
hasLinkedItemsEpicsFeature: parseBoolean(el.dataset.hasLinkedItemsEpicsFeature),
},
render: (createComponent) => createComponent(BoardApp),
});

View File

@ -118,6 +118,7 @@ export async function mountIssuesListApp() {
wiIssuesListPath,
wiLabelsManagePath,
wiReportAbusePath,
hasLinkedItemsEpicsFeature,
} = el.dataset;
return new Vue({
@ -202,6 +203,7 @@ export async function mountIssuesListApp() {
labelsManagePath: wiLabelsManagePath,
reportAbusePath: wiReportAbusePath,
hasSubepicsFeature: false,
hasLinkedItemsEpicsFeature: parseBoolean(hasLinkedItemsEpicsFeature),
},
render: (createComponent) => createComponent(IssuesListApp),
});

View File

@ -104,7 +104,13 @@ export default {
WorkItemAbuseModal,
},
mixins: [glFeatureFlagMixin()],
inject: ['fullPath', 'reportAbusePath', 'groupPath', 'hasSubepicsFeature'],
inject: [
'fullPath',
'reportAbusePath',
'groupPath',
'hasSubepicsFeature',
'hasLinkedItemsEpicsFeature',
],
props: {
isModal: {
type: Boolean,
@ -374,7 +380,9 @@ export default {
return !this.isModal && !this.editMode && !this.isDrawer;
},
workItemLinkedItems() {
return this.isWidgetPresent(WIDGET_TYPE_LINKED_ITEMS);
return this.workItemType === WORK_ITEM_TYPE_VALUE_EPIC
? this.isWidgetPresent(WIDGET_TYPE_LINKED_ITEMS) && this.hasLinkedItemsEpicsFeature
: this.isWidgetPresent(WIDGET_TYPE_LINKED_ITEMS);
},
showWorkItemTree() {
return this.isWidgetPresent(WIDGET_TYPE_HIERARCHY) && this.allowedChildTypes?.length > 0;

View File

@ -1,6 +1,7 @@
import Vue from 'vue';
import { GlToast } from '@gitlab/ui';
import { apolloProvider } from '~/graphql_shared/issuable_client';
import { parseBoolean } from '~/lib/utils/common_utils';
import WorkItemLinks from './work_item_links.vue';
Vue.use(GlToast);
@ -25,6 +26,7 @@ export default function initWorkItemLinks() {
wiLabelsManagePath,
wiNewCommentTemplatePaths,
wiReportAbusePath,
hasLinkedItemsEpicsFeature,
} = workItemLinksRoot.dataset;
return new Vue({
@ -45,6 +47,7 @@ export default function initWorkItemLinks() {
labelsManagePath: wiLabelsManagePath,
newCommentTemplatePaths: JSON.parse(wiNewCommentTemplatePaths),
reportAbusePath: wiReportAbusePath,
hasLinkedItemsEpicsFeature: parseBoolean(hasLinkedItemsEpicsFeature),
},
render: (createElement) =>
createElement(WorkItemLinks, {

View File

@ -132,6 +132,7 @@ export default {
v-gl-modal="'time-tracking-report'"
v-gl-tooltip="s__('TimeTracking|View time tracking report')"
variant="link"
class="!gl-text-sm"
data-testid="view-time-spent-button"
>
{{ humanTotalTimeSpent }}
@ -152,6 +153,7 @@ export default {
v-gl-modal="$options.setTimeEstimateModalId"
v-gl-tooltip="s__('TimeTracking|Set estimate')"
variant="link"
class="!gl-text-sm"
data-testid="set-estimate-button"
>
{{ humanTimeEstimate }}
@ -163,7 +165,7 @@ export default {
<gl-button
v-else-if="canUpdate"
v-gl-modal="$options.setTimeEstimateModalId"
class="gl-ml-auto"
class="gl-ml-auto !gl-text-sm"
variant="link"
data-testid="add-estimate-button"
>

View File

@ -56,6 +56,7 @@ export const initWorkItemsRoot = ({ workItemType, workspaceType } = {}) => {
canBulkEditEpics,
groupIssuesPath,
labelsFetchPath,
hasLinkedItemsEpicsFeature,
} = el.dataset;
const isGroup = workspaceType === WORKSPACE_GROUP;
@ -125,6 +126,7 @@ export const initWorkItemsRoot = ({ workItemType, workspaceType } = {}) => {
canBulkEditEpics: parseBoolean(canBulkEditEpics),
groupIssuesPath,
labelsFetchPath,
hasLinkedItemsEpicsFeature: parseBoolean(hasLinkedItemsEpicsFeature),
},
mounted() {
performanceMarkAndMeasure({

View File

@ -20,6 +20,14 @@ module StreamDiffs
response.stream.close
end
def request
# We only need to do this in rapid diffs streaming endpoints
# as calling `request.format` (which can happen when rendering view components
# but can possibly happen in other places as well) can raise an exception
# while streaming diffs.
Request.new(super)
end
private
def rapid_diffs_enabled?
@ -50,4 +58,10 @@ module StreamDiffs
layout: false
)
end
class Request < SimpleDelegator
def format
Mime::Type.lookup("text/html")
end
end
end

View File

@ -270,11 +270,7 @@ module EventsHelper
end
def event_wiki_page_target_url(event)
if event.project_id.present?
project_wiki_url(event.project, event.target&.canonical_slug || Wiki::HOMEPAGE)
elsif event.group_id.present?
group_wiki_url(event.group, event.target&.canonical_slug || Wiki::HOMEPAGE)
end
project_wiki_url(event.project, event.target&.canonical_slug || Wiki::HOMEPAGE) if event.project_id.present?
end
def event_note_title_html(event)

View File

@ -44,7 +44,7 @@ module CommitSignature
def reverified_status
return verification_status unless Feature.enabled?(:check_for_mailmapped_commit_emails, project)
return verification_status unless verified? && ssh?
return verification_status unless verified_ssh? || verified_system?
verified_emails = signed_by_user&.verified_emails
if verified_emails&.exclude?(commit.author_email)
@ -53,4 +53,10 @@ module CommitSignature
verification_status
end
end
private
def verified_ssh?
verified? && ssh?
end
end

View File

@ -24,4 +24,4 @@
%th
%tbody= yield
= paginate @protected_tags, theme: 'gitlab'
= paginate @protected_tags, theme: 'gitlab', params: { anchor: 'js-protected-tags-settings' }

View File

@ -34,4 +34,4 @@
= content_for :create_protected_branch
- c.with_pagination do
= paginate @protected_branches, theme: 'gitlab'
= paginate @protected_branches, theme: 'gitlab', params: { anchor: 'js-protected-branches-settings' }

View File

@ -3,7 +3,7 @@
class ChatNotificationWorker # rubocop:disable Scalability/IdempotentWorker
include ApplicationWorker
data_consistency :always
data_consistency :sticky
TimeoutExceeded = Class.new(StandardError)

View File

@ -4,7 +4,7 @@ module Integrations
class ExecuteWorker # rubocop:disable Scalability/IdempotentWorker
include ApplicationWorker
data_consistency :always
data_consistency :delayed
sidekiq_options retry: 3
sidekiq_options dead: false
feature_category :integrations

View File

@ -8,7 +8,7 @@ module Integrations
class IrkerWorker # rubocop:disable Scalability/IdempotentWorker
include ApplicationWorker
data_consistency :always
data_consistency :sticky
sidekiq_options retry: 3
feature_category :integrations
urgency :low

View File

@ -4,7 +4,7 @@ module JiraConnect
class ForwardEventWorker # rubocop:disable Scalability/IdempotentWorker
include ApplicationWorker
data_consistency :always
data_consistency :delayed
queue_namespace :jira_connect
feature_category :integrations
urgency :low

View File

@ -4,7 +4,7 @@ module JiraConnect
class RetryRequestWorker # rubocop:disable Scalability/IdempotentWorker
include ApplicationWorker
data_consistency :always
data_consistency :delayed
queue_namespace :jira_connect
feature_category :integrations
urgency :low

View File

@ -136,6 +136,13 @@
"product_group": {
"$ref": "../metrics/schema/product_groups.json"
},
"product_categories": {
"type": "array",
"items": {
"type": "string",
"format": "known_product_category"
}
},
"introduced_by_url": {
"type": [
"string",

View File

@ -0,0 +1,10 @@
# frozen_string_literal: true
JSONSchemer.configure do |config|
categories_filepath = Rails.root.join('config/feature_categories.yml')
feature_categories = YAML.load_file(categories_filepath)
config.formats['known_product_category'] = proc do |category, _format|
feature_categories.include?(category)
end
end

View File

@ -3,7 +3,8 @@ data_category: optional
key_path: usage_activity_by_stage_monthly.configure.clusters_applications_cert_managers
description: Count user ids from GitLab Managed clusters with Cert Manager enabled
product_group: environments
product_category: deployment_management
product_categories:
- deployment_management
value_type: number
status: removed
time_frame: 28d

View File

@ -3,7 +3,8 @@ data_category: optional
key_path: usage_activity_by_stage_monthly.configure.clusters_applications_helm
description: Count user ids from GitLab Managed clusters with Helm enabled
product_group: environments
product_category: deployment_management
product_categories:
- deployment_management
value_type: number
status: removed
time_frame: 28d

View File

@ -3,7 +3,8 @@ data_category: optional
key_path: usage_activity_by_stage_monthly.configure.clusters_applications_ingress
description: Count user ids from GitLab Managed clusters with Ingress enabled
product_group: environments
product_category: deployment_management
product_categories:
- deployment_management
value_type: number
status: removed
time_frame: 28d

View File

@ -3,7 +3,8 @@ data_category: optional
key_path: usage_activity_by_stage_monthly.configure.clusters_applications_knative
description: Count user ids from GitLab Managed clusters with Knative enabled
product_group: environments
product_category: deployment_management
product_categories:
- deployment_management
value_type: number
status: removed
time_frame: 28d

View File

@ -4,7 +4,8 @@ key_path: usage_activity_by_stage_monthly.configure.clusters_management_project
description: Number of Kubernetes clusters with clusters management project being
set
product_group: environments
product_category: deployment_management
product_categories:
- deployment_management
value_type: number
status: active
time_frame: 28d

View File

@ -3,7 +3,8 @@ data_category: optional
key_path: usage_activity_by_stage_monthly.configure.clusters_disabled
description: Number of user ids from GitLab Managed disabled clusters
product_group: environments
product_category: deployment_management
product_categories:
- deployment_management
value_type: number
status: active
time_frame: 28d

View File

@ -3,7 +3,8 @@ data_category: optional
key_path: usage_activity_by_stage_monthly.configure.clusters_enabled
description: Number of distict user ids from GitLab Managed clusters currently enabled
product_group: environments
product_category: deployment_management
product_categories:
- deployment_management
value_type: number
status: active
time_frame: 28d

View File

@ -3,7 +3,8 @@ data_category: optional
key_path: usage_activity_by_stage_monthly.configure.clusters_platforms_gke
description: Number of user ids from GitLab Managed clusters provisioned with GitLab on GCE GKE
product_group: environments
product_category: deployment_management
product_categories:
- deployment_management
value_type: number
status: active
time_frame: 28d

View File

@ -3,7 +3,8 @@ data_category: optional
key_path: usage_activity_by_stage_monthly.configure.clusters_platforms_eks
description: Number of user ids from GitLab Managed clusters provisioned with GitLab on AWS EKS
product_group: environments
product_category: deployment_management
product_categories:
- deployment_management
value_type: number
status: active
time_frame: 28d

View File

@ -3,7 +3,8 @@ data_category: optional
key_path: usage_activity_by_stage_monthly.configure.clusters_platforms_user
description: Number of user ids from GitLab Managed clusters that are user provisioned
product_group: environments
product_category: deployment_management
product_categories:
- deployment_management
value_type: number
status: active
time_frame: 28d

View File

@ -3,7 +3,8 @@ data_category: optional
key_path: usage_activity_by_stage_monthly.configure.instance_clusters_disabled
description: Number of users from GitLab Managed disabled clusters attached to the instance
product_group: environments
product_category: deployment_management
product_categories:
- deployment_management
value_type: number
status: active
time_frame: 28d

View File

@ -3,7 +3,8 @@ data_category: optional
key_path: usage_activity_by_stage_monthly.configure.instance_clusters_enabled
description: Number of user ids from GitLab Managed enabled clusters attached to the instance
product_group: environments
product_category: deployment_management
product_categories:
- deployment_management
value_type: number
status: active
time_frame: 28d

View File

@ -3,7 +3,8 @@ data_category: optional
key_path: usage_activity_by_stage_monthly.configure.group_clusters_disabled
description: Number of user ids GitLab Managed disabled clusters attached to groups
product_group: environments
product_category: deployment_management
product_categories:
- deployment_management
value_type: number
status: active
time_frame: 28d

View File

@ -3,7 +3,8 @@ data_category: optional
key_path: usage_activity_by_stage_monthly.configure.group_clusters_enabled
description: Count disctinct user ids from GitLab Managed enabled clusters attached to groups
product_group: environments
product_category: deployment_management
product_categories:
- deployment_management
value_type: number
status: active
time_frame: 28d

View File

@ -3,7 +3,8 @@ data_category: optional
key_path: usage_activity_by_stage_monthly.configure.project_clusters_disabled
description: Number of user ids from GitLab Managed disabled clusters attached to projects
product_group: environments
product_category: deployment_management
product_categories:
- deployment_management
value_type: number
status: active
time_frame: 28d

View File

@ -3,7 +3,8 @@ data_category: operational
key_path: usage_activity_by_stage_monthly.configure.project_clusters_enabled
description: Number of user ids from GitLab Managed enabled clusters attached to projects
product_group: environments
product_category: deployment_management
product_categories:
- deployment_management
value_type: number
status: active
time_frame: 28d

View File

@ -2,7 +2,8 @@
key_path: redis_hll_counters.kubernetes_agent.agent_users_using_ci_tunnel_monthly
description: MAU of the Agent for Kubernetes CI/CD Tunnel
product_group: environments
product_category: deployment_management
product_categories:
- deployment_management
value_type: number
status: active
milestone: "15.3"

View File

@ -3,7 +3,8 @@ data_category: optional
key_path: counts.clusters
description: Total GitLab Managed clusters both enabled and disabled
product_group: environments
product_category: deployment_management
product_categories:
- deployment_management
value_type: number
status: active
time_frame: all

View File

@ -3,7 +3,8 @@ data_category: optional
key_path: counts.clusters_enabled
description: Number of Kubernetes clusters attached to GitLab currently enabled
product_group: environments
product_category: deployment_management
product_categories:
- deployment_management
value_type: number
status: active
time_frame: all

View File

@ -3,7 +3,8 @@ data_category: optional
key_path: counts.project_clusters_enabled
description: Total GitLab Managed clusters attached to projects
product_group: environments
product_category: deployment_management
product_categories:
- deployment_management
value_type: number
status: active
time_frame: all

View File

@ -3,7 +3,8 @@ data_category: optional
key_path: counts.group_clusters_enabled
description: Total GitLab Managed clusters attached to groups
product_group: environments
product_category: deployment_management
product_categories:
- deployment_management
value_type: number
status: active
time_frame: all

View File

@ -3,7 +3,8 @@ data_category: optional
key_path: counts.instance_clusters_enabled
description: Total GitLab Managed clusters attached to the instance
product_group: environments
product_category: deployment_management
product_categories:
- deployment_management
value_type: number
status: active
time_frame: all

View File

@ -3,7 +3,8 @@ data_category: optional
key_path: counts.clusters_disabled
description: Number of Kubernetes clusters attached to GitLab currently disabled
product_group: environments
product_category: deployment_management
product_categories:
- deployment_management
value_type: number
status: active
time_frame: all

View File

@ -3,7 +3,8 @@ data_category: optional
key_path: counts.project_clusters_disabled
description: Total GitLab Managed disabled clusters previously attached to projects
product_group: environments
product_category: deployment_management
product_categories:
- deployment_management
value_type: number
status: active
time_frame: all

View File

@ -3,7 +3,8 @@ data_category: optional
key_path: counts.group_clusters_disabled
description: Total GitLab Managed disabled clusters previously attached to groups
product_group: environments
product_category: deployment_management
product_categories:
- deployment_management
value_type: number
status: active
time_frame: all

View File

@ -3,7 +3,8 @@ data_category: optional
key_path: counts.instance_clusters_disabled
description: Total GitLab Managed disabled clusters previously attached to the instance
product_group: environments
product_category: deployment_management
product_categories:
- deployment_management
value_type: number
status: active
time_frame: all

View File

@ -3,7 +3,8 @@ data_category: optional
key_path: counts.clusters_platforms_eks
description: Total GitLab Managed clusters provisioned with GitLab on AWS EKS
product_group: environments
product_category: deployment_management
product_categories:
- deployment_management
value_type: number
status: active
time_frame: all

View File

@ -3,7 +3,8 @@ data_category: optional
key_path: counts.clusters_platforms_gke
description: Total GitLab Managed clusters provisioned with GitLab on GCE GKE
product_group: environments
product_category: deployment_management
product_categories:
- deployment_management
value_type: number
status: active
time_frame: all

View File

@ -3,7 +3,8 @@ data_category: optional
key_path: counts.clusters_platforms_user
description: Total GitLab Managed clusters that are user provisioned
product_group: environments
product_category: deployment_management
product_categories:
- deployment_management
value_type: number
status: active
time_frame: all

View File

@ -3,7 +3,8 @@ data_category: optional
key_path: counts.clusters_applications_helm
description: Total GitLab Managed clusters with GitLab Managed App:Helm enabled
product_group: environments
product_category: deployment_management
product_categories:
- deployment_management
value_type: number
status: removed
time_frame: all

View File

@ -3,7 +3,8 @@ data_category: optional
key_path: counts.clusters_applications_ingress
description: Total GitLab Managed clusters with GitLab Managed App:Ingress installed
product_group: environments
product_category: deployment_management
product_categories:
- deployment_management
value_type: number
status: removed
time_frame: all

View File

@ -3,7 +3,8 @@ data_category: optional
key_path: counts.clusters_applications_cert_managers
description: Total GitLab Managed clusters with GitLab Managed App:Cert Manager installed
product_group: environments
product_category: deployment_management
product_categories:
- deployment_management
value_type: number
status: removed
time_frame: all

View File

@ -3,7 +3,8 @@ data_category: optional
key_path: counts.clusters_applications_crossplane
description: Total GitLab Managed clusters with GitLab Managed App:Crossplane installed
product_group: environments
product_category: deployment_management
product_categories:
- deployment_management
value_type: number
status: removed
time_frame: all

View File

@ -3,7 +3,8 @@ data_category: optional
key_path: counts.clusters_applications_prometheus
description: Total GitLab Managed clusters with GitLab Managed App:Prometheus installed
product_group: environments
product_category: deployment_management
product_categories:
- deployment_management
value_type: number
status: removed
time_frame: all

View File

@ -3,7 +3,8 @@ data_category: optional
key_path: counts.clusters_applications_runner
description: Total GitLab Managed clusters with GitLab Managed App:Runner installed
product_group: environments
product_category: deployment_management
product_categories:
- deployment_management
value_type: number
status: removed
time_frame: all

View File

@ -3,7 +3,8 @@ data_category: optional
key_path: counts.clusters_applications_knative
description: Total GitLab Managed clusters with GitLab Managed App:Knative installed
product_group: environments
product_category: deployment_management
product_categories:
- deployment_management
value_type: number
status: removed
time_frame: all

View File

@ -3,7 +3,8 @@ data_category: optional
key_path: counts.clusters_applications_elastic_stack
description: Total GitLab Managed clusters with GitLab Managed App:Elastic Stack installed
product_group: environments
product_category: deployment_management
product_categories:
- deployment_management
value_type: number
status: removed
time_frame: all

View File

@ -3,7 +3,8 @@ data_category: optional
key_path: counts.clusters_applications_jupyter
description: Total GitLab Managed clusters with GitLab Managed App:Jupyter installed
product_group: environments
product_category: deployment_management
product_categories:
- deployment_management
value_type: number
status: removed
time_frame: all

View File

@ -3,7 +3,8 @@ data_category: operational
key_path: counts.clusters_applications_cilium
description: Total GitLab Managed clusters with GitLab Managed App:Cilium installed
product_group: environments
product_category: deployment_management
product_categories:
- deployment_management
value_type: number
status: removed
time_frame: all

View File

@ -3,7 +3,8 @@ data_category: optional
key_path: counts.clusters_management_project
description: Total GitLab Managed clusters with defined cluster management project
product_group: environments
product_category: deployment_management
product_categories:
- deployment_management
value_type: number
status: active
time_frame: all

View File

@ -3,7 +3,8 @@ data_category: optional
key_path: counts.kubernetes_agents
description: Count of Kubernetes registered agents
product_group: environments
product_category: deployment_management
product_categories:
- deployment_management
value_type: number
status: active
time_frame: all

View File

@ -3,7 +3,8 @@ data_category: optional
key_path: counts.kubernetes_agents_with_token
description: Count of Kubernetes agents with at least one token
product_group: environments
product_category: deployment_management
product_categories:
- deployment_management
value_type: number
status: active
time_frame: all

View File

@ -3,7 +3,8 @@ data_category: optional
key_path: usage_activity_by_stage.configure.clusters_applications_cert_managers
description: Total GitLab Managed clusters with GitLab Managed App:Cert Manager installed
product_group: environments
product_category: deployment_management
product_categories:
- deployment_management
value_type: number
status: removed
time_frame: all

View File

@ -3,7 +3,8 @@ data_category: optional
key_path: usage_activity_by_stage.configure.clusters_applications_helm
description: Total GitLab Managed clusters with GitLab Managed App:Helm enabled
product_group: environments
product_category: deployment_management
product_categories:
- deployment_management
value_type: number
status: removed
time_frame: all

View File

@ -3,7 +3,8 @@ data_category: optional
key_path: usage_activity_by_stage.configure.clusters_applications_ingress
description: Total GitLab Managed clusters with GitLab Managed App:Ingress installed
product_group: environments
product_category: deployment_management
product_categories:
- deployment_management
value_type: number
status: removed
time_frame: all

View File

@ -3,7 +3,8 @@ data_category: optional
key_path: usage_activity_by_stage.configure.clusters_applications_knative
description: Total GitLab Managed clusters with GitLab Managed App:Knative installed
product_group: environments
product_category: deployment_management
product_categories:
- deployment_management
value_type: number
status: removed
time_frame: all

View File

@ -3,7 +3,8 @@ data_category: optional
key_path: usage_activity_by_stage.configure.clusters_management_project
description: Total GitLab Managed clusters with defined cluster management project
product_group: environments
product_category: deployment_management
product_categories:
- deployment_management
value_type: number
status: active
time_frame: all

View File

@ -3,7 +3,8 @@ data_category: optional
key_path: usage_activity_by_stage.configure.clusters_disabled
description: Total GitLab Managed disabled clusters
product_group: environments
product_category: deployment_management
product_categories:
- deployment_management
value_type: number
status: active
time_frame: all

View File

@ -3,7 +3,8 @@ data_category: optional
key_path: usage_activity_by_stage.configure.clusters_enabled
description: Total GitLab Managed clusters currently enabled
product_group: environments
product_category: deployment_management
product_categories:
- deployment_management
value_type: number
status: active
time_frame: all

View File

@ -3,7 +3,8 @@ data_category: optional
key_path: usage_activity_by_stage.configure.clusters_platforms_gke
description: Total GitLab Managed clusters provisioned with GitLab on GCE GKE
product_group: environments
product_category: deployment_management
product_categories:
- deployment_management
value_type: number
status: active
time_frame: all

View File

@ -3,7 +3,8 @@ data_category: optional
key_path: usage_activity_by_stage.configure.clusters_platforms_eks
description: Total GitLab Managed clusters provisioned with GitLab on AWS EKS
product_group: environments
product_category: deployment_management
product_categories:
- deployment_management
value_type: number
status: active
time_frame: all

View File

@ -3,7 +3,8 @@ data_category: optional
key_path: usage_activity_by_stage.configure.clusters_platforms_user
description: Total GitLab Managed clusters that are user provisioned
product_group: environments
product_category: deployment_management
product_categories:
- deployment_management
value_type: number
status: active
time_frame: all

View File

@ -3,7 +3,8 @@ data_category: optional
key_path: usage_activity_by_stage.configure.instance_clusters_disabled
description: Total GitLab Managed disabled clusters attached to the instance
product_group: environments
product_category: deployment_management
product_categories:
- deployment_management
value_type: number
status: active
time_frame: all

View File

@ -3,7 +3,8 @@ data_category: optional
key_path: usage_activity_by_stage.configure.instance_clusters_enabled
description: Total GitLab Managed enabled clusters attached to the instance
product_group: environments
product_category: deployment_management
product_categories:
- deployment_management
value_type: number
status: active
time_frame: all

View File

@ -3,7 +3,8 @@ data_category: optional
key_path: usage_activity_by_stage.configure.group_clusters_disabled
description: Total GitLab Managed disabled clusters attached to groups
product_group: environments
product_category: deployment_management
product_categories:
- deployment_management
value_type: number
status: active
time_frame: all

View File

@ -3,7 +3,8 @@ data_category: optional
key_path: usage_activity_by_stage.configure.group_clusters_enabled
description: Total GitLab Managed enabled clusters attached to groups
product_group: environments
product_category: deployment_management
product_categories:
- deployment_management
value_type: number
status: active
time_frame: all

View File

@ -3,7 +3,8 @@ data_category: optional
key_path: usage_activity_by_stage.configure.project_clusters_disabled
description: Total GitLab Managed disabled clusters attached to projects
product_group: environments
product_category: deployment_management
product_categories:
- deployment_management
value_type: number
status: active
time_frame: all

View File

@ -3,7 +3,8 @@ data_category: optional
key_path: usage_activity_by_stage.configure.project_clusters_enabled
description: Total GitLab Managed enabled clusters attached to projects
product_group: environments
product_category: deployment_management
product_categories:
- deployment_management
value_type: number
status: active
time_frame: all

View File

@ -3,7 +3,8 @@ data_category: optional
key_path: usage_activity_by_stage.configure.projects_with_prometheus_alerts
description: Projects with Prometheus alerting enabled
product_group: environments
product_category: deployment_management
product_categories:
- deployment_management
value_type: number
status: removed
milestone_removed: '14.0'

View File

@ -3,7 +3,8 @@ data_category: optional
key_path: usage_activity_by_stage.verify.clusters_applications_runner
description: Count of users creating managed clusters with Runner enabled
product_group: environments
product_category: deployment_management
product_categories:
- deployment_management
value_type: number
status: removed
time_frame: all

View File

@ -3,7 +3,8 @@ data_category: optional
key_path: counts.kubernetes_agent_k8s_api_proxy_request
description: Count of Kubernetes API proxy requests
product_group: environments
product_category: deployment_management
product_categories:
- deployment_management
value_type: number
status: active
milestone: '13.12'

View File

@ -3,7 +3,8 @@ data_category: optional
key_path: counts.clusters_integrations_prometheus
description: Total clusters with Clusters::Integrations::Prometheus enabled
product_group: environments
product_category: deployment_management
product_categories:
- deployment_management
value_type: number
status: active
time_frame: all

View File

@ -3,7 +3,8 @@ data_category: optional
key_path: counts.clusters_integrations_elastic_stack
description: Total clusters with Clusters::Integrations::ElasticStack enabled
product_group: environments
product_category: deployment_management
product_categories:
- deployment_management
value_type: number
status: removed
time_frame: all

View File

@ -25,6 +25,13 @@
"product_group": {
"$ref": "product_groups.json"
},
"product_categories": {
"type": "array",
"items": {
"type": "string",
"format": "known_product_category"
}
},
"value_type": {
"type": "string",
"enum": [
@ -161,9 +168,6 @@
"value_json_schema": {
"type": "string"
},
"product_category": {
"type": "string"
},
"name": {
"type": "string"
},

View File

@ -3,7 +3,8 @@ key_path: database.mode
description: What PostgreSQL database mode is used. Possible values are
"single-database", "single-database-ci-connection", or "multiple-databases"
product_group: database
product_category: database
product_categories:
- database
value_type: string
status: active
milestone: "15.11"

View File

@ -0,0 +1,18 @@
# frozen_string_literal: true
class EnsureIdUniquenessForPCiPipelines < Gitlab::Database::Migration[2.2]
include Gitlab::Database::PartitioningMigrationHelpers::UniquenessHelpers
milestone '17.6'
TABLE_NAME = :p_ci_pipelines
SEQ_NAME = :ci_pipelines_id_seq
def up
ensure_unique_id(TABLE_NAME, seq: SEQ_NAME)
end
def down
revert_ensure_unique_id(TABLE_NAME, seq: SEQ_NAME)
end
end

View File

@ -0,0 +1 @@
a4a3e3193389ae202c53d321d613fabde0c849da2c75d7676e661190e9a246de

View File

@ -88,6 +88,19 @@ RETURN NEW;
END
$$;
CREATE FUNCTION assign_p_ci_pipelines_id_value() RETURNS trigger
LANGUAGE plpgsql
AS $$
BEGIN
IF NEW."id" IS NOT NULL THEN
RAISE WARNING 'Manually assigning ids is not allowed, the value will be ignored';
END IF;
NEW."id" := nextval('ci_pipelines_id_seq'::regclass);
RETURN NEW;
END
$$;
CREATE FUNCTION assign_p_ci_stages_id_value() RETURNS trigger
LANGUAGE plpgsql
AS $$
@ -9243,15 +9256,6 @@ CREATE TABLE p_ci_pipelines (
)
PARTITION BY LIST (partition_id);
CREATE SEQUENCE ci_pipelines_id_seq
START WITH 1
INCREMENT BY 1
NO MINVALUE
NO MAXVALUE
CACHE 1;
ALTER SEQUENCE ci_pipelines_id_seq OWNED BY p_ci_pipelines.id;
CREATE TABLE ci_pipelines (
ref character varying,
sha character varying,
@ -9281,13 +9285,22 @@ CREATE TABLE ci_pipelines (
ci_ref_id bigint,
locked smallint DEFAULT 1 NOT NULL,
partition_id bigint NOT NULL,
id bigint DEFAULT nextval('ci_pipelines_id_seq'::regclass) NOT NULL,
id bigint NOT NULL,
auto_canceled_by_id bigint,
auto_canceled_by_partition_id bigint,
CONSTRAINT check_2ba2a044b9 CHECK ((project_id IS NOT NULL)),
CONSTRAINT check_d7e99a025e CHECK ((lock_version IS NOT NULL))
);
CREATE SEQUENCE ci_pipelines_id_seq
START WITH 1
INCREMENT BY 1
NO MINVALUE
NO MAXVALUE
CACHE 1;
ALTER SEQUENCE ci_pipelines_id_seq OWNED BY p_ci_pipelines.id;
CREATE TABLE ci_project_mirrors (
id bigint NOT NULL,
project_id bigint NOT NULL,
@ -23364,8 +23377,6 @@ ALTER TABLE ONLY p_catalog_resource_sync_events ALTER COLUMN id SET DEFAULT next
ALTER TABLE ONLY p_ci_builds_metadata ALTER COLUMN id SET DEFAULT nextval('ci_builds_metadata_id_seq'::regclass);
ALTER TABLE ONLY p_ci_pipelines ALTER COLUMN id SET DEFAULT nextval('ci_pipelines_id_seq'::regclass);
ALTER TABLE ONLY packages_build_infos ALTER COLUMN id SET DEFAULT nextval('packages_build_infos_id_seq'::regclass);
ALTER TABLE ONLY packages_conan_file_metadata ALTER COLUMN id SET DEFAULT nextval('packages_conan_file_metadata_id_seq'::regclass);
@ -34722,6 +34733,8 @@ CREATE TRIGGER assign_p_ci_job_artifacts_id_trigger BEFORE INSERT ON p_ci_job_ar
CREATE TRIGGER assign_p_ci_pipeline_variables_id_trigger BEFORE INSERT ON p_ci_pipeline_variables FOR EACH ROW EXECUTE FUNCTION assign_p_ci_pipeline_variables_id_value();
CREATE TRIGGER assign_p_ci_pipelines_id_trigger BEFORE INSERT ON p_ci_pipelines FOR EACH ROW EXECUTE FUNCTION assign_p_ci_pipelines_id_value();
CREATE TRIGGER assign_p_ci_stages_id_trigger BEFORE INSERT ON p_ci_stages FOR EACH ROW EXECUTE FUNCTION assign_p_ci_stages_id_value();
CREATE TRIGGER assign_zoekt_tasks_id_trigger BEFORE INSERT ON zoekt_tasks FOR EACH ROW EXECUTE FUNCTION assign_zoekt_tasks_id_value();

View File

@ -31,7 +31,7 @@ across GitLab releases. Use the
Every API call to vulnerabilities must be [authenticated](rest/index.md#authentication).
If an authenticated user does not have permission to
[view vulnerabilities](../user/permissions.md#project-members-permissions),
[view vulnerability report](../user/permissions.md#application-security),
this request returns a `403 Forbidden` status code.
## Single vulnerability
@ -80,7 +80,7 @@ Example response:
Confirms a given vulnerability. Returns status code `304` if the vulnerability is already confirmed.
If an authenticated user does not have permission to
[confirm vulnerabilities](../user/permissions.md#project-members-permissions),
[change vulnerability status](../user/permissions.md#application-security),
this request results in a `403` status code.
```plaintext
@ -125,7 +125,7 @@ Example response:
Resolves a given vulnerability. Returns status code `304` if the vulnerability is already resolved.
If an authenticated user does not have permission to
[resolve vulnerabilities](../user/permissions.md#project-members-permissions),
[change vulnerability status](../user/permissions.md#application-security),
this request results in a `403` status code.
```plaintext
@ -170,7 +170,7 @@ Example response:
Dismisses a given vulnerability. Returns status code `304` if the vulnerability is already dismissed.
If an authenticated user does not have permission to
[dismiss vulnerabilities](../user/permissions.md#project-members-permissions),
[change vulnerability status](../user/permissions.md#application-security),
this request results in a `403` status code.
```plaintext
@ -215,7 +215,7 @@ Example response:
Reverts a given vulnerability to detected state. Returns status code `304` if the vulnerability is already in detected state.
If an authenticated user does not have permission to
[revert vulnerability to detected state](../user/permissions.md#project-members-permissions),
[change vulnerability status](../user/permissions.md#application-security),
this request results in a `403` status code.
```plaintext

View File

@ -154,7 +154,7 @@ Now you can update tests for existing files and write tests for the new files:
1. `spec/frontend/work_items/components/work_item_attributes_wrapper_spec.js` or `ee/spec/frontend/work_items/components/work_item_attributes_wrapper_spec.js`.
1. `spec/frontend/work_items/components/work_item_<widget_name>_spec.js` or `ee/spec/frontend/work_items/components/work_item_<widget_name>_spec.js`.
1. `spec/frontend/work_items/graphql/resolvers_spec.js` or `ee/spec/frontend/work_items/graphql/resolvers_spec.js`.
1. `spec/features/projects/work_items/work_item_spec.rb` or `ee/spec/features/projects/work_items/work_item_spec.rb`.
1. `spec/features/work_items/work_item_spec.rb` or `ee/spec/features/work_items/work_item_spec.rb`.
NOTE:
You may find some feature specs failing because of excessive SQL queries.

View File

@ -69,7 +69,7 @@ The [`gitmailmap`](https://git-scm.com/docs/gitmailmap) feature allows users to
GitLab uses these email addresses to provide links to the commit author.
When using a `mailmap` author mapping, it's possible to have a verified commit with an unverified author email.
For SSH signatures with `mailmap` author mappings, GitLab displays an orange verified label with a warning sign.
For SSH and UI signatures with `mailmap` author mappings, GitLab displays an orange verified label with a warning sign.
To restore the green verified label, verify the mapped email address, or remove the `mailmap` entry.
## Troubleshooting

View File

@ -4,7 +4,10 @@ module Gitlab
module Tracking
class EventDefinitionValidator
EVENT_SCHEMA_PATH = Rails.root.join('config/events/schema.json')
SCHEMA = ::JSONSchemer.schema(EVENT_SCHEMA_PATH)
def self.definition_schema
@definition_schema ||= ::JSONSchemer.schema(EVENT_SCHEMA_PATH)
end
def initialize(definition)
@attributes = definition.attributes
@ -12,7 +15,7 @@ module Gitlab
end
def validation_errors
SCHEMA.validate(attributes.deep_stringify_keys).map do |error|
self.class.definition_schema.validate(attributes.deep_stringify_keys).map do |error|
<<~ERROR_MSG
--------------- VALIDATION ERROR ---------------
Definition file: #{path}

View File

@ -4,7 +4,6 @@ module Gitlab
module Usage
class MetricDefinition
METRIC_SCHEMA_PATH = Rails.root.join('config', 'metrics', 'schema', 'base.json')
SCHEMA = ::JSONSchemer.schema(METRIC_SCHEMA_PATH)
AVAILABLE_STATUSES = %w[active broken].to_set.freeze
VALID_SERVICE_PING_STATUSES = %w[active broken].to_set.freeze
@ -91,14 +90,14 @@ module Gitlab
end
def validation_errors
SCHEMA.validate(@attributes.deep_stringify_keys).map do |error|
self.class.definition_schema.validate(@attributes.deep_stringify_keys).map do |error|
<<~ERROR_MSG
--------------- VALIDATION ERROR ---------------
Metric file: #{path}
Error type: #{error['type']}
Data: #{error['data']}
Path: #{error['data_pointer']}
Details: #{error['details']}
Details: #{error['details'] || error['error']}
ERROR_MSG
end
end
@ -188,6 +187,10 @@ module Gitlab
end
end
def definition_schema
@definition_schema ||= ::JSONSchemer.schema(METRIC_SCHEMA_PATH)
end
private
def load_all!

View File

@ -49776,6 +49776,9 @@ msgstr ""
msgid "SecurityOrchestration|Edit merge request approval policy"
msgstr ""
msgid "SecurityOrchestration|Edit pipeline execution policy"
msgstr ""
msgid "SecurityOrchestration|Edit policy"
msgstr ""

View File

@ -13,7 +13,7 @@ module InternalEventsCli
:time_frame,
:data_source,
:data_category,
:product_category,
:product_categories,
:distribution,
:tier,
:tiers,

View File

@ -42,4 +42,10 @@ RSpec.describe StreamDiffs, type: :controller, feature_category: :source_code_ma
})
end
end
describe '#request' do
it 'forces format as HTML' do
expect(controller.new.request.format.to_s).to eq('text/html')
end
end
end

Some files were not shown because too many files have changed in this diff Show More