mirror of
https://github.com/ruby/setup-ruby.git
synced 2026-09-13 22:44:20 +02:00
Use latest Bundler on CRuby 2.6 and 2.7 as their default Bundler is too old
This commit is contained in:
+10
-4
@@ -68,11 +68,19 @@ export async function installBundler(bundlerVersionInput, rubygemsInputSet, lock
|
||||
}
|
||||
}
|
||||
|
||||
const floatVersion = common.floatVersion(rubyVersion)
|
||||
|
||||
if (bundlerVersion === 'default') {
|
||||
if (common.isBundler2Default(engine, rubyVersion)) {
|
||||
if (engine === 'ruby' && floatVersion < 3.0 && common.hasBundlerDefaultGem(engine, rubyVersion)) {
|
||||
// Ruby 2.6 and 2.7 have a old Bundler default gem which does not work well for `gem 'foo', github: 'foo/foo'`:
|
||||
// https://github.com/ruby/setup-ruby/issues/358#issuecomment-1195899304
|
||||
// Also, Ruby 2.6 would get Bundler 1 yet Ruby 2.3 - 2.5 get latest Bundler 2 which might be unexpected.
|
||||
console.log(`Using latest Bundler for ${engine}-${rubyVersion} because the default Bundler gem is too old for that Ruby version`)
|
||||
bundlerVersion = 'latest'
|
||||
} else if (common.isBundler2Default(engine, rubyVersion)) {
|
||||
console.log(`Using Bundler 2 shipped with ${engine}-${rubyVersion}`)
|
||||
return '2'
|
||||
} else if (common.isBundler1Default(engine, rubyVersion)) {
|
||||
} else if (common.isBundler1Default(engine, rubyVersion) && engine !== 'ruby') {
|
||||
console.log(`Using Bundler 1 shipped with ${engine}-${rubyVersion}`)
|
||||
return '1'
|
||||
} else {
|
||||
@@ -90,8 +98,6 @@ export async function installBundler(bundlerVersionInput, rubygemsInputSet, lock
|
||||
throw new Error(`Cannot parse bundler input: ${bundlerVersion}`)
|
||||
}
|
||||
|
||||
const floatVersion = common.floatVersion(rubyVersion)
|
||||
|
||||
// Use Bundler 1 when we know Bundler 2 does not work
|
||||
if (bundlerVersion.startsWith('2')) {
|
||||
if (engine === 'ruby' && floatVersion <= 2.2) {
|
||||
|
||||
Reference in New Issue
Block a user