fog / fog-core

fog's core, shared behaviors without API and provider specifics
MIT License
45 stars 95 forks source link

Minimum supported Ruby version #267

Closed lzap closed 3 years ago

lzap commented 3 years ago

Hello,

I would like to improve tests of fog-libvirt, however I see that Ruby 2.0 - 2.7 is in the CI matrix. Fog site says supported Ruby versions are 2.0 or higher. These are no longer supported versions, can you guys confirm what is official?

https://www.ruby-lang.org/en/downloads/branches/

While many of upstream versions are EOL, I think keeping support for old versions is a welcome change. For example, RHEL 7 ships Ruby 2.0 and that OS has 10+ support. On the other hand, there will not be many users with that version, Red Hat provides SCLs in EL7 and application streams in EL8. Maybe Debian can be a good reason.

Anyway, once this is confirmed I am gonna update the test matrix in https://github.com/fog/fog-libvirt/pull/89

ekohl commented 3 years ago

Debian oldstable (Stretch) ships with Ruby 2.3 with Debian stable (Buster) ships with 2.5. I'd at least target 2.3+ but strongly consider 2.5+ given where the rest of the Ruby ecosystem is heading.

lzap commented 3 years ago

Yeah, one more thing to consider is to use the modern Rubocop, it requires Ruby 2.4+ so if we decide to bump the minimum version 2.4+ would be a good option.

ekohl commented 3 years ago

While that's a good point, I'd still recommend going a step further and go for 2.5+. It has a few more syntax updates and both Debian and Ubuntu ship it in stable releases. EL8 also defaults to Ruby 2.5. I'm not aware of platforms with Ruby 2.4.

geemus commented 3 years ago

Yes, I think probably either 2.4+ or 2.5+ makes good sense at this point. I was leaning toward 2.5+ for things (ie in the github actions config for ruby ci: https://github.com/fog/.github/blob/main/workflow-templates/ruby.yml). It's still a work in progress to make that consistent across all the repos though, and I had forgotten about the website version specification.

So, I think moving toward 2.5+ sounds good, and then we would just need to update the various places to match.

geemus commented 3 years ago

I took a quick stab at updating the website to match this (it was just really out of date, rather than really being intentional): https://github.com/fog/fog.github.com/commit/57d766e23166c960dcc66bf4d60c3557230414b8

lzap commented 3 years ago

Great, thanks. I am bumping test matrix and gemspec requirement then: https://github.com/fog/fog/pull/4038