Skip to content

Commit 7507b30

Browse files
author
GitLab Bot
committed
Add latest changes from gitlab-org/gitlab@master
1 parent dc807ac commit 7507b30

File tree

93 files changed

+1095
-471
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

93 files changed

+1095
-471
lines changed

.gitlab/ci/qa-common/omnibus.gitlab-ci.yml

+3-1
Original file line numberDiff line numberDiff line change
@@ -91,12 +91,14 @@ trigger-omnibus:
9191
USE_SPECIFIED_RUBY_VERSION: "true"
9292
RUBY_VERSION: $FULL_RUBY_VERSION
9393
BUILD_ON_ALL_OS: $OMNIBUS_GITLAB_BUILD_ON_ALL_OS
94-
SKIP_QA_TEST: "true"
94+
SKIP_QA_TEST: "true" # Deprecated: It'll be removed once rolling out `inputs.skip_qa_test`.
9595
ee: $EE
9696
trigger:
9797
project: gitlab-org/build/omnibus-gitlab-mirror
9898
branch: $TRIGGER_BRANCH
9999
strategy: depend
100+
inputs:
101+
skip_qa_test: true
100102

101103
trigger-omnibus as-if-foss:
102104
extends:
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,66 @@
1+
## Executive Summary
2+
[Brief description of the feature and its scope]
3+
4+
#### Engineering Assessment
5+
6+
[Brief description of the engineering assessment of this candidate item.]
7+
8+
#### Dependencies
9+
- Team dependencies: [List team dependencies]
10+
- Epic/Issue dependencies: [Link to dependent epics/issues]
11+
- External dependencies: [Any external dependencies]
12+
13+
#### DRIs
14+
- **PM**: [Name] <!-- also add as assignee to this epic -->
15+
- **EM**: [Name] <!-- also add as assignee to this epic -->
16+
- **UX/PDM**: [Name] <!-- also add as assignee to this epic -->
17+
- **Group(s)**: [Group name(s)] <!-- also add as label -->
18+
- **Engineering Owner**: [Name]
19+
20+
#### Business Impact
21+
- **Product motivation**: [Description]
22+
- **Key customers**: [List of key customers]
23+
- **ARR impact**: [Anticipated ARR impact]
24+
25+
#### Sizing and Funding (Optional)
26+
- **Size**: [XS/S/M/L/XL]
27+
- **Funding Status**: [Funded/Partially funded/Not funded]
28+
29+
---
30+
31+
### Hygiene Guidelines
32+
33+
_See additional details about this process at https://gitlab.com/groups/gitlab-org/-/wikis/R&D-Interlock-Process-Dashboard?#interlock-process_
34+
35+
##### :one: Pre-Interlock
36+
- Update epic description with all relevant information
37+
- Ensure all dependencies are identified
38+
- Apply appropriate labels (see below)
39+
- Update interlock status as discussions progress (via label)
40+
41+
##### :two: Post-Interlock
42+
- Update health status weekly (via label)
43+
- Document any newly identified risks or dependencies
44+
- Link to implementation epics/issues as work begins
45+
- Flag any scope or timeline changes immediately
46+
47+
<!--
48+
Apply appropriate labels:
49+
- [ ] Section (section::dev, section::ops, section::sec)
50+
- [ ] Stage (devops::plan, devops::create, devops::verify, etc.)
51+
- [ ] Group (group::product planning, group::project management, etc.)
52+
- [ ] Priority (Product labels = Product Priority::P1, Product Priority::P2, Product Priority::P3, Engineering labels = Eng Priority::E1, Eng Priority::E2, Eng Priority::E3)
53+
- [ ] Tier (GTM tier::Tier 1, GTM tier::Tier 2, GTM tier::Tier 3)
54+
- [ ] Investment theme (Investment theme::Core-Devops, Investment theme::Security-Compliance, Investment theme::AI across SDLC)
55+
- [ ] Platforms (platform: GitLab.com, platform: dedicated, platform: self-managed)
56+
- [ ] Subscription tier (GitLab Ultimate, GitLab Premium, GitLab Free)
57+
- [ ] Quarter (FY26 Q1, FY26 Q2, FY26 Q3, FY26 Q4)
58+
- [ ] Pre-interlock status label (interlock status::New/Proposal in progress, interlock status::cancelled, etc)
59+
- [ ] Post-interlock status label (R&D roadmap status::Executing, R&D roadmap status::Completed)
60+
- [ ] Post-interlock health (health::on track, health::needs attention, health::at risk)
61+
-->
62+
63+
> [!warning] This is a confidential epic because it may contain customer information
64+
65+
/label ~"Interlock candidate"
66+
/confidential

