Skip to content

Commit daa2c7c

Browse files
author
GitLab Bot
committed
Add latest changes from gitlab-org/gitlab@master
1 parent 81aa45e commit daa2c7c

40 files changed

+291
-220
lines changed

.rubocop_todo/layout/line_end_string_concatenation_indentation.yml

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -348,7 +348,6 @@ Layout/LineEndStringConcatenationIndentation:
348348
- 'ee/spec/views/admin/application_settings/_ee_package_registry.html.haml_spec.rb'
349349
- 'ee/spec/views/gitlab_subscriptions/trials/duo_pro/_advantages_list.html.haml_spec.rb'
350350
- 'ee/spec/views/groups/billings/index.html.haml_spec.rb'
351-
- 'ee/spec/views/subscriptions/groups/edit.html.haml_spec.rb'
352351
- 'ee/spec/workers/groups/enterprise_users/bulk_associate_by_domain_worker_spec.rb'
353352
- 'ee/spec/workers/vulnerabilities/mark_dropped_as_resolved_worker_spec.rb'
354353
- 'lib/api/ci/job_artifacts.rb'

.rubocop_todo/rails/strong_params.yml

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -320,5 +320,4 @@ Rails/StrongParams:
320320
- 'ee/app/controllers/security/application_controller.rb'
321321
- 'ee/app/controllers/security/projects_controller.rb'
322322
- 'ee/app/controllers/smartcard_controller.rb'
323-
- 'ee/app/controllers/subscriptions/groups_controller.rb'
324323
- 'ee/app/controllers/users/base_identity_verification_controller.rb'

.rubocop_todo/rspec/receive_messages.yml

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -218,7 +218,6 @@ RSpec/ReceiveMessages:
218218
- 'ee/spec/views/shared/credentials_inventory/personal_access_tokens/_personal_access_token.html.haml_spec.rb'
219219
- 'ee/spec/views/shared/credentials_inventory/ssh_keys/_ssh_key.html.haml_spec.rb'
220220
- 'ee/spec/views/shared/milestones/_milestone.html.haml_spec.rb'
221-
- 'ee/spec/views/subscriptions/groups/edit.html.haml_spec.rb'
222221
- 'ee/spec/views/trial_registrations/new.html.haml_spec.rb'
223222
- 'ee/spec/workers/active_user_count_threshold_worker_spec.rb'
224223
- 'ee/spec/workers/anti_abuse/new_abuse_report_worker_spec.rb'

.rubocop_todo/style/block_delimiters.yml

Lines changed: 0 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -21,32 +21,17 @@ Style/BlockDelimiters:
2121
- 'ee/spec/models/ee/projects/wiki_repository_spec.rb'
2222
- 'ee/spec/models/geo/design_management_repository_state_spec.rb'
2323
- 'ee/spec/models/geo/wiki_repository_state_spec.rb'
24-
- 'ee/spec/models/merge_request_spec.rb'
2524
- 'ee/spec/models/namespace_setting_spec.rb'
2625
- 'ee/spec/models/protected_environments/deploy_access_level_spec.rb'
27-
- 'ee/spec/models/security/finding_spec.rb'
2826
- 'ee/spec/models/vulnerabilities/feedback_spec.rb'
2927
- 'ee/spec/services/gitlab_subscriptions/reconciliations/calculate_seat_count_data_service_spec.rb'
3028
- 'ee/spec/services/package_metadata/advisory_data_object_spec.rb'
3129
- 'ee/spec/services/package_metadata/compressed_package_data_object_spec.rb'
3230
- 'ee/spec/services/package_metadata/data_object_fabricator_spec.rb'
3331
- 'ee/spec/services/security/scanned_resources_counting_service_spec.rb'
3432
- 'ee/spec/services/security/scanned_resources_service_spec.rb'
35-
- 'ee/spec/services/security/vulnerability_counting_service_spec.rb'
3633
- 'spec/helpers/abuse_reports_helper_spec.rb'
3734
- 'spec/helpers/admin/user_actions_helper_spec.rb'
38-
- 'spec/helpers/merge_requests_helper_spec.rb'
39-
- 'spec/helpers/projects/cluster_agents_helper_spec.rb'
40-
- 'spec/lib/gitlab/ci/build/rules_spec.rb'
41-
- 'spec/lib/gitlab/ci/config/external/file/artifact_spec.rb'
42-
- 'spec/lib/gitlab/ci/config/external/file/base_spec.rb'
43-
- 'spec/lib/gitlab/ci/config/external/file/local_spec.rb'
44-
- 'spec/lib/gitlab/ci/config/external/file/project_spec.rb'
45-
- 'spec/lib/gitlab/ci/config/external/file/remote_spec.rb'
46-
- 'spec/lib/gitlab/ci/config/external/file/template_spec.rb'
47-
- 'spec/lib/gitlab/data_builder/build_spec.rb'
48-
- 'spec/lib/gitlab/git/wraps_gitaly_errors_spec.rb'
49-
- 'spec/lib/release_highlights/validator/entry_spec.rb'
5035
- 'spec/models/abuse_report_spec.rb'
5136
- 'spec/models/ci/group_variable_spec.rb'
5237
- 'spec/models/container_registry/protection/rule_spec.rb'

