Bug #21931
openarvados-cli compatibility issues with ruby 2.7 because of indirect dependency
Description
On June 21st the addressable
v2.8.7 gem was released. This new version requests public_suffix v6.0.0
that is not compatible with ruby 2.7.
The addressable
gem is required by arvados-google-api-client
, which is an arvados-cli
direct dependency.
Updated by Brett Smith 7 days ago
Lucas Di Pentima wrote:
More specifically:On June 21st the
addressable
v2.8.7 gem was released. This new version requestspublic_suffix v6.0.0
that is not compatible with ruby 2.7.
- addressable 2.8.6 depends on
public_suffix >= 2.0.2, < 6.0
- addressable 2.8.7 depends on
public_suffix >= 2.0.2, < 7.0
It is still completely possible to install the gem on Ruby 2.7. The problem is that the gem install
resolver only considers using the most recent version of everything, and pushes any more sophisticated resolution off to the user (hence the message telling you to say the version you want yourself).
Updated by Lucas Di Pentima 7 days ago
Brett Smith wrote in #note-1:
It is still completely possible to install the gem on Ruby 2.7. The problem is that the
gem install
resolver only considers using the most recent version of everything, and pushes any more sophisticated resolution off to the user (hence the message telling you to say the version you want yourself).
Right, so in this particular case we could just fix the arvados-fomula
by making it explicitly request the correct addressable
gem version for arvados-cli
and arvados-login-sync
at least. Other packages requiring the arvados-google-api-client
may also need some tweaking.
Updated by Brett Smith 7 days ago
It would be better to pin public_suffix
, since that's the gem that's actually incompatible with Ruby 2.7.
Doing this in arvados-formula
would address the specific failure of test-provision-ubuntu2004
. However, I believe in the past we have done pins like this directly in the source Gemfile
or similar, because we have other things in our development stack that similarly run gem install arvados-cli
. It's not ideal but putting the limit in the Gemfile
means we only have to solve the problem once, vs. teaching each install process how to pin the specific versions it needs.
Updated by Brett Smith about 10 hours ago
- Assigned To changed from Lucas Di Pentima to Brett Smith
Updated by Brett Smith about 5 hours ago
Discussed the plan with Tom in Matrix ahead of time and got sign-off. Given that, the implementation is too simple to review. But for posterity: 21931-public-suffix-pin @ 2f4fb1522c89c29a94854bf9f26fb6d13959f2d4
build-packages-multijob: #4284
test-provision: #913 - test-provision is still failing because it uses the published gem. build-packages shows that we got past the problem generally, so I expect this to succeed after we publish a new version of arvados-google-api-client.