Add latest changes from gitlab-org/gitlab@master
This commit is contained in:
parent
704e0e7556
commit
db3d5dbc02
|
|
@ -1 +1 @@
|
|||
4f0652cb7aee4addb41841dc6daf253b209bae7d
|
||||
707429494a96d985d94e0b10da1c1c5519fa5fb6
|
||||
|
|
|
|||
|
|
@ -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
|
||||
|
|
|
|||
|
|
@ -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"
|
||||
|
|
|
|||
|
|
@ -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:
|
||||
|
|
|
|||
|
|
@ -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
|
||||
|
|
@ -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
|
||||
|
|
@ -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
|
||||
|
|
@ -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'
|
||||
|
|
|
|||
|
|
@ -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
|
||||
|
|
@ -0,0 +1 @@
|
|||
fc4f1c0df8306fbd0e711e2e7769a64e9e147795cc05911c238164c0af77d2a8
|
||||
|
|
@ -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
|
||||
|
|
|
|||
|
|
@ -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) => {
|
||||
|
|
|
|||
|
|
@ -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);
|
||||
|
|
|
|||
Loading…
Reference in New Issue