GITALY_SERVER_VERSION

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
275f2266ac911d785aaf7f5f79dd76240f372a7f
1+
9a94e7c7c19fce3afb5c36d045195c06e50ce3ca

GITLAB_KAS_VERSION

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
f48b28ef570a270b659aee53320959cffb2cebdb
1+
2f84f1083ebc22f6efe3ab00355ef5170bcbc142

app/assets/javascripts/ml/model_registry/apps/show_ml_model.vue

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -275,14 +275,15 @@ export default {
275275
<load-or-error-or-show :is-loading="isLoading" :error-message="errorMessage">
276276
<gl-tabs class="gl-mt-4" :value="tabIndex">
277277
<gl-tab
278-
v-if="latestVersion"
279278
:title="$options.i18n.tabModelCardTitle"
280279
@click="goTo($options.ROUTE_DETAILS)"
281280
/>
282-
<gl-tab v-if="latestVersion" @click="goTo($options.ROUTE_VERSIONS)">
281+
<gl-tab @click="goTo($options.ROUTE_VERSIONS)">
283282
<template #title>
284283
{{ $options.i18n.tabVersionsTitle }}
285-
<gl-badge class="gl-tab-counter-badge">{{ versionCount }}</gl-badge>
284+
<gl-badge v-if="versionCount" class="gl-tab-counter-badge">{{
285+
versionCount
286+
}}</gl-badge>
286287
</template>
287288
</gl-tab>
288289

app/assets/javascripts/ml/model_registry/components/model_detail.vue

Lines changed: 0 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -1,15 +1,11 @@
11
<script>
2-
import { GlLink } from '@gitlab/ui';
32
import { s__ } from '~/locale';
43
import IssuableDescription from '~/vue_shared/issuable/show/components/issuable_description.vue';
5-
import EmptyState from './model_list_empty_state.vue';
64
75
export default {
86
name: 'ModelDetail',
97
components: {
108
IssuableDescription,
11-
EmptyState,
12-
GlLink,
139
},
1410
provide() {
1511
return {
@@ -55,27 +51,15 @@ export default {
5551
},
5652
},
5753
emptyState: {
58-
title: s__('MlModelRegistry|Manage versions of your machine learning model'),
5954
modelCardDescription: s__(
6055
'MlModelRegistry|No description available. To add a description, click "Edit model" above.',
6156
),
62-
description: s__('MlModelRegistry|Use versions to track performance, parameters, and metadata'),
63-
primaryText: s__('MlModelRegistry|Create new version'),
6457
},
6558
};
6659
</script>
6760

6861
<template>
6962
<div class="issue-details issuable-details">
70-
<div v-if="model.latestVersion">
71-
<h3 class="gl-text-lg">
72-
{{ s__('MlModelRegistry|Latest version') }}:
73-
74-
<gl-link :href="model.latestVersion._links.showPath" data-testid="model-version-link">
75-
{{ model.latestVersion.version }}
76-
</gl-link>
77-
</h3>
78-
</div>
7963
<div
8064
v-if="model.descriptionHtml"
8165
class="detail-page-description js-detail-page-description content-block gl-pt-4"
@@ -91,13 +75,5 @@ export default {
9175
<div v-else class="gl-text-secondary" data-testid="empty-description-state">
9276
{{ $options.emptyState.modelCardDescription }}
9377
</div>
94-
95-
<empty-state
96-
v-if="!model.latestVersion"
97-
:title="$options.emptyState.title"
98-
:description="$options.emptyState.description"
99-
:primary-text="$options.emptyState.primaryText"
100-
:primary-link="createModelVersionPath"
101-
/>
10278
</div>
10379
</template>

app/assets/javascripts/ml/model_registry/components/model_version_list.vue

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,7 @@ export default {
1818
EmptyState,
1919
SearchableTable,
2020
},
21-
inject: ['createModelVersionPath'],
21+
inject: ['createModelVersionPath', 'latestVersion'],
2222
props: {
2323
modelId: {
2424
type: String,
@@ -60,6 +60,9 @@ export default {
6060
versions() {
6161
return this.modelVersions?.nodes ?? [];
6262
},
63+
showSearch() {
64+
return Boolean(this.latestVersion);
65+
},
6366
},
6467
methods: {
6568
fetchPage(variables) {
@@ -101,7 +104,7 @@ export default {
101104
</script>
102105
<template>
103106
<searchable-table
104-
show-search
107+
:show-search="showSearch"
105108
:page-info="pageInfo"
106109
:model-versions="versions"
107110
:error-message="errorMessage"

app/assets/javascripts/todos/components/todo_item_title.vue

Lines changed: 26 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,18 +1,23 @@
11
<script>
2+
import { GlIcon } from '@gitlab/ui';
23
import StatusBadge from '~/issuable/components/status_badge.vue';
34
import { s__ } from '~/locale';
45
import { STATUS_OPEN, TYPE_ALERT, TYPE_ISSUE, TYPE_MERGE_REQUEST } from '~/issues/constants';
56
import {
67
TODO_ACTION_TYPE_MEMBER_ACCESS_REQUESTED,
78
TODO_TARGET_TYPE_ALERT,
89
TODO_TARGET_TYPE_DESIGN,
10+
TODO_TARGET_TYPE_EPIC,
911
TODO_TARGET_TYPE_ISSUE,
1012
TODO_TARGET_TYPE_MERGE_REQUEST,
13+
TODO_TARGET_TYPE_PIPELINE,
14+
TODO_TARGET_TYPE_SSH_KEY,
1115
} from '../constants';
1216
1317
export default {
1418
components: {
1519
StatusBadge,
20+
GlIcon,
1621
},
1722
props: {
1823
todo: {
@@ -97,6 +102,26 @@ export default {
97102
98103
return '';
99104
},
105+
icon() {
106+
switch (this.todo.targetType) {
107+
case TODO_TARGET_TYPE_ISSUE:
108+
return 'issues';
109+
case TODO_TARGET_TYPE_MERGE_REQUEST:
110+
return 'merge-request';
111+
case TODO_TARGET_TYPE_PIPELINE:
112+
return 'pipeline';
113+
case TODO_TARGET_TYPE_ALERT:
114+
return 'status-alert';
115+
case TODO_TARGET_TYPE_DESIGN:
116+
return 'issues';
117+
case TODO_TARGET_TYPE_SSH_KEY:
118+
return 'token';
119+
case TODO_TARGET_TYPE_EPIC:
120+
return 'epic';
121+
default:
122+
return null;
123+
}
124+
},
100125
},
101126
i18n: {
102127
removed: s__('Todos|(removed)'),
@@ -109,6 +134,7 @@ export default {
109134
class="gl-flex gl-items-center gl-gap-2 gl-overflow-hidden gl-whitespace-nowrap gl-px-2 gl-pb-3 gl-pt-2 gl-text-sm gl-text-subtle sm:gl-mr-0 sm:gl-pr-4 md:gl-mb-1"
110135
>
111136
<status-badge v-if="showStatusBadge" :issuable-type="issuableType" :state="issuableState" />
137+
<gl-icon v-if="icon" :name="icon" />
112138
<div class="gl-overflow-hidden gl-text-ellipsis">
113139
<span v-if="targetTitle" class="todo-target-title">{{ targetTitle }}</span>
114140
<span v-if="!isDesign && !isMemberAccessRequestAction">&middot;</span>

app/assets/javascripts/todos/constants.js

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,7 @@ export const TODO_TARGET_TYPE_DESIGN = 'DESIGN';
1010
export const TODO_TARGET_TYPE_ALERT = 'ALERT';
1111
export const TODO_TARGET_TYPE_EPIC = 'EPIC';
1212
export const TODO_TARGET_TYPE_SSH_KEY = 'KEY';
13+
export const TODO_TARGET_TYPE_PIPELINE = 'PIPELINE';
1314

1415
export const TODO_ACTION_TYPE_ASSIGNED = 'assigned';
1516
export const TODO_ACTION_TYPE_MENTIONED = 'mentioned';

app/models/commit_collection.rb

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -175,14 +175,12 @@ def committers_emails(with_merge_commits: false, include_author_when_signed: fal
175175
end
176176

177177
def committer_emails_for(commits, include_author_when_signed: false)
178-
commit_author_change_enabled = ::Feature.enabled?(:web_ui_commit_author_change, project)
179-
180-
if include_author_when_signed && commit_author_change_enabled
178+
if include_author_when_signed
181179
commits.each(&:signature) # preload signatures
182180
end
183181

184182
commits.filter_map do |commit|
185-
if include_author_when_signed && commit_author_change_enabled && commit.signature&.verified_system?
183+
if include_author_when_signed && commit.signature&.verified_system?
186184
commit.author_email
187185
else
188186
commit.committer_email

app/services/commits/cherry_pick_service.rb

Lines changed: 1 addition & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -26,8 +26,6 @@ def create_commit!
2626
def commit_message
2727
message = commit.cherry_pick_message(current_user)
2828

29-
return message unless ::Feature.enabled?(:web_ui_commit_author_change, project)
30-
3129
co_authored_trailer = "#{Commit::CO_AUTHORED_TRAILER}: #{commit.author_name} <#{commit.author_email}>"
3230

3331
"#{message}\n\n#{co_authored_trailer}"
@@ -45,12 +43,7 @@ def track_mr_picking(pick_sha)
4543
end
4644

4745
def perform_cherry_pick(message)
48-
author_kwargs =
49-
if Feature.enabled?(:web_ui_commit_author_change, project)
50-
{ author_name: current_user.name, author_email: current_user.email }
51-
else
52-
{}
53-
end
46+
author_kwargs = { author_name: current_user.name, author_email: current_user.email }
5447

5548
repository.cherry_pick(current_user, @commit, @branch_name, message,
5649
start_project: @start_project, start_branch_name: @start_branch, dry_run: @dry_run,

app/services/suggestions/apply_service.rb

Lines changed: 2 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -50,17 +50,10 @@ def multi_service
5050
branch_name: suggestion_set.branch,
5151
start_branch: suggestion_set.branch,
5252
actions: suggestion_set.actions,
53-
author_name: author&.name,
54-
author_email: author&.email
53+
author_name: current_user.name,
54+
author_email: current_user.commit_email_or_default
5555
}
5656

57-
if ::Feature.enabled?(:web_ui_commit_author_change, project)
58-
params.merge!({
59-
author_name: current_user.name,
60-
author_email: current_user.commit_email_or_default
61-
})
62-
end
63-
6457
::Files::MultiService.new(suggestion_set.source_project, current_user, params)
6558
end
6659

config/feature_flags/beta/web_ui_commit_author_change.yml

Lines changed: 0 additions & 9 deletions
This file was deleted.

config/routes.rb

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -179,7 +179,6 @@
179179
draw :trial_registration
180180
draw :country
181181
draw :country_state
182-
draw :subscription
183182
draw :gitlab_subscriptions
184183
draw :phone_verification
185184
draw :arkose

doc/development/database/not_null_constraints.md

Lines changed: 73 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -426,3 +426,76 @@ CREATE TABLE labels (
426426
CONSTRAINT check_45e873b2a8 CHECK ((num_nonnulls(group_id, project_id) > 0))
427427
);
428428
```
429+
430+
## Dropping a `NOT NULL` constraint on a column in an existing table
431+
432+
### Dropping a `NOT NULL` constraint with a check constraint on the column
433+
434+
First, please verify there's a constraint in place on the column. You can do this in several ways:
435+
436+
- Query the [`Gitlab::Database::PostgresConstraint`](https://gitlab.com/gitlab-org/gitlab/-/blob/71892a3c97f52ddcef819dd210ab32864e90c85c/lib/gitlab/database/postgres_constraint.rb) view in rails console
437+
- Use `psql` to check the table itself: `\d+ table_name`
438+
- Check `structure.sql`:
439+
440+
```sql
441+
CREATE TABLE labels (
442+
...
443+
CONSTRAINT check_061f6f1c91 CHECK ((project_view IS NOT NULL))
444+
);
445+
```
446+
447+
#### Example
448+
449+
```ruby
450+
# frozen_string_literal: true
451+
class DropNotNullConstraintFromTableColumn< Gitlab::Database::Migration[2.2]
452+
disable_ddl_transaction!
453+
milestone '16.7'
454+
455+
def up
456+
remove_not_null_constraint :table_name, :column_name
457+
end
458+
459+
def down
460+
add_not_null_constraint :table_name, :column_name
461+
end
462+
end
463+
```
464+
465+
<b>NOTE:</b> The milestone number is just an example. Please use the correct version.
466+
467+
### Dropping a `NOT NULL` constraint without a check constraint on the column
468+
469+
If `NOT NULL` is just defined on the column and without a check constraint then we can use `change_column_null`.
470+
471+
Example in `structure.sql`:
472+
473+
```sql
474+
CREATE TABLE labels (
475+
...
476+
projects_limit integer NOT NULL
477+
);
478+
```
479+
480+
#### Example
481+
482+
```ruby
483+
# frozen_string_literal: true
484+
class DropNotNullConstraintFromTableColumn < Gitlab::Database::Migration[2.2]
485+
milestone '16.7'
486+
487+
def up
488+
change_column_null :table_name, :column_name, true
489+
end
490+
491+
def down
492+
change_column_null :table_name, :column_name, false
493+
end
494+
end
495+
```
496+
497+
<b>NOTE:</b> The milestone number is just an example. Please use the correct version.
498+
499+
### Dropping a `NOT NULL` constraint on a partition table
500+
501+
Important note: we cannot drop the `NOT NULL` constraint from an individual partition if it exists on the parent table because all the partitions inherit the constraint from the parent table. For this reason, we need to drop the constraint from the parent table instead which cascades to all the child partitions.

doc/user/gitlab_duo/data_usage.md

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -29,8 +29,7 @@ GitLab Duo AI-powered features are powered by a generative AI model. The process
2929

3030
The below reflects the current retention periods of GitLab AI model [Sub-Processors](https://about.gitlab.com/privacy/subprocessors/#third-party-sub-processors):
3131

32-
- Anthropic discards model input and output data immediately after the output is provided. Anthropic currently does not store data for abuse monitoring. Model input and output is not used to train models. GitLab has arranged [zero data retention](https://support.anthropic.com/en/articles/8956058-i-have-a-zero-retention-agreement-with-anthropic-what-products-does-it-apply-to) with Anthropic for GitLab Duo requests.
33-
- [Google discards model input and output data](https://cloud.google.com/vertex-ai/generative-ai/docs/data-governance#prediction) immediately after the output is provided. Google currently does not store data for abuse monitoring. Model input and output is not used to train models. Additionally, GitLab [has disabled caching](https://cloud.google.com/vertex-ai/generative-ai/docs/multimodal/multimodal-faqs#caching) for GitLab Duo requests.
32+
GitLab has arranged zero-day data retention with Anthropic and Google for GitLab Duo requests. Anthropic and Google discard model input and output data immediately after the output is provided; input and output data is not stored for abuse monitoring. Model input and output is not used to train models.
3433

3534
All of these AI providers are under data protection agreements with GitLab that prohibit the use of Customer Content for their own purposes, except to perform their independent legal obligations.
3635

0 commit comments

Comments
 (0)