Add latest changes from gitlab-org/gitlab@master
This commit is contained in:
parent
34ee0b51d6
commit
a9d218667e
|
|
@ -218,39 +218,48 @@
|
|||
POSTGRES_HOST_AUTH_METHOD: trust
|
||||
|
||||
.db-services:
|
||||
services: &db-services
|
||||
services:
|
||||
- name: ${REGISTRY_HOST}/${REGISTRY_GROUP}/gitlab-build-images:postgres-${PG_VERSION}-pgvector-0.4.1
|
||||
command: ["postgres", "-c", "fsync=off", "-c", "synchronous_commit=off", "-c", "full_page_writes=off", "-c", "max_locks_per_transaction=256"]
|
||||
alias: postgres
|
||||
- name: ${REGISTRY_HOST}/${REGISTRY_GROUP}/gitlab-build-images:redis-cluster-6.2.12
|
||||
alias: rediscluster # configure connections in config/redis.yml
|
||||
|
||||
.db-services-with-redis-6:
|
||||
services:
|
||||
- !reference [.db-services, services]
|
||||
- name: redis:6.2-alpine
|
||||
|
||||
.db-services-with-redis-7:
|
||||
services:
|
||||
- !reference [.db-services, services]
|
||||
- name: redis:7.0-alpine
|
||||
|
||||
.use-pg12:
|
||||
extends:
|
||||
- .pg-base-variables
|
||||
- .db-services
|
||||
- .db-services-with-redis-6
|
||||
variables:
|
||||
PG_VERSION: "12"
|
||||
|
||||
.use-pg13:
|
||||
extends:
|
||||
- .pg-base-variables
|
||||
- .db-services
|
||||
- .db-services-with-redis-6
|
||||
variables:
|
||||
PG_VERSION: "13"
|
||||
|
||||
.use-pg14:
|
||||
extends:
|
||||
- .pg-base-variables
|
||||
- .db-services
|
||||
- .db-services-with-redis-6
|
||||
variables:
|
||||
PG_VERSION: "14"
|
||||
|
||||
.use-pg15:
|
||||
extends:
|
||||
- .pg-base-variables
|
||||
- .db-services
|
||||
- .db-services-with-redis-7
|
||||
variables:
|
||||
PG_VERSION: "15"
|
||||
|
||||
|
|
@ -269,7 +278,7 @@
|
|||
- .pg-base-variables
|
||||
- .zoekt-variables
|
||||
services:
|
||||
- !reference [.db-services, services]
|
||||
- !reference [.db-services-with-redis-6, services]
|
||||
- !reference [.zoekt-services, services]
|
||||
- name: elasticsearch:7.17.6
|
||||
command: ["elasticsearch", "-E", "discovery.type=single-node", "-E", "xpack.security.enabled=false"]
|
||||
|
|
@ -299,7 +308,7 @@
|
|||
- .pg-base-variables
|
||||
- .zoekt-variables
|
||||
services:
|
||||
- !reference [.db-services, services]
|
||||
- !reference [.db-services-with-redis-6, services]
|
||||
- !reference [.zoekt-services, services]
|
||||
- name: elasticsearch:8.6.2
|
||||
variables:
|
||||
|
|
@ -326,7 +335,7 @@
|
|||
- .pg-base-variables
|
||||
- .zoekt-variables
|
||||
services:
|
||||
- !reference [.db-services, services]
|
||||
- !reference [.db-services-with-redis-6, services]
|
||||
- !reference [.zoekt-services, services]
|
||||
- name: opensearchproject/opensearch:1.3.5
|
||||
alias: elasticsearch
|
||||
|
|
@ -352,7 +361,7 @@
|
|||
- .pg-base-variables
|
||||
- .zoekt-variables
|
||||
services:
|
||||
- !reference [.db-services, services]
|
||||
- !reference [.db-services-with-redis-6, services]
|
||||
- !reference [.zoekt-services, services]
|
||||
- name: opensearchproject/opensearch:2.2.1
|
||||
alias: elasticsearch
|
||||
|
|
|
|||
|
|
@ -71,7 +71,7 @@ export default {
|
|||
|
||||
<template>
|
||||
<div>
|
||||
<div class="gl-text-truncate">
|
||||
<div class="gl-text-truncate gl-mb-2">
|
||||
<gl-link
|
||||
v-if="canReadJob"
|
||||
class="gl-text-blue-600!"
|
||||
|
|
@ -92,7 +92,7 @@ export default {
|
|||
/>
|
||||
|
||||
<div
|
||||
class="gl-display-flex gl-text-gray-700 gl-align-items-center gl-lg-justify-content-start gl-justify-content-end"
|
||||
class="gl-display-flex gl-text-gray-700 gl-align-items-center gl-lg-justify-content-start gl-justify-content-end gl-mt-2"
|
||||
>
|
||||
<div
|
||||
v-if="jobRef"
|
||||
|
|
|
|||
|
|
@ -110,34 +110,33 @@ export default {
|
|||
</script>
|
||||
|
||||
<template>
|
||||
<div class="row gl-mt-3 js-preferences-form js-search-settings-section">
|
||||
<div v-if="integrationViews.length" class="col-sm-12">
|
||||
<hr data-testid="profile-preferences-integrations-rule" />
|
||||
</div>
|
||||
<div v-if="integrationViews.length" class="col-lg-4">
|
||||
<h4 class="gl-mt-0" data-testid="profile-preferences-integrations-heading">
|
||||
{{ $options.i18n.integrations }}
|
||||
</h4>
|
||||
<p>
|
||||
<div class="gl-display-contents js-preferences-form">
|
||||
<div
|
||||
v-if="integrationViews.length"
|
||||
class="settings-section gl-border-t gl-pt-6! js-search-settings-section"
|
||||
>
|
||||
<div class="settings-sticky-header">
|
||||
<div class="settings-sticky-header-inner">
|
||||
<h4 class="gl-my-0" data-testid="profile-preferences-integrations-heading">
|
||||
{{ $options.i18n.integrations }}
|
||||
</h4>
|
||||
</div>
|
||||
</div>
|
||||
<p class="gl-text-secondary">
|
||||
{{ $options.i18n.integrationsDescription }}
|
||||
</p>
|
||||
<div>
|
||||
<integration-view
|
||||
v-for="view in integrationViews"
|
||||
:key="view.name"
|
||||
:help-link="view.help_link"
|
||||
:message="view.message"
|
||||
:message-url="view.message_url"
|
||||
:config="$options.integrationViewConfigs[view.name]"
|
||||
/>
|
||||
</div>
|
||||
</div>
|
||||
<div v-if="integrationViews.length" class="col-lg-8">
|
||||
<integration-view
|
||||
v-for="view in integrationViews"
|
||||
:key="view.name"
|
||||
:help-link="view.help_link"
|
||||
:message="view.message"
|
||||
:message-url="view.message_url"
|
||||
:config="$options.integrationViewConfigs[view.name]"
|
||||
/>
|
||||
</div>
|
||||
|
||||
<div class="col-lg-4"></div>
|
||||
<div class="col-lg-8">
|
||||
<hr />
|
||||
</div>
|
||||
<div class="col-sm-12 js-hide-when-nothing-matches-search">
|
||||
<div class="settings-sticky-footer js-hide-when-nothing-matches-search">
|
||||
<gl-button
|
||||
category="primary"
|
||||
variant="confirm"
|
||||
|
|
|
|||
|
|
@ -66,13 +66,8 @@
|
|||
|
||||
.syntax-theme {
|
||||
label {
|
||||
margin-right: $gl-padding-32;
|
||||
margin-bottom: $gl-padding;
|
||||
text-align: center;
|
||||
|
||||
.preview {
|
||||
margin-bottom: 10px;
|
||||
width: 160px;
|
||||
margin-bottom: 8px;
|
||||
|
||||
img {
|
||||
border-radius: 4px;
|
||||
|
|
|
|||
|
|
@ -82,7 +82,7 @@
|
|||
&::after {
|
||||
content: '';
|
||||
display: block;
|
||||
@include gl-pb-7;
|
||||
@include gl-pb-5;
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -128,24 +128,6 @@
|
|||
}
|
||||
}
|
||||
|
||||
.gl-md-w-15 {
|
||||
@include gl-media-breakpoint-up(md) {
|
||||
width: $gl-spacing-scale-15;
|
||||
}
|
||||
}
|
||||
|
||||
.gl-md-w-20 {
|
||||
@include gl-media-breakpoint-up(md) {
|
||||
width: $gl-spacing-scale-20;
|
||||
}
|
||||
}
|
||||
|
||||
.gl-md-w-30 {
|
||||
@include gl-media-breakpoint-up(md) {
|
||||
width: $gl-spacing-scale-30;
|
||||
}
|
||||
}
|
||||
|
||||
.gl-fill-orange-500 {
|
||||
fill: $orange-500;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -11,165 +11,152 @@
|
|||
= stylesheet_link_tag "themes/#{theme.css_filename}" if theme.css_filename
|
||||
|
||||
= gitlab_ui_form_for @user, url: profile_preferences_path, remote: true, method: :put, html: { id: "profile-preferences-form" } do |f|
|
||||
.row.gl-mt-3.js-preferences-form.js-search-settings-section
|
||||
.col-lg-4.application-theme#navigation-theme
|
||||
%h4.gl-mt-0
|
||||
= s_('Preferences|Color theme')
|
||||
.settings-section.js-preferences-form.js-search-settings-section.application-theme#navigation-theme
|
||||
.settings-sticky-header
|
||||
.settings-sticky-header-inner
|
||||
%h4.gl-my-0
|
||||
= s_('Preferences|Color theme')
|
||||
%p.gl-text-secondary
|
||||
= s_('Preferences|Customize the color of GitLab.')
|
||||
- if show_super_sidebar?
|
||||
%p
|
||||
= s_('Preferences|Customize the color of GitLab.')
|
||||
- if show_super_sidebar?
|
||||
%p
|
||||
= s_('Preferences|Note: You have the new navigation enabled, so only Dark Mode theme significantly changes GitLab\'s appearance.')
|
||||
.col-lg-8.application-theme
|
||||
.row
|
||||
- Gitlab::Themes.each do |theme|
|
||||
%label.col-6.col-sm-4.col-md-3.gl-mb-5.gl-text-center
|
||||
.preview{ class: theme.css_class }
|
||||
= f.gitlab_ui_radio_component :theme_id, theme.id,
|
||||
theme.name,
|
||||
radio_options: { checked: user_theme_id == theme.id }
|
||||
= s_('Preferences|Note: You have the new navigation enabled, so only Dark Mode theme significantly changes GitLab\'s appearance.')
|
||||
.application-theme.row
|
||||
- Gitlab::Themes.each do |theme|
|
||||
%label.col-6.col-sm-4.col-md-3.col-xl-2.gl-mb-5
|
||||
.preview{ class: theme.css_class }
|
||||
= f.gitlab_ui_radio_component :theme_id, theme.id,
|
||||
theme.name,
|
||||
radio_options: { checked: user_theme_id == theme.id }
|
||||
|
||||
.col-sm-12
|
||||
%hr
|
||||
|
||||
.row.js-preferences-form.js-search-settings-section
|
||||
.col-lg-4#syntax-highlighting-theme
|
||||
%h4.gl-mt-0
|
||||
= s_('Preferences|Syntax highlighting theme')
|
||||
%p
|
||||
= s_('Preferences|Customize the appearance of the syntax.')
|
||||
= succeed '.' do
|
||||
= link_to _('Learn more'), help_page_path('user/profile/preferences', anchor: 'syntax-highlighting-theme'), target: '_blank', rel: 'noopener noreferrer'
|
||||
.col-lg-8.syntax-theme
|
||||
.settings-section.js-preferences-form.js-search-settings-section#syntax-highlighting-theme
|
||||
.settings-sticky-header
|
||||
.settings-sticky-header-inner
|
||||
%h4.gl-my-0
|
||||
= s_('Preferences|Syntax highlighting theme')
|
||||
%p.gl-text-secondary
|
||||
= s_('Preferences|Customize the appearance of the syntax.')
|
||||
= succeed '.' do
|
||||
= link_to _('Learn more'), help_page_path('user/profile/preferences', anchor: 'syntax-highlighting-theme'), target: '_blank', rel: 'noopener noreferrer'
|
||||
.syntax-theme.row
|
||||
- Gitlab::ColorSchemes.each do |scheme|
|
||||
= label_tag do
|
||||
%label.col-6.col-sm-4.col-md-3.col-lg-auto.gl-mb-5
|
||||
.preview= image_tag "#{scheme.css_class}-scheme-preview.png"
|
||||
= f.gitlab_ui_radio_component :color_scheme_id, scheme.id,
|
||||
scheme.name,
|
||||
radio_options: { checked: user_color_schema_id == scheme.id }
|
||||
scheme.name,
|
||||
radio_options: { checked: user_color_schema_id == scheme.id }
|
||||
|
||||
.col-sm-12
|
||||
%hr
|
||||
.settings-section.js-preferences-form.js-search-settings-section#diffs-colors
|
||||
.settings-sticky-header
|
||||
.settings-sticky-header-inner
|
||||
%h4.gl-my-0
|
||||
= s_('Preferences|Diff colors')
|
||||
%p.gl-text-secondary
|
||||
= s_('Preferences|Customize the colors of removed and added lines in diffs.')
|
||||
.form-group
|
||||
#js-profile-preferences-diffs-colors-app{ data: user_diffs_colors }
|
||||
|
||||
.row.js-preferences-form.js-search-settings-section
|
||||
.col-lg-4#diffs-colors
|
||||
%h4.gl-mt-0
|
||||
= s_('Preferences|Diff colors')
|
||||
%p
|
||||
= s_('Preferences|Customize the colors of removed and added lines in diffs.')
|
||||
.col-lg-8
|
||||
.form-group
|
||||
#js-profile-preferences-diffs-colors-app{ data: user_diffs_colors }
|
||||
.settings-section.js-preferences-form.js-search-settings-section#behavior
|
||||
.settings-sticky-header
|
||||
.settings-sticky-header-inner
|
||||
%h4.gl-my-0
|
||||
= s_('Preferences|Behavior')
|
||||
%p.gl-text-secondary
|
||||
= s_('Preferences|Customize the behavior of the system layout and default views.')
|
||||
= succeed '.' do
|
||||
= link_to _('Learn more'), help_page_path('user/profile/preferences', anchor: 'behavior'), target: '_blank', rel: 'noopener noreferrer'
|
||||
.form-group
|
||||
= f.label :layout, class: 'label-bold' do
|
||||
= s_('Preferences|Layout width')
|
||||
= f.select :layout, layout_choices, {}, class: 'gl-form-select custom-select'
|
||||
.form-text.text-muted
|
||||
= s_('Preferences|Choose between fixed (max. 1280px) and fluid (%{percentage}) application layout.').html_safe % { percentage: '100%' }
|
||||
.js-listbox-input{ data: { label: s_('Preferences|Homepage'), description: s_('Preferences|Choose what content you want to see by default on your homepage.'), name: 'user[dashboard]', items: dashboard_choices.to_json, value: current_user.dashboard, block: true.to_s, fluid_width: true.to_s } }
|
||||
|
||||
.col-sm-12
|
||||
%hr
|
||||
= render_if_exists 'profiles/preferences/group_overview_selector', f: f # EE-specific
|
||||
|
||||
.row.js-preferences-form.js-search-settings-section
|
||||
.col-lg-4#behavior
|
||||
%h4.gl-mt-0
|
||||
= s_('Preferences|Behavior')
|
||||
%p
|
||||
= s_('Preferences|Customize the behavior of the system layout and default views.')
|
||||
= succeed '.' do
|
||||
= link_to _('Learn more'), help_page_path('user/profile/preferences', anchor: 'behavior'), target: '_blank', rel: 'noopener noreferrer'
|
||||
.col-lg-8
|
||||
.form-group
|
||||
= f.label :layout, class: 'label-bold' do
|
||||
= s_('Preferences|Layout width')
|
||||
= f.select :layout, layout_choices, {}, class: 'gl-form-select custom-select'
|
||||
.form-text.text-muted
|
||||
= s_('Preferences|Choose between fixed (max. 1280px) and fluid (%{percentage}) application layout.').html_safe % { percentage: '100%' }
|
||||
.js-listbox-input{ data: { label: s_('Preferences|Homepage'), description: s_('Preferences|Choose what content you want to see by default on your homepage.'), name: 'user[dashboard]', items: dashboard_choices.to_json, value: current_user.dashboard, block: true.to_s, fluid_width: true.to_s } }
|
||||
.form-group
|
||||
= f.label :project_view, class: 'label-bold' do
|
||||
= s_('Preferences|Project overview content')
|
||||
= f.select :project_view, project_view_choices, {}, class: 'gl-form-select custom-select'
|
||||
.form-text.text-muted
|
||||
= s_('Preferences|Choose what content you want to see on a project’s overview page.')
|
||||
.form-group
|
||||
= f.gitlab_ui_checkbox_component :project_shortcut_buttons, s_('Preferences|Show shortcut buttons above files on project overview')
|
||||
.form-group
|
||||
= f.gitlab_ui_checkbox_component :render_whitespace_in_code, s_('Preferences|Render whitespace characters in the Web IDE')
|
||||
.form-group
|
||||
= f.gitlab_ui_checkbox_component :show_whitespace_in_diffs, s_('Preferences|Show whitespace changes in diffs')
|
||||
.form-group
|
||||
= f.gitlab_ui_checkbox_component :view_diffs_file_by_file,
|
||||
s_("Preferences|Show one file at a time on merge request's Changes tab"),
|
||||
help_text: s_("Preferences|Instead of all the files changed, show only one file at a time. To switch between files, use the file browser.")
|
||||
.form-group
|
||||
- supported_characters = %w(" ' ` ( [ { < * _).map { |char| "<code>#{char}</code>" }.join(', ')
|
||||
= f.gitlab_ui_checkbox_component :markdown_surround_selection,
|
||||
s_('Preferences|Surround text selection when typing quotes or brackets'),
|
||||
help_text: sprintf(s_("Preferences|When you type in a description or comment box, selected text is surrounded by the corresponding character after typing one of the following characters: %{supported_characters}."), { supported_characters: supported_characters }).html_safe
|
||||
.form-group
|
||||
= f.gitlab_ui_checkbox_component :markdown_automatic_lists,
|
||||
s_('Preferences|Automatically add new list items'),
|
||||
help_text: html_escape(s_('Preferences|When you type in a description or comment box, pressing %{kbdOpen}Enter%{kbdClose} in a list adds a new item below.')) % { kbdOpen: '<kbd>'.html_safe, kbdClose: '</kbd>'.html_safe }
|
||||
|
||||
= render_if_exists 'profiles/preferences/group_overview_selector', f: f # EE-specific
|
||||
.form-group
|
||||
= f.label :tab_width, s_('Preferences|Tab width'), class: 'label-bold'
|
||||
= f.number_field :tab_width,
|
||||
class: 'form-control gl-form-input',
|
||||
min: Gitlab::TabWidth::MIN,
|
||||
max: Gitlab::TabWidth::MAX,
|
||||
required: true
|
||||
.form-text.text-muted
|
||||
= s_('Preferences|Must be a number between %{min} and %{max}') % { min: Gitlab::TabWidth::MIN, max: Gitlab::TabWidth::MAX }
|
||||
|
||||
.form-group
|
||||
= f.label :project_view, class: 'label-bold' do
|
||||
= s_('Preferences|Project overview content')
|
||||
= f.select :project_view, project_view_choices, {}, class: 'gl-form-select custom-select'
|
||||
.form-text.text-muted
|
||||
= s_('Preferences|Choose what content you want to see on a project’s overview page.')
|
||||
.form-group
|
||||
= f.gitlab_ui_checkbox_component :project_shortcut_buttons, s_('Preferences|Show shortcut buttons above files on project overview')
|
||||
.form-group
|
||||
= f.gitlab_ui_checkbox_component :render_whitespace_in_code, s_('Preferences|Render whitespace characters in the Web IDE')
|
||||
.form-group
|
||||
= f.gitlab_ui_checkbox_component :show_whitespace_in_diffs, s_('Preferences|Show whitespace changes in diffs')
|
||||
.form-group
|
||||
= f.gitlab_ui_checkbox_component :view_diffs_file_by_file,
|
||||
s_("Preferences|Show one file at a time on merge request's Changes tab"),
|
||||
help_text: s_("Preferences|Instead of all the files changed, show only one file at a time. To switch between files, use the file browser.")
|
||||
.form-group
|
||||
- supported_characters = %w(" ' ` ( [ { < * _).map { |char| "<code>#{char}</code>" }.join(', ')
|
||||
= f.gitlab_ui_checkbox_component :markdown_surround_selection,
|
||||
s_('Preferences|Surround text selection when typing quotes or brackets'),
|
||||
help_text: sprintf(s_("Preferences|When you type in a description or comment box, selected text is surrounded by the corresponding character after typing one of the following characters: %{supported_characters}."), { supported_characters: supported_characters }).html_safe
|
||||
.form-group
|
||||
= f.gitlab_ui_checkbox_component :markdown_automatic_lists,
|
||||
s_('Preferences|Automatically add new list items'),
|
||||
help_text: html_escape(s_('Preferences|When you type in a description or comment box, pressing %{kbdOpen}Enter%{kbdClose} in a list adds a new item below.')) % { kbdOpen: '<kbd>'.html_safe, kbdClose: '</kbd>'.html_safe }
|
||||
.settings-section.js-preferences-form.js-search-settings-section#localization
|
||||
.settings-sticky-header
|
||||
.settings-sticky-header-inner
|
||||
%h4.gl-my-0
|
||||
= _('Localization')
|
||||
%p.gl-text-secondary
|
||||
= _('Customize language and region related settings.')
|
||||
= succeed '.' do
|
||||
= link_to _('Learn more'), help_page_path('user/profile/preferences', anchor: 'localization'), target: '_blank', rel: 'noopener noreferrer'
|
||||
.js-listbox-input{ data: { label: _('Language'), description: s_('Preferences|This feature is experimental and translations are not yet complete.'), name: 'user[preferred_language]', items: language_choices.to_json, value: current_user.preferred_language, block: true.to_s, fluid_width: true.to_s } }
|
||||
%p.gl-mt-n5
|
||||
= link_to help_page_url('development/i18n/translation'), class: 'text-nowrap', target: '_blank', rel: 'noopener noreferrer' do
|
||||
= _("Help translate GitLab into your language")
|
||||
%span{ aria: { label: _('Open new window') } }
|
||||
= sprite_icon('external-link')
|
||||
.form-group
|
||||
= f.label :first_day_of_week, class: 'label-bold' do
|
||||
= _('First day of the week')
|
||||
= f.select :first_day_of_week, first_day_of_week_choices_with_default, {}, class: 'gl-form-select custom-select'
|
||||
|
||||
.form-group
|
||||
= f.label :tab_width, s_('Preferences|Tab width'), class: 'label-bold'
|
||||
= f.number_field :tab_width,
|
||||
class: 'form-control gl-form-input',
|
||||
min: Gitlab::TabWidth::MIN,
|
||||
max: Gitlab::TabWidth::MAX,
|
||||
required: true
|
||||
.form-text.text-muted
|
||||
= s_('Preferences|Must be a number between %{min} and %{max}') % { min: Gitlab::TabWidth::MIN, max: Gitlab::TabWidth::MAX }
|
||||
|
||||
.col-sm-12
|
||||
%hr
|
||||
.row.js-preferences-form.js-search-settings-section
|
||||
.col-lg-4#localization
|
||||
%h4.gl-mt-0
|
||||
= _('Localization')
|
||||
%p
|
||||
= _('Customize language and region related settings.')
|
||||
= succeed '.' do
|
||||
= link_to _('Learn more'), help_page_path('user/profile/preferences', anchor: 'localization'), target: '_blank', rel: 'noopener noreferrer'
|
||||
.col-lg-8
|
||||
.js-listbox-input{ data: { label: _('Language'), description: s_('Preferences|This feature is experimental and translations are not yet complete.'), name: 'user[preferred_language]', items: language_choices.to_json, value: current_user.preferred_language, block: true.to_s, fluid_width: true.to_s } }
|
||||
%p.gl-mt-n5
|
||||
= link_to help_page_url('development/i18n/translation'), class: 'text-nowrap', target: '_blank', rel: 'noopener noreferrer' do
|
||||
= _("Help translate GitLab into your language")
|
||||
%span{ aria: { label: _('Open new window') } }
|
||||
= sprite_icon('external-link')
|
||||
.form-group
|
||||
= f.label :first_day_of_week, class: 'label-bold' do
|
||||
= _('First day of the week')
|
||||
= f.select :first_day_of_week, first_day_of_week_choices_with_default, {}, class: 'gl-form-select custom-select'
|
||||
.col-sm-12
|
||||
%hr
|
||||
.row.js-preferences-form.js-search-settings-section
|
||||
.col-lg-4#time-preferences
|
||||
%h4.gl-mt-0
|
||||
= s_('Preferences|Time preferences')
|
||||
%p
|
||||
= s_('Preferences|Configure how dates and times display for you.')
|
||||
= succeed '.' do
|
||||
= link_to _('Learn more'), help_page_path('user/profile/preferences', anchor: 'time-preferences'), target: '_blank', rel: 'noopener noreferrer'
|
||||
.col-lg-8
|
||||
.form-group
|
||||
= f.gitlab_ui_checkbox_component :time_display_relative,
|
||||
s_('Preferences|Use relative times'),
|
||||
help_text: s_('Preferences|For example: 30 minutes ago.')
|
||||
.settings-section.js-preferences-form.js-search-settings-section#time-preferences
|
||||
.settings-sticky-header
|
||||
.settings-sticky-header-inner
|
||||
%h4.gl-my-0
|
||||
= s_('Preferences|Time preferences')
|
||||
%p.gl-text-secondary
|
||||
= s_('Preferences|Configure how dates and times display for you.')
|
||||
= succeed '.' do
|
||||
= link_to _('Learn more'), help_page_path('user/profile/preferences', anchor: 'time-preferences'), target: '_blank', rel: 'noopener noreferrer'
|
||||
.form-group
|
||||
= f.gitlab_ui_checkbox_component :time_display_relative,
|
||||
s_('Preferences|Use relative times'),
|
||||
help_text: s_('Preferences|For example: 30 minutes ago.')
|
||||
- if Feature.enabled?(:disable_follow_users, @user)
|
||||
.row.js-preferences-form.js-search-settings-section
|
||||
.col-sm-12
|
||||
%hr
|
||||
.col-lg-4#enabled_following
|
||||
%h4.gl-mt-0
|
||||
= s_('Preferences|Enable follow users feature')
|
||||
%p
|
||||
= s_('Preferences|Turns on or off the ability to follow or be followed by other users.')
|
||||
= succeed '.' do
|
||||
= link_to _('Learn more'), help_page_path('user/profile/index', anchor: 'follow-users'), target: '_blank', rel: 'noopener noreferrer'
|
||||
.col-lg-8
|
||||
.form-group
|
||||
= f.gitlab_ui_checkbox_component :enabled_following,
|
||||
s_('Preferences|Enable follow users')
|
||||
.settings-section.js-preferences-form.js-search-settings-section#enabled_following
|
||||
.settings-sticky-header
|
||||
.settings-sticky-header-inner
|
||||
%h4.gl-my-0
|
||||
= s_('Preferences|Enable follow users feature')
|
||||
%p.gl-text-secondary
|
||||
= s_('Preferences|Turns on or off the ability to follow or be followed by other users.')
|
||||
= succeed '.' do
|
||||
= link_to _('Learn more'), help_page_path('user/profile/index', anchor: 'follow-users'), target: '_blank', rel: 'noopener noreferrer'
|
||||
.form-group
|
||||
= f.gitlab_ui_checkbox_component :enabled_following,
|
||||
s_('Preferences|Enable follow users')
|
||||
= render_if_exists 'profiles/preferences/code_suggestions_settings', form: f
|
||||
= render_if_exists 'profiles/preferences/zoekt_settings', form: f
|
||||
|
||||
|
|
|
|||
|
|
@ -660,7 +660,7 @@ The token is stored in the `RUBY3_1_SYNC_TOKEN` variable in `gitlab-org/gitlab`.
|
|||
Our test suite runs against Redis 6 as GitLab.com runs on Redis 6 and
|
||||
[Omnibus defaults to Redis 6 for new installs and upgrades](https://gitlab.com/gitlab-org/omnibus-gitlab/-/blob/master/config/software/redis.rb).
|
||||
|
||||
We do run our test suite against Redis 5 on `nightly` scheduled pipelines, specifically when running backward-compatible and forward-compatible PostgreSQL jobs.
|
||||
We do run our test suite against Redis 7 on `nightly` scheduled pipelines, specifically when running forward-compatible PostgreSQL 15 jobs.
|
||||
|
||||
#### Current versions testing
|
||||
|
||||
|
|
@ -668,7 +668,7 @@ We do run our test suite against Redis 5 on `nightly` scheduled pipelines, speci
|
|||
| ------ | ------------------ |
|
||||
| MRs | 6 |
|
||||
| `default branch` (non-scheduled pipelines) | 6 |
|
||||
| `nightly` scheduled pipelines | 5 |
|
||||
| `nightly` scheduled pipelines | 7 |
|
||||
|
||||
### Single database testing
|
||||
|
||||
|
|
|
|||
|
|
@ -32,7 +32,29 @@ The following data sources are configured for analytics dashboards:
|
|||
|
||||
- [Product analytics](../product_analytics/index.md)
|
||||
|
||||
### View project dashboards
|
||||
## Dashboards designer
|
||||
|
||||
> Introduced in GitLab 16.1 [with a flag](../../administration/feature_flags.md) named `combined_analytics_dashboards_editor`. Disabled by default.
|
||||
|
||||
FLAG:
|
||||
On self-managed GitLab, by default this feature is not available. To make it available per project or for your entire instance, ask an administrator to [enable the feature flag](../../administration/feature_flags.md) named `combined_analytics_dashboards_editor`.
|
||||
On GitLab.com, this feature is not available.
|
||||
This feature is not ready for production use.
|
||||
|
||||
NOTE:
|
||||
This feature does not work in conjunction with the `product_analytics_snowplow_support` feature flag.
|
||||
|
||||
You can use the dashboards designer to:
|
||||
|
||||
- Create custom dashboards
|
||||
- Rename custom dashboards
|
||||
- Add visualizations to new and existing custom dashboards
|
||||
- Resize or move panels within custom dashboards
|
||||
|
||||
You cannot edit the built-in dashboards labeled as `By GitLab`.
|
||||
To edit these dashboards you should create a new custom dashboard which uses the same visualizations.
|
||||
|
||||
## View project dashboards
|
||||
|
||||
To view a list of dashboards for a project:
|
||||
|
||||
|
|
@ -40,7 +62,46 @@ To view a list of dashboards for a project:
|
|||
1. Select **Analyze > Dashboards**.
|
||||
1. From the list of available dashboards, select the dashboard you want to view.
|
||||
|
||||
### Define a dashboard
|
||||
## Change the location of dashboards
|
||||
|
||||
You can change the location of your project or group dashboards.
|
||||
|
||||
### Group dashboards
|
||||
|
||||
NOTE:
|
||||
This feature will be connected to group-level dashboards as part of [issue #411572](https://gitlab.com/gitlab-org/gitlab/-/issues/411572).
|
||||
|
||||
To change the location of a group's dashboards:
|
||||
|
||||
1. On the left sidebar, at the top, select **Search GitLab** (**{search}**) to find the project you want to store your dashboard files in.
|
||||
The project must belong to the group for which you create the dashboards.
|
||||
1. On the left sidebar, at the top, select **Search GitLab** (**{search}**) to find your group.
|
||||
1. Select **Settings > General**.
|
||||
1. Expand **Analytics**.
|
||||
1. In the **Analytics Dashboards** section, select your dashboard files project.
|
||||
1. Select **Save changes**.
|
||||
|
||||
### Project dashboards
|
||||
|
||||
Dashboards are usually defined in the project where the analytics data is being retrieved from.
|
||||
However, you can also have a separate project for dashboards.
|
||||
This is recommended if you want to enforce specific access rules to the dashboard definitions or share dashboards across multiple projects.
|
||||
|
||||
NOTE:
|
||||
You can share dashboards only between projects that are located in the same group.
|
||||
|
||||
To change the location of project dashboards:
|
||||
|
||||
1. On the left sidebar, at the top, select **Search GitLab** (**{search}**) to find your project,
|
||||
or select **Create new...** (**{plus}**) and **New project/repository**
|
||||
to create the project to store your dashboard files.
|
||||
1. On the left sidebar, at the top, select **Search GitLab** (**{search}**) and find the analytics project.
|
||||
1. Select **Settings > General**.
|
||||
1. Expand **Analytics**.
|
||||
1. In the **Analytics Dashboards** section, select your dashboard files project.
|
||||
1. Select **Save changes**.
|
||||
|
||||
## Define a dashboard
|
||||
|
||||
To define a dashboard:
|
||||
|
||||
|
|
@ -67,7 +128,7 @@ and one visualization (line chart) that applies to all dashboards, the file stru
|
|||
│ └── example_line_chart.yaml
|
||||
```
|
||||
|
||||
### Define a chart visualization
|
||||
## Define a chart visualization
|
||||
|
||||
You can define different charts, and add visualization options to some of them:
|
||||
|
||||
|
|
@ -91,65 +152,7 @@ create a `line_chart.yaml` file with the following required fields:
|
|||
- data
|
||||
- options
|
||||
|
||||
### Change the location of project dashboards
|
||||
|
||||
Dashboards are usually defined in the project where analytics data is being retrieved.
|
||||
However, you can also have a separate project for dashboards.
|
||||
This is recommended if you want to enforce specific access rules to the dashboard definitions or share dashboards across multiple projects.
|
||||
|
||||
NOTE:
|
||||
You can share dashboards only between projects that are located in the same group.
|
||||
|
||||
To change the location of project dashboards:
|
||||
|
||||
1. On the left sidebar, at the top, select **Search GitLab** (**{search}**) to find your project,
|
||||
or select **Create new** (**{plus}**) and **New project/repository**
|
||||
to create the project to store your dashboard files.
|
||||
1. On the left sidebar, at the top, select **Search GitLab** (**{search}**) and find the project you want to use the dashboards for.
|
||||
1. Select **Settings > General**.
|
||||
1. Expand **Analytics**.
|
||||
1. In the **Analytics Dashboards** section, select the project that contains the dashboard files.
|
||||
1. Select **Save changes**.
|
||||
|
||||
### Change the location of group dashboards
|
||||
|
||||
NOTE:
|
||||
This feature will be connected to group-level dashboards in [issue 411572](https://gitlab.com/gitlab-org/gitlab/-/issues/411572).
|
||||
|
||||
If you want to use dashboards for a group, you must store the dashboard files in a project that belongs to that group.
|
||||
You can change the source project of a group's dashboards at any time.
|
||||
|
||||
To change the location of a group's dashboards:
|
||||
|
||||
1. On the left sidebar, at the top, select **Search GitLab** (**{search}**) to find your group.
|
||||
1. Select **Settings > General**.
|
||||
1. Expand **Analytics**.
|
||||
1. In the **Analytics Dashboards** section, select the project that contains the dashboard files.
|
||||
1. Select **Save changes**.
|
||||
|
||||
## Dashboards designer
|
||||
|
||||
> Introduced in GitLab 16.1 [with a flag](../../administration/feature_flags.md) named `combined_analytics_dashboards_editor`. Disabled by default.
|
||||
|
||||
FLAG:
|
||||
On self-managed GitLab, by default this feature is not available. To make it available per project or for your entire instance, ask an administrator to [enable the feature flag](../../administration/feature_flags.md) named `combined_analytics_dashboards_editor`.
|
||||
On GitLab.com, this feature is not available.
|
||||
This feature is not ready for production use.
|
||||
|
||||
NOTE:
|
||||
This feature does not work in conjunction with the `product_analytics_snowplow_support` feature flag.
|
||||
|
||||
You can use the dashboards designer to:
|
||||
|
||||
- Create custom dashboards
|
||||
- Rename custom dashboards
|
||||
- Add visualizations to new and existing custom dashboards
|
||||
- Resize or move panels within custom dashboards
|
||||
|
||||
You cannot edit the built-in dashboards labeled as `By GitLab`.
|
||||
To edit these dashboards you should create a new custom dashboard which uses the same visualizations.
|
||||
|
||||
### Create a custom dashboard
|
||||
## Create a custom dashboard
|
||||
|
||||
To create a custom dashboard:
|
||||
|
||||
|
|
@ -161,7 +164,7 @@ To create a custom dashboard:
|
|||
1. Optional. Drag or resize the selected panel how you prefer.
|
||||
1. Select **Save**.
|
||||
|
||||
### Edit a custom dashboard
|
||||
## Edit a custom dashboard
|
||||
|
||||
You can edit your custom dashboard's title and add or resize visualizations within the dashboard designer.
|
||||
|
||||
|
|
|
|||
|
|
@ -11890,7 +11890,7 @@ msgstr ""
|
|||
msgid "Component name '%{component}' must not start with '%{prefix}'"
|
||||
msgstr ""
|
||||
|
||||
msgid "Component type '%s' is not yet supported"
|
||||
msgid "Component type '%{type}' is not yet supported"
|
||||
msgstr ""
|
||||
|
||||
msgid "Components must have a 'name'"
|
||||
|
|
@ -18280,7 +18280,7 @@ msgstr ""
|
|||
msgid "Event tag (optional)"
|
||||
msgstr ""
|
||||
|
||||
msgid "Event type '%s' is not yet supported"
|
||||
msgid "Event type '%{type}' is not yet supported"
|
||||
msgstr ""
|
||||
|
||||
msgid "EventFilterBy|Filter by all"
|
||||
|
|
@ -24836,7 +24836,7 @@ msgstr ""
|
|||
msgid "Introducing Your DevOps Reports"
|
||||
msgstr ""
|
||||
|
||||
msgid "Invalid 'schemaVersion' '%s'"
|
||||
msgid "Invalid 'schemaVersion' '%{schema_version}'"
|
||||
msgstr ""
|
||||
|
||||
msgid "Invalid Insights config file detected"
|
||||
|
|
@ -29748,7 +29748,7 @@ msgstr ""
|
|||
msgid "Multiple Prometheus integrations are not supported"
|
||||
msgstr ""
|
||||
|
||||
msgid "Multiple components(%s) have 'gl/inject-editor' attribute"
|
||||
msgid "Multiple components '%{name}' have 'gl/inject-editor' attribute"
|
||||
msgstr ""
|
||||
|
||||
msgid "Multiple integrations of a single type are not supported for this project"
|
||||
|
|
@ -37118,7 +37118,7 @@ msgstr ""
|
|||
msgid "Prompt users to upload SSH keys"
|
||||
msgstr ""
|
||||
|
||||
msgid "Property 'dedicatedPod' of component '%s' is not yet supported"
|
||||
msgid "Property 'dedicatedPod' of component '%{name}' is not yet supported"
|
||||
msgstr ""
|
||||
|
||||
msgid "Protect"
|
||||
|
|
|
|||
|
|
@ -31,22 +31,27 @@ printf "${Color_Off}"
|
|||
|
||||
printf "${BBlue}Running Remote Development backend specs${Color_Off}\n\n"
|
||||
|
||||
# NOTE: For some reason this test started causing the following spec file in the list to blow up with
|
||||
# "Failed to write to log, write log/workhorse-test.log: file already closed". Just removing
|
||||
# it for now.
|
||||
# ee/spec/graphql/api/workspace_spec.rb
|
||||
|
||||
bin/spring rspec -r spec_helper \
|
||||
ee/spec/features/remote_development/workspaces_spec.rb \
|
||||
ee/spec/finders/remote_development/workspaces_finder_spec.rb \
|
||||
ee/spec/graphql/api/workspace_spec.rb \
|
||||
ee/spec/graphql/types/query_type_spec.rb \
|
||||
ee/spec/graphql/types/remote_development/workspace_type_spec.rb \
|
||||
ee/spec/graphql/types/subscription_type_spec.rb \
|
||||
ee/spec/lib/remote_development/agent_config/main_integration_spec.rb \
|
||||
ee/spec/lib/remote_development/unmatched_result_error_spec.rb \
|
||||
ee/spec/lib/remote_development/workspaces/create/create_processor_spec.rb \
|
||||
ee/spec/lib/remote_development/workspaces/create/devfile_processor_spec.rb \
|
||||
ee/spec/lib/remote_development/workspaces/create/devfile_validator_spec.rb \
|
||||
ee/spec/lib/remote_development/workspaces/create/authorizer_spec.rb \
|
||||
ee/spec/lib/remote_development/workspaces/create/creator_spec.rb \
|
||||
ee/spec/lib/remote_development/workspaces/create/devfile_fetcher_spec.rb \
|
||||
ee/spec/lib/remote_development/workspaces/create/devfile_flattener_spec.rb \
|
||||
ee/spec/lib/remote_development/workspaces/create/editor_component_injector_spec.rb \
|
||||
ee/spec/lib/remote_development/workspaces/create/main_integration_spec.rb \
|
||||
ee/spec/lib/remote_development/workspaces/create/main_spec.rb \
|
||||
ee/spec/lib/remote_development/workspaces/create/post_flatten_devfile_validator_spec.rb \
|
||||
ee/spec/lib/remote_development/workspaces/create/pre_flatten_devfile_validator_spec.rb \
|
||||
ee/spec/lib/remote_development/workspaces/create/project_cloner_component_injector_spec.rb \
|
||||
ee/spec/lib/remote_development/workspaces/create/volume_component_injector_spec.rb \
|
||||
ee/spec/lib/remote_development/workspaces/create/volume_definer_spec.rb \
|
||||
ee/spec/lib/remote_development/workspaces/reconcile/actual_state_calculator_spec.rb \
|
||||
ee/spec/lib/remote_development/workspaces/reconcile/agent_info_parser_spec.rb \
|
||||
ee/spec/lib/remote_development/workspaces/reconcile/agent_info_spec.rb \
|
||||
|
|
|
|||
|
|
@ -65,9 +65,8 @@ RSpec.describe Projects::Settings::CiCdController, feature_category: :continuous
|
|||
end
|
||||
|
||||
context 'with group runners' do
|
||||
let_it_be(:group) { create :group }
|
||||
let_it_be(:project) { create :project, group: group }
|
||||
let_it_be(:group_runner) { create(:ci_runner, :group, groups: [group]) }
|
||||
let(:project) { other_project }
|
||||
let!(:group_runner) { create(:ci_runner, :group, groups: [group]) }
|
||||
|
||||
it 'sets group runners' do
|
||||
subject
|
||||
|
|
|
|||
|
|
@ -47,10 +47,6 @@ describe('ProfilePreferences component', () => {
|
|||
);
|
||||
}
|
||||
|
||||
function findIntegrationsDivider() {
|
||||
return wrapper.findByTestId('profile-preferences-integrations-rule');
|
||||
}
|
||||
|
||||
function findIntegrationsHeading() {
|
||||
return wrapper.findByTestId('profile-preferences-integrations-heading');
|
||||
}
|
||||
|
|
@ -86,21 +82,17 @@ describe('ProfilePreferences component', () => {
|
|||
it('should not render Integrations section', () => {
|
||||
wrapper = createComponent();
|
||||
const views = wrapper.findAllComponents(IntegrationView);
|
||||
const divider = findIntegrationsDivider();
|
||||
const heading = findIntegrationsHeading();
|
||||
|
||||
expect(divider.exists()).toBe(false);
|
||||
expect(heading.exists()).toBe(false);
|
||||
expect(views).toHaveLength(0);
|
||||
});
|
||||
|
||||
it('should render Integration section', () => {
|
||||
wrapper = createComponent({ provide: { integrationViews } });
|
||||
const divider = findIntegrationsDivider();
|
||||
const heading = findIntegrationsHeading();
|
||||
const views = wrapper.findAllComponents(IntegrationView);
|
||||
|
||||
expect(divider.exists()).toBe(true);
|
||||
expect(heading.exists()).toBe(true);
|
||||
expect(views).toHaveLength(integrationViews.length);
|
||||
});
|
||||
|
|
|
|||
Loading…
Reference in New Issue