Skip to content

Add Ruby 4, truffle ruby and jruby to build#167

Merged
njh merged 2 commits into
njh:mainfrom
iainbeeston:patch-1
May 8, 2026
Merged

Add Ruby 4, truffle ruby and jruby to build#167
njh merged 2 commits into
njh:mainfrom
iainbeeston:patch-1

Conversation

@iainbeeston

@iainbeeston iainbeeston commented Apr 5, 2026

Copy link
Copy Markdown
Contributor

It would be nice to be sure that mqtt works with high performance runtimes like jruby and truffleruby. If there are any test failures I’ll look at fixing those up.

I’ve also replaced Ruby 3.5 with Ruby 4.0 as Ruby 3.5 was renamed to 4.0

@njh

njh commented Apr 5, 2026

Copy link
Copy Markdown
Owner

Looks like truffleruby works but jruby needs some fixes.

@iainbeeston

Copy link
Copy Markdown
Contributor Author

@njh I've added another commit to fix the tests. Jruby had some issues with the test suite (so I've fixed that up) but the runtime code works perfectly.

@njh

njh commented Apr 8, 2026

Copy link
Copy Markdown
Owner

Thank you for doing this; looks like something is still failing though.

@njh

njh commented May 8, 2026

Copy link
Copy Markdown
Owner

Truffleruby:

expected IO::TimeoutError, got #<Errno::ETIMEDOUT: Connection timed out - user specified timeout>

There was only one issue with the test suite, that on jruby TCPServer.new cannot be given a nil port, it must be an integer. However passing 0 should have the same effect on both cruby and jruby.
@njh njh merged commit db29b48 into njh:main May 8, 2026
13 checks passed
@iainbeeston

Copy link
Copy Markdown
Contributor Author

Unfortunately new releases of truffleruby and jruby seem to break things, but I've pinned down the versions and that has helped.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants