Loomio

Ruby versions

Jonne HaßJonne Haß Thu 19 Dec 2013 9:41PMPublicSeen by 74

Discussion on what Ruby versions to support, recommend and migrate to.

Dennis Schubert

Dennis Schubert
Disagree
Fri 20 Dec 2013 9:55AM

I'd totally vote against it in favour of a easy ruby installation via the systems package manager. But as 2.0 has sooo many improvements, I'd be fine with dropping 1.9.*.

Flaburgan

Flaburgan
Abstain
Fri 20 Dec 2013 11:14AM

In one hand, I don't want diaspora* to be harder to install, in the other hand, if we want to upgrade sidekiq, we kind of have to upgrade to Ruby 2.0. Soooo...

goob

goob
Disagree
Fri 20 Dec 2013 12:21PM

In an ideal world, I'd like to retain support for previous versions; however if it starts to consume unnecessary resources, I'm happy for it to be dropped.

My vote is almost an abstain: I'm happy for the core team to decide when to drop it.

Jason Robinson

Jason Robinson
Abstain
Fri 20 Dec 2013 1:02PM

Happy for the real Ruby knowhow people to decide :)

goob

goob
Abstain
Fri 20 Dec 2013 6:31PM

In an ideal world, I'd like to retain support for previous versions; however if it starts to consume unnecessary resources, I'm happy for it to be dropped.

I'm happy for those who understand Ruby to decide when to drop support for 1.9.3.

fabianrbz

fabianrbz
Agree
Fri 20 Dec 2013 10:29PM

alright, I don't mind supporting 1.9.3 for a while

Florian Staudacher

Florian Staudacher
Disagree
Mon 23 Dec 2013 6:37PM

ideally, we should drop 1.9.3 support, but I think we should at least keep it until we have a few more distros with 2.0 packages

goob

goobFri 20 Dec 2013 10:33AM

What (if any) advantages would there be to dropping support for 1.9.3?

Flaburgan

FlaburganFri 20 Dec 2013 11:11AM

@goob well the problem can be that we want to upgrade Sidekiq, and the Sidekiq team strongly recommand to upgrade to Ruby 2.0 first. So if we still support Ruby 1.9.3, we will have podmins with an old Ruby but the new sidekiq, and we don't know what will be going on...

Jonne Haß

Jonne HaßFri 20 Dec 2013 11:17AM

@goob increased maintenance cost and build times on Travis (if we decide to not drop it here and to run it on travis in the next proposal I'll open).

goob

goobFri 20 Dec 2013 12:18PM

OK thanks, both of you.

Jason Robinson

Jason RobinsonSat 21 Dec 2013 1:15PM

@fabianrbz if you want to support 1.9.3 I think you should disagree, not agree? ;)

fabianrbz

fabianrbzSat 21 Dec 2013 1:16PM

@jasonrobinson, actually I don't, but I'm ok with supporting it for a while

Jonne Haß

Run builds for Ruby 1.9.3 on Travis

proposal by Jonne Haß Closed Thu 2 Jan 2014 9:00PM

Outcome
by Jonne Haß Tue 25 Apr 2017 5:15AM

We keep running builds for Ruby 1.9.3 on Travis

Since we still want to support Ruby 1.9.3, we also shold invest the time on Travis for running builds on it.

Results

ResultsOptionVotes% of votes cast% of eligible voters
Agree2294Tom ScottFlaburgan
Abstain4578Florian StaudacherJonne HaßgoobDennis Schubert
Disagree1142fabianrbz
Block000 
Undecided4687Sean Tilleymaxwell salzbergAlex AndrewsSleepyDaddySoftwareChris BlountHans FaseBilly O'ConnorDevendra MahraGiuseppe CALAMITAJeremy HuffmanJason RobinsonmovillaErwan Guyadergroovehunteradri xadorPirate PraveenBrent BartletttortoiseDave YinglingSteven Hancock

7 of 53 votes cast (13% participation)

Jonne Haß

Jonne Haß
Abstain
Sun 29 Dec 2013 1:52PM

The differences between 2.0.0 and 1.9.3 aren't that big, though on the other hand we might not notice if we break backwards compatibility.

Flaburgan

Flaburgan
Agree
Sun 29 Dec 2013 6:50PM

If we support it, it's kind of obvious we need to test it. We will remove it from travis the same time we will stop supporting it.

goob

goob
Abstain
Sun 29 Dec 2013 8:16PM

Totally happy for the experts to decide. It sounds better to continue testing, but if there are serious performance implications, might have to drop it.

fabianrbz

fabianrbz
Disagree
Mon 30 Dec 2013 3:47PM

the differences aren't that big and the cost of running our test suite in 1.9.3 and 2.0 are too high in my opinion... I know we want to have backward compatibility, but I think if something breaks we will know it via github...

