Skip to content

Commit a1eee0f

Browse files
author
GitLab Bot
committed
Add latest changes from gitlab-org/gitlab@master
1 parent 41b9792 commit a1eee0f

File tree

76 files changed

+18680
-5765
lines changed

Some content is hidden

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

76 files changed

+18680
-5765
lines changed
+29
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,29 @@
1+
<!--The purpose of this spike template is to ensure that the teams have all the information they need before approaching a spike. Teams across product, engineering and design should collaborate to ensure the feature tackled in the spike is thought through and that all necessary details are included.
2+
3+
This template is not a set-in-stone prerequisite for spikes as some of the spikes are more abstract. So this template is designed to be customizable and fit the majority of the use cases.-->
4+
5+
## Proposal
6+
7+
### What is the goal of this spike?
8+
9+
`{ Add a description about the feature and why we are implementing it. Leave as many details as known/necessary. }`
10+
11+
### Scope/MVC
12+
13+
- _What features are considered GA and non-GA and how do they look like/function? What are the absolute must have fetures we want from this PSike and what would be an add-on? A checklist might be beneficial to include._
14+
- _Any known blockers/dependancies (not necessarily from a technical perspective). Are there other moving parts or spikes related to this one? In which capacity are they related?_
15+
16+
### Designs :frame_photo:
17+
18+
_Links to designs, they can be WIP. Please note that this refernce should be the absoulte source of truth for designs. Any other information can be put here related to the designs._
19+
20+
## Roadmap / Time estimates
21+
22+
_This section is for product to include any relevant links to roadmaps and general timelines with respect to the project in question and related/blocking spikes. This section can also be used by engineers to roughly determine when do we want to deliver the outcomes after the spike is done. Timelines are never set in stone, but this can be a good pointer for everyone._
23+
24+
## Open questions
25+
26+
_Any other related unknowns or information deemed useful for the spike. This can include assumptions that need validation or any other questions that need general verification._
27+
28+
29+
<!--The template is stored at `.gitlab/issue_templates/Plan - Spike.md` directory if you need to update it -->

app/assets/javascripts/boards/components/board_card_move_to_position.vue

