Skip to content

Commit 79b3bd3

Browse files
author
GitLab Bot
committed
Add latest changes from gitlab-org/gitlab@master
1 parent 2bb7288 commit 79b3bd3

File tree

10 files changed

+85
-18
lines changed

10 files changed

+85
-18
lines changed

.gitignore

+1
Original file line numberDiff line numberDiff line change
@@ -74,6 +74,7 @@ eslint-report.html
7474
/.gitlab_workhorse_secret
7575
/.gitlab_pages_secret
7676
/.gitlab_kas_secret
77+
/.gitlab_suggested_reviewers_secret
7778
/webpack-report/
7879
/crystalball/
7980
/test_results/

app/models/concerns/has_user_type.rb

+14-2
Original file line numberDiff line numberDiff line change
@@ -14,10 +14,22 @@ module HasUserType
1414
migration_bot: 7,
1515
security_bot: 8,
1616
automation_bot: 9,
17-
admin_bot: 11
17+
admin_bot: 11,
18+
suggested_reviewers_bot: 12
1819
}.with_indifferent_access.freeze
1920

20-
BOT_USER_TYPES = %w[alert_bot project_bot support_bot visual_review_bot migration_bot security_bot automation_bot admin_bot].freeze
21+
BOT_USER_TYPES = %w[
22+
alert_bot
23+
project_bot
24+
support_bot
25+
visual_review_bot
26+
migration_bot
27+
security_bot
28+
automation_bot
29+
admin_bot
30+
suggested_reviewers_bot
31+
].freeze
32+
2133
NON_INTERNAL_USER_TYPES = %w[human project_bot service_user].freeze
2234
INTERNAL_USER_TYPES = (USER_TYPES.keys - NON_INTERNAL_USER_TYPES).freeze
2335

Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
---
2+
name: suggested_reviewers_internal_api
3+
introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/106648
4+
rollout_issue_url:
5+
milestone: '15.7'
6+
type: ops
7+
group: group::ai assisted
8+
default_enabled: true

config/gitlab.yml.example

+5
Original file line numberDiff line numberDiff line change
@@ -1266,6 +1266,11 @@ production: &base
12661266
# The URL to the Kubernetes API proxy (used by GitLab users)
12671267
# external_k8s_proxy_url: https://localhost:8154 # default: nil
12681268

1269+
suggested_reviewers:
1270+
# File that contains the secret key for verifying access to GitLab internal API for Suggested Reviewers.
1271+
# Default is '.gitlab_suggested_reviewers_secret' relative to Rails.root (i.e. root of the GitLab app).
1272+
# secret_file: /home/git/gitlab/.gitlab_suggested_reviewers_secret
1273+
12691274
## GitLab Elasticsearch settings
12701275
elasticsearch:
12711276
indexer_path: /home/git/gitlab-elasticsearch-indexer/

config/initializers/1_settings.rb

+8
Original file line numberDiff line numberDiff line change
@@ -869,6 +869,14 @@
869869
Settings.gitlab_kas['internal_url'] ||= 'grpc://localhost:8153'
870870
# Settings.gitlab_kas['external_k8s_proxy_url'] ||= 'grpc://localhost:8154' # NOTE: Do not set a default until all distributions have been updated with a correct value
871871

872+
#
873+
# Suggested Reviewers
874+
#
875+
Gitlab.ee do
876+
Settings['suggested_reviewers'] ||= Settingslogic.new({})
877+
Settings.suggested_reviewers['secret_file'] ||= Rails.root.join('.gitlab_suggested_reviewers_secret')
878+
end
879+
872880
#
873881
# Repositories
874882
#
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
# frozen_string_literal: true
2+
3+
return unless Gitlab.com? && Gitlab.ee?
4+
5+
Gitlab::AppliedMl::SuggestedReviewers.ensure_secret!

lib/gitlab/redis/multi_store.rb

+1
Original file line numberDiff line numberDiff line change
@@ -53,6 +53,7 @@ def message
5353
sismember
5454
smembers
5555
sscan
56+
sscan_each
5657
ttl
5758
).freeze
5859

scripts/glfm/run-spec-tests.sh

+23
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,23 @@
1+
#!/usr/bin/env bash
2+
3+
# shellcheck disable=SC2059
4+
5+
set -o errexit # AKA -e - exit immediately on errors (http://mywiki.wooledge.org/BashFAQ/105)
6+
7+
# https://stackoverflow.com/a/28938235
8+
BCyan='\033[1;36m' # Bold Cyan
9+
BRed='\033[1;31m' # Bold Red
10+
Color_Off='\033[0m' # Text Reset
11+
12+
function onexit_err() {
13+
local exit_status=${1:-$?}
14+
printf "\n❌❌❌ ${BRed}GLFM snapshot tests failed!${Color_Off} ❌❌❌\n"
15+
exit "${exit_status}"
16+
}
17+
trap onexit_err ERR
18+
set -o errexit
19+
20+
printf "${BCyan}"
21+
printf "\nThis script is not yet implemented!\n"
22+
printf "\nSee https://docs.gitlab.com/ee/development/gitlab_flavored_markdown/specification_guide/#run-spec-testssh-script for more details.\n\n"
23+
printf "${Color_Off}"