Dennis Schubert

Dennis Schubert
Abstain
Wed 1 Jan 2014 9:32PM

I'd totally vote against it in favour of a easy ruby installation via the systems package manager. But as 2.0 has sooo many improvements, I'd be fine with dropping 1.9.*.

Florian Staudacher

Florian Staudacher
Abstain
Thu 2 Jan 2014 2:37AM

no strong feelings either way ... yes, we should keep CI for a version we continue to support, but yes, we should also try not to overstress Travis' resources we're gladly using for free

Tom Scott

Tom Scott
Agree
Thu 2 Jan 2014 3:04PM

i know it's going to make our test suite run twice as long but imho that's a small price to pay for avoiding regression. until we can prove without ANY doubt that it is a waste of time, we shouldn't remove it.

Jason Robinson

Jason RobinsonSun 29 Dec 2013 3:54PM

Hmm so we would run a separate build for 1.9.3? What does this mean in practice? Longer test runs I assume?

Jason Robinson

Jason RobinsonMon 30 Dec 2013 4:07PM

Anyone want to give light into the actual how running both will reflect the test running? :)

Jonne Haß

Jonne HaßThu 2 Jan 2014 11:32AM

@dennisschubert it's reading the proposal time again ;)

Dennis Schubert

Dennis SchubertFri 3 Jan 2014 9:19AM

@jonnehass actually, no. while the text is a bit edgy in this case, the argument is still totally valid. ;)

Jonne Haß

Drop Ruby 1.9 support, adopt Ruby 2.1 support

proposal by Jonne Haß Closed Sat 30 Aug 2014 9:58PM

Outcome
by Jonne Haß Tue 25 Apr 2017 5:15AM

The proposal was accepted.

Ruby 2.2 is on the door, major Ruby libraries start to drop support for Ruby 1.9. Let's make maintenance easier and drop Ruby 1.9 support and move forward to Ruby 2.1.

Support for Ruby 2.0 will be kept for now.

What changed?

Ubuntu has Ruby 2.0 since Saucy.
Debian will have Ruby 2.1 in Jessie.
Fedora has Ruby 2.0 since 19.
CentOS has Ruby 2.0 since 7.

Results

ResultsOptionVotes% of votes cast% of eligible voters
Agree1010018Sean TilleyFlorian StaudacherJonne HaßJason RobinsonFlaburganErwan GuyadergoobDennis SchubertSteffen van BergeremDeleted User
Abstain000 
Disagree000 
Block000 
Undecided4582maxwell salzbergTom ScottAlex AndrewsSleepyDaddySoftwareChris BlountHans FaseBilly O'ConnorDevendra MahraGiuseppe CALAMITAJeremy Huffmanmovillagroovehunteradri xadorPirate PraveenBrent BartletttortoiseDave YinglingSteven HancockRasmus FuhseDavid Morley

10 of 55 votes cast (18% participation)

goob

goob
Agree
Mon 25 Aug 2014 10:21AM

It looks as though now is a good time to do this.

Sean Tilley

Sean Tilley
Agree
Wed 27 Aug 2014 9:24PM

Do it!

Florian Staudacher

Florian StaudacherSun 24 Aug 2014 11:55PM

... will also decrease our travis build time somewhat

Flaburgan

FlaburganMon 25 Aug 2014 10:43AM

@florianstaudacher well if we introduce 2.1 instead of 1.9, this is unlikely, isn't it?

Jonne Haß

Jonne HaßMon 25 Aug 2014 10:49AM

2.1 is faster than 1.9 and 2.0. Compare build times between 2.0 and 1.9 on Travis.

Jason Robinson

Jason RobinsonWed 27 Aug 2014 6:12AM

If they keep erroring we should just bite it and drop 2.0 once we move to 2.1 - imho.

Jason Robinson

Drop previous Ruby from the Travis builds

proposal by Jason Robinson Closed Sat 8 Nov 2014 1:43AM

Outcome
by Jason Robinson Tue 25 Apr 2017 5:15AM

Closed proposal early with no result

Unfortunately Travis builds are way too often still ending up in error. Our builds, doing both 2.1 and 2.0 for all tests, take up to or more than 4 hours - and at that time Travis kills the switch.

I'm under the feeling we're not only getting bad automatic testing by trying to build too much, but also abusing the free service from the Travis guys.

My proposal is to stop building for 2.0 in development, since there the recommended version is 2.1. The .travis.yml ruby versions should match the ruby version of .ruby-version - and only that.

Vote;

  • YES - agree to build only for current recommended ruby version (per branch built)
  • NO - keep as is, eg build for two ruby versions

Results