+2-2
Original file line numberDiff line numberDiff line change
@@ -110,8 +110,8 @@ export default {
110110
category="tertiary"
111111
:items="$options.BOARD_CARD_MOVE_TO_POSITIONS_OPTIONS"
112112
icon="ellipsis_v"
113-
:aria-label="$options.i18n.moveCardText"
114-
:text-sr-only="true"
113+
:toggle-text="$options.i18n.moveCardText"
114+
text-sr-only
115115
no-caret
116116
data-testid="board-move-to-position"
117117
@action="selectMoveAction"

app/assets/javascripts/ci/pipeline_schedules/components/pipeline_schedules_form.vue

+1
Original file line numberDiff line numberDiff line change
@@ -296,6 +296,7 @@ export default {
296296
:value="cronTimezone"
297297
:timezone-data="timezoneData"
298298
name="schedule-timezone"
299+
required
299300
@input="setTimezone"
300301
/>
301302
</gl-form-group>

app/assets/javascripts/ci/runner/components/runner_list_header.vue

+2-2
Original file line numberDiff line numberDiff line change
@@ -9,12 +9,12 @@ export default {
99
};
1010
</script>
1111
<template>
12-
<page-heading class="gl-mb-0">
12+
<page-heading class="gl-mb-3">
1313
<template #heading>
1414
<slot name="title"></slot>
1515
</template>
1616

17-
<template #description>
17+
<template v-if="$scopedSlots.description" #description>
1818
<slot name="description"></slot>
1919
</template>
2020

app/assets/javascripts/glql/components/common/actions.vue

-1
Original file line numberDiff line numberDiff line change
@@ -67,7 +67,6 @@ export default {
6767
:toggle-text="__('GLQL view options')"
6868
text-sr-only
6969
placement="bottom-end"
70-
positioning-strategy="fixed"
7170
/>
7271
</div>
7372
</template>

app/assets/javascripts/vue_shared/components/timezone_dropdown/timezone_dropdown.vue

+9-3
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,6 @@ export default {
1717
value: {
1818
type: String,
1919
required: true,
20-
default: '',
2120
},
2221
name: {
2322
type: String,
@@ -34,6 +33,11 @@ export default {
3433
required: false,
3534
default: () => [],
3635
},
36+
required: {
37+
type: Boolean,
38+
required: false,
39+
default: false,
40+
},
3741
},
3842
data() {
3943
return {
@@ -94,13 +98,15 @@ export default {
9498
};
9599
</script>
96100
<template>
97-
<div>
101+
<div class="gl-relative">
98102
<input
99103
v-if="name"
100104
id="user_timezone"
101105
:name="name"
102106
:value="timezoneIdentifier || value"
103-
type="hidden"
107+
:required="required"
108+
tabindex="-1"
109+
class="gl-sr-only gl-absolute -gl-z-1 gl-h-full gl-w-full"
104110
/>
105111
<gl-collapsible-listbox
106112
:header-text="headerText"

app/assets/stylesheets/page_bundles/issues_show.scss

+3-3
Original file line numberDiff line numberDiff line change
@@ -36,10 +36,10 @@
3636
inset-inline-start: -0.6rem;
3737
}
3838
}
39+
}
3940

40-
.glql-actions li {
41-
@apply gl-ml-2;
42-
}
41+
.glql-actions li {
42+
@apply gl-ml-2;
4343
}
4444

4545
.is-ghost {

app/finders/groups_finder.rb

+7
Original file line numberDiff line numberDiff line change
@@ -110,6 +110,7 @@ def filter_groups(groups)
110110
groups = by_visibility(groups)
111111
groups = by_ids(groups)
112112
groups = top_level_only(groups)
113+
groups = by_marked_for_deletion_on(groups)
113114
by_search(groups)
114115
end
115116

@@ -142,6 +143,12 @@ def by_parent_children(groups, parent)
142143
groups.by_parent(parent)
143144
end
144145

146+
def by_marked_for_deletion_on(groups)
147+
return groups unless params[:marked_for_deletion_on].present?
148+
149+
groups.by_marked_for_deletion_on(params[:marked_for_deletion_on])
150+
end
151+
145152
def filter_group_ids(groups)
146153
return groups unless params[:filter_group_ids]
147154

app/finders/projects_finder.rb

+18-2
Original file line numberDiff line numberDiff line change
@@ -98,6 +98,8 @@ def filter_projects(collection)
9898
collection = by_feature_availability(collection)
9999
collection = by_updated_at(collection)
100100
collection = by_organization(collection)
101+
collection = by_marked_for_deletion_on(collection)
102+
collection = by_aimed_for_deletion(collection)
101103
by_repository_storage(collection)
102104
end
103105

@@ -219,6 +221,20 @@ def by_topic_id(items)
219221
items.with_topic(topic)
220222
end
221223

224+
def by_marked_for_deletion_on(items)
225+
return items unless params[:marked_for_deletion_on].present?
226+
227+
items.by_marked_for_deletion_on(params[:marked_for_deletion_on])
228+
end
229+
230+
def by_aimed_for_deletion(items)
231+
if ::Gitlab::Utils.to_boolean(params[:aimed_for_deletion])
232+
items.aimed_for_deletion(Date.current)
233+
else
234+
items
235+
end
236+
end
237+
222238
def by_not_aimed_for_deletion(items)
223239
params[:not_aimed_for_deletion].present? ? items.not_aimed_for_deletion : items
224240
end
@@ -298,11 +314,11 @@ def by_active(items)
298314
end
299315

300316
def active(items)
301-
items.non_archived
317+
items.non_archived.not_aimed_for_deletion
302318
end
303319

304320
def inactive(items)
305-
items.archived
321+
items.archived.or(items.aimed_for_deletion(Date.current))
306322
end
307323

308324
def finder_params

app/models/ci/runner.rb

+3-1
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,9 @@ class Runner < Ci::ApplicationRecord
2525
expires_at: :compute_token_expiration,
2626
format_with_prefix: :prefix_for_new_and_legacy_runner,
2727
routable_token: {
28-
if: ->(token_owner_record) { token_owner_record.owner },
28+
if: ->(token_owner_record) {
29+
token_owner_record.owner && Feature.enabled?(:routable_runner_token, token_owner_record.owner)
30+
},
2931
payload: {
3032
o: ->(token_owner_record) { token_owner_record.owner.try(:organization_id) },
3133
g: ->(token_owner_record) { token_owner_record.group_type? ? token_owner_record.sharding_key_id : nil },

app/views/layouts/notify.html.haml

+3
Original file line numberDiff line numberDiff line change
@@ -44,6 +44,9 @@
4444
#{link_to _('View it on GitLab'), @target_url}.
4545
%br
4646
= notification_reason_text(reason: @reason, show_manage_notifications_link: !@labels_url, show_help_link: true, manage_label_subscriptions_url: @labels_url, unsubscribe_url: @unsubscribe_url, format: :html)
47+
- if Feature.enabled?(:fix_gmail_footer_truncation, @project)
48+
%span{ style: "color:transparent;font-size:0;display:none;overflow:hidden;opacity:0;width:0;height:0;max-width:0;max-height:0" }
49+
= 'Notification message regarding ' + @target_url + " at #{Time.current.to_i}"
4750

4851
= email_action @target_url
4952

Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
---
2+
name: routable_runner_token
3+
feature_issue_url: https://gitlab.com/gitlab-org/gitlab/-/issues/489847
4+
introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/170634
5+
rollout_issue_url: https://gitlab.com/gitlab-org/gitlab/-/issues/505790
6+
milestone: '17.10'
7+
group: group::cells infrastructure
8+
type: gitlab_com_derisk
9+
default_enabled: false
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,31 @@
1+
diff --git a/app/views/layouts/notify.html.haml b/app/views/layouts/notify.html.haml
2+
index 826d822354b6..b713cee3266f 100644
3+
--- a/app/views/layouts/notify.html.haml
4+
+++ b/app/views/layouts/notify.html.haml
5+
@@ -44,9 +44,8 @@
6+
#{link_to _('View it on GitLab'), @target_url}.
7+
%br
8+
= notification_reason_text(reason: @reason, show_manage_notifications_link: !@labels_url, show_help_link: true, manage_label_subscriptions_url: @labels_url, unsubscribe_url: @unsubscribe_url, format: :html)
9+
- - if Feature.enabled?(:fix_gmail_footer_truncation, @project)
10+
- %span{ style: "color:transparent;font-size:0;display:none;overflow:hidden;opacity:0;width:0;height:0;max-width:0;max-height:0" }
11+
- = 'Notification message regarding ' + @target_url + " at #{Time.current.to_i}"
12+
+ %span{ style: "color:transparent;font-size:0;display:none;overflow:hidden;opacity:0;width:0;height:0;max-width:0;max-height:0" }
13+
+ = 'Notification message regarding ' + @target_url + " at #{Time.current.to_i}"
14+
15+
= email_action @target_url
16+
17+
diff --git a/config/feature_flags/wip/fix_gmail_footer_truncation.yml b/config/feature_flags/wip/fix_gmail_footer_truncation.yml
18+
deleted file mode 100644
19+
index e092a0d092b6..000000000000
20+
--- a/config/feature_flags/wip/fix_gmail_footer_truncation.yml
21+
+++ /dev/null
22+
@@ -1,9 +0,0 @@
23+
----
24+
-name: fix_gmail_footer_truncation
25+
-feature_issue_url: https://gitlab.com/gitlab-org/gitlab/-/issues/14072
26+
-introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/177913
27+
-rollout_issue_url:
28+
-milestone: '17.11'
29+
-group: group::ux paper cuts
30+
-type: wip
31+
-default_enabled: false
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
---
2+
name: fix_gmail_footer_truncation
3+
feature_issue_url: https://gitlab.com/gitlab-org/gitlab/-/issues/14072
4+
introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/177913
5+
rollout_issue_url:
6+
milestone: '17.11'
7+
group: group::ux paper cuts
8+
type: wip
9+
default_enabled: false

data/deprecations/17-7-deprecate-SPPgraphqlmutation.yml

+1-4
Original file line numberDiff line numberDiff line change
@@ -12,9 +12,6 @@
1212
manual_task: true
1313
body: |
1414
The `setPreReceiveSecretDetection` GraphQL mutation has been renamed to `setSecretPushProtection`. We are also renaming some fields in the mutation's response to reflect the name change of the feature `pre_receive_secret_detection` to `secret_push_protection`.
15-
To avoid breaking workflows that use the old name, before GitLab 18.0 you should:
16-
17-
- Stop using the old mutation name `setPreReceiveSecretDetection`. Instead, use the name `setSecretPushProtection`.
18-
- Change any references to the field `pre_receive_secret_detection_enabled` to `secret_push_protection_enabled`.
15+
Following [new guidance](https://docs.gitlab.com/development/api_styleguide/#what-to-do-instead-of-a-breaking-change), we're adapting the schema to support both `setPreReceiveSecretDetection` and `setSecretPushProtection`. You can use either parameter because they both point to the `secret_push_protection_enabled` column. In GitLab 18.0, we will [remove](https://gitlab.com/gitlab-org/gitlab/-/issues/514414) the old `setPreReceiveSecretDetection` column.
1916
2017
documentation_url: https://docs.gitlab.com/api/graphql/reference/#mutationsetsecretpushprotection

data/deprecations/17-9-pre_receive_secret_detection_enabled-REST-API.yml

+1-1
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,6 @@
1111
manual_task: true
1212
body: | # (required) Don't change this line.
1313
The REST API endpoint `pre_receive_secret_detection_enabled` is deprecated in favor of `secret_push_protection_enabled`. We are renaming some API fields to reflect the name change of the feature `pre_receive_secret_detection` to `secret_push_protection`.
14-
To avoid breaking workflows that use the old name, you should stop using the `pre_receive_secret_detection_enabled` endpoint before GitLab 18.0. Instead, use the new `secret_push_protection_enabled` endpoint.
14+
Following [new guidance](https://docs.gitlab.com/development/api_styleguide/#what-to-do-instead-of-a-breaking-change), we will adapt the schema to support both `pre_receive_secret_detection_enabled` and `secret_push_protection_enabled`. We will still [remove](https://gitlab.com/gitlab-org/gitlab/-/issues/512996) the old `pre_receive_secret_detection_enabled` column, but customers will be able to use either parameter, with both pointing to the new `secret_push_protection_enabled` column.
1515
tiers: ultimate
1616
documentation_url: https://docs.gitlab.com/api/projects/#secret-push-protection-status

data/deprecations/17-9-secret-detection-root-user.yml

+1-1
Original file line numberDiff line numberDiff line change
@@ -12,5 +12,5 @@
1212
resolution_role: Admin # Can be one of: [Admin, Owner, Maintainer, Developer]
1313
manual_task: false # Can be true or false. Use this to denote whether a resolution action must be performed manually (true), or if it can be automated by using the API or other automation (false).
1414
body: | # (required) Don't change this line.
15-
From GitLab 18.0, the secret detection analyzer will no longer use the root user by default. You shouldn't experience any impact as a result of this change. However, you might experience issues if you use `before_script` or `after_script` to make changes to the image. GitLab doesn't support this use of `before_script` and `after_script`.
15+
This planned change to the secret detection analyzer is cancelled. You can still use the root user by default.
1616
tiers: ultimate

0 commit comments

Comments
 (0)