Skip to content

Commit 3f96425

Browse files
author
GitLab Bot
committed
Add latest changes from gitlab-org/gitlab@master
1 parent ba2e418 commit 3f96425

File tree

71 files changed

+936
-599
lines changed

Some content is hidden

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

71 files changed

+936
-599
lines changed

.gitlab/merge_request_templates/Quarantine End to End Test.md

+1-1
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,7 @@ the noise (due to constantly failing tests, flaky tests, and so on) so that new
2626
- [ ] Dequarantine test check-list
2727
- [ ] Follow the [Dequarantining Tests guide](https://about.gitlab.com/handbook/engineering/quality/quality-engineering/debugging-qa-test-failures/#dequarantining-tests).
2828
- [ ] Confirm the test consistently passes on the target GitLab environment(s).
29-
- [ ] To ensure a faster turnaround, ask in the `#quality` Slack channel for someone to review and merge the merge request, rather than assigning it directly.
29+
- [ ] To ensure a faster turnaround, ask in the `#quality_maintainers` Slack channel for someone to review and merge the merge request, rather than assigning it directly.
3030

3131
<!-- Base labels. -->
3232
/label ~"Quality" ~"QA" ~"type::maintenance"

.haml-lint_todo.yml

+2-14
Original file line numberDiff line numberDiff line change
@@ -1,19 +1,7 @@
11
# This configuration was generated by
22
# `haml-lint --auto-gen-config`
3-
# on 2022-09-15 12:13:31 +0000 using Haml-Lint version 0.40.1.
3+
# on 2022-10-19 13:09:51 +0200 using Haml-Lint version 0.40.1.
44
# The point is for the user to remove these configuration records
55
# one by one as the lints are removed from the code base.
66
# Note that changes in the inspected code, or installation of new
7-
# versions of Haml-Lint, may require this file to be generated again.
8-
9-
linters:
10-
11-
# Offense count: 11
12-
RuboCop:
13-
exclude:
14-
- "app/views/layouts/_page.html.haml"
15-
- "app/views/layouts/header/_default.html.haml"
16-
- "app/views/projects/merge_requests/dropdowns/_branch.html.haml"
17-
- "app/views/projects/merge_requests/dropdowns/_project.html.haml"
18-
- "app/views/shared/_flash_user_callout.html.haml"
19-
- "app/views/shared/_label.html.haml"
7+
# versions of Haml-Lint, may require this file to be generated again.

GITLAB_METRICS_EXPORTER_VERSION

+1-1
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
2c781b65ccfd6d016c7bfab1982ecb234c4e2cd0
1+
1cbf6d9ce79fe9df99b545529f7b7d754baea080

GITLAB_SHELL_VERSION

+1-1
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
14.12.0
1+
14.13.0

Gemfile

+2-2
Original file line numberDiff line numberDiff line change
@@ -319,7 +319,7 @@ gem 'terser', '1.0.2'
319319
gem 'addressable', '~> 2.8'
320320
gem 'tanuki_emoji', '~> 0.6'
321321
gem 'gon', '~> 6.4.0'
322-
gem 'request_store', '~> 1.5'
322+
gem 'request_store', '~> 1.5.1'
323323
gem 'base32', '~> 0.3.0'
324324

325325
gem 'gitlab-license', '~> 2.2.1'
@@ -510,7 +510,7 @@ gem 'kas-grpc', '~> 0.0.2'
510510

511511
gem 'grpc', '~> 1.42.0'
512512

513-
gem 'google-protobuf', '~> 3.21'
513+
gem 'google-protobuf', '~> 3.21', '>= 3.21.8'
514514

515515
gem 'toml-rb', '~> 2.2.0'
516516

Gemfile.checksum

+10-9
Original file line numberDiff line numberDiff line change
@@ -219,14 +219,14 @@
219219
{"name":"gon","version":"6.4.0","platform":"ruby","checksum":"e3a618d659392890f1aa7db420f17c75fd7d35aeb5f8fe003697d02c4b88d2f0"},
220220
{"name":"google-api-client","version":"0.50.0","platform":"ruby","checksum":"3ae45e972f293f3a66e53950ecc0fd350d85d6347c06a430bb971bd1ae5ad617"},
221221
{"name":"google-cloud-env","version":"1.6.0","platform":"ruby","checksum":"6179acb946975892c7908748df5722a4ebadfc8cf5bb7b0d8d933ca67183fa15"},
222-
{"name":"google-protobuf","version":"3.21.7","platform":"java","checksum":"e8a0d10014d18f741afc4882035badbd08558e6f46e09cd937b6ea254881314a"},
223-
{"name":"google-protobuf","version":"3.21.7","platform":"ruby","checksum":"8d501659c77d159fde20f983f7272ce4c28339f6412c480e4eb98c1ccb52cc62"},
224-
{"name":"google-protobuf","version":"3.21.7","platform":"x64-mingw-ucrt","checksum":"35dc328caf1c843ae25ec1a4825ded8a71b8f4750449bd8d8e1664ae0dcdc240"},
225-
{"name":"google-protobuf","version":"3.21.7","platform":"x64-mingw32","checksum":"c9ea241dc186823ceba2abf9952a609668d38a729dd92f0ec744ff67fb60ab30"},
226-
{"name":"google-protobuf","version":"3.21.7","platform":"x86-linux","checksum":"02a1212e6e62e5927649124bdc6315dd54256059b3a7aed119811ceaef85c310"},
227-
{"name":"google-protobuf","version":"3.21.7","platform":"x86-mingw32","checksum":"509529f9231a6b61c97c26e12938054007be8a1dacb83dcd3b3a385107ce60cc"},
228-
{"name":"google-protobuf","version":"3.21.7","platform":"x86_64-darwin","checksum":"93754c1366a3ecbd69bec241ab531a01aa05640577a2c0e52e671bdcb194f19f"},
229-
{"name":"google-protobuf","version":"3.21.7","platform":"x86_64-linux","checksum":"9c7a49bb1cdbb17c039297d9aff8515245868f3ad86ebf274e4c0fd6fd9263be"},
222+
{"name":"google-protobuf","version":"3.21.8","platform":"java","checksum":"fed99be5fa3f5aafded120fb3efd1544a35cbbbc34d4dc6b84dfabe9fce044e0"},
223+
{"name":"google-protobuf","version":"3.21.8","platform":"ruby","checksum":"d1ff763c4fdf5744e5435a70b3a8100a1b112576aec8133ebee1a861a165f881"},
224+
{"name":"google-protobuf","version":"3.21.8","platform":"x64-mingw-ucrt","checksum":"1a3aed52e5279c914a7bcfe6339b586c169f64f4132c822af7ce3b837ff3a2ae"},
225+
{"name":"google-protobuf","version":"3.21.8","platform":"x64-mingw32","checksum":"ad868d1b7cc090a766bda2980a88a485f7348028aa22bbce6ddee011f9d39810"},
226+
{"name":"google-protobuf","version":"3.21.8","platform":"x86-linux","checksum":"76b0c65611ac96049cec2ab12735dd338e5901def03212c148991c2af3542c40"},
227+
{"name":"google-protobuf","version":"3.21.8","platform":"x86-mingw32","checksum":"94ad5bc5ef18e6b265b4b535b49fb49c7dc093b048df6ed5d9a09de032560a3b"},
228+
{"name":"google-protobuf","version":"3.21.8","platform":"x86_64-darwin","checksum":"9062431f13d4ff6597abd38177910828d339ff755a6609cc02d5963458f00479"},
229+
{"name":"google-protobuf","version":"3.21.8","platform":"x86_64-linux","checksum":"fed2e72269cd0bb1ed5bf372e0d7d9720a9ec749b9618868e98a7e6a09bef162"},
230230
{"name":"googleapis-common-protos-types","version":"1.3.0","platform":"ruby","checksum":"c5411f3197cc3e02547ded1858303b1f830b4dc89c588c142ad6c8a231050671"},
231231
{"name":"googleauth","version":"0.14.0","platform":"ruby","checksum":"4659b563d5b2727e775ba9231e75485c1b55ac8fc319e0bf1bc87d5e9705a632"},
232232
{"name":"gpgme","version":"2.0.20","platform":"ruby","checksum":"fc194689cff40cd4ccafb3086031e930650b3efc15348bbfdf7a2f8b5a826f75"},
@@ -276,7 +276,8 @@
276276
{"name":"httpclient","version":"2.8.3","platform":"ruby","checksum":"2951e4991214464c3e92107e46438527d23048e634f3aee91c719e0bdfaebda6"},
277277
{"name":"i18n","version":"1.12.0","platform":"ruby","checksum":"91e3cc1b97616d308707eedee413d82ee021d751c918661fb82152793e64aced"},
278278
{"name":"i18n_data","version":"0.8.0","platform":"ruby","checksum":"92d942cc193dc4a54a95b68f44e52c79e024fa72e09f26a982bc61153b6f0c6c"},
279-
{"name":"icalendar","version":"2.4.1","platform":"ruby","checksum":"ade7384b3a78d302e01c0b93f66816b734c9abd85d1511b90200de2eee6d5ef7"},
279+
{"name":"icalendar","version":"2.8.0","platform":"ruby","checksum":"e404f970c7572bdebf6f09f9890970b68aab400ba9e609dc7d46098f28d0ee87"},
280+
{"name":"ice_cube","version":"0.16.4","platform":"ruby","checksum":"da117e5de24bdc33931be629f9b55048641924442c7e9b72fedc05e5592531b7"},
280281
{"name":"imagen","version":"0.1.8","platform":"ruby","checksum":"fde7b727d4fe79c6bb5ac46c1f7184bf87a6d54df54d712ad2be039d2f93a162"},
281282
{"name":"invisible_captcha","version":"1.1.0","platform":"ruby","checksum":"3670294a998ab1430ff07cd1697d25c70e6367bdb0dff534df24a14fdee8b4d2"},
282283
{"name":"ipaddr","version":"1.2.2","platform":"ruby","checksum":"27916ee6367d549850d3675bc020f1f1ddafbbe1cfc58635f17dfa56c42f9f79"},

Gemfile.lock

+7-5
Original file line numberDiff line numberDiff line change
@@ -619,7 +619,7 @@ GEM
619619
signet (~> 0.12)
620620
google-cloud-env (1.6.0)
621621
faraday (>= 0.17.3, < 3.0)
622-
google-protobuf (3.21.7)
622+
google-protobuf (3.21.8)
623623
googleapis-common-protos-types (1.3.0)
624624
google-protobuf (~> 3.14)
625625
googleauth (0.14.0)
@@ -741,7 +741,9 @@ GEM
741741
i18n (1.12.0)
742742
concurrent-ruby (~> 1.0)
743743
i18n_data (0.8.0)
744-
icalendar (2.4.1)
744+
icalendar (2.8.0)
745+
ice_cube (~> 0.16)
746+
ice_cube (0.16.4)
745747
imagen (0.1.8)
746748
parser (>= 2.5, != 2.5.1.1)
747749
invisible_captcha (1.1.0)
@@ -1640,7 +1642,7 @@ DEPENDENCIES
16401642
gitlab_omniauth-ldap (~> 2.2.0)
16411643
gon (~> 6.4.0)
16421644
google-api-client (~> 0.33)
1643-
google-protobuf (~> 3.21)
1645+
google-protobuf (~> 3.21, >= 3.21.8)
16441646
gpgme (~> 2.0.19)
16451647
grape (~> 1.5.2)
16461648
grape-entity (~> 0.10.0)
@@ -1756,7 +1758,7 @@ DEPENDENCIES
17561758
redis (~> 4.7.0)
17571759
redis-actionpack (~> 5.3.0)
17581760
redis-namespace (~> 1.9.0)
1759-
request_store (~> 1.5)
1761+
request_store (~> 1.5.1)
17601762
responders (~> 3.0)
17611763
retriable (~> 3.1.2)
17621764
rexml (~> 3.2.5)
@@ -1833,4 +1835,4 @@ DEPENDENCIES
18331835
yajl-ruby (~> 1.4.3)
18341836

18351837
BUNDLED WITH
1836-
2.3.23
1838+
2.3.24

app/assets/javascripts/packages_and_registries/package_registry/constants.js

+3
Original file line numberDiff line numberDiff line change
@@ -177,6 +177,9 @@ export const PACKAGE_TYPES = [
177177
s__('PackageRegistry|Helm'),
178178
];
179179

180+
export const HIDE_PACKAGE_MIGRATION_SURVEY_COOKIE = 'hide_package_registry_migration_survey';
181+
export const SURVEY_LINK = 'https://gitlab.fra1.qualtrics.com/jfe/form/SV_cHomH9FPzOaiDTU';
182+
180183
// links
181184

182185
export const EMPTY_LIST_HELP_URL = helpPagePath('user/packages/package_registry/index');

app/assets/javascripts/packages_and_registries/package_registry/pages/list.vue

+27-2
Original file line numberDiff line numberDiff line change
@@ -1,16 +1,18 @@
11
<script>
2-
import { GlEmptyState, GlLink, GlSprintf } from '@gitlab/ui';
2+
import { GlBanner, GlEmptyState, GlLink, GlSprintf } from '@gitlab/ui';
33
import { createAlert, VARIANT_INFO } from '~/flash';
4-
import { historyReplaceState } from '~/lib/utils/common_utils';
4+
import { getCookie, historyReplaceState, parseBoolean, setCookie } from '~/lib/utils/common_utils';
55
import { s__ } from '~/locale';
66
import { SHOW_DELETE_SUCCESS_ALERT } from '~/packages_and_registries/shared/constants';
77
import {
88
PROJECT_RESOURCE_TYPE,
99
GROUP_RESOURCE_TYPE,
1010
GRAPHQL_PAGE_SIZE,
11+
HIDE_PACKAGE_MIGRATION_SURVEY_COOKIE,
1112
DELETE_PACKAGE_SUCCESS_MESSAGE,
1213
EMPTY_LIST_HELP_URL,
1314
PACKAGE_HELP_URL,
15+
SURVEY_LINK,
1416
} from '~/packages_and_registries/package_registry/constants';
1517
import getPackagesQuery from '~/packages_and_registries/package_registry/graphql/queries/get_packages.query.graphql';
1618
@@ -21,6 +23,7 @@ import PackageList from '~/packages_and_registries/package_registry/components/l
2123
2224
export default {
2325
components: {
26+
GlBanner,
2427
GlEmptyState,
2528
GlLink,
2629
GlSprintf,
@@ -36,6 +39,7 @@ export default {
3639
sort: '',
3740
filters: {},
3841
mutationLoading: false,
42+
showSurveyBanner: !parseBoolean(getCookie(HIDE_PACKAGE_MIGRATION_SURVEY_COOKIE)),
3943
};
4044
},
4145
apollo: {
@@ -114,6 +118,10 @@ export default {
114118
this.sort = sort;
115119
this.filters = { ...filters };
116120
},
121+
hideSurvey() {
122+
this.showSurveyBanner = false;
123+
setCookie(HIDE_PACKAGE_MIGRATION_SURVEY_COOKIE, 'true');
124+
},
117125
updateQuery(_, { fetchMoreResult }) {
118126
return fetchMoreResult;
119127
},
@@ -151,16 +159,33 @@ export default {
151159
noResultsText: s__(
152160
'PackageRegistry|Learn how to %{noPackagesLinkStart}publish and share your packages%{noPackagesLinkEnd} with GitLab.',
153161
),
162+
surveyBannerTitle: s__('PackageRegistry|Help us learn about your registry migration needs'),
163+
surveyBannerDescription: s__(
164+
'PackageRegistry|If you are interested in migrating packages from your private registry to the GitLab Package Registry, take our survey and tell us more about your needs.',
165+
),
166+
surveyBannerPrimaryButtonText: s__('PackageRegistry|Take survey'),
154167
},
155168
links: {
156169
EMPTY_LIST_HELP_URL,
157170
PACKAGE_HELP_URL,
158171
},
172+
surveyLink: SURVEY_LINK,
159173
};
160174
</script>
161175
162176
<template>
163177
<div>
178+
<gl-banner
179+
v-if="showSurveyBanner"
180+
:title="$options.i18n.surveyBannerTitle"
181+
:button-text="$options.i18n.surveyBannerPrimaryButtonText"
182+
:button-link="$options.surveyLink"
183+
class="gl-mt-3"
184+
@primary="hideSurvey"
185+
@close="hideSurvey"
186+
>
187+
<p>{{ $options.i18n.surveyBannerDescription }}</p>
188+
</gl-banner>
164189
<package-title :help-url="$options.links.PACKAGE_HELP_URL" :count="packagesCount" />
165190
<package-search @update="handleSearchUpdate" />
166191

app/controllers/projects/usage_quotas_controller.rb

+1-1
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@ class Projects::UsageQuotasController < Projects::ApplicationController
55

66
layout "project_settings"
77

8-
feature_category :utilization
8+
feature_category :subscription_cost_management
99
urgency :low
1010

1111
def index

app/finders/work_items/work_items_finder.rb

+24
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,30 @@ def params_class
1212

1313
private
1414

15+
def filter_items(items)
16+
items = super(items)
17+
18+
by_widgets(items)
19+
end
20+
21+
def by_widgets(items)
22+
WorkItems::Type.available_widgets.each do |widget_class|
23+
widget_filter = widget_filter_for(widget_class)
24+
25+
next unless widget_filter
26+
27+
items = widget_filter.filter(items, params)
28+
end
29+
30+
items
31+
end
32+
33+
def widget_filter_for(widget_class)
34+
"WorkItems::Widgets::Filters::#{widget_class.name.demodulize.camelize}".constantize
35+
rescue NameError
36+
nil
37+
end
38+
1539
def model_class
1640
WorkItem
1741
end

app/models/ci/build_metadata.rb

+1
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,7 @@ class BuildMetadata < Ci::ApplicationRecord
1313

1414
self.table_name = 'ci_builds_metadata'
1515
self.primary_key = 'id'
16+
self.sequence_name = 'ci_builds_metadata_id_seq'
1617
partitionable scope: :build
1718

1819
belongs_to :build, class_name: 'CommitStatus'

app/models/work_item.rb

+8-2
Original file line numberDiff line numberDiff line change
@@ -16,8 +16,14 @@ class WorkItem < Issue
1616

1717
scope :inc_relations_for_permission_check, -> { includes(:author, project: :project_feature) }
1818

19-
def self.assignee_association_name
20-
'issue'
19+
class << self
20+
def assignee_association_name
21+
'issue'
22+
end
23+
24+
def test_reports_join_column
25+
'issues.id'
26+
end
2127
end
2228

2329
def noteable_target_type_name

app/services/clusters/applications/check_uninstall_progress_service.rb

-42
This file was deleted.

app/views/layouts/_page.html.haml

+1-1
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,7 @@
2424
= yield :group_invite_members_banner
2525
- unless @hide_breadcrumbs
2626
= render "layouts/nav/breadcrumbs"
27-
%div{ class: "#{(container_class unless @no_container)} #{@content_class}" }
27+
%div{ class: "#{container_class unless @no_container} #{@content_class}" }
2828
%main.content{ id: "content-body", **page_itemtype }
2929
= render "layouts/flash", extra_flash_class: 'limit-container-width'
3030
= yield :after_flash_content

app/views/layouts/header/_default.html.haml

+3-3
Original file line numberDiff line numberDiff line change
@@ -56,7 +56,7 @@
5656
container: 'body' } do
5757
= sprite_icon('issues')
5858
- issues_count = assigned_issuables_count(:issues)
59-
= gl_badge_tag({ size: :sm, variant: :success }, { class: "gl-ml-n2 #{(' gl-display-none' if issues_count == 0)}", "aria-label": n_("%d assigned issue", "%d assigned issues", issues_count) % issues_count }) do
59+
= gl_badge_tag({ size: :sm, variant: :success }, { class: "gl-ml-n2 #{'gl-display-none' if issues_count == 0}", "aria-label": n_("%d assigned issue", "%d assigned issues", issues_count) % issues_count }) do
6060
= number_with_delimiter(issues_count)
6161
- if header_link?(:merge_requests)
6262
= nav_link(path: 'dashboard#merge_requests', html_options: { class: "user-counter dropdown" }) do
@@ -70,7 +70,7 @@
7070
track_property: 'navigation',
7171
container: 'body' } do
7272
= sprite_icon('git-merge')
73-
= gl_badge_tag({ size: :sm, variant: :warning }, { class: "js-merge-requests-count gl-ml-n2#{(' gl-display-none' if user_merge_requests_counts[:total] == 0)}", "aria-label": n_("%d merge request", "%d merge requests", user_merge_requests_counts[:total]) % user_merge_requests_counts[:total] }) do
73+
= gl_badge_tag({ size: :sm, variant: :warning }, { class: "js-merge-requests-count gl-ml-n2 #{'gl-display-none' if user_merge_requests_counts[:total] == 0}", "aria-label": n_("%d merge request", "%d merge requests", user_merge_requests_counts[:total]) % user_merge_requests_counts[:total] }) do
7474
= number_with_delimiter(user_merge_requests_counts[:total])
7575
= sprite_icon('chevron-down', css_class: 'caret-down gl-mx-0!')
7676
.dropdown-menu.dropdown-menu-right
@@ -98,7 +98,7 @@
9898
= sprite_icon('todo-done')
9999
-# The todos' counter badge's visibility is being toggled by adding or removing the .hidden class in Js.
100100
-# We'll eventually migrate to .gl-display-none: https://gitlab.com/gitlab-org/gitlab/-/issues/351792.
101-
= gl_badge_tag({ size: :sm, variant: :info }, { class: "js-todos-count gl-ml-n2#{(' hidden' if todos_pending_count == 0)}", "aria-label": _("Todos count") }) do
101+
= gl_badge_tag({ size: :sm, variant: :info }, { class: "js-todos-count gl-ml-n2 #{'hidden' if todos_pending_count == 0}", "aria-label": _("Todos count") }) do
102102
= todos_count_format(todos_pending_count)
103103
%li.nav-item.header-help.dropdown.d-none.d-md-block{ data: { track_action: 'click_question_mark_link', track_label: 'main_navigation', track_property: 'navigation', track_experiment: 'cross_stage_fdm' } }
104104
= link_to help_path, class: 'header-help-dropdown-toggle gl-relative', data: { toggle: "dropdown" } do
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
%ul
22
- branches.each do |branch|
33
%li
4-
%a{ href: '#', class: "#{('is-active' if selected == branch)}", title: branch, data: { id: branch } }
4+
%a{ href: '#', class: "#{'is-active' if selected == branch}", title: branch, data: { id: branch } }
55
= branch
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
%ul
22
- projects.each do |project|
33
%li
4-
%a{ href: "#", class: "#{('is-active' if selected == project.id)}", data: { id: project.id, 'refs-url': refs_project_path(project) } }
4+
%a{ href: "#", class: "#{'is-active' if selected == project.id}", data: { id: project.id, 'refs-url': refs_project_path(project) } }
55
= project.full_path

app/views/shared/_flash_user_callout.html.haml

+1-1
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@
44
.flash-container.flash-container-page.user-callout{ data: callout_data }
55
-# We currently only support `alert`, `warning`, `notice`, `success`
66
%div{ class: "flash-#{flash_type}" }
7-
%div{ class: "#{(container_class unless fluid_layout)} #{(extra_flash_class unless @no_container)} #{@content_class}" }
7+
%div{ class: "#{container_class unless fluid_layout} #{extra_flash_class unless @no_container} #{@content_class}" }
88
%span= message
99
%button.btn.gl-button.btn-default.close.js-close{ type: 'button',
1010
'aria-label' => _('Dismiss') }

0 commit comments

Comments
 (0)