summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGitLab Bot <gitlab-bot@gitlab.com>2023-03-06 06:08:00 +0000
committerGitLab Bot <gitlab-bot@gitlab.com>2023-03-06 06:08:00 +0000
commit6367f9bd9cca41c932997c94a338556ded4ced8f (patch)
treef0caeeaa3d76459589c7fb0de74b3cd2883daf96
parent66089ccf1ab842eb5f7608502eaf8d2642e350b5 (diff)
downloadgitlab-ce-6367f9bd9cca41c932997c94a338556ded4ced8f.tar.gz
Add latest changes from gitlab-org/gitlab@master
-rw-r--r--.gitlab/CODEOWNERS2
-rw-r--r--app/assets/javascripts/jobs/components/job/job_log_controllers.vue2
-rw-r--r--db/post_migrate/20230302163339_add_index_to_oauth_access_grants_application_id.rb15
-rw-r--r--db/schema_migrations/202303021633391
-rw-r--r--db/structure.sql2
-rw-r--r--doc/api/openapi/openapi.yaml2
-rw-r--r--doc/development/code_review.md3
-rw-r--r--spec/frontend/jobs/components/job/job_log_controllers_spec.js12
8 files changed, 37 insertions, 2 deletions
diff --git a/.gitlab/CODEOWNERS b/.gitlab/CODEOWNERS
index 53933fe3ee0..b852df49c24 100644
--- a/.gitlab/CODEOWNERS
+++ b/.gitlab/CODEOWNERS
@@ -1431,5 +1431,5 @@ ee/lib/ee/api/entities/project.rb @gitlab-org/manage/manage-workspace/backend-ap
/ee/app/assets/javascripts/usage_quotas/storage/ @fulfillment-group/utilization-group/fe
[Manage::Foundations]
-/lib/sidebars/ @gitlab/ @gitlab-org/manage/foundations/engineering
+/lib/sidebars/ @gitlab-org/manage/foundations/engineering
/ee/lib/sidebars/ @gitlab-org/manage/foundations/engineering
diff --git a/app/assets/javascripts/jobs/components/job/job_log_controllers.vue b/app/assets/javascripts/jobs/components/job/job_log_controllers.vue
index e9809ac661b..ea7e13418f2 100644
--- a/app/assets/javascripts/jobs/components/job/job_log_controllers.vue
+++ b/app/assets/javascripts/jobs/components/job/job_log_controllers.vue
@@ -103,6 +103,8 @@ export default {
} else {
next();
}
+ }).catch(() => {
+ this.failureCount = null;
});
}
},
diff --git a/db/post_migrate/20230302163339_add_index_to_oauth_access_grants_application_id.rb b/db/post_migrate/20230302163339_add_index_to_oauth_access_grants_application_id.rb
new file mode 100644
index 00000000000..0db6190e17d
--- /dev/null
+++ b/db/post_migrate/20230302163339_add_index_to_oauth_access_grants_application_id.rb
@@ -0,0 +1,15 @@
+# frozen_string_literal: true
+
+class AddIndexToOauthAccessGrantsApplicationId < Gitlab::Database::Migration[2.1]
+ disable_ddl_transaction!
+
+ INDEX_NAME = 'index_oauth_access_grants_on_application_id'
+
+ def up
+ add_concurrent_index :oauth_access_grants, :application_id, name: INDEX_NAME
+ end
+
+ def down
+ remove_concurrent_index_by_name :oauth_access_grants, name: INDEX_NAME
+ end
+end
diff --git a/db/schema_migrations/20230302163339 b/db/schema_migrations/20230302163339
new file mode 100644
index 00000000000..25c611e57a6
--- /dev/null
+++ b/db/schema_migrations/20230302163339
@@ -0,0 +1 @@
+5cb36884c6422f9cf2db27c7922a8835b1db6d15e629066ca825c93df7437afa \ No newline at end of file
diff --git a/db/structure.sql b/db/structure.sql
index 0055e2b3d8e..fdfe26e709b 100644
--- a/db/structure.sql
+++ b/db/structure.sql
@@ -31033,6 +31033,8 @@ CREATE INDEX index_ns_root_stor_stats_on_registry_size_estimated ON namespace_ro
CREATE UNIQUE INDEX index_ns_user_callouts_feature ON user_namespace_callouts USING btree (user_id, feature_name, namespace_id);
+CREATE INDEX index_oauth_access_grants_on_application_id ON oauth_access_grants USING btree (application_id);
+
CREATE INDEX index_oauth_access_grants_on_resource_owner_id ON oauth_access_grants USING btree (resource_owner_id, application_id, created_at);
CREATE UNIQUE INDEX index_oauth_access_grants_on_token ON oauth_access_grants USING btree (token);
diff --git a/doc/api/openapi/openapi.yaml b/doc/api/openapi/openapi.yaml
index 9ee2b8119be..e090eab1e5d 100644
--- a/doc/api/openapi/openapi.yaml
+++ b/doc/api/openapi/openapi.yaml
@@ -20,7 +20,7 @@ info:
The feature uses the current [GitLab session cookie](https://docs.gitlab.com/ee/api/index.html#session-cookie),
so each request is made using your account.
- Instructions for using this tool can be found in [Interactive API Documentation](openapi_interactive.md).
+ Instructions for using this tool can be found in [Interactive API Documentation](https://docs.gitlab.com/ee/api/openapi/openapi_interactive.html).
version: v4
title: GitLab API
diff --git a/doc/development/code_review.md b/doc/development/code_review.md
index 0f169447ade..2457207823b 100644
--- a/doc/development/code_review.md
+++ b/doc/development/code_review.md
@@ -68,6 +68,9 @@ When a suitable [domain expert](#domain-experts) isn't available, you can choose
To find a domain expert:
+- In the Merge Request approvals widget, select [**View eligible approvers**](../user/project/merge_requests/approvals/rules.md#eligible-approvers).
+ This widget shows recommended and required approvals per area of the codebase.
+ These rules are defined in [Code Owners](../user/project/merge_requests/approvals/rules.md#code-owners-as-eligible-approvers).
- View the list of team members who work in the [stage or group](https://about.gitlab.com/handbook/product/categories/#devops-stages) related to the merge request.
- View team members' domain expertise on the [engineering projects](https://about.gitlab.com/handbook/engineering/projects/) page or on the [GitLab team page](https://about.gitlab.com/company/team/). Domains are self-identified, so use your judgment to map the changes on your merge request to a domain.
- Look for team members who have contributed to the files in the merge request. View the logs by running `git log <file>`.
diff --git a/spec/frontend/jobs/components/job/job_log_controllers_spec.js b/spec/frontend/jobs/components/job/job_log_controllers_spec.js
index 5e9a73b4387..9917c63b2d0 100644
--- a/spec/frontend/jobs/components/job/job_log_controllers_spec.js
+++ b/spec/frontend/jobs/components/job/job_log_controllers_spec.js
@@ -285,6 +285,18 @@ describe('Job log controllers', () => {
expect(findScrollFailure().props('disabled')).toBe(false);
});
});
+
+ describe('on error', () => {
+ beforeEach(() => {
+ jest.spyOn(commonUtils, 'backOff').mockRejectedValueOnce();
+
+ createWrapper({}, { jobLogJumpToFailures: true });
+ });
+
+ it('stays disabled', () => {
+ expect(findScrollFailure().props('disabled')).toBe(true);
+ });
+ });
});
});