Add latest changes from gitlab-org/gitlab@master

This commit is contained in:
GitLab Bot 2021-09-30 21:11:33 +00:00
parent c753fd0bf4
commit 42dd097f1c
19 changed files with 760 additions and 1146 deletions

View file

@ -115,6 +115,8 @@ update-storybook-yarn-cache:
needs: ["setup-test-env", "retrieve-tests-metadata", "compile-test-assets"]
variables:
WEBPACK_VENDOR_DLL: "true"
GITLAB_NO_AR_DB_PREPEND_LOAD_BALANCING: "true"
GITLAB_USE_PREPARED_STATEMENTS: "true"
script:
- run_timed_command "gem install knapsack --no-document"
- run_timed_command "scripts/gitaly-test-spawn"

View file

@ -1,5 +1,5 @@
// This file only applies to use of experiments through https://gitlab.com/gitlab-org/gitlab-experiment
import { get, pick } from 'lodash';
import { get } from 'lodash';
import { DEFAULT_VARIANT, CANDIDATE_VARIANT, TRACKING_CONTEXT_SCHEMA } from './constants';
function getExperimentsData() {
@ -14,12 +14,6 @@ export function getExperimentData(experimentName) {
return getExperimentsData()[experimentName];
}
export function getExperimentContexts(...experimentNames) {
return Object.values(pick(getExperimentsData(), experimentNames)).map(
convertExperimentDataToExperimentContext,
);
}
export function getAllExperimentContexts() {
return Object.values(getExperimentsData()).map(convertExperimentDataToExperimentContext);
}

View file

@ -1,88 +1,4 @@
.edit-cluster-form {
.clipboard-addon {
background-color: $white;
}
}
.cluster-application-row {
background: $gray-lighter;
&.cluster-application-installed {
background: none;
}
.settings-message {
padding: $gl-vert-padding $gl-padding-8;
}
}
@media (min-width: map-get($grid-breakpoints, md)) {
.cluster-application-list {
border: 1px solid $border-color;
border-radius: $border-radius-default;
}
.cluster-application-row {
border-bottom: 1px solid $border-color;
padding: $gl-padding;
&:last-child {
border-bottom: 0;
border-bottom-left-radius: calc(#{$border-radius-default} - 1px);
border-bottom-right-radius: calc(#{$border-radius-default} - 1px);
}
}
}
.cluster-application-logo {
border: 3px solid $white;
box-shadow: 0 0 0 1px $gray-normal;
&.avatar:hover {
border-color: $white;
}
}
.cluster-application-warning {
font-weight: bold;
text-align: center;
padding: $gl-padding;
border-bottom: 1px solid $white-normal;
.svg-container {
display: inline-block;
vertical-align: middle;
margin-right: $gl-padding-8;
width: 40px;
height: 40px;
}
}
.cluster-application-description {
flex: 1;
}
.cluster-application-disabled {
opacity: 0.5;
}
.clusters-dropdown-menu {
max-width: 100%;
}
.clusters-error-alert {
width: 100%;
}
.clusters-container {
.nav-bar-right {
padding: $gl-padding-top $gl-padding;
}
.card {
margin-bottom: $gl-vert-padding;
}
.empty-state .svg-content img {
width: 145px;
}
@ -100,71 +16,4 @@
@include gl-flex-wrap;
}
}
.top-area .nav-controls > .btn.btn-add-cluster {
margin-right: 0;
}
.clusters-table {
background-color: $gray-light;
padding: $gl-padding-8;
}
.badge-light {
background-color: $white-normal;
}
.gl-responsive-table-row {
padding: $gl-padding;
border: 0;
&.table-row-header {
// stylelint-disable-next-line
background-color: none;
border: 0;
font-weight: bold;
color: $gray-500;
}
}
}
.cluster-warning {
@include alert-variant(theme-color-level('warning', $alert-bg-level), theme-color-level('warning', $alert-border-level), theme-color-level('warning', $alert-color-level));
}
.gcp-signup-offer {
border-left-color: $blue-500;
svg {
fill: $blue-500;
vertical-align: middle;
}
.gcp-signup-offer--content {
display: flex;
h4 {
font-size: 16px;
line-height: 24px;
}
.gcp-signup-offer--icon {
align-self: flex-start;
}
}
}
.cluster-deployments-warning {
color: $orange-500;
}
.badge.pods-badge {
color: $black;
font-weight: $gl-font-weight-bold;
}
.cluster-status-indicator {
&.disabled {
background-color: $gray-400;
}
}

View file

@ -9,6 +9,7 @@ class Projects::UsageQuotasController < Projects::ApplicationController
feature_category :utilization
def index
@hide_search_settings = true
@storage_app_data = {
project_path: @project.full_path,
usage_quotas_help_page_path: help_page_path('user/usage_quotas'),

View file

@ -109,7 +109,7 @@ module GroupsHelper
end
def prevent_sharing_groups_outside_hierarchy_help_text(group)
s_("GroupSettings|This setting is only available on the top-level group and it applies to all subgroups. Groups that have already been shared with a group outside %{group} will still be shared, and this access will have to be revoked manually.").html_safe % { group: link_to_group(group) }
s_("GroupSettings|Available only on the top-level group. Applies to all subgroups. Groups already shared with a group outside %{group} are still shared unless removed manually.").html_safe % { group: link_to_group(group) }
end
def parent_group_options(current_group)
@ -178,7 +178,7 @@ module GroupsHelper
end
def default_help
s_("GroupSettings|This setting is applied to all subgroups unless overridden by a group owner. Groups that have already been added to the project lose access.")
s_("GroupSettings|Applied to all subgroups unless overridden by a group owner. Groups already added to the project lose access.")
end
def ancestor_locked_but_you_can_override(group)

View file

@ -36,4 +36,4 @@
.offset-sm-2.col-sm-10
.form-check
= f.text_field :two_factor_grace_period, class: 'form-control'
.form-text.text-muted= _("Amount of time (in hours) that users are allowed to skip forced configuration of two-factor authentication")
.form-text.text-muted= _("Time (in hours) that users are allowed to skip forced configuration of two-factor authentication.")

View file

@ -23,7 +23,7 @@
%button.btn.gl-button.js-settings-toggle{ type: 'button' }
= expanded ? _('Collapse') : _('Expand')
%p
= _('Advanced permissions, Large File Storage and Two-Factor authentication settings.')
= _('Configure advanced permissions, Large File Storage, and two-factor authentication settings.')
.settings-content
= render 'groups/settings/permissions'

View file

@ -3,10 +3,10 @@
%h5= _('Large File Storage')
%p= s_('Check the %{docs_link_start}documentation%{docs_link_end}.').html_safe % { docs_link_start: docs_link_start, docs_link_end: '</a>'.html_safe }
%p= s_('%{docs_link_start}What is Large File Storage?%{docs_link_end}').html_safe % { docs_link_start: docs_link_start, docs_link_end: '</a>'.html_safe }
.form-group.gl-mb-3
= f.gitlab_ui_checkbox_component :lfs_enabled,
_('Allow projects within this group to use Git LFS'),
help_text: _('This setting can be overridden in each project.'),
help_text: _('Can be overridden in each project.'),
checkbox_options: { checked: @group.lfs_enabled?, data: { qa_selector: 'lfs_checkbox' } }

View file

@ -7,7 +7,7 @@
- if @group.root?
.form-group.gl-mb-3
= f.gitlab_ui_checkbox_component :prevent_sharing_groups_outside_hierarchy,
s_('GroupSettings|Prevent members from sending invitations to groups outside of %{group} and its subgroups.').html_safe % { group: link_to_group(@group) },
s_('GroupSettings|Prevent members from sending invitations to groups outside of %{group} and its subgroups').html_safe % { group: link_to_group(@group) },
help_text: prevent_sharing_groups_outside_hierarchy_help_text(@group),
checkbox_options: { disabled: !can_change_prevent_sharing_groups_outside_hierarchy?(@group) }
@ -21,13 +21,13 @@
= f.gitlab_ui_checkbox_component :emails_disabled,
s_('GroupSettings|Disable email notifications'),
checkbox_options: { checked: @group.emails_disabled?, disabled: !can_disable_group_emails?(@group) },
help_text: s_('GroupSettings|This setting will override user notification preferences for all members of the group, subgroups, and projects.')
help_text: s_('GroupSettings|Overrides user notification preferences for all members of the group, subgroups, and projects.')
.form-group.gl-mb-3
= f.gitlab_ui_checkbox_component :mentions_disabled,
s_('GroupSettings|Disable group mentions'),
checkbox_options: { checked: @group.mentions_disabled? },
help_text: s_('GroupSettings|This setting will prevent group members from being notified if the group is mentioned.')
help_text: s_('GroupSettings|Prevents group members from being notified if the group is mentioned.')
= render 'groups/settings/project_access_token_creation', f: f, group: @group
= render_if_exists 'groups/settings/delayed_project_removal', f: f, group: @group

View file

@ -4,16 +4,16 @@
%h5= _('Two-factor authentication')
%p= s_('Check the %{docs_link_start}documentation%{docs_link_end}.').html_safe % { docs_link_start: docs_link_start, docs_link_end: '</a>'.html_safe }
%p= s_('%{docs_link_start}What is two-factor authentication?%{docs_link_end}').html_safe % { docs_link_start: docs_link_start, docs_link_end: '</a>'.html_safe }
.form-group
= f.gitlab_ui_checkbox_component :require_two_factor_authentication,
_('Require all users in this group to setup two-factor authentication'),
_('Require all users in this group to set up two-factor authentication'),
checkbox_options: { data: { qa_selector: 'require_2fa_checkbox' } }
.form-group
= f.label :two_factor_grace_period, _('Time before enforced'), class: 'label-bold'
= f.text_field :two_factor_grace_period, class: 'form-control form-control-sm w-auto'
.form-text.text-muted= _('Amount of time (in hours) that users are allowed to skip forced configuration of two-factor authentication')
.form-text.text-muted= _('Time (in hours) that users are allowed to skip forced configuration of two-factor authentication.')
- unless group.has_parent?
.form-group
= f.gitlab_ui_checkbox_component :allow_mfa_for_subgroups,

View file

@ -1,8 +0,0 @@
---
name: jobs_to_be_done
introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/60038
rollout_issue_url: https://gitlab.com/gitlab-org/gitlab/-/issues/285564
milestone: '13.12'
type: experiment
group: group::adoption
default_enabled: false

View file

@ -2,7 +2,7 @@
ActiveRecord::Base.singleton_class.attr_accessor :load_balancing_proxy
Gitlab::Database.main.disable_prepared_statements
Gitlab::Database.main.disable_prepared_statements unless ENV['GITLAB_USE_PREPARED_STATEMENTS'] == 'true'
Gitlab::Application.configure do |config|
config.middleware.use(Gitlab::Database::LoadBalancing::RackMiddleware)
@ -11,7 +11,7 @@ end
# This hijacks the "connection" method to ensure both
# `ActiveRecord::Base.connection` and all models use the same load
# balancing proxy.
ActiveRecord::Base.singleton_class.prepend(Gitlab::Database::LoadBalancing::ActiveRecordProxy)
ActiveRecord::Base.singleton_class.prepend(Gitlab::Database::LoadBalancing::ActiveRecordProxy) unless ENV['GITLAB_NO_AR_DB_PREPEND_LOAD_BALANCING'] == 'true'
# The load balancer needs to be configured immediately, and re-configured after
# forking. This ensures queries that run before forking use the load balancer,

View file

@ -50,7 +50,7 @@ To enforce 2FA only for certain groups:
1. Go to the group's **Settings > General** page.
1. Expand the **Permissions, LFS, 2FA** section.
1. Select the **Require all users in this group to setup two-factor authentication** option.
1. Select the **Require all users in this group to set up two-factor authentication** option.
You can also specify a grace period in the **Time before enforced** option.

View file

@ -562,6 +562,12 @@ msgstr ""
msgid "%{docs_link_start}Learn about visibility levels.%{docs_link_end}"
msgstr ""
msgid "%{docs_link_start}What is Large File Storage?%{docs_link_end}"
msgstr ""
msgid "%{docs_link_start}What is two-factor authentication?%{docs_link_end}"
msgstr ""
msgid "%{due_date} (Past due)"
msgstr ""
@ -691,6 +697,9 @@ msgstr ""
msgid "%{label_for_message} unavailable"
msgstr ""
msgid "%{learn_more_link}."
msgstr ""
msgid "%{lessThan} 1 hour"
msgstr ""
@ -1334,6 +1343,9 @@ msgstr ""
msgid "1000+"
msgstr ""
msgid "192.168.0.0/24"
msgstr ""
msgid "1st contribution!"
msgstr ""
@ -2906,9 +2918,6 @@ msgstr ""
msgid "Advanced export options"
msgstr ""
msgid "Advanced permissions, Large File Storage and Two-Factor authentication settings."
msgstr ""
msgid "After a successful password update you will be redirected to login screen."
msgstr ""
@ -3482,9 +3491,6 @@ msgstr ""
msgid "Amazon authentication is not %{link_start}correctly configured%{link_end}. Ask your GitLab administrator if you want to use this service."
msgstr ""
msgid "Amount of time (in hours) that users are allowed to skip forced configuration of two-factor authentication"
msgstr ""
msgid "An %{link_start}alert%{link_end} with the same fingerprint is already open. To change the status of this alert, resolve the linked alert."
msgstr ""
@ -6138,6 +6144,9 @@ msgstr ""
msgid "Can be manually deployed to"
msgstr ""
msgid "Can be overridden in each project."
msgstr ""
msgid "Can create groups:"
msgstr ""
@ -6531,9 +6540,6 @@ msgstr ""
msgid "Check out, review, and merge locally"
msgstr ""
msgid "Check the %{docs_link_start}documentation%{docs_link_end}."
msgstr ""
msgid "Check the current instance configuration "
msgstr ""
@ -8601,6 +8607,9 @@ msgstr ""
msgid "Configure a %{codeStart}.gitlab-webide.yml%{codeEnd} file in the %{codeStart}.gitlab%{codeEnd} directory to start using the Web Terminal. %{helpStart}Learn more.%{helpEnd}"
msgstr ""
msgid "Configure advanced permissions, Large File Storage, and two-factor authentication settings."
msgstr ""
msgid "Configure approvals by authors and committers on all projects."
msgstr ""
@ -12796,9 +12805,6 @@ msgstr ""
msgid "Enter Admin Mode"
msgstr ""
msgid "Enter IP address range"
msgstr ""
msgid "Enter a number"
msgstr ""
@ -12811,9 +12817,6 @@ msgstr ""
msgid "Enter at least three characters to search"
msgstr ""
msgid "Enter domain"
msgstr ""
msgid "Enter in your Bitbucket Server URL and personal access token below"
msgstr ""
@ -13728,9 +13731,6 @@ msgstr ""
msgid "Exactly one of %{attributes} is required"
msgstr ""
msgid "Example: %{ip_address}. %{read_more_link}."
msgstr ""
msgid "Example: @sub\\.company\\.com$"
msgstr ""
@ -16357,9 +16357,15 @@ msgstr ""
msgid "GroupSettings|Allow project access token creation"
msgstr ""
msgid "GroupSettings|Applied to all subgroups unless overridden by a group owner. Groups already added to the project lose access."
msgstr ""
msgid "GroupSettings|Auto DevOps pipeline was updated for the group"
msgstr ""
msgid "GroupSettings|Available only on the top-level group. Applies to all subgroups. Groups already shared with a group outside %{group} are still shared unless removed manually."
msgstr ""
msgid "GroupSettings|Badges"
msgstr ""
@ -16411,6 +16417,9 @@ msgstr ""
msgid "GroupSettings|New runners registration token has been generated!"
msgstr ""
msgid "GroupSettings|Overrides user notification preferences for all members of the group, subgroups, and projects."
msgstr ""
msgid "GroupSettings|Pipeline settings was updated for the group"
msgstr ""
@ -16423,12 +16432,15 @@ msgstr ""
msgid "GroupSettings|Prevent forking setting was not saved"
msgstr ""
msgid "GroupSettings|Prevent members from sending invitations to groups outside of %{group} and its subgroups."
msgid "GroupSettings|Prevent members from sending invitations to groups outside of %{group} and its subgroups"
msgstr ""
msgid "GroupSettings|Prevent sharing a project within %{group} with other groups"
msgstr ""
msgid "GroupSettings|Prevents group members from being notified if the group is mentioned."
msgstr ""
msgid "GroupSettings|Projects will be permanently deleted after a %{waiting_period}-day delay. Inherited by subgroups."
msgstr ""
@ -16465,21 +16477,6 @@ msgstr ""
msgid "GroupSettings|This setting is applied on %{ancestor_group}. You can override the setting or %{remove_ancestor_share_with_group_lock}."
msgstr ""
msgid "GroupSettings|This setting is applied to all subgroups unless overridden by a group owner. Groups that have already been added to the project lose access."
msgstr ""
msgid "GroupSettings|This setting is only available on the top-level group and it applies to all subgroups. Groups that have already been shared with a group outside %{group} will still be shared, and this access will have to be revoked manually."
msgstr ""
msgid "GroupSettings|This setting will override user notification preferences for all members of the group, subgroups, and projects."
msgstr ""
msgid "GroupSettings|This setting will prevent group members from being notified if the group is mentioned."
msgstr ""
msgid "GroupSettings|This setting will prevent group members from forking projects outside of the group."
msgstr ""
msgid "GroupSettings|Transfer group"
msgstr ""
@ -23824,6 +23821,9 @@ msgstr ""
msgid "Only reCAPTCHA v2 is supported:"
msgstr ""
msgid "Only users from the specified IP address ranges are able to reach this group, including all subgroups, projects, and Git repositories."
msgstr ""
msgid "Only verified users with an email address in any of these domains can be added to the group."
msgstr ""
@ -28810,9 +28810,6 @@ msgstr ""
msgid "Require all users in this group to set up two-factor authentication"
msgstr ""
msgid "Require all users in this group to setup two-factor authentication"
msgstr ""
msgid "Required approvals (%{approvals_given} given)"
msgstr ""
@ -31613,7 +31610,7 @@ msgstr ""
msgid "Some child epics may be hidden due to applied filters"
msgstr ""
msgid "Some common domains are not allowed. %{read_more_link}."
msgid "Some common domains are not allowed. %{learn_more_link}."
msgstr ""
msgid "Some of the designs you tried uploading did not change:"
@ -34682,9 +34679,6 @@ msgstr ""
msgid "This group is linked to a subscription"
msgstr ""
msgid "This group, including all subgroups, projects and git repositories, will be reachable from only the specified IP address ranges."
msgstr ""
msgid "This group, its subgroups and projects has been scheduled for removal on %{date}."
msgstr ""
@ -35141,6 +35135,9 @@ msgstr ""
msgid "Time"
msgstr ""
msgid "Time (in hours) that users are allowed to skip forced configuration of two-factor authentication."
msgstr ""
msgid "Time Spent"
msgstr ""
@ -40083,6 +40080,9 @@ msgstr ""
msgid "estimateCommand|%{slash_command} overwrites the total estimated time."
msgstr ""
msgid "example.com"
msgstr ""
msgid "exceeds the limit of %{bytes} bytes"
msgstr ""

View file

@ -57,7 +57,7 @@
"@gitlab/favicon-overlay": "2.0.0",
"@gitlab/svgs": "1.213.0",
"@gitlab/tributejs": "1.0.0",
"@gitlab/ui": "32.12.0",
"@gitlab/ui": "32.13.0",
"@gitlab/visual-review-tools": "1.6.1",
"@rails/actioncable": "6.1.3-2",
"@rails/ujs": "6.1.3-2",
@ -147,7 +147,7 @@
"lowlight": "^1.20.0",
"marked": "^0.3.12",
"mathjax": "3",
"mermaid": "^8.11.5",
"mermaid": "^8.13.2",
"minimatch": "^3.0.4",
"monaco-editor": "^0.25.2",
"monaco-editor-webpack-plugin": "^4.0.0",

View file

@ -0,0 +1,20 @@
# frozen_string_literal: true
require 'spec_helper'
RSpec.describe Projects::UsageQuotasController do
let_it_be(:user) { create(:user) }
let_it_be(:project) { create(:project, namespace: user.namespace) }
describe 'GET #index' do
render_views
it 'does not render search settings partial' do
sign_in(user)
get(:index, params: { namespace_id: user.namespace, project_id: project })
expect(response).to render_template('index')
expect(response).not_to render_template('shared/search_settings')
end
end
end

View file

@ -23,20 +23,6 @@ describe('experiment Utilities', () => {
});
});
describe('getExperimentContexts', () => {
describe.each`
gon | input | output
${[TEST_KEY, '_data_']} | ${[TEST_KEY]} | ${[{ schema: TRACKING_CONTEXT_SCHEMA, data: { variant: '_data_' } }]}
${[]} | ${[TEST_KEY]} | ${[]}
`('with input=$input and gon=$gon', ({ gon, input, output }) => {
assignGitlabExperiment(...gon);
it(`returns ${output}`, () => {
expect(experimentUtils.getExperimentContexts(...input)).toEqual(output);
});
});
});
describe('getAllExperimentContexts', () => {
const schema = TRACKING_CONTEXT_SCHEMA;
let origGon;

View file

@ -146,7 +146,7 @@ RSpec.describe GroupsHelper do
let(:possible_help_texts) do
{
default_help: "This setting is applied to all subgroups unless overridden by a group owner",
default_help: "Applied to all subgroups unless overridden by a group owner.",
ancestor_locked_but_you_can_override: %r{This setting is applied on <a .+>.+</a>\. You can override the setting or .+},
ancestor_locked_so_ask_the_owner: /This setting is applied on .+\. To share projects in this group with another group, ask the owner to override the setting or remove the share with group lock from .+/,
ancestor_locked_and_has_been_overridden: /This setting is applied on .+ and has been overridden on this subgroup/

1584
yarn.lock

File diff suppressed because it is too large Load diff