ruby-concurrency / concurrent-ruby

Modern concurrency tools including agents, futures, promises, thread pools, supervisors, and more. Inspired by Erlang, Clojure, Scala, Go, Java, JavaScript, and classic concurrency patterns.
https://ruby-concurrency.github.io/concurrent-ruby/
Other
5.68k stars 418 forks source link

Improve TruffleRuby compatibility #943

Closed chrisseaton closed 2 years ago

eregon commented 2 years ago

From the look of some failures on https://github.com/ruby-concurrency/concurrent-ruby/pull/943 some seem due to kwargs handling, so I'll get that work merged in truffleruby and then look at this again.

eregon commented 2 years ago

The kwargs-related failures were due to incorrect delegation in concurrent-ruby (incorrect on Ruby 2.7 and on TruffleRuby 22.0). They are fixed now.

chrisseaton commented 2 years ago

GitHub is back up, still some CI failures. I want to release tomorrow if I can. What do you think?

eregon commented 2 years ago

I pushed what I had locally now that GitHub works.

In any case, feel free to release, I think concurrent-ruby works fine on truffleruby (and not worse than before). Regarding #931 I'll take a look to improve the test, but I don't think it's a release blocker either.

eregon commented 2 years ago

All green, I'm merging.

If there are new flaky test runs we can skip tests like in e4b4ff2, or if it's not specific tests then temporarily remove it from the push/PR CI (it's already run daily anyway) + open issue to investigate them.