[API] [Workbench] Ruby 2.2 or 2.3 compatibility
- eventmachine 1.0.3 is incompatible with ruby 2.2. "bundle update eventmachine" puts it at 1.0.7 which seems to work fine.
- minitest and test-unit are included/integrated in ruby 2.1, not in 2.2. Add
gem 'minitest'to Gemfiles.
- workbench → angular → needs phantomjs >= 2; update Hacking prerequisites to https://bitbucket.org/ariya/phantomjs/downloads/phantomjs-2.1.1-linux-x86_64.tar.bz2 and add a version check in run-tests.sh
#4 Updated by Javier Bértoli over 4 years ago
- Priority changed from Normal to High
Ruby 2.1.x is getting to its EOL
In security maintenance phase (will EOL soon!): Ruby 2.1.10
So we better begin moving forward. Given that ruby 2.4.0rc is out there, I'd suggest we move to, at least, 2.3.1
#10 Updated by Tom Clegg over 4 years ago
I would rather stick with Minitest, but I timed out trying to make it work with Rails3+Ruby2.3 -- switching (temporarily?) to test-unit was easier.
#15 Updated by Tom Morris over 4 years ago
Just to clarify Note4, while Ruby 2.1 is in security maintenance phase, no EOL has been announced. I suspect the official EOL date will be announced at Christmas when Ruby 2.4 is released and that it will be no earlier than March 1, 2017 and more likely June, 2017.
Still, even though the deadline isn't imminent, it'd be good to get this closed out so we can move on to the more valuable updating of Rails for the API server. This on its third sprint.
#17 Updated by Lucas Di Pentima over 4 years ago
Changes at: b9e5c8b32858338850da3e12ce27570b828898b3
Couldn't make minitest execute the tests, so I deleted it leaving test-unit to do the work.
Fixes in several tests and other parts of the code following ruby warning messages.
Fixed the container reuse tests.
#18 Updated by Tom Clegg over 4 years ago
LGTM @ b9e5c8b
There is one Workbench test that fails for me on ruby2.3.1 but still passes on 2.1.10. I assume we'll need to sort that out before recommending Ruby 2.3, but I don't see why that should prevent us from merging the rest of the fixes in the meantime.
$ echo 2.3.1 >.ruby-version $ ruby -v ruby 2.3.1p112 (2016-04-26 revision 54768) [x86_64-linux] $ time WORKSPACE=`pwd` ./build/run-tests.sh --temp `pwd`/tmp --retry --only-install x --only apps/workbench apps/workbench_test=TESTOPTS=-n=/visit.dashboard.as.admin/ ... 1) Error: ApplicationLayoutTest#test_visit_dashboard_as_admin: Capybara::ExpectationNotMet: expected to find text "pipeline_with_job" in "pipeline_1 Failed 2:04 PM 01/12/2016 Active for 0m0s No output zzzzz-d1hrv-subprojpipeline Not started Started at 2:03 PM 01/12/2016. Active for 1m. zzzzz-d1hrv-f4gneyn6br1xize Not started Started at 2:03 PM 01/12/2016. Active for 1m. pipeline_1 Not started Started at 2:03 PM 01/12/2016. Active for 1m. uncommitted Uncommitted Started at 2:02 PM 01/12/2016. Active for 2m. running Started at 2:03 PM 01/12/2016. Active for 1m. requester_for_running_cr queued Queued Started at 2:02 PM 01/12/2016. Active for 2m. completed container request Complete 6:12 AM 12/01/2016 Active for 1d1m 1f4b0bc7583c2a7f9102c395f4ffc5e3+45 pipeline_2 Not started Started at 2:02 PM 01/12/2016. Active for 2m. zzzzz-d1hrv-twodonepipeline Complete 2:03 PM 01/12/2016 Active for 1m No output zzzzz-d1hrv-jq16l10gcsnyumo Ready Started at 2:01 PM 01/12/2016. Active for 3m. running_with_job Started at 2:01 PM 01/12/2016. Active for 3m." test/integration/application_layout_test.rb:259:in `block (3 levels) in <class:ApplicationLayoutTest>' test/integration/application_layout_test.rb:258:in `block (2 levels) in <class:ApplicationLayoutTest>' test/test_helper.rb:299:in `run'