app/assets/javascripts/merge_request_dashboard/components/config_dropdown.vue

+8
Original file line numberDiff line numberDiff line change
@@ -62,6 +62,9 @@ export default {
6262
},
6363
},
6464
methods: {
65+
dropdownShown() {
66+
this.trackEvent('open_display_preferences_dropdown_on_merge_request_homepage');
67+
},
6568
async toggleShowLabels() {
6669
const isShowingLabels = !this.isShowingLabels;
6770
@@ -88,6 +91,10 @@ export default {
8891
this.savingPreferences = true;
8992
9093
try {
94+
this.trackEvent('toggle_list_type_on_merge_request_homepage', {
95+
property: mergeRequestDashboardListType,
96+
});
97+
9198
await this.$apollo.mutate({
9299
mutation: updatePreferencesMutation,
93100
variables: {
@@ -129,6 +136,7 @@ export default {
129136
:loading="savingPreferences"
130137
:toggle-class="{ '!gl-px-3': savingPreferences }"
131138
@select="updateListType"
139+
@shown="dropdownShown"
132140
>
133141
<template #list-item="{ item }">
134142
<div class="gl-font-bold">{{ item.text }}</div>

app/services/work_items/data_sync/handlers/copy_data_handler.rb

+9-3
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,8 @@ module WorkItems
44
module DataSync
55
module Handlers
66
class CopyDataHandler
7-
attr_reader :work_item, :target_namespace, :target_work_item_type, :current_user, :params, :create_params
7+
attr_reader :work_item, :target_namespace, :target_work_item_type, :current_user, :params, :create_params,
8+
:operation
89

910
# rubocop:disable Layout/LineLength -- Keyword arguments are making the line a bit longer
1011
def initialize(work_item:, target_namespace:, target_work_item_type:, current_user: nil, params: {}, overwritten_params: {})
@@ -13,6 +14,7 @@ def initialize(work_item:, target_namespace:, target_work_item_type:, current_us
1314
@target_work_item_type = target_work_item_type
1415
@current_user = current_user
1516
@params = params
17+
@operation = params.delete(:operation)
1618

1719
@create_params = {
1820
id: nil,
@@ -47,15 +49,19 @@ def execute
4749
# create the new work item
4850
::WorkItems::DataSync::BaseCreateService.new(
4951
original_work_item: work_item,
50-
operation: params.delete(:operation),
52+
operation: operation,
5153
container: target_namespace,
5254
current_user: current_user,
5355
params: create_params.merge(params)
54-
).execute(skip_system_notes: true)
56+
).execute(skip_system_notes: skip_system_notes?)
5557
end
5658

5759
private
5860

61+
def skip_system_notes?
62+
(operation == :clone && !!params[:clone_with_notes]) || operation == :move
63+
end
64+
5965
def relative_position
6066
return if work_item.namespace.root_ancestor.id != target_namespace.root_ancestor.id
6167

app/views/admin/hooks/_form.html.haml

+2
Original file line numberDiff line numberDiff line change
@@ -29,6 +29,8 @@
2929
%fieldset.form-group
3030
= form.gitlab_ui_checkbox_component :merge_requests_events, _('Merge request events'),
3131
help_text: _('URL is triggered when a merge request is created, updated, or merged')
32+
= render_if_exists 'admin/hooks/member_approval_events', form: form
33+
3234
.form-group
3335
= form.label :enable_ssl_verification, _('SSL verification'), class: 'label-bold checkbox'
3436
= form.gitlab_ui_checkbox_component :enable_ssl_verification, _('Enable SSL verification')

app/views/errors/access_denied.html.haml

+3-3
Original file line numberDiff line numberDiff line change
@@ -5,10 +5,10 @@
55
= image_tag('illustrations/error/error-403-lg.svg', alt: '403', lazy: false)
66
%h1
77
= s_("403|403: You do not have the permission to access this page")
8-
- if message
9-
%p
10-
= message
8+
119
%p
10+
- if message
11+
= message
1212
= s_('403|Please contact your GitLab administrator to get permission.')
1313
.action-container.js-go-back{ hidden: true }
1414
= render Pajamas::ButtonComponent.new(variant: :confirm) do

app/views/errors/not_found.html.haml

-1
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,6 @@
55
= s_('404|404: Page not found')
66
%p
77
= s_("404|Make sure the address is correct and the page has not moved.")
8-
%p
98
= s_('404|Please contact your GitLab administrator if you think this is a mistake.')
109
.action-container
1110
= form_tag search_path, method: :get, class: 'form-inline-flex' do |f|
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,15 @@
1+
---
2+
description: Merge request homepage display preferences dropdown was opened
3+
internal_events: true
4+
action: open_display_preferences_dropdown_on_merge_request_homepage
5+
identifiers:
6+
- user
7+
product_group: code_review
8+
product_categories:
9+
- code_review_workflow
10+
milestone: '17.11'
11+
introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/186954
12+
tiers:
13+
- free
14+
- premium
15+
- ultimate
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,18 @@
1+
---
2+
description: Merge request homepage list type was changed
3+
internal_events: true
4+
action: toggle_list_type_on_merge_request_homepage
5+
identifiers:
6+
- user
7+
additional_properties:
8+
property:
9+
description: "List type. Either 'role_based' or 'action_based'"
10+
product_group: code_review
11+
product_categories:
12+
- code_review_workflow
13+
milestone: '17.11'
14+
introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/186954
15+
tiers:
16+
- free
17+
- premium
18+
- ultimate

config/feature_flags/wip/ci_inputs_for_pipelines.yml renamed to config/feature_flags/beta/ci_inputs_for_pipelines.yml

+2-2
Original file line numberDiff line numberDiff line change
@@ -5,5 +5,5 @@ introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/182125
55
rollout_issue_url: https://gitlab.com/gitlab-org/gitlab/-/issues/520290
66
milestone: '17.10'
77
group: group::pipeline authoring
8-
type: wip
9-
default_enabled: false
8+
type: beta
9+
default_enabled: true
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,25 @@
1+
---
2+
key_path: redis_hll_counters.count_distinct_user_id_from_toggle_list_type_on_merge_request_homepage_to_action_based
3+
description: Count of unique users who toggle the merge request homepage list type to action based
4+
product_group: code_review
5+
product_categories:
6+
- code_review_workflow
7+
performance_indicator_type: []
8+
value_type: number
9+
status: active
10+
milestone: '17.11'
11+
introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/186954
12+
time_frame:
13+
- 28d
14+
- 7d
15+
data_source: internal_events
16+
data_category: optional
17+
tiers:
18+
- free
19+
- premium
20+
- ultimate
21+
events:
22+
- name: toggle_list_type_on_merge_request_homepage
23+
unique: user.id
24+
filter:
25+
property: action_based
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,25 @@
1+
---
2+
key_path: redis_hll_counters.count_distinct_user_id_from_toggle_list_type_on_merge_request_homepage_to_role_based
3+
description: Count of unique users who toggle the merge request homepage list type to role based
4+
product_group: code_review
5+
product_categories:
6+
- code_review_workflow
7+
performance_indicator_type: []
8+
value_type: number
9+
status: active
10+
milestone: '17.11'
11+
introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/186954
12+
time_frame:
13+
- 28d
14+
- 7d
15+
data_source: internal_events
16+
data_category: optional
17+
tiers:
18+
- free
19+
- premium
20+
- ultimate
21+
events:
22+
- name: toggle_list_type_on_merge_request_homepage
23+
unique: user.id
24+
filter:
25+
property: role_based
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,23 @@
1+
---
2+
key_path: counts.count_total_open_display_preferences_dropdown_on_merge_request_homepage
3+
description: Count of users who open the merge request display preferences dropdown
4+
product_group: code_review
5+
product_categories:
6+
- code_review_workflow
7+
performance_indicator_type: []
8+
value_type: number
9+
status: active
10+
milestone: '17.11'
11+
introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/186954
12+
time_frame:
13+
- 28d
14+
- 7d
15+
- all
16+
data_source: internal_events
17+
data_category: optional
18+
tiers:
19+
- free
20+
- premium
21+
- ultimate
22+
events:
23+
- name: open_display_preferences_dropdown_on_merge_request_homepage

data/deprecations/14-8-graphql-runner-active.yml

-41
This file was deleted.
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,27 @@
1+
# frozen_string_literal: true
2+
3+
class CreateContributionsNew < ClickHouse::Migration
4+
def up
5+
execute <<~SQL
6+
CREATE TABLE IF NOT EXISTS contributions_new
7+
(
8+
id UInt64 DEFAULT 0,
9+
path String DEFAULT '',
10+
author_id UInt64 DEFAULT 0,
11+
target_type LowCardinality(String) DEFAULT '',
12+
action UInt8 DEFAULT 0,
13+
created_at Date DEFAULT toDate(now64()),
14+
updated_at DateTime64(6, 'UTC') DEFAULT now64()
15+
)
16+
ENGINE = ReplacingMergeTree
17+
ORDER BY (path, created_at, author_id, id)
18+
PARTITION BY toYear(created_at);
19+
SQL
20+
end
21+
22+
def down
23+
execute <<~SQL
24+
DROP TABLE IF EXISTS contributions_new
25+
SQL
26+
end
27+
end

0 commit comments

Comments
 (0)