Gitlab 13.6 and later are no longer compatible with Ruby 2.6
Summary
Gitlab 13.6 and later are no longer compatible with Ruby 2.6 - despite the documentation saying it is supported.
Steps to reproduce
- Deploy a Gitlab CE setup using Ruby 2.6 as a from source install, starting at 13.5.
- Attempt to upgrade to Gitlab 13.6, upgrade steps will complete successfully
- Try to start Gitlab, note that Sidekiq and Puma both fail to start - and if Puma does succeed, it cannot successfully serve any requests
Example Project
Not relevant
What is the current bug behavior?
Gitlab is completely broken when trying to run with Ruby 2.6.
What is the expected correct behavior?
Gitlab can run with Ruby 2.6.
Relevant logs and/or screenshots
ArgumentError (wrong number of arguments (given 1, expected 0)):
/home/git/gitlab/app/finders/events_finder.rb:35:in `execute'
/home/git/gitlab/app/finders/concerns/finder_with_cross_project_access.rb:37:in `block in execute'
/home/git/gitlab/app/finders/concerns/finder_with_cross_project_access.rb:40:in `execute'
/home/git/gitlab/lib/api/helpers/events_helpers.rb:27:in `find_events'
/home/git/gitlab/lib/api/events.rb:27:in `block (2 levels) in <class:Events>'
/home/git/gitlab/vendor/bundle/ruby/2.6.0/gems/grape-1.4.0/lib/grape/endpoint.rb:59:in `call'
/home/git/gitlab/vendor/bundle/ruby/2.6.0/gems/grape-1.4.0/lib/grape/endpoint.rb:59:in `block (2 levels) in generate_api_method'
/home/git/gitlab/vendor/bundle/ruby/2.6.0/gems/activesupport-6.0.3.3/lib/active_support/notifications.rb:182:in `instrument'
/home/git/gitlab/vendor/bundle/ruby/2.6.0/gems/grape-1.4.0/lib/grape/endpoint.rb:58:in `block in generate_api_method'
/home/git/gitlab/vendor/bundle/ruby/2.6.0/gems/grape-1.4.0/lib/grape/endpoint.rb:341:in `execute'
/home/git/gitlab/vendor/bundle/ruby/2.6.0/gems/grape-1.4.0/lib/grape/endpoint.rb:267:in `block in run'
/home/git/gitlab/vendor/bundle/ruby/2.6.0/gems/activesupport-6.0.3.3/lib/active_support/notifications.rb:180:in `block in instrument'
/home/git/gitlab/vendor/bundle/ruby/2.6.0/gems/activesupport-6.0.3.3/lib/active_support/notifications/instrumenter.rb:24:in `instrument'
/home/git/gitlab/vendor/bundle/ruby/2.6.0/gems/activesupport-6.0.3.3/lib/active_support/notifications.rb:180:in `instrument'
/home/git/gitlab/vendor/bundle/ruby/2.6.0/gems/grape-1.4.0/lib/grape/endpoint.rb:247:in `run'
/home/git/gitlab/vendor/bundle/ruby/2.6.0/gems/grape-1.4.0/lib/grape/endpoint.rb:322:in `block in build_stack'
/home/git/gitlab/vendor/bundle/ruby/2.6.0/gems/grape-1.4.0/lib/grape/middleware/base.rb:35:in `call!'
/home/git/gitlab/vendor/bundle/ruby/2.6.0/gems/grape-1.4.0/lib/grape/middleware/base.rb:28:in `call'
/home/git/gitlab/vendor/bundle/ruby/2.6.0/gems/grape-1.4.0/lib/grape/middleware/base.rb:35:in `call!'
/home/git/gitlab/vendor/bundle/ruby/2.6.0/gems/grape-1.4.0/lib/grape/middleware/base.rb:28:in `call'
/home/git/gitlab/vendor/bundle/ruby/2.6.0/gems/grape-1.4.0/lib/grape/middleware/base.rb:35:in `call!'
/home/git/gitlab/vendor/bundle/ruby/2.6.0/gems/grape-1.4.0/lib/grape/middleware/base.rb:28:in `call'
/home/git/gitlab/lib/api/api_guard.rb:208:in `call'
ArgumentError (wrong number of arguments (given 1, expected 0)):
/home/git/gitlab/app/finders/issuable_finder.rb:100:in `execute'
/home/git/gitlab/app/finders/concerns/finder_with_cross_project_access.rb:37:in `block in execute'
/home/git/gitlab/app/finders/concerns/finder_with_cross_project_access.rb:40:in `execute'
/home/git/gitlab/app/finders/concerns/finder_methods.rb:6:in `find_by!'
/home/git/gitlab/app/finders/concerns/finder_with_cross_project_access.rb:54:in `block in find_by!'
/home/git/gitlab/app/finders/concerns/finder_with_cross_project_access.rb:72:in `skip_cross_project_check'
/home/git/gitlab/app/finders/concerns/finder_with_cross_project_access.rb:54:in `find_by!'
/home/git/gitlab/lib/api/helpers.rb:197:in `find_project_issue'
/home/git/gitlab/lib/api/issues.rb:377:in `block (2 levels) in <class:Issues>'
/home/git/gitlab/vendor/bundle/ruby/2.6.0/gems/grape-1.4.0/lib/grape/endpoint.rb:59:in `call'
/home/git/gitlab/vendor/bundle/ruby/2.6.0/gems/grape-1.4.0/lib/grape/endpoint.rb:59:in `block (2 levels) in generate_api_method'
/home/git/gitlab/vendor/bundle/ruby/2.6.0/gems/activesupport-6.0.3.3/lib/active_support/notifications.rb:182:in `instrument'
/home/git/gitlab/vendor/bundle/ruby/2.6.0/gems/grape-1.4.0/lib/grape/endpoint.rb:58:in `block in generate_api_method'
/home/git/gitlab/vendor/bundle/ruby/2.6.0/gems/grape-1.4.0/lib/grape/endpoint.rb:341:in `execute'
/home/git/gitlab/vendor/bundle/ruby/2.6.0/gems/grape-1.4.0/lib/grape/endpoint.rb:267:in `block in run'
ArgumentError (wrong number of arguments (given 1, expected 0)):
app/finders/issuable_finder.rb:100:in `execute'
app/finders/concerns/finder_with_cross_project_access.rb:37:in `block in execute'
app/finders/concerns/finder_with_cross_project_access.rb:40:in `execute'
app/finders/concerns/finder_methods.rb:6:in `find_by!'
app/finders/concerns/finder_with_cross_project_access.rb:54:in `block in find_by!'
app/finders/concerns/finder_with_cross_project_access.rb:72:in `skip_cross_project_check'
app/finders/concerns/finder_with_cross_project_access.rb:54:in `find_by!'
app/controllers/projects/issue_links_controller.rb:26:in `issue'
app/controllers/projects/issue_links_controller.rb:31:in `list_service'
app/controllers/concerns/issuable_links.rb:23:in `issuables'
app/controllers/concerns/issuable_links.rb:5:in `index'
app/controllers/application_controller.rb:499:in `set_current_admin'
lib/gitlab/session.rb:11:in `with_session'
It should be noted that getting it this far required reverting 7adee358
Output of checks
Not relevant, checks will pass either way.