Loomio
December 19th, 2013 21:41

Ruby versions

Jonne Haß
Jonne Haß Public Seen by 213

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

Jonne Haß

Jonne Haß started a proposal December 19th, 2013 21:43

Bump recommended Ruby version to 2.0.0 before the next release Closed 10:19am - Friday 20 Dec 2013

Outcome
by Jonne Haß April 25th, 2017 05:15

We're going to bump the recommend Ruby version

Results
Agree - 11
Abstain - 11
Disagree - 11
Block - 11
11 people have voted (19%)
Jonne Haß

Jonne Haß December 19th, 2013 21:43

Upcoming proposals:

  • Drop support for Ruby 1.9.3
  • Run Travis builds for both, Ruby 1.9.3 and 2.0.0
Jonne Haß

Jonne Haß
Agree
December 19th, 2013 21:43

Flaburgan

Flaburgan
Agree
December 19th, 2013 21:44

F

fabianrbz
Agree
December 19th, 2013 21:45

supporting 1.9.3 in travis is fine by me, but I think we should remove that in the release after this one

Dennis Schubert

Dennis Schubert
Abstain
December 19th, 2013 21:47

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.*.

Sean Tilley

Sean Tilley
Agree
December 19th, 2013 21:48

Sean Tilley

Sean Tilley December 19th, 2013 21:51

Hmm...DenSchub makes a good point though.

Erwan Guyader

Erwan Guyader
Agree
December 19th, 2013 22:07

Sean Tilley

Sean Tilley
Agree
December 19th, 2013 22:12

Marek Marecki

Marek Marecki
Agree
December 19th, 2013 22:12

Jonne Haß

Jonne Haß December 19th, 2013 22:13

@dennisschubert this is about supporting 2.0.0 and doing it in the next release. Dropping support for 1.9.3 will be the next proposal.

Dennis Schubert

Dennis Schubert
Agree
December 19th, 2013 22:14

MS

maxwell salzberg
Agree
December 19th, 2013 22:14

Dennis Schubert

Dennis Schubert December 19th, 2013 22:14

@jonnehass crap. excuse me.

C

Carolina
Agree
December 19th, 2013 22:27

Steffen van Bergerem

Steffen van Bergerem
Agree
December 20th, 2013 00:18

Ruxton

Ruxton
Agree
December 20th, 2013 05:00

Jonne Haß

Jonne Haß December 20th, 2013 09:19

Okay, I think that's clear already. Lets move to the more controversial stuff.

Jonne Haß

Jonne Haß started a proposal December 20th, 2013 09:20

Drop support for Ruby 1.9.3 Closed 10:01pm - Monday 23 Dec 2013

Outcome
by Jonne Haß April 25th, 2017 05:15

We keep support for Ruby 1.9.3 - at least for a while.

Results
Agree - 1
Abstain - 1
Disagree - 1
Block - 1
8 people have voted (15%)
Jonne Haß

Jonne Haß
Disagree
December 20th, 2013 09:22

Given the history of Ruby support in various distributions, I think we should support Ruby 1.9.3 at least until its official maintenance is phased out or the major distributions have Ruby 2 available in their repositories.

Dennis Schubert

Dennis Schubert
Disagree
December 20th, 2013 09:55

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.*.

goob

goob December 20th, 2013 10:33

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

Flaburgan

Flaburgan December 20th, 2013 11:11

@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...

Flaburgan

Flaburgan
Abstain
December 20th, 2013 11:14

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...

Jonne Haß

Jonne Haß December 20th, 2013 11:17

@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

goob December 20th, 2013 12:18

OK thanks, both of you.

goob

goob
Disagree
December 20th, 2013 12:21

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
December 20th, 2013 13:02

Happy for the real Ruby knowhow people to decide :)

Erwan Guyader

Erwan Guyader
Abstain
December 20th, 2013 18:17

goob

goob
Abstain
December 20th, 2013 18:31

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.

F

fabianrbz
Agree
December 20th, 2013 22:29

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

Jason Robinson

Jason Robinson December 21st, 2013 13:15

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

F

fabianrbz December 21st, 2013 13:16

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

Florian Staudacher

Florian Staudacher
Disagree
December 23rd, 2013 18:37

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

Jonne Haß

Jonne Haß started a proposal December 29th, 2013 13:51

Run builds for Ruby 1.9.3 on Travis Closed 10:00pm - Thursday 2 Jan 2014

Outcome
by Jonne Haß April 25th, 2017 05:15

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
Agree - 2
Abstain - 2
Disagree - 2
Block - 2
7 people have voted (13%)
Jonne Haß

Jonne Haß
Abstain
December 29th, 2013 13:52

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.

Jason Robinson

Jason Robinson December 29th, 2013 15:54

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

Flaburgan

