Welcome to mirror list, hosted at ThFree Co, Russian Federation.

gitlab.com/gitlab-org/gitlab-foss.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGitLab Bot <gitlab-bot@gitlab.com>2021-06-23 12:07:48 +0300
committerGitLab Bot <gitlab-bot@gitlab.com>2021-06-23 12:07:48 +0300
commit4a3d1b728146eca491a4be53a353613d98562254 (patch)
tree08af67555ad34030da6573ba176b069f1ac33022
parenta8b9ec7857cd3e0ed2692c7dd0a2ef7eb549d465 (diff)
Add latest changes from gitlab-org/gitlab@master
-rw-r--r--.gitlab/ci/rules.gitlab-ci.yml7
-rw-r--r--GITALY_SERVER_VERSION2
-rw-r--r--Gemfile.lock2
-rw-r--r--app/views/layouts/_search.html.haml4
-rw-r--r--config/feature_flags/development/ci_job_jwt.yml2
-rw-r--r--config/feature_flags/development/ci_jwt_signing_key.yml2
-rw-r--r--config/feature_flags/development/usage_data_i_ci_secrets_management_vault_build_created.yml2
-rw-r--r--config/initializers/1_settings.rb9
-rw-r--r--doc/administration/troubleshooting/img/AzureAD-basic_SAML.pngbin30365 -> 101427 bytes
-rw-r--r--doc/administration/troubleshooting/img/AzureAD-claims.pngbin14213 -> 13625 bytes
-rw-r--r--doc/development/feature_flags/index.md6
-rw-r--r--locale/gitlab.pot6
-rw-r--r--spec/frontend/logs/stores/actions_spec.js6
-rw-r--r--spec/frontend/profile/preferences/components/profile_preferences_spec.js18
-rw-r--r--spec/frontend/vue_shared/components/sidebar/labels_select_vue/store/actions_spec.js19
-rw-r--r--spec/frontend/vue_shared/components/sidebar/labels_select_widget/store/actions_spec.js11
-rw-r--r--spec/lib/gitlab/import_export/all_models.yml4
-rw-r--r--spec/views/layouts/_search.html.haml_spec.rb9
18 files changed, 42 insertions, 67 deletions
diff --git a/.gitlab/ci/rules.gitlab-ci.yml b/.gitlab/ci/rules.gitlab-ci.yml
index a1c4a26df47..bdeda8c5642 100644
--- a/.gitlab/ci/rules.gitlab-ci.yml
+++ b/.gitlab/ci/rules.gitlab-ci.yml
@@ -1027,7 +1027,6 @@
rules:
- if: '$CODE_QUALITY_DISABLED'
when: never
- # - <<: *if-default-branch-refs # To be done in a later iteration: https://gitlab.com/gitlab-org/gitlab/issues/31160#note_278188255
- <<: *if-default-refs
changes: *code-backstage-patterns
allow_failure: true
@@ -1036,7 +1035,6 @@
rules:
- if: '$SAST_DISABLED || $GITLAB_FEATURES !~ /\bsast\b/'
when: never
- # - <<: *if-default-branch-refs # To be done in a later iteration: https://gitlab.com/gitlab-org/gitlab/issues/31160#note_278188255
- <<: *if-default-refs
changes: *code-backstage-qa-patterns
allow_failure: true
@@ -1047,7 +1045,6 @@
when: never
- if: '$CI_COMMIT_BRANCH == $CI_DEFAULT_BRANCH' # The Secret-Detection template already has a `secret_detection_default_branch` job
when: never
- # - <<: *if-default-branch-refs # To be done in a later iteration: https://gitlab.com/gitlab-org/gitlab/issues/31160#note_278188255
- changes: *code-backstage-qa-patterns
allow_failure: true
@@ -1055,7 +1052,6 @@
rules:
- if: '$DEPENDENCY_SCANNING_DISABLED || $GITLAB_FEATURES !~ /\bdependency_scanning\b/ || $DS_EXCLUDED_ANALYZERS =~ /gemnasium([^-]|$)/'
when: never
- # - <<: *if-default-branch-refs # To be done in a later iteration: https://gitlab.com/gitlab-org/gitlab/issues/31160#note_278188255
- <<: *if-default-refs
changes: *dependency-patterns
allow_failure: true
@@ -1064,7 +1060,6 @@
rules:
- if: '$DEPENDENCY_SCANNING_DISABLED || $GITLAB_FEATURES !~ /\bdependency_scanning\b/ || $DS_EXCLUDED_ANALYZERS =~ /bundler-audit/'
when: never
- # - <<: *if-default-branch-refs # To be done in a later iteration: https://gitlab.com/gitlab-org/gitlab/issues/31160#note_278188255
- <<: *if-default-refs
changes: *bundler-patterns
allow_failure: true
@@ -1073,7 +1068,6 @@
rules:
- if: '$DEPENDENCY_SCANNING_DISABLED || $GITLAB_FEATURES !~ /\bdependency_scanning\b/ || $DS_EXCLUDED_ANALYZERS =~ /retire.js/'
when: never
- # - <<: *if-default-branch-refs # To be done in a later iteration: https://gitlab.com/gitlab-org/gitlab/issues/31160#note_278188255
- <<: *if-default-refs
changes: *nodejs-patterns
allow_failure: true
@@ -1082,7 +1076,6 @@
rules:
- if: '$DEPENDENCY_SCANNING_DISABLED || $GITLAB_FEATURES !~ /\bdependency_scanning\b/ || $DS_EXCLUDED_ANALYZERS =~ /gemnasium-python/'
when: never
- # - <<: *if-default-branch-refs # To be done in a later iteration: https://gitlab.com/gitlab-org/gitlab/issues/31160#note_278188255
- <<: *if-default-refs
changes: *python-patterns
allow_failure: true
diff --git a/GITALY_SERVER_VERSION b/GITALY_SERVER_VERSION
index 2faad24dba7..0d089c449eb 100644
--- a/GITALY_SERVER_VERSION
+++ b/GITALY_SERVER_VERSION
@@ -1 +1 @@
-92aea29d1f67436a080670c16e9cc859f6b642dc
+65bddca7ed089abdc7869c0f500825f29bd5a89f
diff --git a/Gemfile.lock b/Gemfile.lock
index ef31d72a5dd..dbf4b78a9a2 100644
--- a/Gemfile.lock
+++ b/Gemfile.lock
@@ -1263,7 +1263,7 @@ GEM
activesupport (>= 3)
attr_required (>= 0.0.5)
httpclient (>= 2.4)
- sys-filesystem (1.1.6)
+ sys-filesystem (1.1.9)
ffi
sysexits (1.2.0)
temple (0.8.2)
diff --git a/app/views/layouts/_search.html.haml b/app/views/layouts/_search.html.haml
index e617b4358e3..5ce275d4a43 100644
--- a/app/views/layouts/_search.html.haml
+++ b/app/views/layouts/_search.html.haml
@@ -3,14 +3,14 @@
.search-input-container
.search-input-wrap
.dropdown{ data: { url: search_autocomplete_path } }
- = search_field_tag 'search', nil, placeholder: _('Search or jump to…'),
+ = search_field_tag 'search', nil, placeholder: _('Search GitLab'),
class: 'search-input dropdown-menu-toggle no-outline js-search-dashboard-options',
spellcheck: false,
autocomplete: 'off',
data: { issues_path: issues_dashboard_path,
mr_path: merge_requests_dashboard_path,
qa_selector: 'search_term_field' },
- aria: { label: _('Search or jump to…') }
+ aria: { label: _('Search GitLab') }
%button.hidden.js-dropdown-search-toggle{ type: 'button', data: { toggle: 'dropdown' } }
.dropdown-menu.dropdown-select{ data: { testid: 'dashboard-search-options' } }
= dropdown_content do
diff --git a/config/feature_flags/development/ci_job_jwt.yml b/config/feature_flags/development/ci_job_jwt.yml
index ef2f43175ed..3ce97c6334c 100644
--- a/config/feature_flags/development/ci_job_jwt.yml
+++ b/config/feature_flags/development/ci_job_jwt.yml
@@ -4,5 +4,5 @@ introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/28063
rollout_issue_url: https://gitlab.com/gitlab-org/gitlab/-/issues/207125
milestone: '12.10'
type: development
-group: group::release
+group: group::configure
default_enabled: true
diff --git a/config/feature_flags/development/ci_jwt_signing_key.yml b/config/feature_flags/development/ci_jwt_signing_key.yml
index 021f4e49e41..7d96264e25f 100644
--- a/config/feature_flags/development/ci_jwt_signing_key.yml
+++ b/config/feature_flags/development/ci_jwt_signing_key.yml
@@ -4,5 +4,5 @@ introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/34249
rollout_issue_url: https://gitlab.com/gitlab-org/gitlab/-/issues/258546
milestone: '13.6'
type: development
-group: group::release
+group: group::configure
default_enabled: true
diff --git a/config/feature_flags/development/usage_data_i_ci_secrets_management_vault_build_created.yml b/config/feature_flags/development/usage_data_i_ci_secrets_management_vault_build_created.yml
index de3ca4fc689..0019b949a98 100644
--- a/config/feature_flags/development/usage_data_i_ci_secrets_management_vault_build_created.yml
+++ b/config/feature_flags/development/usage_data_i_ci_secrets_management_vault_build_created.yml
@@ -4,5 +4,5 @@ introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/46515
rollout_issue_url:
milestone: '13.6'
type: development
-group: group::release
+group: group::configure
default_enabled: true
diff --git a/config/initializers/1_settings.rb b/config/initializers/1_settings.rb
index 33b19b5b988..72589f51130 100644
--- a/config/initializers/1_settings.rb
+++ b/config/initializers/1_settings.rb
@@ -917,13 +917,8 @@ Settings.monitoring.web_exporter['port'] ||= 8083
# Prometheus settings
#
Settings['prometheus'] ||= Settingslogic.new({})
-# TODO: Remove listen_address and enable in GitLab 14.0 and set default value
-# of server_address to be nil and enabled to be false -
-# https://gitlab.com/gitlab-org/gitlab/-/issues/296022
-Settings.prometheus['enable'] ||= false
-Settings.prometheus['listen_address'] ||= nil
-Settings.prometheus['enabled'] = Settings.prometheus['enable'] if Settings.prometheus['enabled'].nil?
-Settings.prometheus['server_address'] ||= Settings.prometheus['listen_address']
+Settings.prometheus['enabled'] ||= false
+Settings.prometheus['server_address'] ||= nil
#
# Shutdown settings
diff --git a/doc/administration/troubleshooting/img/AzureAD-basic_SAML.png b/doc/administration/troubleshooting/img/AzureAD-basic_SAML.png
index e86ad7572e8..7a0d83ab2dd 100644
--- a/doc/administration/troubleshooting/img/AzureAD-basic_SAML.png
+++ b/doc/administration/troubleshooting/img/AzureAD-basic_SAML.png
Binary files differ
diff --git a/doc/administration/troubleshooting/img/AzureAD-claims.png b/doc/administration/troubleshooting/img/AzureAD-claims.png
index aab92288704..576040be337 100644
--- a/doc/administration/troubleshooting/img/AzureAD-claims.png
+++ b/doc/administration/troubleshooting/img/AzureAD-claims.png
Binary files differ
diff --git a/doc/development/feature_flags/index.md b/doc/development/feature_flags/index.md
index 79a100e44a5..ac5a7268c54 100644
--- a/doc/development/feature_flags/index.md
+++ b/doc/development/feature_flags/index.md
@@ -364,6 +364,8 @@ Feature.enabled?(:feature_flag, group)
Feature.enabled?(:feature_flag, user)
```
+Please see [Feature flag controls](controls.md#process) for more details on working with feature flags.
+
#### Selectively disable by actor
By default you cannot selectively disable a feature flag by actor.
@@ -461,7 +463,7 @@ Feature.remove(:feature_flag_name)
- **Exception:** database migrations **should** have a changelog entry.
- Any change related to a feature flag itself (flag removal, default-on setting) **should** have a changelog entry.
Use the flowchart to determine the changelog entry type.
-
+
```mermaid
graph LR
A[flag: default off] -->|'added' / 'changed'| B(flag: default on)
@@ -470,7 +472,7 @@ Feature.remove(:feature_flag_name)
A -->|'added' / 'changed'| C
A -->|no changelog| D
```
-
+
- Any change behind a feature flag that is **enabled** by default **should** have a changelog entry.
## Feature flags in tests
diff --git a/locale/gitlab.pot b/locale/gitlab.pot
index 007513551e8..993a4fbab5f 100644
--- a/locale/gitlab.pot
+++ b/locale/gitlab.pot
@@ -28393,6 +28393,9 @@ msgstr ""
msgid "Search"
msgstr ""
+msgid "Search GitLab"
+msgstr ""
+
msgid "Search Jira issues"
msgstr ""
@@ -28477,9 +28480,6 @@ msgstr ""
msgid "Search or filter results…"
msgstr ""
-msgid "Search or jump to…"
-msgstr ""
-
msgid "Search project"
msgstr ""
diff --git a/spec/frontend/logs/stores/actions_spec.js b/spec/frontend/logs/stores/actions_spec.js
index 61658257484..46ef1500a20 100644
--- a/spec/frontend/logs/stores/actions_spec.js
+++ b/spec/frontend/logs/stores/actions_spec.js
@@ -1,6 +1,5 @@
import MockAdapter from 'axios-mock-adapter';
import testAction from 'helpers/vuex_action_helper';
-import createFlash from '~/flash';
import axios from '~/lib/utils/axios_utils';
import { convertToFixedRange } from '~/lib/utils/datetime_range';
import { TOKEN_TYPE_POD_NAME } from '~/logs/constants';
@@ -32,7 +31,6 @@ import {
mockNextCursor,
} from '../mock_data';
-jest.mock('~/flash');
jest.mock('~/lib/utils/datetime_range');
jest.mock('~/logs/utils');
@@ -75,10 +73,6 @@ describe('Logs Store actions', () => {
state = logsPageState();
});
- afterEach(() => {
- createFlash.mockClear();
- });
-
describe('setInitData', () => {
it('should commit environment and pod name mutation', () =>
testAction(
diff --git a/spec/frontend/profile/preferences/components/profile_preferences_spec.js b/spec/frontend/profile/preferences/components/profile_preferences_spec.js
index 9e6f5594d26..f1172a73d36 100644
--- a/spec/frontend/profile/preferences/components/profile_preferences_spec.js
+++ b/spec/frontend/profile/preferences/components/profile_preferences_spec.js
@@ -2,6 +2,7 @@ import { GlButton } from '@gitlab/ui';
import { shallowMount } from '@vue/test-utils';
import { nextTick } from 'vue';
import { extendedWrapper } from 'helpers/vue_test_utils_helper';
+import createFlash from '~/flash';
import IntegrationView from '~/profile/preferences/components/integration_view.vue';
import ProfilePreferences from '~/profile/preferences/components/profile_preferences.vue';
import { i18n } from '~/profile/preferences/constants';
@@ -15,6 +16,7 @@ import {
lightModeThemeId2,
} from '../mock_data';
+jest.mock('~/flash');
const expectedUrl = '/foo';
describe('ProfilePreferences component', () => {
@@ -54,10 +56,6 @@ describe('ProfilePreferences component', () => {
return wrapper.findComponent(GlButton);
}
- function findFlashError() {
- return document.querySelector('.flash-container .flash-text');
- }
-
function createThemeInput(themeId = lightModeThemeId1) {
const input = document.createElement('input');
input.setAttribute('name', 'user[theme_id]');
@@ -82,10 +80,6 @@ describe('ProfilePreferences component', () => {
document.body.classList.add('content-wrapper');
}
- beforeEach(() => {
- setFixtures('<div class="flash-container"></div>');
- });
-
afterEach(() => {
wrapper.destroy();
wrapper = null;
@@ -152,7 +146,7 @@ describe('ProfilePreferences component', () => {
const successEvent = new CustomEvent('ajax:success');
form.dispatchEvent(successEvent);
- expect(findFlashError().innerText.trim()).toEqual(i18n.defaultSuccess);
+ expect(createFlash).toHaveBeenCalledWith({ message: i18n.defaultSuccess, type: 'notice' });
});
it('displays the custom success message', () => {
@@ -160,14 +154,14 @@ describe('ProfilePreferences component', () => {
const successEvent = new CustomEvent('ajax:success', { detail: [{ message }] });
form.dispatchEvent(successEvent);
- expect(findFlashError().innerText.trim()).toEqual(message);
+ expect(createFlash).toHaveBeenCalledWith({ message, type: 'notice' });
});
it('displays the default error message', () => {
const errorEvent = new CustomEvent('ajax:error');
form.dispatchEvent(errorEvent);
- expect(findFlashError().innerText.trim()).toEqual(i18n.defaultError);
+ expect(createFlash).toHaveBeenCalledWith({ message: i18n.defaultError, type: 'alert' });
});
it('displays the custom error message', () => {
@@ -175,7 +169,7 @@ describe('ProfilePreferences component', () => {
const errorEvent = new CustomEvent('ajax:error', { detail: [{ message }] });
form.dispatchEvent(errorEvent);
- expect(findFlashError().innerText.trim()).toEqual(message);
+ expect(createFlash).toHaveBeenCalledWith({ message, type: 'alert' });
});
});
diff --git a/spec/frontend/vue_shared/components/sidebar/labels_select_vue/store/actions_spec.js b/spec/frontend/vue_shared/components/sidebar/labels_select_vue/store/actions_spec.js
index 3f11095cb04..46ade5d5857 100644
--- a/spec/frontend/vue_shared/components/sidebar/labels_select_vue/store/actions_spec.js
+++ b/spec/frontend/vue_shared/components/sidebar/labels_select_vue/store/actions_spec.js
@@ -1,11 +1,14 @@
import MockAdapter from 'axios-mock-adapter';
import testAction from 'helpers/vuex_action_helper';
+import createFlash from '~/flash';
import axios from '~/lib/utils/axios_utils';
import * as actions from '~/vue_shared/components/sidebar/labels_select_vue/store/actions';
import * as types from '~/vue_shared/components/sidebar/labels_select_vue/store/mutation_types';
import defaultState from '~/vue_shared/components/sidebar/labels_select_vue/store/state';
+jest.mock('~/flash');
+
describe('LabelsSelect Actions', () => {
let state;
const mockInitialState = {
@@ -91,10 +94,6 @@ describe('LabelsSelect Actions', () => {
});
describe('receiveLabelsFailure', () => {
- beforeEach(() => {
- setFixtures('<div class="flash-container"></div>');
- });
-
it('sets value `state.labelsFetchInProgress` to `false`', (done) => {
testAction(
actions.receiveLabelsFailure,
@@ -109,9 +108,7 @@ describe('LabelsSelect Actions', () => {
it('shows flash error', () => {
actions.receiveLabelsFailure({ commit: () => {} });
- expect(document.querySelector('.flash-container .flash-text').innerText.trim()).toBe(
- 'Error fetching labels.',
- );
+ expect(createFlash).toHaveBeenCalledWith({ message: 'Error fetching labels.' });
});
});
@@ -186,10 +183,6 @@ describe('LabelsSelect Actions', () => {
});
describe('receiveCreateLabelFailure', () => {
- beforeEach(() => {
- setFixtures('<div class="flash-container"></div>');
- });
-
it('sets value `state.labelCreateInProgress` to `false`', (done) => {
testAction(
actions.receiveCreateLabelFailure,
@@ -204,9 +197,7 @@ describe('LabelsSelect Actions', () => {
it('shows flash error', () => {
actions.receiveCreateLabelFailure({ commit: () => {} });
- expect(document.querySelector('.flash-container .flash-text').innerText.trim()).toBe(
- 'Error creating label.',
- );
+ expect(createFlash).toHaveBeenCalledWith({ message: 'Error creating label.' });
});
});
diff --git a/spec/frontend/vue_shared/components/sidebar/labels_select_widget/store/actions_spec.js b/spec/frontend/vue_shared/components/sidebar/labels_select_widget/store/actions_spec.js
index 7ef4b769b6b..27de7de2411 100644
--- a/spec/frontend/vue_shared/components/sidebar/labels_select_widget/store/actions_spec.js
+++ b/spec/frontend/vue_shared/components/sidebar/labels_select_widget/store/actions_spec.js
@@ -1,11 +1,14 @@
import MockAdapter from 'axios-mock-adapter';
import testAction from 'helpers/vuex_action_helper';
+import createFlash from '~/flash';
import axios from '~/lib/utils/axios_utils';
import * as actions from '~/vue_shared/components/sidebar/labels_select_widget/store/actions';
import * as types from '~/vue_shared/components/sidebar/labels_select_widget/store/mutation_types';
import defaultState from '~/vue_shared/components/sidebar/labels_select_widget/store/state';
+jest.mock('~/flash');
+
describe('LabelsSelect Actions', () => {
let state;
const mockInitialState = {
@@ -91,10 +94,6 @@ describe('LabelsSelect Actions', () => {
});
describe('receiveLabelsFailure', () => {
- beforeEach(() => {
- setFixtures('<div class="flash-container"></div>');
- });
-
it('sets value `state.labelsFetchInProgress` to `false`', (done) => {
testAction(
actions.receiveLabelsFailure,
@@ -109,9 +108,7 @@ describe('LabelsSelect Actions', () => {
it('shows flash error', () => {
actions.receiveLabelsFailure({ commit: () => {} });
- expect(document.querySelector('.flash-container .flash-text').innerText.trim()).toBe(
- 'Error fetching labels.',
- );
+ expect(createFlash).toHaveBeenCalledWith({ message: 'Error fetching labels.' });
});
});
diff --git a/spec/lib/gitlab/import_export/all_models.yml b/spec/lib/gitlab/import_export/all_models.yml
index a7642d5e3c3..a440bf684e5 100644
--- a/spec/lib/gitlab/import_export/all_models.yml
+++ b/spec/lib/gitlab/import_export/all_models.yml
@@ -480,8 +480,8 @@ project:
- kubernetes_namespaces
- error_tracking_setting
- metrics_setting
-- gitlab_slack_application_service
-- github_service
+- gitlab_slack_application_integration
+- github_integration
- protected_environments
- mirror_user
- push_rule
diff --git a/spec/views/layouts/_search.html.haml_spec.rb b/spec/views/layouts/_search.html.haml_spec.rb
index f0c7cb57b25..ceb82e3640e 100644
--- a/spec/views/layouts/_search.html.haml_spec.rb
+++ b/spec/views/layouts/_search.html.haml_spec.rb
@@ -25,6 +25,15 @@ RSpec.describe 'layouts/_search' do
end
shared_examples 'search context scope is set' do
+ context 'when rendering' do
+ it 'sets the placeholder' do
+ render
+
+ expect(rendered).to include('placeholder="Search GitLab"')
+ expect(rendered).to include('aria-label="Search GitLab"')
+ end
+ end
+
context 'when on issues' do
it 'sets scope to issues' do
render