diff --git a/GITLAB_SHELL_VERSION b/GITLAB_SHELL_VERSION
index a984c5e3f2e..e8f59312593 100644
--- a/GITLAB_SHELL_VERSION
+++ b/GITLAB_SHELL_VERSION
@@ -1 +1 @@
-14.7.1
+14.7.3
diff --git a/app/services/ci/runners/reset_registration_token_service.rb b/app/services/ci/runners/reset_registration_token_service.rb
index 2a3fb08c5e1..81a70a771cf 100644
--- a/app/services/ci/runners/reset_registration_token_service.rb
+++ b/app/services/ci/runners/reset_registration_token_service.rb
@@ -13,11 +13,10 @@ module Ci
def execute
return unless @user.present? && @user.can?(:update_runners_registration_token, scope)
- case scope
- when ::ApplicationSetting
+ if scope.respond_to?(:runners_registration_token)
scope.reset_runners_registration_token!
- ApplicationSetting.current_without_cache.runners_registration_token
- when ::Group, ::Project
+ scope.runners_registration_token
+ else
scope.reset_runners_token!
scope.runners_token
end
diff --git a/doc/development/new_fe_guide/modules/widget_extensions.md b/doc/development/new_fe_guide/modules/widget_extensions.md
index 57ce6df020d..4bae0ac70c4 100644
--- a/doc/development/new_fe_guide/modules/widget_extensions.md
+++ b/doc/development/new_fe_guide/modules/widget_extensions.md
@@ -234,9 +234,9 @@ export default {
```
If the extension needs to poll multiple endpoints at the same time, then `fetchMultiData`
-can be used to return an array of functions. A new `poll` object will be created for each
-endpoint and they will be polled separately. Once all endpoints are resolved, polling will
-be stopped and `setCollapsedData` will be called with an array of `response.data`.
+can be used to return an array of functions. A new `poll` object is created for each
+endpoint and they are polled separately. After all endpoints are resolved, polling is
+stopped and `setCollapsedData` is called with an array of `response.data`.
```javascript
export default {
diff --git a/doc/user/project/merge_requests/commit_templates.md b/doc/user/project/merge_requests/commit_templates.md
index b9b65d759dc..6f9bc452b96 100644
--- a/doc/user/project/merge_requests/commit_templates.md
+++ b/doc/user/project/merge_requests/commit_templates.md
@@ -92,8 +92,8 @@ Commit message templates support these variables:
Any line containing only an empty variable is removed. If the line to be removed is both
preceded and followed by an empty line, the preceding empty line is also removed.
-After you edit a commit message on an open merge request, GitLab will
-not automatically update the commit message again.
+After you edit a commit message on an open merge request, GitLab
+automatically updates the commit message again.
To restore the commit message to the project template, reload the page.
## Related topics
diff --git a/doc/user/project/merge_requests/index.md b/doc/user/project/merge_requests/index.md
index 7a3510bd378..c2f0eacebd4 100644
--- a/doc/user/project/merge_requests/index.md
+++ b/doc/user/project/merge_requests/index.md
@@ -45,9 +45,13 @@ If your group contains subgroups, this view also displays merge requests from th
To view all merge requests assigned to you:
+
+
1. On the top bar, put your cursor in the **Search** box.
1. From the dropdown list, select **Merge requests assigned to me**.
+
+
Or:
- To use a [keyboard shortcut](../../shortcuts.md), press Shift + m.
diff --git a/doc/user/project/merge_requests/reviews/index.md b/doc/user/project/merge_requests/reviews/index.md
index c222795e8a0..8f77ce90436 100644
--- a/doc/user/project/merge_requests/reviews/index.md
+++ b/doc/user/project/merge_requests/reviews/index.md
@@ -89,7 +89,7 @@ comment itself.
> [Introduced](https://gitlab.com/gitlab-org/gitlab/-/issues/8225) in GitLab 13.10.
-If you have a review in progress, you will be presented with the option to **Add to review**:
+If you have a review in progress, you are presented with the option to **Add to review**:
![New thread](img/mr_review_new_comment_v13_11.png)
diff --git a/doc/user/project/merge_requests/reviews/suggestions.md b/doc/user/project/merge_requests/reviews/suggestions.md
index 8e6794bcfa7..7360b57103b 100644
--- a/doc/user/project/merge_requests/reviews/suggestions.md
+++ b/doc/user/project/merge_requests/reviews/suggestions.md
@@ -82,9 +82,13 @@ in four backticks instead of three:
GitLab uses a default commit message
when applying suggestions: `Apply %{suggestions_count} suggestion(s) to %{files_count} file(s)`
+
+
For example, consider that a user applied 3 suggestions to 2 different files, the
default commit message is: **Apply 3 suggestion(s) to 2 file(s)**
+
+
These commit messages can be customized to follow any guidelines you might have.
To do so, expand the **Merge requests** tab within your project's **General**
settings and change the **Merge suggestions** text:
diff --git a/qa/qa/specs/features/api/4_verify/api_variable_inheritance_with_forward_pipeline_variables_spec.rb b/qa/qa/specs/features/api/4_verify/api_variable_inheritance_with_forward_pipeline_variables_spec.rb
index 05484963391..8ca0ae1f052 100644
--- a/qa/qa/specs/features/api/4_verify/api_variable_inheritance_with_forward_pipeline_variables_spec.rb
+++ b/qa/qa/specs/features/api/4_verify/api_variable_inheritance_with_forward_pipeline_variables_spec.rb
@@ -13,31 +13,25 @@ module QA
it(
'is determined based on forward:pipeline_variables condition',
:aggregate_failures,
- :transient,
- issue: 'https://gitlab.com/gitlab-org/gitlab/-/issues/361400',
testcase: 'https://gitlab.com/gitlab-org/gitlab/-/quality/test_cases/360745'
) do
- # Due to long runtime, using 5 times trials instead of default 10 times
- 5.times do |i|
- QA::Runtime::Logger.info("API pipeline variable inheritance transient bug test - Trial #{i + 1}")
- start_pipeline_via_api_with_variable(i + 1)
- wait_for_pipelines
+ start_pipeline_via_api_with_variable
+ wait_for_pipelines
- # When forward:pipeline_variables is true
- expect_downstream_pipeline_to_inherit_variable
+ # When forward:pipeline_variables is true
+ expect_downstream_pipeline_to_inherit_variable
- # When forward:pipeline_variables is false
- expect_downstream_pipeline_not_to_inherit_variable(upstream_project, 'child2_trigger')
+ # When forward:pipeline_variables is false
+ expect_downstream_pipeline_not_to_inherit_variable(upstream_project, 'child2_trigger')
- # When forward:pipeline_variables is default
- expect_downstream_pipeline_not_to_inherit_variable(downstream1_project, 'downstream1_trigger')
- end
+ # When forward:pipeline_variables is default
+ expect_downstream_pipeline_not_to_inherit_variable(downstream1_project, 'downstream1_trigger')
end
- def start_pipeline_via_api_with_variable(expected_size)
- # Wait for 1st or previous pipeline to finish
+ def start_pipeline_via_api_with_variable
+ # Wait for 1st pipeline to finish
Support::Waiter.wait_until do
- upstream_project.pipelines.size == expected_size && upstream_pipeline.status == 'success'
+ upstream_project.pipelines.size == 1 && upstream_pipeline.status == 'success'
end
Resource::Pipeline.fabricate_via_api! do |pipeline|
@@ -46,7 +40,7 @@ module QA
end
# Wait for this pipeline to be created
- Support::Waiter.wait_until { upstream_project.pipelines.size > expected_size }
+ Support::Waiter.wait_until { upstream_project.pipelines.size > 1 }
end
def upstream_ci_file
diff --git a/spec/features/projects/pipeline_schedules_spec.rb b/spec/features/projects/pipeline_schedules_spec.rb
index 7cb14feabd2..022fbcd7af4 100644
--- a/spec/features/projects/pipeline_schedules_spec.rb
+++ b/spec/features/projects/pipeline_schedules_spec.rb
@@ -9,7 +9,7 @@ RSpec.describe 'Pipeline Schedules', :js do
let(:scope) { nil }
let!(:user) { create(:user) }
- context 'logged in as the pipeline scheduler owner' do
+ context 'logged in as the pipeline schedule owner' do
before do
stub_feature_flags(bootstrap_confirmation_modals: false)
project.add_developer(user)
diff --git a/spec/graphql/types/base_field_spec.rb b/spec/graphql/types/base_field_spec.rb
index e701ec483a3..439678e7e16 100644
--- a/spec/graphql/types/base_field_spec.rb
+++ b/spec/graphql/types/base_field_spec.rb
@@ -66,6 +66,7 @@ RSpec.describe Types::BaseField do
resolver_class: resolver)
expect(Ability).to receive(:allowed?).with(current_user, :foo, object).and_return(false)
+ expect(resolver).not_to receive(:authorized?)
expect(field).not_to be_authorized(object, nil, ctx)
end