Failed to run bundler with gitlab-ci

Replace this template with your information

I got the following ERROR message ALL the time while trying to build pipeline.

...
minitest-5.14.2 requires ruby version < 3.1, >= 2.2, which is incompatible with
the current version, ruby 3.2.2p53

Actually, I’ve ALREADY clearly written:
image: ruby:3.0 in file .gitlab-ci.yml

Wondering if there is a simple way to bypass this ERROR? My current website is at https://gitlab.com/longervision/longervision.gitlab.io . Please can anybody take a look and give me a hand?

Thank you very much…

You can see in the job log that it’s not using that image
Pulling docker image ruby:latest

You need to specify the image in the job or use default instead. image: as global keyword no longer works.

Valid configs:

default:
  image: ruby:3.0

pages:
...

or

pages:
  image: ruby:3.0
...
2 Likes

Thanks @balonik, you are correct.

@jiapei100 Your failing CI jobs are using ruby:latest and not ruby:3.0 - as indicated by Using Docker executor with image ruby:latest in the job logs.

@balonik @gitlab-greg

Thank you very much for your prompt reply… I tried both

default:
  image: ruby:3.0

pages:
...
pages:
  image: ruby:3.0
...

Unfortunately, neither works, with the following ERROR messages:

Running with gitlab-runner 16.1.0~beta.5.gf131a6a2 (f131a6a2)
  on green-1.shared.runners-manager.gitlab.com/default JLgUopmM, system ID: s_b9608e9d087b
  feature flags: FF_USE_IMPROVED_URL_MASKING:true
Preparing the "docker+machine" executor
Using Docker executor with image ruby:latest ...
Pulling docker image ruby:latest ...
Using docker image sha256:afe30b39e9fd27f1259e6c995308cad23cc3270251709f445caec461cb5e2fda for ruby:latest with digest ruby@sha256:af3d9706f951cf10967bd9abff1f7a6c685d78bb82964d725e90738e8e9f54d8 ...
Preparing environment
00:05
Running on runner-jlguopmm-project-18698576-concurrent-0 via runner-jlguopmm-shared-1686865922-c78e5614...
Getting source from Git repository
00:01
Fetching changes with git depth set to 50...
Initialized empty Git repository in /builds/longervision/longervision.gitlab.io/.git/
Created fresh repository.
Checking out 95e44d03 as detached HEAD (ref is master)...
Skipping Git submodules setup
$ git remote set-url origin "${CI_REPOSITORY_URL}"
Executing "step_script" stage of the job script
00:06
Using docker image sha256:afe30b39e9fd27f1259e6c995308cad23cc3270251709f445caec461cb5e2fda for ruby:latest with digest ruby@sha256:af3d9706f951cf10967bd9abff1f7a6c685d78bb82964d725e90738e8e9f54d8 ...
$ gem install bundler
Successfully installed bundler-2.4.14
1 gem installed
$ bundle install
Bundler 2.4.14 is running, but your lockfile was generated with 2.2.22. Installing Bundler 2.2.22 and restarting using that version.
Fetching gem metadata from https://rubygems.org/.
Fetching bundler 2.2.22
Installing bundler 2.2.22
Calling `DidYouMean::SPELL_CHECKERS.merge!(error_name => spell_checker)' has been deprecated. Please call `DidYouMean.correct_error(error_name, spell_checker)' instead.
Fetching gem metadata from https://rubygems.org/
Fetching gem metadata from https://rubygems.org/.........
minitest-5.14.2 requires ruby version < 3.1, >= 2.2, which is incompatible with
the current version, ruby 3.2.2p53
Cleaning up project directory and file based variables
00:00
ERROR: Job failed: exit code 1

Any further suggestions?? Thank you …

@balonik @gitlab-greg

Great …
Finally, succeeded… Thank you very much…

1 Like