-
Notifications
You must be signed in to change notification settings - Fork 1.1k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Run specs also on TruffleRuby on Travis CI #1576
Conversation
Thanks for the patch! This seems fine for me if it helps out TruffleRuby and doesn't put too much load on Travis. I'll merge this and see how long the TruffleRuby job takes. |
@jeremyevans the biggest issue is recently with Bundler when |
The TruffleRuby job takes 18 minutes (compared to 2-3 minutes for MRI and about 5 minutes for JRuby), and doesn't even run any specs as it fails to install nokogiri. To save time on Travis, I'm going to revert this change. Please resubmit after the nokogiri issue has been addressed. |
@jeremyevans interesting. In my case, I can install Nokogiri and use under TruffleRuby. But I use macOS personally.
I can't see Sequel's Travis would be publicly accessible. Is it possible to share the Nokogiri installation issue? I could report it. |
Sequel's Travis output is publicly accessible: https://travis-ci.org/jeremyevans/sequel/jobs/460952287 |
Yes sorry it's slow to install gems at the moment - we're working on it. |
For the |
@MaxLap I'm counting to add this (I hope @jeremyevans is not against it) in the next PR when @jeremyevans Will you be OK when running specs would be around 4 - 8 minutes? |
@deepj Yes, 4-8 minutes is fine. |
Just as a note, Bundler tries to install nokogiri 3 times in that log, because the default TravisCI |
@jeremyevans I've tried newer RC10 and Bundler is still quite slow but everything is okay except one thing. One spec
It throws Any idea why it happens? I thing the problem is in TruffleRuby's BigDecimal implementation but I'm not sure how to debug it under MRI or TruffleRuby. See what everything is called. |
I agree it looks like an issue in TruffleRuby. Sequel uses Ruby's coercion protocol for such things: https://github.com/jeremyevans/sequel/blob/master/lib/sequel/sql.rb#L787. Is TruffleRuby's BigDecimal implementation not calling |
@jeremyevans yes, it's caused by that. @janko-m was faster to make a reproducible example oracle/truffleruby#1507 (comment) After fixing this, Sequel's specs would pass on TruffleRuby (including |
@jeremyevans Hello Jeremy, it is possible to try it again in Travis CI? From the last, several things have been improved (cc: @eregon) including some things around TruffleRuby and Travis CI. But still, Bundler and RubyGems are not so quick. There is a chance, the time has been reduced. Recently, only one test failing due to this oracle/truffleruby#1598
|
Sure, I can enable it again and see how it goes. It still appears to be 4x longer than JRuby and over 15x longer than CRuby for the core spec. |
Thanks. Is the duration of running specs in TruffleRuby acceptable for you? I believe it will be improving over time and even in RC14 all specs will pass as well. I tried hard to report everything around sequel/sequel_pg to be able to run in TruffleRuby :) |
@deepj At a little over 8 minutes, it isn't too bad. The core spec is one of the faster ones, though. I am certainly excited to see TruffleRuby getting mature enough to run all of Sequel. I look forward to benchmarks. |
@jeremyevans Good! Anyway, the last problem was solved by oracle/truffleruby#1598 so Sequel specs would pass in RC14! |
TruffleRuby works on Travis finally. travis-ci/travis-build#1604 It always installs the latest version of TruffleRuby.
Sequel specs don't pass now. One of the reasons why not passing
Object#clone(freeze)
is not supported yet but the fix is coming soon in the next release oracle/truffleruby#1454I believe running specs on TruffleRuby would help its developers