ResultsOptionVotes% of votes cast% of eligible voters
Agree1332Jason Robinson
Abstain2674Jonne HaßFaldrian
Disagree000 
Block000 
Undecided5094Sean TilleyFlorian Staudachermaxwell salzbergTom ScottAlex AndrewsSleepyDaddySoftwareChris BlountHans FaseBilly O'ConnorDevendra MahraGiuseppe CALAMITAJeremy HuffmanFlaburganmovillaErwan Guyadergroovehunteradri xadorPirate PraveenBrent Bartletttortoise

3 of 53 votes cast (5% participation)

Faldrian

Faldrian
Agree
Fri 7 Nov 2014 10:56PM

Less trouble in restarting failed validation. Also nicer for the travis guys.

Jonne Haß

Jonne Haß
Abstain
Fri 7 Nov 2014 11:13PM

I would prefer CI for all supported versions. Afaik the limitation is 50 minutes per job, not 4 hours per build. And Travis is a well established company by now, we're not abusing anything. Though I won't oppose shorter build times.

Faldrian

Faldrian
Abstain
Fri 7 Nov 2014 11:34PM

I would like less timeouts / build errors, but I can't say if this will help.

Jason Robinson

Jason RobinsonFri 7 Nov 2014 11:27PM

Ah! Should have looked around a bit - indeed it is 50 minutes per build.

So dropping rubies will not stop errors completely, though it might make them less frequent.

I guess the real solution would be to break the test suites into smaller parts?

Jonne Haß

Jonne HaßSat 8 Nov 2014 12:18AM

The real solution is to make our testsuite faster. For the cucumber that means looking into converting some cukes to jasmine/rspec tests, looking into if we can speedup database_cleaner which runs after every scenario and looking into whether alternate capybara drivers like poltergeist would speed things up. For rspec this means looking into creating less objects in the database where possible (using doubles and FactoryGirl.build over FactoryGirl.create where possible). We also could verify if we actually need all gems we install on Travis for the tests to run.

Jason Robinson

Jason RobinsonSat 8 Nov 2014 1:45AM

Anyway, the proposal was stupid, since I misunderstood the problem. So closing it.

Thanks for clarifying.

Dumitru Ursu

Dumitru UrsuTue 6 Jan 2015 10:09AM

On ruby 2.2 the RSpec suite runs in 5 minutes on my core i5-540M (which is still slow, if you ask me). The only problem is eventmachine, you have to upgrade it.

Dumitru Ursu

Dumitru UrsuTue 6 Jan 2015 10:13AM

@jhass using factory girl objects (and stubbing those out) instead of fixtures would bring very tangible speedups to the test suite. Also, as a last resort, we can use parallel_tests: probably most of us have multicore machines.

Jonne Haß

Jonne HaßTue 6 Jan 2015 11:00AM

Yeah sure, we also recently cut down our cucumber suite run by a lot, by eliminating all the slow finders, there's a lot of room for optimization in the testsuite ;) We had parallel_tests once, but I don't remember the reason of why it got dumped. As for CI that would bring no benefit since Travis containers only get 1.5 CPUs. Anyway, any patches that make stuff faster are very welcome!

Jonne Haß

Drop Ruby 2.0 support, adopt Ruby 2.2 support

proposal by Jonne Haß Closed Mon 27 Apr 2015 8:05PM

Outcome
by Jonne Haß Tue 25 Apr 2017 5:15AM

No objections, accepted. The next major version will implement these changes.

  • Official security maintenance for Ruby 2.0 will end February 24 2016.
  • Rails 5 will support Ruby 2.2 only.
  • Ruby 2.1 and 2.2 have largely improved garbage collection over Ruby 2.0.
  • Ruby 2.1 added required keyword arguments which can't be used as a useful tool towards more correct code when supporting Ruby 2.0

Results

ResultsOptionVotes% of votes cast% of eligible voters
Agree108317Florian StaudacherJonne HaßJason RobinsonFlaburganDennis SchubertSteffen van BergeremSuperTux88ajRichDeleted User
Abstain2173FaldrianMaciek Łoziński
Disagree000 
Block000 
Undecided4679Sean Tilleymaxwell salzbergTom ScottAlex AndrewsSleepyDaddySoftwareChris BlountHans FaseBilly O'ConnorDevendra MahraGiuseppe CALAMITAJeremy HuffmanmovillaErwan Guyadergroovehunteradri xadorPirate PraveenBrent BartletttortoiseDave YinglingSteven Hancock

12 of 58 votes cast (20% participation)

Dennis Schubert

Dennis Schubert
Agree
Tue 21 Apr 2015 8:15PM

no objections

Faldrian

Faldrian
Abstain
Tue 21 Apr 2015 9:06PM

have no productive pod, but seems reasonable :)

aj

aj
Agree
Sat 25 Apr 2015 12:14PM

easy enough for us podmins using RVM to handle and i think most of the shared hostings will run ruby 2.1 now