spec/lib/gitlab/redis/multi_store_spec.rb

+18-15
Original file line numberDiff line numberDiff line change
@@ -128,24 +128,27 @@ def self.name
128128
let_it_be(:hvalmapped) { { "item1" => value1 } }
129129
let_it_be(:sscanargs) { [skey2, 0] }
130130
let_it_be(:sscanval) { ["0", [value1]] }
131+
let_it_be(:sscan_eachargs) { sscanargs[0] }
132+
let_it_be(:sscan_eachval) { sscanval[1] }
131133

132134
# rubocop:disable Layout/LineLength
133135
where(:case_name, :name, :args, :value, :block) do
134-
'execute :get command' | :get | ref(:key1) | ref(:value1) | nil
135-
'execute :mget command' | :mget | ref(:keys) | ref(:values) | nil
136-
'execute :mget with block' | :mget | ref(:keys) | ref(:values) | ->(value) { value }
137-
'execute :smembers command' | :smembers | ref(:skey) | ref(:svalues) | nil
138-
'execute :scard command' | :scard | ref(:skey) | 2 | nil
139-
'execute :sismember command' | :sismember | ref(:smemberargs) | true | nil
140-
'execute :exists command' | :exists | ref(:key1) | 1 | nil
141-
'execute :exists? command' | :exists? | ref(:key1) | true | nil
142-
'execute :hget command' | :hget | ref(:hgetargs) | ref(:value1) | nil
143-
'execute :hlen command' | :hlen | ref(:hkey) | 1 | nil
144-
'execute :hgetall command' | :hgetall | ref(:hkey) | ref(:hvalmapped) | nil
145-
'execute :hexists command' | :hexists | ref(:hgetargs) | true | nil
146-
'execute :hmget command' | :hmget | ref(:hgetargs) | ref(:hmgetval) | nil
147-
'execute :mapped_hmget command' | :mapped_hmget | ref(:mhmgetargs) | ref(:hvalmapped) | nil
148-
'execute :sscan command' | :sscan | ref(:sscanargs) | ref(:sscanval) | nil
136+
'execute :get command' | :get | ref(:key1) | ref(:value1) | nil
137+
'execute :mget command' | :mget | ref(:keys) | ref(:values) | nil
138+
'execute :mget with block' | :mget | ref(:keys) | ref(:values) | ->(value) { value }
139+
'execute :smembers command' | :smembers | ref(:skey) | ref(:svalues) | nil
140+
'execute :scard command' | :scard | ref(:skey) | 2 | nil
141+
'execute :sismember command' | :sismember | ref(:smemberargs) | true | nil
142+
'execute :exists command' | :exists | ref(:key1) | 1 | nil
143+
'execute :exists? command' | :exists? | ref(:key1) | true | nil
144+
'execute :hget command' | :hget | ref(:hgetargs) | ref(:value1) | nil
145+
'execute :hlen command' | :hlen | ref(:hkey) | 1 | nil
146+
'execute :hgetall command' | :hgetall | ref(:hkey) | ref(:hvalmapped) | nil
147+
'execute :hexists command' | :hexists | ref(:hgetargs) | true | nil
148+
'execute :hmget command' | :hmget | ref(:hgetargs) | ref(:hmgetval) | nil
149+
'execute :mapped_hmget command' | :mapped_hmget | ref(:mhmgetargs) | ref(:hvalmapped) | nil
150+
'execute :sscan command' | :sscan | ref(:sscanargs) | ref(:sscanval) | nil
151+
'execute :sscan_each command' | :sscan_each | ref(:sscan_eachargs) | ref(:sscan_eachval) | nil
149152
end
150153
# rubocop:enable Layout/LineLength
151154

spec/models/concerns/has_user_type_spec.rb

+2-1
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,8 @@
55
RSpec.describe User do
66
specify 'types consistency checks', :aggregate_failures do
77
expect(described_class::USER_TYPES.keys)
8-
.to match_array(%w[human ghost alert_bot project_bot support_bot service_user security_bot visual_review_bot migration_bot automation_bot admin_bot])
8+
.to match_array(%w[human ghost alert_bot project_bot support_bot service_user security_bot visual_review_bot
9+
migration_bot automation_bot admin_bot suggested_reviewers_bot])
910
expect(described_class::USER_TYPES).to include(*described_class::BOT_USER_TYPES)
1011
expect(described_class::USER_TYPES).to include(*described_class::NON_INTERNAL_USER_TYPES)
1112
expect(described_class::USER_TYPES).to include(*described_class::INTERNAL_USER_TYPES)

0 commit comments

Comments
 (0)