Ruby:2.3 image contains ruby 2.3.4 was expecting 2.3.0


#1

I need to build with ruby 2.3.0, so I wrote my config.yml like this

 jobs:
  build:
    docker:
      - image: circleci/ruby:2.3

However that image contains ruby 2.3.4. I logged into the container to check:

circleci@ebd07f7af653:~$ ruby --version
ruby 2.3.4p301 (2017-03-30 revision 58214) [x86_64-linux]

Just to be sure I pulled the image and did docker inspect

    [
    {
        "Id": "sha256:af9f9f1bf901d497e87bb1742f8a29680dbf6123362d0eadb8b884430f531b64",
        "RepoTags": [
            "circleci/ruby:2.3"
        ],
        "RepoDigests": [
            "circleci/ruby@sha256:d2afa7eb57c01a52a024f0044c0080097afa3298b5b542b187e6476ff98b9784"
        ],
            *snip*    
            "Env": [
                "PATH=/usr/local/bundle/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin",
                "RUBY_MAJOR=2.3",
                "RUBY_VERSION=2.3.4",
                *snip*

So my build fails with Your Ruby version is 2.3.4, but your Gemfile specified 2.3.0

Is it expected for the 2.3 image to contain ruby-2.3.4? If so, then why is there a different image tagged with 2.3.4?

Should I give up on the docker image and try the machine executor instead?


#2

hey man. how did you fix this? I am having the same issue. Your Ruby version is 2.3.6, but your Gemfile specified 2.3.0


#3

@devrc-trise’s issue was fixed here: Wrong ruby version installed CircleCi 2


#4