petergoldstein/dalli

Add TruffleRuby to CI?

nirvdrum opened this issue · 2 comments

The changes in #977, released in Dalli 3.2.7, started using a feature of Ruby that released versions of TruffleRuby do not support (the connect_timeout keyword argument in TCPSocket#initialize). This is entirely a compatibility issue on the TruffleRuby side, but it's had the unfortunate effect of breaking applications in a patch update of Dalli. We have a PR open adding the missing support to TruffleRuby, which should make its way into the next release.

Since the usage of connect_timeout is already conditional based on a Ruby version check, this particular problem could be avoided by augmenting the check. I may open a PR for that.

Would the team be open to adding TruffleRuby to the project's CI? Our compatibility with CRuby is quite high, but obviously there are some holes. The team is quite responsive though and I don't anticipate it being a burden for Dalli. I can do the work, but didn't want to open a PR without checking first.

@nirvdrum So I would, provided there's someone on the TruffleRuby side who steps up to be a point of contact for issues. I've seen TruffleRuby issues languish in other repos (although not recently) so I'd want to know "who to call" in case of an issue.

With that commitment I'd be open to adding it to CI on a probationary basis, with the intention that it become permanent if everything works out.

A good start would be a PR that augments the connect_timeout check and then a separate, follow up PR that adds TruffleRuby to CI. Does that sound like a plan?

@petergoldstein I'd certainly respond and I'm sure @eregon would as well. I don't want to blow this issue up, but please send me any languishing issues you've seen. We're pretty responsive to issues we know about.

Your plan sounds good. I've already worked up the changes for the connect_timeout. I'm going through the rest of the suite as well.