Add latest changes from gitlab-org/gitlab@master

This commit is contained in:
GitLab Bot 2025-06-19 06:07:22 +00:00
parent 704e0e7556
commit db3d5dbc02
13 changed files with 129 additions and 14 deletions

View File

@ -1 +1 @@
4f0652cb7aee4addb41841dc6daf253b209bae7d
707429494a96d985d94e0b10da1c1c5519fa5fb6

View File

@ -58,7 +58,7 @@ export default {
{{ $options.i18n.storageUsed }}
</template>
<template #right-secondary-text>
<number-to-human-size :value="containerRegistrySize" data-testid="total-size-section" />
<number-to-human-size :value="containerRegistrySize" data-testid="container-registry-size" />
<storage-type-warning v-if="containerRegistrySizeIsEstimated">
{{ $options.i18n.estimatedWarningTooltip }}
<help-page-link

View File

@ -18,7 +18,12 @@ import WorkItemLinkChildMetadata from 'ee_else_ce/work_items/components/shared/w
import RichTimestampTooltip from '../rich_timestamp_tooltip.vue';
import WorkItemTypeIcon from '../work_item_type_icon.vue';
import WorkItemStateBadge from '../work_item_state_badge.vue';
import { canRouterNav, findLinkedItemsWidget, getDisplayReference } from '../../utils';
import {
canRouterNav,
findLinkedItemsWidget,
findStatusWidget,
getDisplayReference,
} from '../../utils';
import {
STATE_OPEN,
WIDGET_TYPE_ASSIGNEES,
@ -143,6 +148,14 @@ export default {
displayLabels() {
return this.showLabels && this.labels.length;
},
workItemStatus() {
return findStatusWidget(this.childItem)?.status?.name;
},
showState() {
return this.glFeatures.workItemStatusFeatureFlag
? !this.workItemStatus || !this.isChildItemOpen
: true;
},
displayReference() {
return getDisplayReference(this.workItemFullPath, this.childItem.reference);
},
@ -282,6 +295,7 @@ export default {
/>
<slot name="child-contents"></slot>
<span
v-if="showState"
:id="`statusIcon-${childItem.id}`"
class="gl-cursor-help"
data-testid="item-status-icon"

View File

@ -1,5 +1,5 @@
---
description: Agents send the register request to KAS periodically (default every 5 min). KAS registers the agent to keep track of connected agents.
description: Gitlab Agent for Kubernetes (agentk) registered at KAS
internal_events: true
action: register_agent_at_kas
identifiers:

View File

@ -0,0 +1,25 @@
---
description: GitLab Agent for Workspace (agentw) registered at KAS
internal_events: true
status: active
action: register_agentw_at_kas
identifiers:
- project
- namespace
- user
additional_properties:
label:
description: GitLab Agent version
property:
description: CPU architecture of the agent, e.g. x86_64
value:
description: GitLab Agent unique id
product_group: environments
product_categories:
- continuous_delivery
milestone: '18.2'
introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/194418
tiers:
- free
- premium
- ultimate

View File

@ -0,0 +1,23 @@
---
key_path: redis_hll_counters.count_distinct_project_id_from_register_agentw_at_kas
description: Count of unique projects that GitLab Agent for Workspace (agentw) was registered at KAS
product_group: environments
product_categories:
- continuous_delivery
performance_indicator_type: []
value_type: number
status: active
milestone: '18.2'
introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/194418
time_frame:
- 28d
- 7d
data_source: internal_events
data_category: optional
tiers:
- free
- premium
- ultimate
events:
- name: register_agentw_at_kas
unique: project.id

View File

@ -0,0 +1,22 @@
---
key_path: counts.count_total_register_agentw_at_kas
description: Count of GitLab Agent for Workspace (agentw) registered at KAS
product_group: environments
product_categories:
- continuous_delivery
performance_indicator_type: []
value_type: number
status: active
milestone: '18.2'
introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/194418
time_frame:
- 28d
- 7d
data_source: internal_events
data_category: optional
tiers:
- free
- premium
- ultimate
events:
- name: register_agentw_at_kas

View File

@ -6,4 +6,4 @@ introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/167444
milestone: '17.5'
queued_migration_version: 20240927123742
finalize_after: '2024-10-22'
finalized_by: # version of the migration that finalized this BBM
finalized_by: '20250611194107'

View File

@ -0,0 +1,20 @@
# frozen_string_literal: true
class FinalizeBackfillPackagesComposerMetadataProjectId < Gitlab::Database::Migration[2.3]
milestone '18.2'
disable_ddl_transaction!
restrict_gitlab_migration gitlab_schema: :gitlab_main_cell
def up
ensure_batched_background_migration_is_finished(
job_class_name: 'BackfillPackagesComposerMetadataProjectId',
table_name: :packages_composer_metadata,
column_name: :package_id,
job_arguments: [:project_id, :packages_packages, :project_id, :package_id],
finalize: true
)
end
def down; end
end

View File

@ -0,0 +1 @@
fc4f1c0df8306fbd0e711e2e7769a64e9e147795cc05911c238164c0af77d2a8

View File

@ -43,8 +43,10 @@ class MigrationSchemaValidator
return
end
# validate_ignore_columns! should never be skipped, the ignore_column directive must always be present
# only check allowed to be skipped is validate_schema_on_rollback!
validate_ignore_columns!
validate_schema_on_migrate!
validate_schema_version_files!
if skip_validation?
puts "\e[32m Label #{SKIP_VALIDATION_LABEL} is present, skipping schema validation\e[0m"
@ -52,8 +54,6 @@ class MigrationSchemaValidator
end
validate_schema_on_rollback!
validate_schema_on_migrate!
validate_schema_version_files!
end
private

View File

@ -11,7 +11,7 @@ describe('Container registry usage component', () => {
containerRegistrySizeIsEstimated: false,
};
const findTotalSizeSection = () => wrapper.findByTestId('total-size-section');
const findTotalSizeSection = () => wrapper.findByTestId('container-registry-size');
const findWarningIcon = () => wrapper.findComponent(StorageTypeWarning);
const createComponent = (props) => {

View File

@ -59,6 +59,7 @@ describe('WorkItemLinkChildContents', () => {
isGroup = false,
getRoutesMock = defaultGetRoutesMock,
contextualViewEnabled = false,
workItemStatusFeatureFlag = false,
} = {}) => {
wrapper = shallowMountExtended(WorkItemLinkChildContents, {
propsData: {
@ -70,6 +71,9 @@ describe('WorkItemLinkChildContents', () => {
},
provide: {
isGroup,
glFeatures: {
workItemStatusFeatureFlag,
},
},
mocks: {
$router: {
@ -85,13 +89,19 @@ describe('WorkItemLinkChildContents', () => {
});
it.each`
status | childItem | workItemState | rawTimestamp | tooltipContents
${'open'} | ${workItemTask} | ${'OPEN'} | ${workItemTask.createdAt} | ${'Created'}
${'closed'} | ${closedWorkItemTask} | ${'CLOSED'} | ${closedWorkItemTask.closedAt} | ${'Closed'}
status | childItem | workItemState | rawTimestamp | tooltipContents | workItemStatusFeatureFlagEnabled
${'open'} | ${workItemTask} | ${'OPEN'} | ${workItemTask.createdAt} | ${'Created'} | ${true}
${'closed'} | ${closedWorkItemTask} | ${'CLOSED'} | ${closedWorkItemTask.closedAt} | ${'Closed'} | ${false}
`(
'renders item status icon and tooltip when item status is `$status`',
({ childItem, workItemState, rawTimestamp, tooltipContents }) => {
createComponent({ childItem });
({
childItem,
workItemState,
rawTimestamp,
tooltipContents,
workItemStatusFeatureFlagEnabled,
}) => {
createComponent({ childItem, workItemStatusFeatureFlag: workItemStatusFeatureFlagEnabled });
expect(findStatusBadgeComponent().props('workItemState')).toBe(workItemState);
expect(findStatusTooltipComponent().props('rawTimestamp')).toBe(rawTimestamp);