While this doesn’t prevent a build, as of Bundler 1.11 (I think, but certainly as of the most recent version 1.12.x), the version pinning syntax is allowed in the ruby statement of the Gemfile. Example:
ruby '~> 2.3.0', :engine => 'ruby', :engine_version => '~> 2.3.0'
Updating bundler in machine -> post handles any errors, but we still have to manually specify the most recent ruby 2.3.x in machine -> ruby -> version since CircleCI doesn’t auto-detect the ruby version properly, giving the following error message:
Unknown ruby interpreter version (do not know how to handle): ~>2.3.0,:engine=>ruby,:engine_version=>~>2.3.0.