Google-api-ruby-client: 0.9.5 breaks CI on ubuntu trusty due to ruby <2

Created on 14 Apr 2016  路  8Comments  路  Source: googleapis/google-api-ruby-client

FYI, the 0.9.5 requirement of ruby >=2 has broken the openstack beaker CI due to the ruby 2 requirement.

triage me bug

All 8 comments

2016-04-14 20:59:10.708 | Installing google-api-client 0.9.5
2016-04-14 20:59:11.033 | 
2016-04-14 20:59:11.033 | Gem::InstallError: google-api-client requires Ruby version ~> 2.0.
2016-04-14 20:59:11.451 | Installing puppetlabs_spec_helper 1.1.1
2016-04-14 20:59:11.527 | An error occurred while installing google-api-client (0.9.5), and Bundler cannot
2016-04-14 20:59:11.527 | continue.
2016-04-14 20:59:11.528 | Make sure that `gem install google-api-client -v '0.9.5'` succeeds before
2016-04-14 20:59:11.528 | bundling.
2016-04-14 20:59:11.634 | Build step 'Execute shell' marked build as failure

bump

The 0.9.x version of the client dropped 1.9.x awhile back, but yes, the enforcement via gemspec is new in 0.9.5.

While I'm game to relax it, I think it points to a problem with openstack pulling in too many dependencies that are actually be used. The client uses 2.0 language features and simply won't work on 1.9.x. It _should_ be failing on 1.9.x, it just fails fast now rather than at runtime.

Actually this is a dependency of the puppetlabs beaker module which is how we go it. We don't even use this module so it just broke things. Things like breaking backwards compatibility should have been a version bump so if any of the 0.9.x was supported under 1.9 then they should all be.

@sqrrrl OpenStack is actually not pulling google-api-ruby-client directly, we pull puppetlabs/beaker so we can run the functional tests.
See https://github.com/puppetlabs/beaker/blob/master/beaker.gemspec#L53

Probably the best option is to ask Puppetlabs to pin google-api-ruby-client to 0.9.4 until we officially support Ruby 2.0 everywhere (note that current Ubuntu LTS - Trusty does not deploy Ruby 2.0, which is the root cause of why we're not deploying Ruby 2.0).

@EmilienM you should probably figure out a way to install ruby 2.3. Ubuntu LTS goes on till 2019, but the Ruby community stopped support of 1.9 last year (https://www.ruby-lang.org/en/news/2015/02/23/support-for-ruby-1-9-3-has-ended/) and 2.0 and 2.1 support ends soonish: https://www.ruby-lang.org/en/news/2016/02/24/support-plan-of-ruby-2-0-0-and-2-1/

Guys you're missing the point. It's about backwards compatibility. No one is saying you can't make the restriction to ruby 2+, but when you do you need to do a major version bump. This new 0.9.5 version basically broke any current CI/deployments using trusty and all the historical ones as well for people installing from source. Just because the community doesn't support 1.9 anymore, doesn't mean a vendor does not. Even if the code was incompatible with 1.9 for some time, that switch should have been part of a 1.x release and not a continuation of 0.9.x. Unless 0.9.x was completely incompatible then this was a major oversight for some time...

Yes, the 0.9.x line has always been incompatible with 1.9.x.

1.9.x supported ended when the library when from 0.8.x to 0.9.x. There was no version of 0.9.x that worked on 1.9.x. The change in 0.9.5 was moving the error from run to install time.

There's a whole separate debate about the 0.8 -> 0.9 change not being backwards compatible. Technically, #4 in semver.org permits breaking changes when major version == 0. Understandably, not everyone locks their version dependencies as tightly as they should. In either case. that ship sailed a long time ago. I'd like to bump the version to 1.0 soon (last big thing is removing Hurley as a dependency and those changes are available in a separate branch) so there is stable API in place that folks can rely on (err, at least as stable as the underlying REST APIs :)

Was this page helpful?
0 / 5 - 0 ratings

Related issues

gregology picture gregology  路  5Comments

majioa picture majioa  路  6Comments

jawadakram20 picture jawadakram20  路  6Comments

penakamaayo picture penakamaayo  路  3Comments

davidraj picture davidraj  路  6Comments