Refresh patches
This commit is contained in:
parent
6864290656
commit
883b38ed1d
17 changed files with 330 additions and 186 deletions
77
debian/patches/0050-relax-stable-libs.patch
vendored
77
debian/patches/0050-relax-stable-libs.patch
vendored
|
@ -5,7 +5,7 @@ gitlab Gemfile
|
||||||
+++ b/Gemfile
|
+++ b/Gemfile
|
||||||
@@ -2,7 +2,7 @@
|
@@ -2,7 +2,7 @@
|
||||||
|
|
||||||
gem 'rails', '~> 6.0.3'
|
gem 'rails', '~> 6.0.3.1'
|
||||||
|
|
||||||
-gem 'bootsnap', '~> 1.4.6'
|
-gem 'bootsnap', '~> 1.4.6'
|
||||||
+gem 'bootsnap', '~> 1.4', '>= 1.4.6'
|
+gem 'bootsnap', '~> 1.4', '>= 1.4.6'
|
||||||
|
@ -25,7 +25,7 @@ gitlab Gemfile
|
||||||
|
|
||||||
# Supported DBs
|
# Supported DBs
|
||||||
gem 'pg', '~> 1.1'
|
gem 'pg', '~> 1.1'
|
||||||
@@ -22,32 +22,32 @@
|
@@ -22,31 +22,31 @@
|
||||||
gem 'grape-path-helpers', '~> 1.2'
|
gem 'grape-path-helpers', '~> 1.2'
|
||||||
|
|
||||||
gem 'faraday', '~> 0.12'
|
gem 'faraday', '~> 0.12'
|
||||||
|
@ -59,8 +59,7 @@ gitlab Gemfile
|
||||||
-gem 'omniauth_crowd', '~> 2.2.0'
|
-gem 'omniauth_crowd', '~> 2.2.0'
|
||||||
+gem 'omniauth_crowd', '~> 2.2'
|
+gem 'omniauth_crowd', '~> 2.2'
|
||||||
gem 'omniauth-authentiq', '~> 0.3.3'
|
gem 'omniauth-authentiq', '~> 0.3.3'
|
||||||
gem 'omniauth_openid_connect', '~> 0.3.3'
|
gem 'omniauth_openid_connect', '~> 0.3.5'
|
||||||
gem "omniauth-ultraauth", '~> 0.0.2'
|
|
||||||
-gem 'omniauth-salesforce', '~> 1.0.5'
|
-gem 'omniauth-salesforce', '~> 1.0.5'
|
||||||
-gem 'rack-oauth2', '~> 1.9.3'
|
-gem 'rack-oauth2', '~> 1.9.3'
|
||||||
-gem 'jwt', '~> 2.1.0'
|
-gem 'jwt', '~> 2.1.0'
|
||||||
|
@ -70,7 +69,7 @@ gitlab Gemfile
|
||||||
|
|
||||||
# Kerberos authentication. EE-only
|
# Kerberos authentication. EE-only
|
||||||
gem 'gssapi', group: :kerberos
|
gem 'gssapi', group: :kerberos
|
||||||
@@ -58,42 +58,42 @@
|
@@ -57,42 +57,42 @@
|
||||||
gem 'invisible_captcha', '~> 0.12.1'
|
gem 'invisible_captcha', '~> 0.12.1'
|
||||||
|
|
||||||
# Two-factor authentication
|
# Two-factor authentication
|
||||||
|
@ -82,9 +81,9 @@ gitlab Gemfile
|
||||||
gem 'u2f', '~> 0.2.1'
|
gem 'u2f', '~> 0.2.1'
|
||||||
|
|
||||||
# GitLab Pages
|
# GitLab Pages
|
||||||
-gem 'validates_hostname', '~> 1.0.6'
|
-gem 'validates_hostname', '~> 1.0.10'
|
||||||
-gem 'rubyzip', '~> 2.0.0', require: 'zip'
|
-gem 'rubyzip', '~> 2.0.0', require: 'zip'
|
||||||
+gem 'validates_hostname', '~> 1.0', '>= 1.0.6'
|
+gem 'validates_hostname', '~> 1.0', '>= 1.0.10'
|
||||||
+gem 'rubyzip', '~> 2.0', require: 'zip'
|
+gem 'rubyzip', '~> 2.0', require: 'zip'
|
||||||
# GitLab Pages letsencrypt support
|
# GitLab Pages letsencrypt support
|
||||||
-gem 'acme-client', '~> 2.0.5'
|
-gem 'acme-client', '~> 2.0.5'
|
||||||
|
@ -125,7 +124,7 @@ gitlab Gemfile
|
||||||
|
|
||||||
# Disable strong_params so that Mash does not respond to :permitted?
|
# Disable strong_params so that Mash does not respond to :permitted?
|
||||||
gem 'hashie-forbidden_attributes'
|
gem 'hashie-forbidden_attributes'
|
||||||
@@ -102,7 +102,7 @@
|
@@ -101,7 +101,7 @@
|
||||||
gem 'kaminari', '~> 1.0'
|
gem 'kaminari', '~> 1.0'
|
||||||
|
|
||||||
# HAML
|
# HAML
|
||||||
|
@ -134,16 +133,16 @@ gitlab Gemfile
|
||||||
|
|
||||||
# Files attachments
|
# Files attachments
|
||||||
gem 'carrierwave', '~> 1.3'
|
gem 'carrierwave', '~> 1.3'
|
||||||
@@ -112,7 +112,7 @@
|
@@ -111,7 +111,7 @@
|
||||||
gem 'fog-aws', '~> 3.5'
|
gem 'fog-aws', '~> 3.5'
|
||||||
# Locked until fog-google resolves https://github.com/fog/fog-google/issues/421.
|
# Locked until fog-google resolves https://github.com/fog/fog-google/issues/421.
|
||||||
# Also see config/initializers/fog_core_patch.rb.
|
# Also see config/initializers/fog_core_patch.rb.
|
||||||
-gem 'fog-core', '= 2.1.0'
|
-gem 'fog-core', '= 2.1.0'
|
||||||
+gem 'fog-core', '= 2.1'
|
+gem 'fog-core', '= 2.1'
|
||||||
gem 'fog-google', '~> 1.9'
|
gem 'fog-google', '~> 1.10'
|
||||||
gem 'fog-local', '~> 0.6'
|
gem 'fog-local', '~> 0.6'
|
||||||
gem 'fog-openstack', '~> 1.0'
|
gem 'fog-openstack', '~> 1.0'
|
||||||
@@ -126,7 +126,7 @@
|
@@ -125,7 +125,7 @@
|
||||||
gem 'unf', '~> 0.1.4'
|
gem 'unf', '~> 0.1.4'
|
||||||
|
|
||||||
# Seed data
|
# Seed data
|
||||||
|
@ -152,7 +151,7 @@ gitlab Gemfile
|
||||||
|
|
||||||
# Search
|
# Search
|
||||||
gem 'elasticsearch-model', '~> 6.1'
|
gem 'elasticsearch-model', '~> 6.1'
|
||||||
@@ -137,22 +137,22 @@
|
@@ -136,22 +136,22 @@
|
||||||
|
|
||||||
# Markdown and HTML processing
|
# Markdown and HTML processing
|
||||||
gem 'html-pipeline', '~> 2.12'
|
gem 'html-pipeline', '~> 2.12'
|
||||||
|
@ -184,7 +183,7 @@ gitlab Gemfile
|
||||||
gem 'escape_utils', '~> 1.1'
|
gem 'escape_utils', '~> 1.1'
|
||||||
|
|
||||||
# Calendar rendering
|
# Calendar rendering
|
||||||
@@ -163,7 +163,7 @@
|
@@ -162,7 +162,7 @@
|
||||||
gem 'diff_match_patch', '~> 0.1.0'
|
gem 'diff_match_patch', '~> 0.1.0'
|
||||||
|
|
||||||
# Application server
|
# Application server
|
||||||
|
@ -193,7 +192,7 @@ gitlab Gemfile
|
||||||
|
|
||||||
group :unicorn do
|
group :unicorn do
|
||||||
gem 'unicorn', '~> 5.5'
|
gem 'unicorn', '~> 5.5'
|
||||||
@@ -183,13 +183,13 @@
|
@@ -182,13 +182,13 @@
|
||||||
gem 'acts-as-taggable-on', '~> 6.0'
|
gem 'acts-as-taggable-on', '~> 6.0'
|
||||||
|
|
||||||
# Background jobs
|
# Background jobs
|
||||||
|
@ -210,7 +209,7 @@ gitlab Gemfile
|
||||||
|
|
||||||
# HTTP requests
|
# HTTP requests
|
||||||
gem 'httparty', '~> 0.16.4'
|
gem 'httparty', '~> 0.16.4'
|
||||||
@@ -201,14 +201,14 @@
|
@@ -200,14 +200,14 @@
|
||||||
gem 'ruby-progressbar'
|
gem 'ruby-progressbar'
|
||||||
|
|
||||||
# GitLab settings
|
# GitLab settings
|
||||||
|
@ -228,7 +227,7 @@ gitlab Gemfile
|
||||||
|
|
||||||
# Export Ruby Regex to Javascript
|
# Export Ruby Regex to Javascript
|
||||||
gem 'js_regex', '~> 3.1'
|
gem 'js_regex', '~> 3.1'
|
||||||
@@ -221,13 +221,13 @@
|
@@ -220,13 +220,13 @@
|
||||||
gem 'connection_pool', '~> 2.0'
|
gem 'connection_pool', '~> 2.0'
|
||||||
|
|
||||||
# Redis session store
|
# Redis session store
|
||||||
|
@ -244,7 +243,7 @@ gitlab Gemfile
|
||||||
|
|
||||||
# Jira integration
|
# Jira integration
|
||||||
gem 'jira-ruby', '~> 2.0.0'
|
gem 'jira-ruby', '~> 2.0.0'
|
||||||
@@ -237,7 +237,7 @@
|
@@ -236,7 +236,7 @@
|
||||||
gem 'flowdock', '~> 0.7'
|
gem 'flowdock', '~> 0.7'
|
||||||
|
|
||||||
# Slack integration
|
# Slack integration
|
||||||
|
@ -253,7 +252,7 @@ gitlab Gemfile
|
||||||
|
|
||||||
# Hangouts Chat integration
|
# Hangouts Chat integration
|
||||||
gem 'hangouts-chat', '~> 0.0.5'
|
gem 'hangouts-chat', '~> 0.0.5'
|
||||||
@@ -249,11 +249,11 @@
|
@@ -248,11 +248,11 @@
|
||||||
gem 'ruby-fogbugz', '~> 0.2.1'
|
gem 'ruby-fogbugz', '~> 0.2.1'
|
||||||
|
|
||||||
# Kubernetes integration
|
# Kubernetes integration
|
||||||
|
@ -267,7 +266,7 @@ gitlab Gemfile
|
||||||
|
|
||||||
# Sanitizes SVG input
|
# Sanitizes SVG input
|
||||||
gem 'loofah', '~> 2.2'
|
gem 'loofah', '~> 2.2'
|
||||||
@@ -262,7 +262,7 @@
|
@@ -261,7 +261,7 @@
|
||||||
gem 'licensee', '~> 8.9'
|
gem 'licensee', '~> 8.9'
|
||||||
|
|
||||||
# Ace editor
|
# Ace editor
|
||||||
|
@ -276,7 +275,7 @@ gitlab Gemfile
|
||||||
|
|
||||||
# Detect and convert string character encoding
|
# Detect and convert string character encoding
|
||||||
gem 'charlock_holmes', '~> 0.7.5'
|
gem 'charlock_holmes', '~> 0.7.5'
|
||||||
@@ -280,8 +280,8 @@
|
@@ -279,8 +279,8 @@
|
||||||
gem 'webpack-rails', '~> 0.9.10'
|
gem 'webpack-rails', '~> 0.9.10'
|
||||||
gem 'rack-proxy', '~> 0.6.0'
|
gem 'rack-proxy', '~> 0.6.0'
|
||||||
|
|
||||||
|
@ -287,7 +286,7 @@ gitlab Gemfile
|
||||||
|
|
||||||
gem 'addressable', '~> 2.7'
|
gem 'addressable', '~> 2.7'
|
||||||
gem 'font-awesome-rails', '~> 4.7'
|
gem 'font-awesome-rails', '~> 4.7'
|
||||||
@@ -293,24 +293,24 @@
|
@@ -292,24 +292,24 @@
|
||||||
gem "gitlab-license", "~> 1.0"
|
gem "gitlab-license", "~> 1.0"
|
||||||
|
|
||||||
# Protect against bruteforcing
|
# Protect against bruteforcing
|
||||||
|
@ -318,10 +317,10 @@ gitlab Gemfile
|
||||||
|
|
||||||
# Perf bar
|
# Perf bar
|
||||||
gem 'peek', '~> 1.1'
|
gem 'peek', '~> 1.1'
|
||||||
@@ -344,40 +344,40 @@
|
@@ -343,40 +343,40 @@
|
||||||
|
|
||||||
group :development, :test do
|
group :development, :test do
|
||||||
gem 'bullet', '~> 6.0.2', require: !!ENV['ENABLE_BULLET']
|
gem 'bullet', '~> 6.0.2'
|
||||||
- gem 'pry-byebug', '~> 3.5.1', platform: :mri
|
- gem 'pry-byebug', '~> 3.5.1', platform: :mri
|
||||||
+ gem 'pry-byebug', '~> 3.5','>= 3.5.1', platform: :mri
|
+ gem 'pry-byebug', '~> 3.5','>= 3.5.1', platform: :mri
|
||||||
gem 'pry-rails', '~> 0.3.9'
|
gem 'pry-rails', '~> 0.3.9'
|
||||||
|
@ -347,14 +346,14 @@ gitlab Gemfile
|
||||||
+ gem 'spring', '~> 2.0'
|
+ gem 'spring', '~> 2.0'
|
||||||
+ gem 'spring-commands-rspec', '~> 1.0', '>= 1.0.4'
|
+ gem 'spring-commands-rspec', '~> 1.0', '>= 1.0.4'
|
||||||
|
|
||||||
- gem 'gitlab-styles', '~> 3.2.0', require: false
|
- gem 'gitlab-styles', '~> 4.2.0', require: false
|
||||||
+ gem 'gitlab-styles', '~> 3.2', require: false
|
+ gem 'gitlab-styles', '~> 4.2', require: false
|
||||||
# Pin these dependencies, otherwise a new rule could break the CI pipelines
|
# Pin these dependencies, otherwise a new rule could break the CI pipelines
|
||||||
- gem 'rubocop', '~> 0.74.0'
|
- gem 'rubocop', '~> 0.82.0'
|
||||||
- gem 'rubocop-performance', '~> 1.4.1'
|
- gem 'rubocop-performance', '~> 1.5.2'
|
||||||
- gem 'rubocop-rspec', '~> 1.37.0'
|
- gem 'rubocop-rspec', '~> 1.37.0'
|
||||||
+ gem 'rubocop', '~> 0.74'
|
+ gem 'rubocop', '~> 0.82'
|
||||||
+ gem 'rubocop-performance', '~> 1.4', '>= 1.4.1'
|
+ gem 'rubocop-performance', '~> 1.5', '>= 1.5.2'
|
||||||
+ gem 'rubocop-rspec', '~> 1.37'
|
+ gem 'rubocop-rspec', '~> 1.37'
|
||||||
|
|
||||||
gem 'scss_lint', '~> 0.56.0', require: false
|
gem 'scss_lint', '~> 0.56.0', require: false
|
||||||
|
@ -372,7 +371,7 @@ gitlab Gemfile
|
||||||
|
|
||||||
gem 'timecop', '~> 0.9.1'
|
gem 'timecop', '~> 0.9.1'
|
||||||
|
|
||||||
@@ -392,19 +392,19 @@
|
@@ -391,18 +391,18 @@
|
||||||
end
|
end
|
||||||
|
|
||||||
group :test do
|
group :test do
|
||||||
|
@ -390,16 +389,14 @@ gitlab Gemfile
|
||||||
|
|
||||||
- gem 'shoulda-matchers', '~> 4.0.1', require: false
|
- gem 'shoulda-matchers', '~> 4.0.1', require: false
|
||||||
- gem 'email_spec', '~> 2.2.0'
|
- gem 'email_spec', '~> 2.2.0'
|
||||||
- gem 'json-schema', '~> 2.8.0'
|
|
||||||
- gem 'webmock', '~> 3.5.1'
|
- gem 'webmock', '~> 3.5.1'
|
||||||
+ gem 'shoulda-matchers', '~> 4.0', '>= 4.0.1', require: false
|
+ gem 'shoulda-matchers', '~> 4.0', '>= 4.0.1', require: false
|
||||||
+ gem 'email_spec', '~> 2.2'
|
+ gem 'email_spec', '~> 2.2'
|
||||||
+ gem 'json-schema', '~> 2.8'
|
|
||||||
+ gem 'webmock', '~> 3.5', '>= 3.5.1'
|
+ gem 'webmock', '~> 3.5', '>= 3.5.1'
|
||||||
gem 'rails-controller-testing'
|
gem 'rails-controller-testing'
|
||||||
gem 'concurrent-ruby', '~> 1.1'
|
gem 'concurrent-ruby', '~> 1.1'
|
||||||
gem 'test-prof', '~> 0.10.0'
|
gem 'test-prof', '~> 0.10.0'
|
||||||
@@ -423,7 +423,7 @@
|
@@ -421,7 +421,7 @@
|
||||||
gem 'email_reply_trimmer', '~> 0.1'
|
gem 'email_reply_trimmer', '~> 0.1'
|
||||||
gem 'html2text'
|
gem 'html2text'
|
||||||
|
|
||||||
|
@ -408,7 +405,7 @@ gitlab Gemfile
|
||||||
gem 'stackprof', '~> 0.2.15', require: false
|
gem 'stackprof', '~> 0.2.15', require: false
|
||||||
gem 'rbtrace', '~> 0.4', require: false
|
gem 'rbtrace', '~> 0.4', require: false
|
||||||
gem 'memory_profiler', '~> 0.9', require: false
|
gem 'memory_profiler', '~> 0.9', require: false
|
||||||
@@ -434,11 +434,11 @@
|
@@ -432,11 +432,11 @@
|
||||||
gem 'oauth2', '~> 1.4'
|
gem 'oauth2', '~> 1.4'
|
||||||
|
|
||||||
# Health check
|
# Health check
|
||||||
|
@ -423,12 +420,12 @@ gitlab Gemfile
|
||||||
|
|
||||||
# NTP client
|
# NTP client
|
||||||
gem 'net-ntp'
|
gem 'net-ntp'
|
||||||
@@ -454,13 +454,13 @@
|
@@ -452,13 +452,13 @@
|
||||||
end
|
end
|
||||||
|
|
||||||
# Gitaly GRPC protocol definitions
|
# Gitaly GRPC protocol definitions
|
||||||
-gem 'gitaly', '~> 13.0.0.pre.rc1'
|
-gem 'gitaly', '~> 13.1.0.pre.rc1'
|
||||||
+gem 'gitaly', '~> 13.0'
|
+gem 'gitaly', '~> 13.1'
|
||||||
|
|
||||||
-gem 'grpc', '~> 1.24.0'
|
-gem 'grpc', '~> 1.24.0'
|
||||||
+gem 'grpc', '~> 1.24'
|
+gem 'grpc', '~> 1.24'
|
||||||
|
@ -441,7 +438,7 @@ gitlab Gemfile
|
||||||
|
|
||||||
# Feature toggles
|
# Feature toggles
|
||||||
gem 'flipper', '~> 0.17.1'
|
gem 'flipper', '~> 0.17.1'
|
||||||
@@ -478,12 +478,12 @@
|
@@ -476,12 +476,12 @@
|
||||||
# Countries list
|
# Countries list
|
||||||
gem 'countries', '~> 3.0'
|
gem 'countries', '~> 3.0'
|
||||||
|
|
||||||
|
@ -456,9 +453,11 @@ gitlab Gemfile
|
||||||
|
|
||||||
# Locked as long as quoted-printable encoding issues are not resolved
|
# Locked as long as quoted-printable encoding issues are not resolved
|
||||||
# Monkey-patched in `config/initializers/mail_encoding_patch.rb`
|
# Monkey-patched in `config/initializers/mail_encoding_patch.rb`
|
||||||
@@ -497,4 +497,4 @@
|
@@ -495,5 +495,5 @@
|
||||||
gem 'valid_email', '~> 0.1'
|
gem 'valid_email', '~> 0.1'
|
||||||
|
|
||||||
# JSON
|
# JSON
|
||||||
-gem 'json', '~> 2.3.0'
|
-gem 'json', '~> 2.3.0'
|
||||||
|
-gem 'json-schema', '~> 2.8.0'
|
||||||
+gem 'json', '~> 2.3'
|
+gem 'json', '~> 2.3'
|
||||||
|
+gem 'json-schema', '~> 2.8'
|
||||||
|
|
|
@ -2,7 +2,7 @@ Bundler will fail when it can't find these locally
|
||||||
|
|
||||||
--- a/Gemfile
|
--- a/Gemfile
|
||||||
+++ b/Gemfile
|
+++ b/Gemfile
|
||||||
@@ -93,7 +93,6 @@
|
@@ -92,7 +92,6 @@
|
||||||
# https://gitlab.com/gitlab-org/gitlab/issues/31747
|
# https://gitlab.com/gitlab-org/gitlab/issues/31747
|
||||||
gem 'graphiql-rails', '~> 1.4', '>= 1.4.10'
|
gem 'graphiql-rails', '~> 1.4', '>= 1.4.10'
|
||||||
gem 'apollo_upload_server', '~> 2.0.0.beta3'
|
gem 'apollo_upload_server', '~> 2.0.0.beta3'
|
||||||
|
@ -10,7 +10,7 @@ Bundler will fail when it can't find these locally
|
||||||
|
|
||||||
# Disable strong_params so that Mash does not respond to :permitted?
|
# Disable strong_params so that Mash does not respond to :permitted?
|
||||||
gem 'hashie-forbidden_attributes'
|
gem 'hashie-forbidden_attributes'
|
||||||
@@ -308,7 +307,6 @@
|
@@ -307,7 +306,6 @@
|
||||||
gem 'rails-i18n', '~> 6.0'
|
gem 'rails-i18n', '~> 6.0'
|
||||||
gem 'gettext_i18n_rails', '~> 1.8'
|
gem 'gettext_i18n_rails', '~> 1.8'
|
||||||
gem 'gettext_i18n_rails_js', '~> 1.3'
|
gem 'gettext_i18n_rails_js', '~> 1.3'
|
||||||
|
@ -18,7 +18,7 @@ Bundler will fail when it can't find these locally
|
||||||
|
|
||||||
gem 'batch-loader', '~> 1.4'
|
gem 'batch-loader', '~> 1.4'
|
||||||
|
|
||||||
@@ -327,23 +325,7 @@
|
@@ -326,21 +324,6 @@
|
||||||
gem 'raindrops', '~> 0.18'
|
gem 'raindrops', '~> 0.18'
|
||||||
end
|
end
|
||||||
|
|
||||||
|
@ -38,28 +38,27 @@ Bundler will fail when it can't find these locally
|
||||||
-end
|
-end
|
||||||
-
|
-
|
||||||
group :development, :test do
|
group :development, :test do
|
||||||
- gem 'bullet', '~> 6.0.2', require: !!ENV['ENABLE_BULLET']
|
gem 'bullet', '~> 6.0.2'
|
||||||
gem 'pry-byebug', '~> 3.5','>= 3.5.1', platform: :mri
|
gem 'pry-byebug', '~> 3.5','>= 3.5.1', platform: :mri
|
||||||
gem 'pry-rails', '~> 0.3.9'
|
@@ -361,17 +344,6 @@
|
||||||
|
|
||||||
@@ -362,16 +344,6 @@
|
|
||||||
gem 'spring', '~> 2.0'
|
gem 'spring', '~> 2.0'
|
||||||
gem 'spring-commands-rspec', '~> 1.0', '>= 1.0.4'
|
gem 'spring-commands-rspec', '~> 1.0', '>= 1.0.4'
|
||||||
|
|
||||||
- gem 'gitlab-styles', '~> 3.2', require: false
|
- gem 'gitlab-styles', '~> 4.2', require: false
|
||||||
- # Pin these dependencies, otherwise a new rule could break the CI pipelines
|
- # Pin these dependencies, otherwise a new rule could break the CI pipelines
|
||||||
- gem 'rubocop', '~> 0.74'
|
- gem 'rubocop', '~> 0.82'
|
||||||
- gem 'rubocop-performance', '~> 1.4', '>= 1.4.1'
|
- gem 'rubocop-performance', '~> 1.5', '>= 1.5.2'
|
||||||
- gem 'rubocop-rspec', '~> 1.37'
|
- gem 'rubocop-rspec', '~> 1.37'
|
||||||
-
|
-
|
||||||
- gem 'scss_lint', '~> 0.56.0', require: false
|
- gem 'scss_lint', '~> 0.56.0', require: false
|
||||||
- gem 'haml_lint', '~> 0.34.0', require: false
|
- gem 'haml_lint', '~> 0.34.0', require: false
|
||||||
- gem 'simplecov', '~> 0.18.5', require: false
|
- gem 'simplecov', '~> 0.18.5', require: false
|
||||||
- gem 'bundler-audit', '~> 0.6.1', require: false
|
- gem 'bundler-audit', '~> 0.6.1', require: false
|
||||||
|
-
|
||||||
gem 'benchmark-ips', '~> 2.3', require: false
|
gem 'benchmark-ips', '~> 2.3', require: false
|
||||||
|
|
||||||
@@ -386,11 +358,6 @@
|
gem 'knapsack', '~> 1.17'
|
||||||
|
@@ -385,11 +357,6 @@
|
||||||
gem 'parallel', '~> 1.19', require: false
|
gem 'parallel', '~> 1.19', require: false
|
||||||
end
|
end
|
||||||
|
|
||||||
|
|
|
@ -2,16 +2,16 @@ Make test dependencies conditional so we can enable them when running autopkgtes
|
||||||
|
|
||||||
--- a/Gemfile
|
--- a/Gemfile
|
||||||
+++ b/Gemfile
|
+++ b/Gemfile
|
||||||
@@ -325,7 +325,7 @@
|
@@ -324,7 +324,7 @@
|
||||||
gem 'raindrops', '~> 0.18'
|
gem 'raindrops', '~> 0.18'
|
||||||
end
|
end
|
||||||
|
|
||||||
-group :development, :test do
|
-group :development, :test do
|
||||||
+if ENV["INCLUDE_TEST_DEPENDS"] == "true"
|
+if ENV["INCLUDE_TEST_DEPENDS"] == "true"
|
||||||
|
gem 'bullet', '~> 6.0.2'
|
||||||
gem 'pry-byebug', '~> 3.5','>= 3.5.1', platform: :mri
|
gem 'pry-byebug', '~> 3.5','>= 3.5.1', platform: :mri
|
||||||
gem 'pry-rails', '~> 0.3.9'
|
gem 'pry-rails', '~> 0.3.9'
|
||||||
|
@@ -355,9 +355,6 @@
|
||||||
@@ -356,9 +356,6 @@
|
|
||||||
gem 'png_quantizator', '~> 0.2.1', require: false
|
gem 'png_quantizator', '~> 0.2.1', require: false
|
||||||
|
|
||||||
gem 'parallel', '~> 1.19', require: false
|
gem 'parallel', '~> 1.19', require: false
|
||||||
|
|
2
debian/patches/0340-relax-httparty.patch
vendored
2
debian/patches/0340-relax-httparty.patch
vendored
|
@ -2,7 +2,7 @@ Allow newer versions of httparty to satisfy dependency
|
||||||
|
|
||||||
--- a/Gemfile
|
--- a/Gemfile
|
||||||
+++ b/Gemfile
|
+++ b/Gemfile
|
||||||
@@ -191,7 +191,7 @@
|
@@ -190,7 +190,7 @@
|
||||||
gem 'fugit', '~> 1.2', '>= 1.2.1'
|
gem 'fugit', '~> 1.2', '>= 1.2.1'
|
||||||
|
|
||||||
# HTTP requests
|
# HTTP requests
|
||||||
|
|
|
@ -2,7 +2,7 @@ Allow newer version to satisfy requirement
|
||||||
|
|
||||||
--- a/Gemfile
|
--- a/Gemfile
|
||||||
+++ b/Gemfile
|
+++ b/Gemfile
|
||||||
@@ -318,7 +318,7 @@
|
@@ -317,7 +317,7 @@
|
||||||
|
|
||||||
# Metrics
|
# Metrics
|
||||||
group :metrics do
|
group :metrics do
|
||||||
|
|
2
debian/patches/0350-relax-rdoc.patch
vendored
2
debian/patches/0350-relax-rdoc.patch
vendored
|
@ -2,7 +2,7 @@ Allow rdoc from ruby 2.5 to match requirement
|
||||||
|
|
||||||
--- a/Gemfile
|
--- a/Gemfile
|
||||||
+++ b/Gemfile
|
+++ b/Gemfile
|
||||||
@@ -141,7 +141,7 @@
|
@@ -140,7 +140,7 @@
|
||||||
gem 'github-markup', '~> 1.7', require: 'github/markup'
|
gem 'github-markup', '~> 1.7', require: 'github/markup'
|
||||||
gem 'commonmarker', '~> 0.20'
|
gem 'commonmarker', '~> 0.20'
|
||||||
gem 'RedCloth', '~> 4.3', '>= 4.3.2'
|
gem 'RedCloth', '~> 4.3', '>= 4.3.2'
|
||||||
|
|
|
@ -4,7 +4,7 @@ maintaining two almost same packages.
|
||||||
|
|
||||||
--- a/Gemfile
|
--- a/Gemfile
|
||||||
+++ b/Gemfile
|
+++ b/Gemfile
|
||||||
@@ -137,7 +137,6 @@
|
@@ -136,7 +136,6 @@
|
||||||
# Markdown and HTML processing
|
# Markdown and HTML processing
|
||||||
gem 'html-pipeline', '~> 2.12'
|
gem 'html-pipeline', '~> 2.12'
|
||||||
gem 'deckar01-task_list', '~> 2.3', '>= 2.3.1'
|
gem 'deckar01-task_list', '~> 2.3', '>= 2.3.1'
|
||||||
|
|
2
debian/patches/0440-remove-puma.patch
vendored
2
debian/patches/0440-remove-puma.patch
vendored
|
@ -2,7 +2,7 @@ We are using unicorn so don't need puma
|
||||||
|
|
||||||
--- a/Gemfile
|
--- a/Gemfile
|
||||||
+++ b/Gemfile
|
+++ b/Gemfile
|
||||||
@@ -168,12 +168,6 @@
|
@@ -167,12 +167,6 @@
|
||||||
gem 'unicorn-worker-killer', '~> 0.4.4'
|
gem 'unicorn-worker-killer', '~> 0.4.4'
|
||||||
end
|
end
|
||||||
|
|
||||||
|
|
|
@ -2,7 +2,7 @@ Embed this gem until gitlab moved to 7.x version
|
||||||
|
|
||||||
--- a/Gemfile
|
--- a/Gemfile
|
||||||
+++ b/Gemfile
|
+++ b/Gemfile
|
||||||
@@ -128,7 +128,7 @@
|
@@ -127,7 +127,7 @@
|
||||||
gem 'seed-fu', '~> 2.3', '>= 2.3.7'
|
gem 'seed-fu', '~> 2.3', '>= 2.3.7'
|
||||||
|
|
||||||
# Search
|
# Search
|
||||||
|
|
|
@ -2,7 +2,7 @@ Embed this gem until gitlab moved to 7.x version
|
||||||
|
|
||||||
--- a/Gemfile
|
--- a/Gemfile
|
||||||
+++ b/Gemfile
|
+++ b/Gemfile
|
||||||
@@ -129,7 +129,7 @@
|
@@ -128,7 +128,7 @@
|
||||||
|
|
||||||
# Search
|
# Search
|
||||||
gem 'elasticsearch-model', '~> 6.1', path: 'vendor/gems/elasticsearch-model'
|
gem 'elasticsearch-model', '~> 6.1', path: 'vendor/gems/elasticsearch-model'
|
||||||
|
|
|
@ -5,7 +5,7 @@ Bug: https://gitlab.com/gitlab-org/gitlab/-/issues/37931
|
||||||
|
|
||||||
--- a/Gemfile
|
--- a/Gemfile
|
||||||
+++ b/Gemfile
|
+++ b/Gemfile
|
||||||
@@ -132,7 +132,7 @@
|
@@ -131,7 +131,7 @@
|
||||||
gem 'elasticsearch-rails', '~> 6.1', require: 'elasticsearch/rails/instrumentation', path: 'vendor/gems/elasticsearch-rails'
|
gem 'elasticsearch-rails', '~> 6.1', require: 'elasticsearch/rails/instrumentation', path: 'vendor/gems/elasticsearch-rails'
|
||||||
gem 'elasticsearch-api', '~> 6.8'
|
gem 'elasticsearch-api', '~> 6.8'
|
||||||
gem 'aws-sdk'
|
gem 'aws-sdk'
|
||||||
|
|
|
@ -2,7 +2,7 @@ This gem is used only in gitlab Enterprise Edition
|
||||||
|
|
||||||
--- a/Gemfile
|
--- a/Gemfile
|
||||||
+++ b/Gemfile
|
+++ b/Gemfile
|
||||||
@@ -49,9 +49,6 @@
|
@@ -48,9 +48,6 @@
|
||||||
gem 'rack-oauth2', '~> 1.9', '>= 1.9.3'
|
gem 'rack-oauth2', '~> 1.9', '>= 1.9.3'
|
||||||
gem 'jwt', '~> 2.1'
|
gem 'jwt', '~> 2.1'
|
||||||
|
|
||||||
|
@ -12,7 +12,7 @@ This gem is used only in gitlab Enterprise Edition
|
||||||
# Spam and anti-bot protection
|
# Spam and anti-bot protection
|
||||||
gem 'recaptcha', '~> 4.11', require: 'recaptcha/rails'
|
gem 'recaptcha', '~> 4.11', require: 'recaptcha/rails'
|
||||||
gem 'akismet', '~> 3.0'
|
gem 'akismet', '~> 3.0'
|
||||||
@@ -282,8 +279,6 @@
|
@@ -281,8 +278,6 @@
|
||||||
gem 'request_store', '~> 1.5'
|
gem 'request_store', '~> 1.5'
|
||||||
gem 'base32', '~> 0.3.0'
|
gem 'base32', '~> 0.3.0'
|
||||||
|
|
||||||
|
|
|
@ -2,11 +2,12 @@ These are not required in production
|
||||||
|
|
||||||
--- a/package.json
|
--- a/package.json
|
||||||
+++ b/package.json
|
+++ b/package.json
|
||||||
@@ -149,64 +149,7 @@
|
@@ -155,66 +155,7 @@
|
||||||
"xterm": "^3.5.0"
|
"xterm": "^3.5.0"
|
||||||
},
|
},
|
||||||
"devDependencies": {
|
"devDependencies": {
|
||||||
- "@babel/plugin-transform-modules-commonjs": "^7.8.3",
|
- "acorn": "^6.3.0",
|
||||||
|
- "@babel/plugin-transform-modules-commonjs": "^7.10.1",
|
||||||
- "@gitlab/eslint-plugin": "3.1.0",
|
- "@gitlab/eslint-plugin": "3.1.0",
|
||||||
- "@vue/test-utils": "^1.0.0-beta.30",
|
- "@vue/test-utils": "^1.0.0-beta.30",
|
||||||
- "axios-mock-adapter": "^1.15.0",
|
- "axios-mock-adapter": "^1.15.0",
|
||||||
|
@ -34,7 +35,7 @@ These are not required in production
|
||||||
- "jasmine-jquery": "^2.1.1",
|
- "jasmine-jquery": "^2.1.1",
|
||||||
- "jest": "^24.1.0",
|
- "jest": "^24.1.0",
|
||||||
- "jest-canvas-mock": "^2.1.2",
|
- "jest-canvas-mock": "^2.1.2",
|
||||||
- "jest-environment-jsdom": "^24.0.0",
|
- "jest-environment-jsdom-sixteen": "^1.0.0",
|
||||||
- "jest-junit": "^6.3.0",
|
- "jest-junit": "^6.3.0",
|
||||||
- "jest-util": "^24.0.0",
|
- "jest-util": "^24.0.0",
|
||||||
- "jsdoc": "^3.5.5",
|
- "jsdoc": "^3.5.5",
|
||||||
|
@ -50,7 +51,7 @@ These are not required in production
|
||||||
- "markdownlint-cli": "0.18.0",
|
- "markdownlint-cli": "0.18.0",
|
||||||
- "md5": "^2.2.1",
|
- "md5": "^2.2.1",
|
||||||
- "node-sass": "^4.12.0",
|
- "node-sass": "^4.12.0",
|
||||||
- "nodemon": "^1.18.9",
|
- "nodemon": "^2.0.4",
|
||||||
- "pixelmatch": "^4.0.2",
|
- "pixelmatch": "^4.0.2",
|
||||||
- "postcss": "^7.0.14",
|
- "postcss": "^7.0.14",
|
||||||
- "prettier": "1.18.2",
|
- "prettier": "1.18.2",
|
||||||
|
@ -61,10 +62,11 @@ These are not required in production
|
||||||
- "timezone-mock": "^1.0.8",
|
- "timezone-mock": "^1.0.8",
|
||||||
- "vue-jest": "^4.0.0-beta.2",
|
- "vue-jest": "^4.0.0-beta.2",
|
||||||
- "webpack-dev-server": "^3.10.3",
|
- "webpack-dev-server": "^3.10.3",
|
||||||
|
- "xhr-mock": "^2.5.1",
|
||||||
- "yarn-check-webpack-plugin": "^1.2.0",
|
- "yarn-check-webpack-plugin": "^1.2.0",
|
||||||
- "yarn-deduplicate": "^1.1.1"
|
- "yarn-deduplicate": "^1.1.1"
|
||||||
- },
|
- },
|
||||||
+ },
|
+ },
|
||||||
"blockedDependencies": {
|
"blockedDependencies": {
|
||||||
"bootstrap-vue": "https://docs.gitlab.com/ee/development/fe_guide/dependencies.md#bootstrapvue"
|
"bootstrap-vue": "https://docs.gitlab.com/ee/development/fe_guide/dependencies.md#bootstrapvue"
|
||||||
},
|
},
|
||||||
|
|
|
@ -2,7 +2,7 @@ Debian specific patch to allow webpack to resolve packaged node modules
|
||||||
|
|
||||||
--- a/config/webpack.config.js
|
--- a/config/webpack.config.js
|
||||||
+++ b/config/webpack.config.js
|
+++ b/config/webpack.config.js
|
||||||
@@ -148,9 +148,14 @@
|
@@ -149,9 +149,14 @@
|
||||||
|
|
||||||
resolve: {
|
resolve: {
|
||||||
extensions: ['.js', '.gql', '.graphql'],
|
extensions: ['.js', '.gql', '.graphql'],
|
||||||
|
|
41
debian/patches/0740-use-packaged-modules.patch
vendored
41
debian/patches/0740-use-packaged-modules.patch
vendored
|
@ -14,7 +14,7 @@ Use debian packaged node modules when available
|
||||||
const CopyWebpackPlugin = require('copy-webpack-plugin');
|
const CopyWebpackPlugin = require('copy-webpack-plugin');
|
||||||
const vendorDllHash = require('./helpers/vendor_dll_hash');
|
const vendorDllHash = require('./helpers/vendor_dll_hash');
|
||||||
|
|
||||||
@@ -147,13 +146,13 @@
|
@@ -148,13 +147,13 @@
|
||||||
},
|
},
|
||||||
|
|
||||||
resolve: {
|
resolve: {
|
||||||
|
@ -31,7 +31,7 @@ Use debian packaged node modules when available
|
||||||
},
|
},
|
||||||
|
|
||||||
module: {
|
module: {
|
||||||
@@ -166,9 +165,13 @@
|
@@ -167,9 +166,13 @@
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
test: /\.js$/,
|
test: /\.js$/,
|
||||||
|
@ -46,7 +46,7 @@ Use debian packaged node modules when available
|
||||||
loader: 'babel-loader',
|
loader: 'babel-loader',
|
||||||
options: {
|
options: {
|
||||||
cacheDirectory: path.join(CACHE_PATH, 'babel-loader'),
|
cacheDirectory: path.join(CACHE_PATH, 'babel-loader'),
|
||||||
@@ -502,19 +505,6 @@
|
@@ -501,19 +504,6 @@
|
||||||
// enable HMR only in webpack-dev-server
|
// enable HMR only in webpack-dev-server
|
||||||
DEV_SERVER_LIVERELOAD && new webpack.HotModuleReplacementPlugin(),
|
DEV_SERVER_LIVERELOAD && new webpack.HotModuleReplacementPlugin(),
|
||||||
|
|
||||||
|
@ -66,7 +66,7 @@ Use debian packaged node modules when available
|
||||||
new webpack.DefinePlugin({
|
new webpack.DefinePlugin({
|
||||||
// This one is used to define window.gon.ee and other things properly in tests:
|
// This one is used to define window.gon.ee and other things properly in tests:
|
||||||
'process.env.IS_EE': JSON.stringify(IS_EE),
|
'process.env.IS_EE': JSON.stringify(IS_EE),
|
||||||
@@ -540,6 +530,7 @@
|
@@ -547,6 +537,7 @@
|
||||||
|
|
||||||
node: {
|
node: {
|
||||||
fs: 'empty', // sqljs requires fs
|
fs: 'empty', // sqljs requires fs
|
||||||
|
@ -80,16 +80,16 @@ Use debian packaged node modules when available
|
||||||
"webpack-prod": "NODE_OPTIONS=\"--max-old-space-size=3584\" NODE_ENV=production webpack --config config/webpack.config.js"
|
"webpack-prod": "NODE_OPTIONS=\"--max-old-space-size=3584\" NODE_ENV=production webpack --config config/webpack.config.js"
|
||||||
},
|
},
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
- "@babel/core": "^7.8.4",
|
- "@babel/core": "^7.10.1",
|
||||||
- "@babel/plugin-proposal-class-properties": "^7.8.3",
|
- "@babel/plugin-proposal-class-properties": "^7.10.1",
|
||||||
- "@babel/plugin-proposal-json-strings": "^7.8.3",
|
- "@babel/plugin-proposal-json-strings": "^7.10.1",
|
||||||
- "@babel/plugin-proposal-private-methods": "^7.8.3",
|
- "@babel/plugin-proposal-private-methods": "^7.10.1",
|
||||||
- "@babel/plugin-syntax-import-meta": "^7.8.3",
|
- "@babel/plugin-syntax-import-meta": "^7.10.1",
|
||||||
- "@babel/preset-env": "^7.8.4",
|
- "@babel/preset-env": "^7.10.1",
|
||||||
"@gitlab/at.js": "1.5.5",
|
"@gitlab/at.js": "1.5.5",
|
||||||
"@gitlab/svgs": "1.127.0",
|
"@gitlab/svgs": "1.139.0",
|
||||||
"@gitlab/ui": "14.10.0",
|
"@gitlab/ui": "16.12.1",
|
||||||
@@ -53,64 +47,40 @@
|
@@ -53,54 +47,35 @@
|
||||||
"apollo-link": "^1.2.11",
|
"apollo-link": "^1.2.11",
|
||||||
"apollo-link-batch-http": "^1.2.11",
|
"apollo-link-batch-http": "^1.2.11",
|
||||||
"apollo-upload-client": "^10.0.0",
|
"apollo-upload-client": "^10.0.0",
|
||||||
|
@ -98,10 +98,9 @@ Use debian packaged node modules when available
|
||||||
- "axios": "^0.19.0",
|
- "axios": "^0.19.0",
|
||||||
- "babel-loader": "^8.0.6",
|
- "babel-loader": "^8.0.6",
|
||||||
"babel-plugin-lodash": "^3.3.4",
|
"babel-plugin-lodash": "^3.3.4",
|
||||||
"bootstrap": "4.3.1",
|
"bootstrap": "4.4.1",
|
||||||
"brace-expansion": "^1.1.8",
|
"brace-expansion": "^1.1.8",
|
||||||
"cache-loader": "^4.1.0",
|
"cache-loader": "^4.1.0",
|
||||||
- "chart.js": "2.7.2",
|
|
||||||
"classlist-polyfill": "^1.2.0",
|
"classlist-polyfill": "^1.2.0",
|
||||||
- "clipboard": "^1.7.1",
|
- "clipboard": "^1.7.1",
|
||||||
"codemirror": "^5.48.4",
|
"codemirror": "^5.48.4",
|
||||||
|
@ -111,6 +110,8 @@ Use debian packaged node modules when available
|
||||||
- "core-js": "^3.6.4",
|
- "core-js": "^3.6.4",
|
||||||
"cropper": "^2.3.0",
|
"cropper": "^2.3.0",
|
||||||
- "css-loader": "^2.1.1",
|
- "css-loader": "^2.1.1",
|
||||||
|
"d3": "^5.16.0",
|
||||||
|
"d3-sankey": "^0.12.3",
|
||||||
- "d3-scale": "^2.2.2",
|
- "d3-scale": "^2.2.2",
|
||||||
- "d3-selection": "^1.2.0",
|
- "d3-selection": "^1.2.0",
|
||||||
- "dateformat": "^3.0.3",
|
- "dateformat": "^3.0.3",
|
||||||
|
@ -118,6 +119,7 @@ Use debian packaged node modules when available
|
||||||
"diff": "^3.4.0",
|
"diff": "^3.4.0",
|
||||||
"document-register-element": "1.14.3",
|
"document-register-element": "1.14.3",
|
||||||
"dropzone": "^4.2.0",
|
"dropzone": "^4.2.0",
|
||||||
|
"editorconfig": "^0.15.3",
|
||||||
"emoji-regex": "^7.0.3",
|
"emoji-regex": "^7.0.3",
|
||||||
"emoji-unicode-version": "^0.2.1",
|
"emoji-unicode-version": "^0.2.1",
|
||||||
- "exports-loader": "^0.7.0",
|
- "exports-loader": "^0.7.0",
|
||||||
|
@ -140,7 +142,9 @@ Use debian packaged node modules when available
|
||||||
"katex": "^0.10.0",
|
"katex": "^0.10.0",
|
||||||
- "lodash": "^4.17.15",
|
- "lodash": "^4.17.15",
|
||||||
"marked": "^0.3.12",
|
"marked": "^0.3.12",
|
||||||
"mermaid": "^8.4.8",
|
"mermaid": "^8.5.2",
|
||||||
|
"mersenne-twister": "1.1.0",
|
||||||
|
@@ -108,13 +83,9 @@
|
||||||
"mitt": "^1.2.0",
|
"mitt": "^1.2.0",
|
||||||
"monaco-editor": "^0.18.1",
|
"monaco-editor": "^0.18.1",
|
||||||
"monaco-editor-webpack-plugin": "^1.7.0",
|
"monaco-editor-webpack-plugin": "^1.7.0",
|
||||||
|
@ -154,7 +158,7 @@ Use debian packaged node modules when available
|
||||||
"raphael": "^2.2.7",
|
"raphael": "^2.2.7",
|
||||||
"raw-loader": "^4.0.0",
|
"raw-loader": "^4.0.0",
|
||||||
"sanitize-html": "^1.22.0",
|
"sanitize-html": "^1.22.0",
|
||||||
@@ -123,30 +93,19 @@
|
@@ -128,31 +99,20 @@
|
||||||
"svg4everybody": "2.1.9",
|
"svg4everybody": "2.1.9",
|
||||||
"swagger-ui-dist": "^3.24.3",
|
"swagger-ui-dist": "^3.24.3",
|
||||||
"three": "^0.84.0",
|
"three": "^0.84.0",
|
||||||
|
@ -167,6 +171,7 @@ Use debian packaged node modules when available
|
||||||
"tributejs": "4.1.3",
|
"tributejs": "4.1.3",
|
||||||
"unfetch": "^4.1.0",
|
"unfetch": "^4.1.0",
|
||||||
- "url-loader": "^3.0.0",
|
- "url-loader": "^3.0.0",
|
||||||
|
"uuid": "8.1.0",
|
||||||
"visibilityjs": "^1.2.4",
|
"visibilityjs": "^1.2.4",
|
||||||
- "vue": "^2.6.10",
|
- "vue": "^2.6.10",
|
||||||
"vue-apollo": "^3.0.3",
|
"vue-apollo": "^3.0.3",
|
||||||
|
@ -185,7 +190,7 @@ Use debian packaged node modules when available
|
||||||
+ "webpack-stats-plugin": "^0.3.1"
|
+ "webpack-stats-plugin": "^0.3.1"
|
||||||
},
|
},
|
||||||
"devDependencies": {
|
"devDependencies": {
|
||||||
},
|
},
|
||||||
--- a/babel.config.js
|
--- a/babel.config.js
|
||||||
+++ b/babel.config.js
|
+++ b/babel.config.js
|
||||||
@@ -19,9 +19,12 @@
|
@@ -19,9 +19,12 @@
|
||||||
|
|
2
debian/patches/0741-add-graphql-tag.patch
vendored
2
debian/patches/0741-add-graphql-tag.patch
vendored
|
@ -2,7 +2,7 @@ yarn fails to install graphql-tag
|
||||||
|
|
||||||
--- a/package.json
|
--- a/package.json
|
||||||
+++ b/package.json
|
+++ b/package.json
|
||||||
@@ -68,6 +68,7 @@
|
@@ -71,6 +71,7 @@
|
||||||
"fuzzaldrin-plus": "^0.6.0",
|
"fuzzaldrin-plus": "^0.6.0",
|
||||||
"glob": "^7.1.6",
|
"glob": "^7.1.6",
|
||||||
"graphql": "^14.0.2",
|
"graphql": "^14.0.2",
|
||||||
|
|
333
debian/patches/0760-update-grape.patch
vendored
333
debian/patches/0760-update-grape.patch
vendored
|
@ -1,7 +1,7 @@
|
||||||
From 7c07471b98d105724cb6d6b4cd6853bd2ee9350f Mon Sep 17 00:00:00 2001
|
From d5617969480da3d774c908bb00b3c37f7060a5a4 Mon Sep 17 00:00:00 2001
|
||||||
From: Stan Hu <stanhu@gmail.com>
|
From: Stan Hu <stanhu@gmail.com>
|
||||||
Date: Fri, 29 May 2020 16:12:45 -0700
|
Date: Fri, 29 May 2020 16:12:45 -0700
|
||||||
Subject: [PATCH 1/4] Upgrade to Grape v1.3.3
|
Subject: [PATCH 1/5] Upgrade to Grape v1.3.3
|
||||||
|
|
||||||
This brings back many of the changes in
|
This brings back many of the changes in
|
||||||
https://gitlab.com/gitlab-org/gitlab/-/merge_requests/27276. This was
|
https://gitlab.com/gitlab-org/gitlab/-/merge_requests/27276. This was
|
||||||
|
@ -233,7 +233,7 @@ Closes https://gitlab.com/gitlab-org/gitlab/-/issues/195960
|
||||||
|
|
||||||
--- a/.rubocop.yml
|
--- a/.rubocop.yml
|
||||||
+++ b/.rubocop.yml
|
+++ b/.rubocop.yml
|
||||||
@@ -292,6 +292,18 @@
|
@@ -308,6 +308,18 @@
|
||||||
- 'spec/**/*'
|
- 'spec/**/*'
|
||||||
- 'ee/spec/**/*'
|
- 'ee/spec/**/*'
|
||||||
|
|
||||||
|
@ -263,16 +263,6 @@ Closes https://gitlab.com/gitlab-org/gitlab/-/issues/195960
|
||||||
|
|
||||||
gem 'faraday', '~> 0.12'
|
gem 'faraday', '~> 0.12'
|
||||||
gem 'marginalia', '~> 1.8'
|
gem 'marginalia', '~> 1.8'
|
||||||
@@ -79,7 +79,8 @@
|
|
||||||
gem 'net-ldap'
|
|
||||||
|
|
||||||
# API
|
|
||||||
-gem 'grape', '~> 1.1'
|
|
||||||
+gem 'grape', '~> 1.3', '>= 1.3.3'
|
|
||||||
+gem 'rack-timeout'
|
|
||||||
gem 'grape-entity', '~> 0.7.1'
|
|
||||||
gem 'rack-cors', '~> 1.0', '>= 1.0.6', require: 'rack/cors'
|
|
||||||
|
|
||||||
--- a/Gemfile.lock
|
--- a/Gemfile.lock
|
||||||
+++ b/Gemfile.lock
|
+++ b/Gemfile.lock
|
||||||
@@ -103,10 +103,6 @@
|
@@ -103,10 +103,6 @@
|
||||||
|
@ -333,8 +323,8 @@ Closes https://gitlab.com/gitlab-org/gitlab/-/issues/195960
|
||||||
ed25519 (1.2.4)
|
ed25519 (1.2.4)
|
||||||
elasticsearch (6.8.0)
|
elasticsearch (6.8.0)
|
||||||
elasticsearch-api (= 6.8.0)
|
elasticsearch-api (= 6.8.0)
|
||||||
@@ -438,19 +452,19 @@
|
@@ -439,19 +453,19 @@
|
||||||
signet (~> 0.7)
|
signet (~> 0.14)
|
||||||
gpgme (2.0.20)
|
gpgme (2.0.20)
|
||||||
mini_portile2 (~> 2.3)
|
mini_portile2 (~> 2.3)
|
||||||
- grape (1.1.0)
|
- grape (1.1.0)
|
||||||
|
@ -357,7 +347,7 @@ Closes https://gitlab.com/gitlab-org/gitlab/-/issues/195960
|
||||||
rake (~> 12)
|
rake (~> 12)
|
||||||
grape_logging (1.8.3)
|
grape_logging (1.8.3)
|
||||||
grape
|
grape
|
||||||
@@ -640,9 +654,10 @@
|
@@ -641,9 +655,10 @@
|
||||||
multi_xml (0.6.0)
|
multi_xml (0.6.0)
|
||||||
multipart-post (2.1.1)
|
multipart-post (2.1.1)
|
||||||
murmurhash3 (0.1.6)
|
murmurhash3 (0.1.6)
|
||||||
|
@ -371,7 +361,7 @@ Closes https://gitlab.com/gitlab-org/gitlab/-/issues/195960
|
||||||
nakayoshi_fork (0.0.4)
|
nakayoshi_fork (0.0.4)
|
||||||
nap (1.1.0)
|
nap (1.1.0)
|
||||||
nenv (0.3.0)
|
nenv (0.3.0)
|
||||||
@@ -956,6 +971,7 @@
|
@@ -958,6 +973,7 @@
|
||||||
ruby-saml (1.7.2)
|
ruby-saml (1.7.2)
|
||||||
nokogiri (>= 1.5.10)
|
nokogiri (>= 1.5.10)
|
||||||
ruby-statistics (2.1.2)
|
ruby-statistics (2.1.2)
|
||||||
|
@ -379,7 +369,7 @@ Closes https://gitlab.com/gitlab-org/gitlab/-/issues/195960
|
||||||
ruby_dep (1.5.0)
|
ruby_dep (1.5.0)
|
||||||
ruby_parser (3.13.1)
|
ruby_parser (3.13.1)
|
||||||
sexp_processor (~> 4.9)
|
sexp_processor (~> 4.9)
|
||||||
@@ -1117,11 +1133,6 @@
|
@@ -1119,11 +1135,6 @@
|
||||||
activerecord (>= 3.0)
|
activerecord (>= 3.0)
|
||||||
activesupport (>= 3.0)
|
activesupport (>= 3.0)
|
||||||
version_sorter (2.2.4)
|
version_sorter (2.2.4)
|
||||||
|
@ -391,8 +381,8 @@ Closes https://gitlab.com/gitlab-org/gitlab/-/issues/195960
|
||||||
vmstat (2.3.0)
|
vmstat (2.3.0)
|
||||||
warden (1.2.8)
|
warden (1.2.8)
|
||||||
rack (>= 2.0.6)
|
rack (>= 2.0.6)
|
||||||
@@ -1252,9 +1263,9 @@
|
@@ -1254,9 +1265,9 @@
|
||||||
google-api-client (~> 0.23)
|
google-api-client (~> 0.33)
|
||||||
google-protobuf (~> 3.8.0)
|
google-protobuf (~> 3.8.0)
|
||||||
gpgme (~> 2.0.19)
|
gpgme (~> 2.0.19)
|
||||||
- grape (~> 1.1.0)
|
- grape (~> 1.1.0)
|
||||||
|
@ -430,7 +420,7 @@ Closes https://gitlab.com/gitlab-org/gitlab/-/issues/195960
|
||||||
For non-200 HTTP responses, use the provided helpers in `lib/api/helpers.rb` to ensure correct behavior (`not_found!`, `no_content!` etc.). These will `throw` inside Grape and abort the execution of your endpoint.
|
For non-200 HTTP responses, use the provided helpers in `lib/api/helpers.rb` to ensure correct behavior (`not_found!`, `no_content!` etc.). These will `throw` inside Grape and abort the execution of your endpoint.
|
||||||
--- a/doc/development/ee_features.md
|
--- a/doc/development/ee_features.md
|
||||||
+++ b/doc/development/ee_features.md
|
+++ b/doc/development/ee_features.md
|
||||||
@@ -514,12 +514,12 @@
|
@@ -512,12 +512,12 @@
|
||||||
interface first here.
|
interface first here.
|
||||||
|
|
||||||
For example, suppose we have a few more optional parameters for EE. We can move the
|
For example, suppose we have a few more optional parameters for EE. We can move the
|
||||||
|
@ -445,7 +435,7 @@ Closes https://gitlab.com/gitlab-org/gitlab/-/issues/195960
|
||||||
helpers Helpers::ProjectsHelpers
|
helpers Helpers::ProjectsHelpers
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
@@ -580,7 +580,7 @@
|
@@ -578,7 +578,7 @@
|
||||||
|
|
||||||
```ruby
|
```ruby
|
||||||
module API
|
module API
|
||||||
|
@ -454,7 +444,7 @@ Closes https://gitlab.com/gitlab-org/gitlab/-/issues/195960
|
||||||
# EE::API::JobArtifacts would override the following helpers
|
# EE::API::JobArtifacts would override the following helpers
|
||||||
helpers do
|
helpers do
|
||||||
def authorize_download_artifacts!
|
def authorize_download_artifacts!
|
||||||
@@ -624,7 +624,7 @@
|
@@ -622,7 +622,7 @@
|
||||||
|
|
||||||
```ruby
|
```ruby
|
||||||
module API
|
module API
|
||||||
|
@ -463,7 +453,7 @@ Closes https://gitlab.com/gitlab-org/gitlab/-/issues/195960
|
||||||
helpers do
|
helpers do
|
||||||
# EE::API::MergeRequests would override the following helpers
|
# EE::API::MergeRequests would override the following helpers
|
||||||
def update_merge_request_ee(merge_request)
|
def update_merge_request_ee(merge_request)
|
||||||
@@ -693,7 +693,7 @@
|
@@ -691,7 +691,7 @@
|
||||||
```ruby
|
```ruby
|
||||||
# api/merge_requests/parameters.rb
|
# api/merge_requests/parameters.rb
|
||||||
module API
|
module API
|
||||||
|
@ -472,7 +462,7 @@ Closes https://gitlab.com/gitlab-org/gitlab/-/issues/195960
|
||||||
module Parameters
|
module Parameters
|
||||||
def self.update_params_at_least_one_of
|
def self.update_params_at_least_one_of
|
||||||
%i[
|
%i[
|
||||||
@@ -709,7 +709,7 @@
|
@@ -707,7 +707,7 @@
|
||||||
|
|
||||||
# api/merge_requests.rb
|
# api/merge_requests.rb
|
||||||
module API
|
module API
|
||||||
|
@ -835,9 +825,9 @@ Closes https://gitlab.com/gitlab-org/gitlab/-/issues/195960
|
||||||
module API
|
module API
|
||||||
- class GroupExport < Grape::API
|
- class GroupExport < Grape::API
|
||||||
+ class GroupExport < Grape::API::Instance
|
+ class GroupExport < Grape::API::Instance
|
||||||
before do
|
helpers Helpers::RateLimiter
|
||||||
not_found! unless Feature.enabled?(:group_import_export, user_group, default_enabled: true)
|
|
||||||
|
|
||||||
|
before do
|
||||||
--- a/lib/api/group_import.rb
|
--- a/lib/api/group_import.rb
|
||||||
+++ b/lib/api/group_import.rb
|
+++ b/lib/api/group_import.rb
|
||||||
@@ -1,7 +1,7 @@
|
@@ -1,7 +1,7 @@
|
||||||
|
@ -846,9 +836,9 @@ Closes https://gitlab.com/gitlab-org/gitlab/-/issues/195960
|
||||||
module API
|
module API
|
||||||
- class GroupImport < Grape::API
|
- class GroupImport < Grape::API
|
||||||
+ class GroupImport < Grape::API::Instance
|
+ class GroupImport < Grape::API::Instance
|
||||||
MAXIMUM_FILE_SIZE = 50.megabytes.freeze
|
|
||||||
|
|
||||||
helpers Helpers::FileUploadHelpers
|
helpers Helpers::FileUploadHelpers
|
||||||
|
|
||||||
|
helpers do
|
||||||
--- a/lib/api/group_labels.rb
|
--- a/lib/api/group_labels.rb
|
||||||
+++ b/lib/api/group_labels.rb
|
+++ b/lib/api/group_labels.rb
|
||||||
@@ -1,7 +1,7 @@
|
@@ -1,7 +1,7 @@
|
||||||
|
@ -915,9 +905,9 @@ Closes https://gitlab.com/gitlab-org/gitlab/-/issues/195960
|
||||||
optional :with_merge_status_recheck, type: Boolean, desc: 'Request that stale merge statuses be rechecked asynchronously', default: false
|
optional :with_merge_status_recheck, type: Boolean, desc: 'Request that stale merge statuses be rechecked asynchronously', default: false
|
||||||
--- a/lib/api/helpers/projects_helpers.rb
|
--- a/lib/api/helpers/projects_helpers.rb
|
||||||
+++ b/lib/api/helpers/projects_helpers.rb
|
+++ b/lib/api/helpers/projects_helpers.rb
|
||||||
@@ -45,7 +45,7 @@
|
@@ -46,7 +46,7 @@
|
||||||
optional :request_access_enabled, type: Boolean, desc: 'Allow users to request member access'
|
|
||||||
optional :only_allow_merge_if_pipeline_succeeds, type: Boolean, desc: 'Only allow to merge if builds succeed'
|
optional :only_allow_merge_if_pipeline_succeeds, type: Boolean, desc: 'Only allow to merge if builds succeed'
|
||||||
|
optional :allow_merge_on_skipped_pipeline, type: Boolean, desc: 'Allow to merge if pipeline is skipped'
|
||||||
optional :only_allow_merge_if_all_discussions_are_resolved, type: Boolean, desc: 'Only allow to merge if all discussions are resolved'
|
optional :only_allow_merge_if_all_discussions_are_resolved, type: Boolean, desc: 'Only allow to merge if all discussions are resolved'
|
||||||
- optional :tag_list, type: Array[String], desc: 'The list of tags for a project'
|
- optional :tag_list, type: Array[String], desc: 'The list of tags for a project'
|
||||||
+ optional :tag_list, type: Array[String], coerce_with: ::API::Validations::Types::CommaSeparatedToArray.coerce, desc: 'The list of tags for a project'
|
+ optional :tag_list, type: Array[String], coerce_with: ::API::Validations::Types::CommaSeparatedToArray.coerce, desc: 'The list of tags for a project'
|
||||||
|
@ -959,7 +949,7 @@ Closes https://gitlab.com/gitlab-org/gitlab/-/issues/195960
|
||||||
end
|
end
|
||||||
--- a/lib/api/issues.rb
|
--- a/lib/api/issues.rb
|
||||||
+++ b/lib/api/issues.rb
|
+++ b/lib/api/issues.rb
|
||||||
@@ -1,7 +1,7 @@
|
@@ -1,18 +1,21 @@
|
||||||
# frozen_string_literal: true
|
# frozen_string_literal: true
|
||||||
|
|
||||||
module API
|
module API
|
||||||
|
@ -968,7 +958,12 @@ Closes https://gitlab.com/gitlab-org/gitlab/-/issues/195960
|
||||||
include PaginationParams
|
include PaginationParams
|
||||||
helpers Helpers::IssuesHelpers
|
helpers Helpers::IssuesHelpers
|
||||||
helpers Helpers::RateLimiter
|
helpers Helpers::RateLimiter
|
||||||
@@ -11,9 +11,9 @@
|
|
||||||
|
- before { authenticate_non_get! }
|
||||||
|
+ before do
|
||||||
|
+ authenticate_non_get!
|
||||||
|
+ coerce_nil_params_to_array!
|
||||||
|
+ end
|
||||||
|
|
||||||
helpers do
|
helpers do
|
||||||
params :negatable_issue_filter_params do
|
params :negatable_issue_filter_params do
|
||||||
|
@ -980,7 +975,7 @@ Closes https://gitlab.com/gitlab-org/gitlab/-/issues/195960
|
||||||
optional :search, type: String, desc: 'Search issues for text present in the title, description, or any combination of these'
|
optional :search, type: String, desc: 'Search issues for text present in the title, description, or any combination of these'
|
||||||
optional :in, type: String, desc: '`title`, `description`, or a string joining them with comma'
|
optional :in, type: String, desc: '`title`, `description`, or a string joining them with comma'
|
||||||
|
|
||||||
@@ -63,10 +63,10 @@
|
@@ -62,12 +65,12 @@
|
||||||
|
|
||||||
params :issue_params do
|
params :issue_params do
|
||||||
optional :description, type: String, desc: 'The description of an issue'
|
optional :description, type: String, desc: 'The description of an issue'
|
||||||
|
@ -989,7 +984,11 @@ Closes https://gitlab.com/gitlab-org/gitlab/-/issues/195960
|
||||||
optional :assignee_id, type: Integer, desc: '[Deprecated] The ID of a user to assign issue'
|
optional :assignee_id, type: Integer, desc: '[Deprecated] The ID of a user to assign issue'
|
||||||
optional :milestone_id, type: Integer, desc: 'The ID of a milestone to assign issue'
|
optional :milestone_id, type: Integer, desc: 'The ID of a milestone to assign issue'
|
||||||
- optional :labels, type: Array[String], coerce_with: Validations::Types::LabelsList.coerce, desc: 'Comma-separated list of label names'
|
- optional :labels, type: Array[String], coerce_with: Validations::Types::LabelsList.coerce, desc: 'Comma-separated list of label names'
|
||||||
+ optional :labels, type: Array[String], coerce_with: ::API::Validations::Types::CommaSeparatedToIntegerArray.coerce, desc: 'Comma-separated list of label names'
|
- optional :add_labels, type: Array[String], coerce_with: Validations::Types::LabelsList.coerce, desc: 'Comma-separated list of label names'
|
||||||
|
- optional :remove_labels, type: Array[String], coerce_with: Validations::Types::LabelsList.coerce, desc: 'Comma-separated list of label names'
|
||||||
|
+ optional :labels, type: Array[String], coerce_with: ::API::Validations::Types::CommaSeparatedToArray.coerce, desc: 'Comma-separated list of label names'
|
||||||
|
+ optional :add_labels, type: Array[String], coerce_with: ::API::Validations::Types::CommaSeparatedToArray.coerce, desc: 'Comma-separated list of label names'
|
||||||
|
+ optional :remove_labels, type: Array[String], coerce_with: ::API::Validations::Types::CommaSeparatedToArray.coerce, desc: 'Comma-separated list of label names'
|
||||||
optional :due_date, type: String, desc: 'Date string in the format YEAR-MONTH-DAY'
|
optional :due_date, type: String, desc: 'Date string in the format YEAR-MONTH-DAY'
|
||||||
optional :confidential, type: Boolean, desc: 'Boolean parameter if the issue should be confidential'
|
optional :confidential, type: Boolean, desc: 'Boolean parameter if the issue should be confidential'
|
||||||
optional :discussion_locked, type: Boolean, desc: " Boolean parameter indicating if the issue's discussion is locked"
|
optional :discussion_locked, type: Boolean, desc: " Boolean parameter indicating if the issue's discussion is locked"
|
||||||
|
@ -1101,7 +1100,7 @@ Closes https://gitlab.com/gitlab-org/gitlab/-/issues/195960
|
||||||
before { authenticate! }
|
before { authenticate! }
|
||||||
--- a/lib/api/merge_requests.rb
|
--- a/lib/api/merge_requests.rb
|
||||||
+++ b/lib/api/merge_requests.rb
|
+++ b/lib/api/merge_requests.rb
|
||||||
@@ -1,7 +1,7 @@
|
@@ -1,12 +1,15 @@
|
||||||
# frozen_string_literal: true
|
# frozen_string_literal: true
|
||||||
|
|
||||||
module API
|
module API
|
||||||
|
@ -1110,7 +1109,16 @@ Closes https://gitlab.com/gitlab-org/gitlab/-/issues/195960
|
||||||
include PaginationParams
|
include PaginationParams
|
||||||
|
|
||||||
CONTEXT_COMMITS_POST_LIMIT = 20
|
CONTEXT_COMMITS_POST_LIMIT = 20
|
||||||
@@ -182,11 +182,11 @@
|
|
||||||
|
- before { authenticate_non_get! }
|
||||||
|
+ before do
|
||||||
|
+ authenticate_non_get!
|
||||||
|
+ coerce_nil_params_to_array!
|
||||||
|
+ end
|
||||||
|
|
||||||
|
helpers Helpers::MergeRequestsHelpers
|
||||||
|
|
||||||
|
@@ -179,11 +182,11 @@
|
||||||
params :optional_params do
|
params :optional_params do
|
||||||
optional :description, type: String, desc: 'The description of the merge request'
|
optional :description, type: String, desc: 'The description of the merge request'
|
||||||
optional :assignee_id, type: Integer, desc: 'The ID of a user to assign the merge request'
|
optional :assignee_id, type: Integer, desc: 'The ID of a user to assign the merge request'
|
||||||
|
@ -1126,7 +1134,7 @@ Closes https://gitlab.com/gitlab-org/gitlab/-/issues/195960
|
||||||
optional :remove_source_branch, type: Boolean, desc: 'Remove source branch when merging'
|
optional :remove_source_branch, type: Boolean, desc: 'Remove source branch when merging'
|
||||||
optional :allow_collaboration, type: Boolean, desc: 'Allow commits from members who can merge to the target branch'
|
optional :allow_collaboration, type: Boolean, desc: 'Allow commits from members who can merge to the target branch'
|
||||||
optional :allow_maintainer_to_push, type: Boolean, as: :allow_collaboration, desc: '[deprecated] See allow_collaboration'
|
optional :allow_maintainer_to_push, type: Boolean, as: :allow_collaboration, desc: '[deprecated] See allow_collaboration'
|
||||||
@@ -201,7 +201,7 @@
|
@@ -198,7 +201,7 @@
|
||||||
end
|
end
|
||||||
params do
|
params do
|
||||||
use :merge_requests_params
|
use :merge_requests_params
|
||||||
|
@ -1135,6 +1143,24 @@ Closes https://gitlab.com/gitlab-org/gitlab/-/issues/195960
|
||||||
end
|
end
|
||||||
get ":id/merge_requests" do
|
get ":id/merge_requests" do
|
||||||
authorize! :read_merge_request, user_project
|
authorize! :read_merge_request, user_project
|
||||||
|
@@ -315,7 +318,7 @@
|
||||||
|
end
|
||||||
|
|
||||||
|
params do
|
||||||
|
- requires :commits, type: Array, allow_blank: false, desc: 'List of context commits sha'
|
||||||
|
+ requires :commits, type: Array[String], coerce_with: ::API::Validations::Types::CommaSeparatedToArray.coerce, allow_blank: false, desc: 'List of context commits sha'
|
||||||
|
end
|
||||||
|
desc 'create context commits of merge request' do
|
||||||
|
success Entities::Commit
|
||||||
|
@@ -345,7 +348,7 @@
|
||||||
|
end
|
||||||
|
|
||||||
|
params do
|
||||||
|
- requires :commits, type: Array, allow_blank: false, desc: 'List of context commits sha'
|
||||||
|
+ requires :commits, type: Array[String], coerce_with: ::API::Validations::Types::CommaSeparatedToArray.coerce, allow_blank: false, desc: 'List of context commits sha'
|
||||||
|
end
|
||||||
|
desc 'remove context commits of merge request'
|
||||||
|
delete ':id/merge_requests/:merge_request_iid/context_commits' do
|
||||||
--- a/lib/api/metrics/dashboard/annotations.rb
|
--- a/lib/api/metrics/dashboard/annotations.rb
|
||||||
+++ b/lib/api/metrics/dashboard/annotations.rb
|
+++ b/lib/api/metrics/dashboard/annotations.rb
|
||||||
@@ -3,7 +3,7 @@
|
@@ -3,7 +3,7 @@
|
||||||
|
@ -1390,7 +1416,7 @@ Closes https://gitlab.com/gitlab-org/gitlab/-/issues/195960
|
||||||
TEMPLATE_TYPES = %w[dockerfiles gitignores gitlab_ci_ymls licenses].freeze
|
TEMPLATE_TYPES = %w[dockerfiles gitignores gitlab_ci_ymls licenses].freeze
|
||||||
--- a/lib/api/projects.rb
|
--- a/lib/api/projects.rb
|
||||||
+++ b/lib/api/projects.rb
|
+++ b/lib/api/projects.rb
|
||||||
@@ -3,7 +3,7 @@
|
@@ -3,13 +3,16 @@
|
||||||
require_dependency 'declarative_policy'
|
require_dependency 'declarative_policy'
|
||||||
|
|
||||||
module API
|
module API
|
||||||
|
@ -1399,7 +1425,17 @@ Closes https://gitlab.com/gitlab-org/gitlab/-/issues/195960
|
||||||
include PaginationParams
|
include PaginationParams
|
||||||
include Helpers::CustomAttributes
|
include Helpers::CustomAttributes
|
||||||
|
|
||||||
@@ -522,7 +522,7 @@
|
helpers Helpers::ProjectsHelpers
|
||||||
|
|
||||||
|
- before { authenticate_non_get! }
|
||||||
|
+ before do
|
||||||
|
+ authenticate_non_get!
|
||||||
|
+ coerce_nil_params_to_array!
|
||||||
|
+ end
|
||||||
|
|
||||||
|
helpers do
|
||||||
|
# EE::API::Projects would override this method
|
||||||
|
@@ -524,7 +527,7 @@
|
||||||
end
|
end
|
||||||
params do
|
params do
|
||||||
optional :search, type: String, desc: 'Return list of users matching the search criteria'
|
optional :search, type: String, desc: 'Return list of users matching the search criteria'
|
||||||
|
@ -1443,7 +1479,7 @@ Closes https://gitlab.com/gitlab-org/gitlab/-/issues/195960
|
||||||
RELEASE_ENDPOINT_REQUIREMENTS = API::NAMESPACE_OR_PROJECT_REQUIREMENTS
|
RELEASE_ENDPOINT_REQUIREMENTS = API::NAMESPACE_OR_PROJECT_REQUIREMENTS
|
||||||
--- a/lib/api/releases.rb
|
--- a/lib/api/releases.rb
|
||||||
+++ b/lib/api/releases.rb
|
+++ b/lib/api/releases.rb
|
||||||
@@ -1,7 +1,7 @@
|
@@ -1,13 +1,16 @@
|
||||||
# frozen_string_literal: true
|
# frozen_string_literal: true
|
||||||
|
|
||||||
module API
|
module API
|
||||||
|
@ -1452,6 +1488,25 @@ Closes https://gitlab.com/gitlab-org/gitlab/-/issues/195960
|
||||||
include PaginationParams
|
include PaginationParams
|
||||||
|
|
||||||
RELEASE_ENDPOINT_REQUIREMENTS = API::NAMESPACE_OR_PROJECT_REQUIREMENTS
|
RELEASE_ENDPOINT_REQUIREMENTS = API::NAMESPACE_OR_PROJECT_REQUIREMENTS
|
||||||
|
.merge(tag_name: API::NO_SLASH_URL_PART_REGEX)
|
||||||
|
|
||||||
|
- before { authorize_read_releases! }
|
||||||
|
+ before do
|
||||||
|
+ authorize_read_releases!
|
||||||
|
+ coerce_nil_params_to_array!
|
||||||
|
+ end
|
||||||
|
|
||||||
|
params do
|
||||||
|
requires :id, type: String, desc: 'The ID of a project'
|
||||||
|
@@ -54,7 +57,7 @@
|
||||||
|
requires :url, type: String
|
||||||
|
end
|
||||||
|
end
|
||||||
|
- optional :milestones, type: Array, desc: 'The titles of the related milestones', default: []
|
||||||
|
+ optional :milestones, type: Array[String], coerce_with: ::API::Validations::Types::CommaSeparatedToArray.coerce, desc: 'The titles of the related milestones', default: []
|
||||||
|
optional :released_at, type: DateTime, desc: 'The date when the release will be/was ready. Defaults to the current time.'
|
||||||
|
end
|
||||||
|
route_setting :authentication, job_token_allowed: true
|
||||||
--- a/lib/api/remote_mirrors.rb
|
--- a/lib/api/remote_mirrors.rb
|
||||||
+++ b/lib/api/remote_mirrors.rb
|
+++ b/lib/api/remote_mirrors.rb
|
||||||
@@ -1,7 +1,7 @@
|
@@ -1,7 +1,7 @@
|
||||||
|
@ -1465,7 +1520,7 @@ Closes https://gitlab.com/gitlab-org/gitlab/-/issues/195960
|
||||||
before do
|
before do
|
||||||
--- a/lib/api/repositories.rb
|
--- a/lib/api/repositories.rb
|
||||||
+++ b/lib/api/repositories.rb
|
+++ b/lib/api/repositories.rb
|
||||||
@@ -3,7 +3,7 @@
|
@@ -3,12 +3,15 @@
|
||||||
require 'mime/types'
|
require 'mime/types'
|
||||||
|
|
||||||
module API
|
module API
|
||||||
|
@ -1473,8 +1528,17 @@ Closes https://gitlab.com/gitlab-org/gitlab/-/issues/195960
|
||||||
+ class Repositories < Grape::API::Instance
|
+ class Repositories < Grape::API::Instance
|
||||||
include PaginationParams
|
include PaginationParams
|
||||||
|
|
||||||
before { authorize! :download_code, user_project }
|
helpers ::API::Helpers::HeadersHelpers
|
||||||
@@ -139,7 +139,7 @@
|
|
||||||
|
- before { authorize! :download_code, user_project }
|
||||||
|
+ before do
|
||||||
|
+ authorize! :download_code, user_project
|
||||||
|
+ coerce_nil_params_to_array!
|
||||||
|
+ end
|
||||||
|
|
||||||
|
params do
|
||||||
|
requires :id, type: String, desc: 'The ID of a project'
|
||||||
|
@@ -143,7 +146,7 @@
|
||||||
success Entities::Commit
|
success Entities::Commit
|
||||||
end
|
end
|
||||||
params do
|
params do
|
||||||
|
@ -1494,9 +1558,20 @@ Closes https://gitlab.com/gitlab-org/gitlab/-/issues/195960
|
||||||
include PaginationParams
|
include PaginationParams
|
||||||
helpers ::API::Helpers::NotesHelpers
|
helpers ::API::Helpers::NotesHelpers
|
||||||
|
|
||||||
|
--- a/lib/api/resource_milestone_events.rb
|
||||||
|
+++ b/lib/api/resource_milestone_events.rb
|
||||||
|
@@ -1,7 +1,7 @@
|
||||||
|
# frozen_string_literal: true
|
||||||
|
|
||||||
|
module API
|
||||||
|
- class ResourceMilestoneEvents < Grape::API
|
||||||
|
+ class ResourceMilestoneEvents < Grape::API::Instance
|
||||||
|
include PaginationParams
|
||||||
|
helpers ::API::Helpers::NotesHelpers
|
||||||
|
|
||||||
--- a/lib/api/runner.rb
|
--- a/lib/api/runner.rb
|
||||||
+++ b/lib/api/runner.rb
|
+++ b/lib/api/runner.rb
|
||||||
@@ -1,7 +1,7 @@
|
@@ -1,9 +1,13 @@
|
||||||
# frozen_string_literal: true
|
# frozen_string_literal: true
|
||||||
|
|
||||||
module API
|
module API
|
||||||
|
@ -1504,8 +1579,14 @@ Closes https://gitlab.com/gitlab-org/gitlab/-/issues/195960
|
||||||
+ class Runner < Grape::API::Instance
|
+ class Runner < Grape::API::Instance
|
||||||
helpers ::API::Helpers::Runner
|
helpers ::API::Helpers::Runner
|
||||||
|
|
||||||
|
+ before do
|
||||||
|
+ coerce_nil_params_to_array!
|
||||||
|
+ end
|
||||||
|
+
|
||||||
resource :runners do
|
resource :runners do
|
||||||
@@ -18,7 +18,7 @@
|
desc 'Registers a new Runner' do
|
||||||
|
success Entities::RunnerRegistrationDetails
|
||||||
|
@@ -18,7 +22,7 @@
|
||||||
optional :access_level, type: String, values: Ci::Runner.access_levels.keys,
|
optional :access_level, type: String, values: Ci::Runner.access_levels.keys,
|
||||||
desc: 'The access_level of the runner'
|
desc: 'The access_level of the runner'
|
||||||
optional :run_untagged, type: Boolean, desc: 'Should Runner handle untagged jobs'
|
optional :run_untagged, type: Boolean, desc: 'Should Runner handle untagged jobs'
|
||||||
|
@ -1516,7 +1597,7 @@ Closes https://gitlab.com/gitlab-org/gitlab/-/issues/195960
|
||||||
post '/' do
|
post '/' do
|
||||||
--- a/lib/api/runners.rb
|
--- a/lib/api/runners.rb
|
||||||
+++ b/lib/api/runners.rb
|
+++ b/lib/api/runners.rb
|
||||||
@@ -1,7 +1,7 @@
|
@@ -1,10 +1,13 @@
|
||||||
# frozen_string_literal: true
|
# frozen_string_literal: true
|
||||||
|
|
||||||
module API
|
module API
|
||||||
|
@ -1524,8 +1605,15 @@ Closes https://gitlab.com/gitlab-org/gitlab/-/issues/195960
|
||||||
+ class Runners < Grape::API::Instance
|
+ class Runners < Grape::API::Instance
|
||||||
include PaginationParams
|
include PaginationParams
|
||||||
|
|
||||||
before { authenticate! }
|
- before { authenticate! }
|
||||||
@@ -17,7 +17,7 @@
|
+ before do
|
||||||
|
+ authenticate!
|
||||||
|
+ coerce_nil_params_to_array!
|
||||||
|
+ end
|
||||||
|
|
||||||
|
resource :runners do
|
||||||
|
desc 'Get runners available for user' do
|
||||||
|
@@ -17,7 +20,7 @@
|
||||||
desc: 'The type of the runners to show'
|
desc: 'The type of the runners to show'
|
||||||
optional :status, type: String, values: Ci::Runner::AVAILABLE_STATUSES,
|
optional :status, type: String, values: Ci::Runner::AVAILABLE_STATUSES,
|
||||||
desc: 'The status of the runners to show'
|
desc: 'The status of the runners to show'
|
||||||
|
@ -1534,7 +1622,7 @@ Closes https://gitlab.com/gitlab-org/gitlab/-/issues/195960
|
||||||
use :pagination
|
use :pagination
|
||||||
end
|
end
|
||||||
get do
|
get do
|
||||||
@@ -40,7 +40,7 @@
|
@@ -40,7 +43,7 @@
|
||||||
desc: 'The type of the runners to show'
|
desc: 'The type of the runners to show'
|
||||||
optional :status, type: String, values: Ci::Runner::AVAILABLE_STATUSES,
|
optional :status, type: String, values: Ci::Runner::AVAILABLE_STATUSES,
|
||||||
desc: 'The status of the runners to show'
|
desc: 'The status of the runners to show'
|
||||||
|
@ -1543,7 +1631,7 @@ Closes https://gitlab.com/gitlab-org/gitlab/-/issues/195960
|
||||||
use :pagination
|
use :pagination
|
||||||
end
|
end
|
||||||
get 'all' do
|
get 'all' do
|
||||||
@@ -75,7 +75,7 @@
|
@@ -75,7 +78,7 @@
|
||||||
requires :id, type: Integer, desc: 'The ID of the runner'
|
requires :id, type: Integer, desc: 'The ID of the runner'
|
||||||
optional :description, type: String, desc: 'The description of the runner'
|
optional :description, type: String, desc: 'The description of the runner'
|
||||||
optional :active, type: Boolean, desc: 'The state of a runner'
|
optional :active, type: Boolean, desc: 'The state of a runner'
|
||||||
|
@ -1552,7 +1640,7 @@ Closes https://gitlab.com/gitlab-org/gitlab/-/issues/195960
|
||||||
optional :run_untagged, type: Boolean, desc: 'Flag indicating the runner can execute untagged jobs'
|
optional :run_untagged, type: Boolean, desc: 'Flag indicating the runner can execute untagged jobs'
|
||||||
optional :locked, type: Boolean, desc: 'Flag indicating the runner is locked'
|
optional :locked, type: Boolean, desc: 'Flag indicating the runner is locked'
|
||||||
optional :access_level, type: String, values: Ci::Runner.access_levels.keys,
|
optional :access_level, type: String, values: Ci::Runner.access_levels.keys,
|
||||||
@@ -145,7 +145,7 @@
|
@@ -145,7 +148,7 @@
|
||||||
desc: 'The type of the runners to show'
|
desc: 'The type of the runners to show'
|
||||||
optional :status, type: String, values: Ci::Runner::AVAILABLE_STATUSES,
|
optional :status, type: String, values: Ci::Runner::AVAILABLE_STATUSES,
|
||||||
desc: 'The status of the runners to show'
|
desc: 'The status of the runners to show'
|
||||||
|
@ -1561,7 +1649,7 @@ Closes https://gitlab.com/gitlab-org/gitlab/-/issues/195960
|
||||||
use :pagination
|
use :pagination
|
||||||
end
|
end
|
||||||
get ':id/runners' do
|
get ':id/runners' do
|
||||||
@@ -208,7 +208,7 @@
|
@@ -208,7 +211,7 @@
|
||||||
desc: 'The type of the runners to show'
|
desc: 'The type of the runners to show'
|
||||||
optional :status, type: String, values: Ci::Runner::AVAILABLE_STATUSES,
|
optional :status, type: String, values: Ci::Runner::AVAILABLE_STATUSES,
|
||||||
desc: 'The status of the runners to show'
|
desc: 'The status of the runners to show'
|
||||||
|
@ -1593,16 +1681,21 @@ Closes https://gitlab.com/gitlab-org/gitlab/-/issues/195960
|
||||||
|
|
||||||
--- a/lib/api/settings.rb
|
--- a/lib/api/settings.rb
|
||||||
+++ b/lib/api/settings.rb
|
+++ b/lib/api/settings.rb
|
||||||
@@ -1,7 +1,7 @@
|
@@ -1,8 +1,11 @@
|
||||||
# frozen_string_literal: true
|
# frozen_string_literal: true
|
||||||
|
|
||||||
module API
|
module API
|
||||||
- class Settings < Grape::API
|
- class Settings < Grape::API
|
||||||
|
- before { authenticated_as_admin! }
|
||||||
+ class Settings < Grape::API::Instance
|
+ class Settings < Grape::API::Instance
|
||||||
before { authenticated_as_admin! }
|
+ before do
|
||||||
|
+ authenticated_as_admin!
|
||||||
|
+ coerce_nil_params_to_array!
|
||||||
|
+ end
|
||||||
|
|
||||||
helpers Helpers::SettingsHelpers
|
helpers Helpers::SettingsHelpers
|
||||||
@@ -49,7 +49,7 @@
|
|
||||||
|
@@ -49,7 +52,7 @@
|
||||||
optional :default_project_visibility, type: String, values: Gitlab::VisibilityLevel.string_values, desc: 'The default project visibility'
|
optional :default_project_visibility, type: String, values: Gitlab::VisibilityLevel.string_values, desc: 'The default project visibility'
|
||||||
optional :default_projects_limit, type: Integer, desc: 'The maximum number of personal projects'
|
optional :default_projects_limit, type: Integer, desc: 'The maximum number of personal projects'
|
||||||
optional :default_snippet_visibility, type: String, values: Gitlab::VisibilityLevel.string_values, desc: 'The default snippet visibility'
|
optional :default_snippet_visibility, type: String, values: Gitlab::VisibilityLevel.string_values, desc: 'The default snippet visibility'
|
||||||
|
@ -1611,7 +1704,7 @@ Closes https://gitlab.com/gitlab-org/gitlab/-/issues/195960
|
||||||
optional :domain_blacklist_enabled, type: Boolean, desc: 'Enable domain blacklist for sign ups'
|
optional :domain_blacklist_enabled, type: Boolean, desc: 'Enable domain blacklist for sign ups'
|
||||||
optional :domain_blacklist, type: Array[String], coerce_with: Validations::Types::CommaSeparatedToArray.coerce, desc: 'Users with e-mail addresses that match these domain(s) will NOT be able to sign-up. Wildcards allowed. Use separate lines for multiple entries. Ex: domain.com, *.domain.com'
|
optional :domain_blacklist, type: Array[String], coerce_with: Validations::Types::CommaSeparatedToArray.coerce, desc: 'Users with e-mail addresses that match these domain(s) will NOT be able to sign-up. Wildcards allowed. Use separate lines for multiple entries. Ex: domain.com, *.domain.com'
|
||||||
optional :domain_whitelist, type: Array[String], coerce_with: Validations::Types::CommaSeparatedToArray.coerce, desc: 'ONLY users with e-mail addresses that match these domain(s) will be able to sign-up. Wildcards allowed. Use separate lines for multiple entries. Ex: domain.com, *.domain.com'
|
optional :domain_whitelist, type: Array[String], coerce_with: Validations::Types::CommaSeparatedToArray.coerce, desc: 'ONLY users with e-mail addresses that match these domain(s) will be able to sign-up. Wildcards allowed. Use separate lines for multiple entries. Ex: domain.com, *.domain.com'
|
||||||
@@ -79,7 +79,8 @@
|
@@ -79,7 +82,8 @@
|
||||||
requires :housekeeping_incremental_repack_period, type: Integer, desc: "Number of Git pushes after which an incremental 'git repack' is run."
|
requires :housekeeping_incremental_repack_period, type: Integer, desc: "Number of Git pushes after which an incremental 'git repack' is run."
|
||||||
end
|
end
|
||||||
optional :html_emails_enabled, type: Boolean, desc: 'By default GitLab sends emails in HTML and plain text formats so mail clients can choose what format to use. Disable this option if you only want to send emails in plain text format.'
|
optional :html_emails_enabled, type: Boolean, desc: 'By default GitLab sends emails in HTML and plain text formats so mail clients can choose what format to use. Disable this option if you only want to send emails in plain text format.'
|
||||||
|
@ -1621,15 +1714,22 @@ Closes https://gitlab.com/gitlab-org/gitlab/-/issues/195960
|
||||||
desc: 'Enabled sources for code import during project creation. OmniAuth must be configured for GitHub, Bitbucket, and GitLab.com'
|
desc: 'Enabled sources for code import during project creation. OmniAuth must be configured for GitHub, Bitbucket, and GitLab.com'
|
||||||
optional :max_artifacts_size, type: Integer, desc: "Set the maximum file size for each job's artifacts"
|
optional :max_artifacts_size, type: Integer, desc: "Set the maximum file size for each job's artifacts"
|
||||||
optional :max_attachment_size, type: Integer, desc: 'Maximum attachment size in MB'
|
optional :max_attachment_size, type: Integer, desc: 'Maximum attachment size in MB'
|
||||||
@@ -112,7 +113,7 @@
|
@@ -113,13 +117,13 @@
|
||||||
requires :recaptcha_private_key, type: String, desc: 'Generate private key at http://www.google.com/recaptcha'
|
requires :recaptcha_private_key, type: String, desc: 'Generate private key at http://www.google.com/recaptcha'
|
||||||
end
|
end
|
||||||
optional :repository_checks_enabled, type: Boolean, desc: "GitLab will periodically run 'git fsck' in all project and wiki repositories to look for silent disk corruption issues."
|
optional :repository_checks_enabled, type: Boolean, desc: "GitLab will periodically run 'git fsck' in all project and wiki repositories to look for silent disk corruption issues."
|
||||||
- optional :repository_storages, type: Array[String], desc: 'Storage paths for new projects'
|
- optional :repository_storages, type: Array[String], desc: 'Storage paths for new projects'
|
||||||
+ optional :repository_storages, type: Array[String], coerce_with: Validations::Types::CommaSeparatedToArray.coerce, desc: 'Storage paths for new projects'
|
+ optional :repository_storages, type: Array[String], coerce_with: Validations::Types::CommaSeparatedToArray.coerce, desc: 'Storage paths for new projects'
|
||||||
|
optional :repository_storages_weighted, type: Hash, desc: 'Storage paths for new projects with a weighted value between 0 and 100'
|
||||||
optional :require_two_factor_authentication, type: Boolean, desc: 'Require all users to set up Two-factor authentication'
|
optional :require_two_factor_authentication, type: Boolean, desc: 'Require all users to set up Two-factor authentication'
|
||||||
given require_two_factor_authentication: ->(val) { val } do
|
given require_two_factor_authentication: ->(val) { val } do
|
||||||
requires :two_factor_grace_period, type: Integer, desc: 'Amount of time (in hours) that users are allowed to skip forced configuration of two-factor authentication'
|
requires :two_factor_grace_period, type: Integer, desc: 'Amount of time (in hours) that users are allowed to skip forced configuration of two-factor authentication'
|
||||||
|
end
|
||||||
|
- optional :restricted_visibility_levels, type: Array[String], desc: 'Selected levels cannot be used by non-admin users for groups, projects or snippets. If the public level is restricted, user profiles are only visible to logged in users.'
|
||||||
|
+ optional :restricted_visibility_levels, type: Array[String], coerce_with: Validations::Types::CommaSeparatedToArray.coerce, desc: 'Selected levels cannot be used by non-admin users for groups, projects or snippets. If the public level is restricted, user profiles are only visible to logged in users.'
|
||||||
|
optional :send_user_confirmation_email, type: Boolean, desc: 'Send confirmation email on sign-up'
|
||||||
|
optional :session_expire_delay, type: Integer, desc: 'Session duration in minutes. GitLab restart is required to apply changes.'
|
||||||
|
optional :shared_runners_enabled, type: Boolean, desc: 'Enable shared runners for new projects'
|
||||||
--- a/lib/api/sidekiq_metrics.rb
|
--- a/lib/api/sidekiq_metrics.rb
|
||||||
+++ b/lib/api/sidekiq_metrics.rb
|
+++ b/lib/api/sidekiq_metrics.rb
|
||||||
@@ -3,7 +3,7 @@
|
@@ -3,7 +3,7 @@
|
||||||
|
@ -1696,6 +1796,15 @@ Closes https://gitlab.com/gitlab-org/gitlab/-/issues/195960
|
||||||
before { authenticate! }
|
before { authenticate! }
|
||||||
|
|
||||||
resource :suggestions do
|
resource :suggestions do
|
||||||
|
@@ -25,7 +25,7 @@
|
||||||
|
success Entities::Suggestion
|
||||||
|
end
|
||||||
|
params do
|
||||||
|
- requires :ids, type: Array[String], desc: "An array of suggestion ID's"
|
||||||
|
+ requires :ids, type: Array[Integer], coerce_with: ::API::Validations::Types::CommaSeparatedToIntegerArray.coerce, desc: "An array of suggestion ID's"
|
||||||
|
end
|
||||||
|
put 'batch_apply' do
|
||||||
|
ids = params[:ids]
|
||||||
--- a/lib/api/system_hooks.rb
|
--- a/lib/api/system_hooks.rb
|
||||||
+++ b/lib/api/system_hooks.rb
|
+++ b/lib/api/system_hooks.rb
|
||||||
@@ -1,7 +1,7 @@
|
@@ -1,7 +1,7 @@
|
||||||
|
@ -2057,7 +2166,7 @@ Closes https://gitlab.com/gitlab-org/gitlab/-/issues/195960
|
||||||
+end
|
+end
|
||||||
--- a/spec/requests/api/settings_spec.rb
|
--- a/spec/requests/api/settings_spec.rb
|
||||||
+++ b/spec/requests/api/settings_spec.rb
|
+++ b/spec/requests/api/settings_spec.rb
|
||||||
@@ -60,14 +60,14 @@
|
@@ -62,14 +62,14 @@
|
||||||
default_projects_limit: 3,
|
default_projects_limit: 3,
|
||||||
default_project_creation: 2,
|
default_project_creation: 2,
|
||||||
password_authentication_enabled_for_web: false,
|
password_authentication_enabled_for_web: false,
|
||||||
|
@ -2074,6 +2183,26 @@ Closes https://gitlab.com/gitlab-org/gitlab/-/issues/195960
|
||||||
default_artifacts_expire_in: '2 days',
|
default_artifacts_expire_in: '2 days',
|
||||||
help_page_text: 'custom help text',
|
help_page_text: 'custom help text',
|
||||||
help_page_hide_commercial_content: true,
|
help_page_hide_commercial_content: true,
|
||||||
|
@@ -94,7 +94,9 @@
|
||||||
|
issues_create_limit: 300,
|
||||||
|
raw_blob_request_limit: 300,
|
||||||
|
spam_check_endpoint_enabled: true,
|
||||||
|
- spam_check_endpoint_url: 'https://example.com/spam_check'
|
||||||
|
+ spam_check_endpoint_url: 'https://example.com/spam_check',
|
||||||
|
+ disabled_oauth_sign_in_sources: 'unknown',
|
||||||
|
+ import_sources: 'github,bitbucket'
|
||||||
|
}
|
||||||
|
|
||||||
|
expect(response).to have_gitlab_http_status(:ok)
|
||||||
|
@@ -135,6 +137,8 @@
|
||||||
|
expect(json_response['raw_blob_request_limit']).to eq(300)
|
||||||
|
expect(json_response['spam_check_endpoint_enabled']).to be_truthy
|
||||||
|
expect(json_response['spam_check_endpoint_url']).to eq('https://example.com/spam_check')
|
||||||
|
+ expect(json_response['disabled_oauth_sign_in_sources']).to eq([])
|
||||||
|
+ expect(json_response['import_sources']).to match_array(%w(github bitbucket))
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
--- /dev/null
|
--- /dev/null
|
||||||
+++ b/spec/rubocop/cop/api/grape_api_instance_spec.rb
|
+++ b/spec/rubocop/cop/api/grape_api_instance_spec.rb
|
||||||
@@ -0,0 +1,31 @@
|
@@ -0,0 +1,31 @@
|
||||||
|
@ -2186,44 +2315,54 @@ Closes https://gitlab.com/gitlab-org/gitlab/-/issues/195960
|
||||||
resource :projects do
|
resource :projects do
|
||||||
get '/' do
|
get '/' do
|
||||||
FooWorker.perform_async
|
FooWorker.perform_async
|
||||||
--- /dev/null
|
--- a/lib/api/helpers/common_helpers.rb
|
||||||
+++ b/spec/support/shared_examples/requests/api/issuable_update_shared_examples.rb
|
+++ b/lib/api/helpers/common_helpers.rb
|
||||||
@@ -0,0 +1,38 @@
|
@@ -12,6 +12,26 @@
|
||||||
+# frozen_string_literal: true
|
end
|
||||||
|
end
|
||||||
|
end
|
||||||
+
|
+
|
||||||
+RSpec.shared_examples 'issuable update endpoint' do
|
+ # Grape v1.3.3 no longer automatically coerces an Array
|
||||||
+ let(:area) { entity.class.name.underscore.pluralize }
|
+ # type to an empty array if the value is nil.
|
||||||
|
+ def coerce_nil_params_to_array!
|
||||||
|
+ keys_to_coerce = params_with_array_types
|
||||||
+
|
+
|
||||||
+ describe 'PUT /projects/:id/issues/:issue_id' do
|
+ params.each do |key, val|
|
||||||
+ let(:url) { "/projects/#{project.id}/#{area}/#{entity.iid}" }
|
+ params[key] = Array(val) if val.nil? && keys_to_coerce.include?(key)
|
||||||
|
+ end
|
||||||
|
+ end
|
||||||
+
|
+
|
||||||
+ it 'clears labels when labels param is nil' do
|
+ def params_with_array_types
|
||||||
+ put api(url, user), params: { labels: 'label1' }
|
+ options[:route_options][:params].map do |key, val|
|
||||||
+
|
+ param_type = val[:type]
|
||||||
+ expect(response).to have_gitlab_http_status(:ok)
|
+ # Search for parameters with Array types (e.g. "[String]", "[Integer]", etc.)
|
||||||
+ expect(json_response['labels']).to contain_exactly('label1')
|
+ if param_type =~ %r(\[\w*\])
|
||||||
+
|
+ key
|
||||||
+ put api(url, user), params: { labels: nil }
|
+ end
|
||||||
+
|
+ end.compact.to_set
|
||||||
+ expect(response).to have_gitlab_http_status(:ok)
|
+ end
|
||||||
+ json_response = Gitlab::Json.parse(response.body)
|
end
|
||||||
+ expect(json_response['labels']).to be_empty
|
end
|
||||||
+ end
|
end
|
||||||
+
|
--- a/spec/requests/api/applications_spec.rb
|
||||||
+ it 'updates the issuable with labels param as array' do
|
+++ b/spec/requests/api/applications_spec.rb
|
||||||
+ stub_const("Gitlab::QueryLimiting::Transaction::THRESHOLD", 110)
|
@@ -74,14 +74,15 @@
|
||||||
+
|
expect(json_response['error']).to eq('scopes is missing')
|
||||||
+ params = { labels: ['label1', 'label2', 'foo, bar', '&,?'] }
|
end
|
||||||
+
|
|
||||||
+ put api(url, user), params: params
|
- it 'does not allow creating an application with confidential set to nil' do
|
||||||
+
|
+ it 'defaults to creating an application with confidential' do
|
||||||
+ expect(response).to have_gitlab_http_status(:ok)
|
expect do
|
||||||
+ expect(json_response['labels']).to include 'label1'
|
post api('/applications', admin_user), params: { name: 'application_name', redirect_uri: 'http://application.url', scopes: '', confidential: nil }
|
||||||
+ expect(json_response['labels']).to include 'label2'
|
- end.not_to change { Doorkeeper::Application.count }
|
||||||
+ expect(json_response['labels']).to include 'foo'
|
+ end.to change { Doorkeeper::Application.count }.by(1)
|
||||||
+ expect(json_response['labels']).to include 'bar'
|
|
||||||
+ expect(json_response['labels']).to include '&'
|
- expect(response).to have_gitlab_http_status(:bad_request)
|
||||||
+ expect(json_response['labels']).to include '?'
|
+ expect(response).to have_gitlab_http_status(:created)
|
||||||
+ end
|
expect(json_response).to be_a Hash
|
||||||
+ end
|
- expect(json_response['message']['confidential'].first).to eq('is not included in the list')
|
||||||
+end
|
+ expect(json_response['callback_url']).to eq('http://application.url')
|
||||||
|
+ expect(json_response['confidential']).to be true
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue