[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Major gem package versions [Was: Re: RFS: ruby-aws-sdk]



On 08/01/2020 10:20, Pirate Praveen wrote:
> On ബു, Jan 8, 2020 at 10:00, Matijs van Zuijlen <matijs@matijs.net> wrote:
>> On 07/01/2020 20:49, Pirate Praveen wrote:
>>>
>>>
>>>  On ബു, Jan 8, 2020 at 01:16, Pirate Praveen <praveen@onenetbeyond.org>
>>>  wrote:
>>>>  ruby-aws-sdk 2 -> 3 is huge change.
>>>
>>>  It adds 220 new dependencies for example.
>>>
>>>  https://rubygems.org/gems/aws-sdk-resources
>>>
>>>
>>
>> gitlab should probably only depend on the bits it uses.
> 
> Yes, it is already requested to update to ruby-aws-sdk v3.
> https://gitlab.com/gitlab-org/gitlab/issues/37931

That is good to hear!

> What I'm opposed to is assuming a major update don't break things
> without actually testing reverse dependencies. And some people
> portraying time to test compatibility as blocking progress. Was any
> update indefinitely blocked by gitlab maintainers till now?
> 
> If we start doing the same with all the gitlab dependncies (upload major
> versions without testing reverse dependencies), that will not be pretty
> for the team. And it is totally demotivating to show gitlab package only
> as a blocker without considering the huge amount of work we do to
> maintain a lot of libraries (not just ruby, but even core build tools
> like webpack. and rollup for node). We updated rails to version 5 even
> when gitlab was not ready for rails 5 and in that process got gitlab
> removed from testing and backports.

I agree completely.

I think there's a general problem with major updates. For most gems,
these result in breaking changes. For C libraries, these are handled by
creating separate packages that include some number in the name. Would
this provide a solution for Ruby as well? By having, e.g., a
ruby-rails-5 or ruby-rails-5-2 package, and similarly for the present
case a ruby-aws-sdk-2 and ruby-aws-sdk-3 package.

(Another example where the current system is breaking is with cucumber.
Cucumber 3 can no longer be packaged because it depends on
cucumber-expressions 6, whereas the ruby-cucumber-expressions package
has been updated to version 8 already).

Kind regards,
Matijs

Attachment: signature.asc
Description: OpenPGP digital signature


Reply to: