Skip to content

Update rubygems version on CI for go tests

Patrick Bajao requested to merge pb-update-rubygems-ci into master

In MR (!318 (merged)), I experienced a job failure due to failure to run bundle install. Shows the following error:

$ bundle install
/usr/lib/ruby/2.5.0/rubygems.rb:284:in `find_spec_for_exe': Could not find 'bundler' (1.16.3) required by your /builds/gitlab-org/gitlab-shell/Gemfile.lock. (Gem::GemNotFoundException)
To update to the latest version installed on your system, run `bundle update --bundler`.
To install the missing version, run `gem install bundler:1.16.3`
	from /usr/lib/ruby/2.5.0/rubygems.rb:303:in `activate_bin_path'
	from /usr/local/bin/bundle:23:in `<main>'

According to this doc (https://bundler.io/blog/2019/05/14/solutions-for-cant-find-gem-bundler-with-executable-bundle.html), they need Rubygems 2.7.10 or 3.04 (or higher). golang:1.11 and golang:1.12 images have Rubygems 2.7.6.2.

To fix this, a step to run gem update --system has been added for go jobs. Also, rake has been updated so bundle install can successfully run. It can't because a gem called rainbow (dependency of rubocop) fails to install and rake is its dependency.

Merge request reports