Flaburgan
Agree
December 29th, 2013 18:50

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
December 29th, 2013 20:16

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.

Tom Scott

Tom Scott
Agree
December 30th, 2013 02:34

F

fabianrbz
Disagree
December 30th, 2013 15:47

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...

Jason Robinson

Jason Robinson December 30th, 2013 16:07

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

Dennis Schubert

Dennis Schubert
Abstain
January 1st, 2014 21:32

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
January 2nd, 2014 02:37

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

Jonne Haß

Jonne Haß January 2nd, 2014 11:32

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

Tom Scott

Tom Scott
Agree
January 2nd, 2014 15:04

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.

Dennis Schubert

Dennis Schubert January 3rd, 2014 09:19

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

Jonne Haß

Jonne Haß started a proposal August 24th, 2014 12:50

Drop Ruby 1.9 support, adopt Ruby 2.1 support Closed 11:58pm - Saturday 30 Aug 2014

Outcome
by Jonne Haß April 25th, 2017 05:15

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
Agree - 10
Abstain - 10
Disagree - 10
Block - 10
10 people have voted (18%)
Jonne Haß

Jonne Haß
Agree
August 24th, 2014 12:50

Steffen van Bergerem

Steffen van Bergerem
Agree
August 24th, 2014 13:27

Dennis Schubert

Dennis Schubert
Agree
August 24th, 2014 13:44

Erwan Guyader

Erwan Guyader
Agree
August 24th, 2014 18:14

Flaburgan

Flaburgan
Agree
August 24th, 2014 19:10

Florian Staudacher

Florian Staudacher
Agree
August 24th, 2014 20:51

Florian Staudacher

Florian Staudacher August 24th, 2014 23:55

... will also decrease our travis build time somewhat

goob

goob
Agree
August 25th, 2014 10:21

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

Flaburgan

Flaburgan August 25th, 2014 10:43

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

Jonne Haß

Jonne Haß August 25th, 2014 10:49

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

Jason Robinson

Jason Robinson August 27th, 2014 06:12

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

Jason Robinson

Jason Robinson
Agree
August 27th, 2014 06:12

DU

[deactivated account]
Agree
August 27th, 2014 20:21

Sean Tilley

Sean Tilley
Agree
August 27th, 2014 21:24

Do it!

Jason Robinson

Jason Robinson started a proposal November 7th, 2014 22:49

Drop previous Ruby from the Travis builds Closed 3:43am - Saturday 8 Nov 2014

Outcome
by Jason Robinson April 25th, 2017 05:15

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
Agree - 1
Abstain - 1
Disagree - 1
Block - 1
3 people have voted (5%)
Jason Robinson

Jason Robinson
Agree
November 7th, 2014 22:50

Faldrian

Faldrian
Agree
November 7th, 2014 22:56

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

Jonne Haß

Jonne Haß
Abstain
November 7th, 2014 23:13

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.

Jason Robinson

Jason Robinson November 7th, 2014 23:27

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?

Faldrian

Faldrian
Abstain
November 7th, 2014 23:34

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

Jonne Haß

Jonne Haß November 8th, 2014 00:18

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 Robinson November 8th, 2014 01:45

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

Thanks for clarifying.

Dumitru Ursu

Dumitru Ursu January 6th, 2015 10:09

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 Ursu January 6th, 2015 10:13

@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ß January 6th, 2015 11:00

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ß

Jonne Haß started a proposal April 21st, 2015 20:15

Drop Ruby 2.0 support, adopt Ruby 2.2 support Closed 10:05pm - Monday 27 Apr 2015

Outcome
by Jonne Haß April 25th, 2017 05:15

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
Agree - 10
Abstain - 10
Disagree - 10
Block - 10
12 people have voted (20%)
Jonne Haß

Jonne Haß
Agree
April 21st, 2015 20:15

Dennis Schubert

Dennis Schubert
Agree
April 21st, 2015 20:15

no objections

SuperTux88

SuperTux88
Agree
April 21st, 2015 20:16

DU

[deactivated account]
Agree
April 21st, 2015 21:00

Faldrian

Faldrian
Abstain
April 21st, 2015 21:06

have no productive pod, but seems reasonable :)

Flaburgan

Flaburgan
Agree
April 21st, 2015 22:07

Steffen van Bergerem

Steffen van Bergerem
Agree
April 21st, 2015 22:19

DU

[deactivated account]
Agree
April 22nd, 2015 10:06

aj

aj
Agree
April 25th, 2015 12:14

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

Florian Staudacher

Florian Staudacher
Agree
April 25th, 2015 14:15

Jason Robinson

Jason Robinson
Agree
April 26th, 2015 09:16

Maciek Łoziński

Maciek Łoziński
Abstain
April 27th, 2015 16:48