rake-compiler / rake-compiler-dock

Easy to use and reliable cross compiler environment for building Windows, Linux, Mac and JRuby binary gems.
MIT License
78 stars 30 forks source link

Ruby version support policy #77

Open ianks opened 2 years ago

ianks commented 2 years ago

Currently, RCD supports all the way down to Ruby 2.4 which has been EOL for almost 3 years.

Not only is there a maintenance burden from supporting more versions, it makes certain refactors harder to do.

I propose come up with a policy for which Ruby versions RCD will support, and how that will affect RCDs semver. The obvious proposal would be to support stable rubies (as of now 2.7+), and release a major version of RCD whenever a Ruby version is EOL.

We can also adjust this scheme to make migration easier — i.e. support the most recent EOL Ruby version (as of now 2.6) via opt-in if it’s included in RUBY_CC_VERSION.

The goal here is to agree on a support policy going forward, since it’s untenable to support all rubies forever.

Thoughts?

flavorjones commented 2 years ago

Wearing my Nokogiri maintainer hat, I try to support the 4 most recent Ruby minors at any time. A policy like this would be fine for me, but I think we should solicit more opinions from other users before committing to anything.

copiousfreetime commented 2 years ago

I have amalgalite - which doesn't have a lot of usage, but its still there (and yes, it needs a new release). I think supporting the most recent EOL version (either as an extra commandline, or by default) and all minors going forward with a major version release of RCD after each EOL sounds like a reasonable policy.

larskanis commented 2 years ago

RCD is meant to support the release process of other gems with possibly a longer support time frame. That's why I tried to support 2 or 3 EOL releases as long as there is no relevant maintenance burden. And that wasn't the case so far. It only took a little bit more building time on my end and approx 25 MByte per release uncompressed.