rails / devcontainer

MIT License
63 stars 19 forks source link

Rationale for removing Ruby Devcontainer Builds? #31

Closed chtzvt closed 6 months ago

chtzvt commented 6 months ago

I have several Rails projects on versions below 7.2, which consume the devcontainer image ghcr.io/rails/devcontainer/images/ruby:3.2.2.

As of https://github.com/rails/devcontainer/commit/ff482df23e0b9036e40793493c6438a1e09f3d3e, the build for Ruby 3.2.2, along with many other Ruby versions, has been removed.

The commit message outlines the rationale:

For Rails 7.2, we will only support the latest patch version of the supported minor Ruby versions.

While it is understandable to limit supported Ruby versions for specific versions of the framework, the removal of these devcontainer images seems abrupt. It's not clear to me why Rails 7.2's Ruby compatibility necessitates the removal of existing older builds, or ceasing the production of those builds altogether.

I don't mind bumping my team's Ruby versions personally, but out of consideration for projects outside of Rails core/Rails 7.2 who may be consuming older images, it'd be beneficial to retain support. After all, those teams may have applications tied to Ruby versions outside those specifically compatible with Rails 7.2.

Unless it is particularly burdensome to continue producing builds for these Ruby versions, is there a strong opposition to restoring them? If not, what is the best channel for dependents to stay informed about when image versions will be deprecated going forward?

Lastly, I'd like to extend my thanks for creating and maintaining these images. They've been an excellent resource, greatly benefiting my team for use on developer machines, Codespaces, and so on ❤️

andrewn617 commented 6 months ago

Hi @chtzvt thank you for the report. Our apologies about the images being pulled. There was an issue and we need to republish them - it is still in progress but 1.0.0-3.2.2 is now republished and should be available again.

But yes, going forward, and starting with 1.0.1, to just maintain images for the latest patch versions support by Rails. Since this image is maintained by Rails for use with Rails apps, we will support the versions of Ruby supported by Rails.

However, the ruby feature can be used to build an image with any ruby version currently support by ruby-build. Teams can also use the CI step maintained by the devcontainer org to host their own images on ghcr.