Permalink
Browse files

Build: Drop io.js testing, test on latest Node.js

Node.js & io.js have merged, there will be no more major io.js releases.
Also, as of today io.js is officially unsupported (even if it still gets some
updates) while Node.js 4.0.0 (just released!) will be supported until 2018.
  • Loading branch information...
mgol committed Sep 8, 2015
1 parent d3d8d97 commit 250a1990baa571de60325ab2c52eabb399c4cf9e
Showing with 1 addition and 1 deletion.
  1. +1 −1 .travis.yml
View
@@ -3,4 +3,4 @@ sudo: false
node_js:
- '0.10'
- '0.12'
-- 'iojs'
+- '4'

10 comments on commit 250a199

@markelog

This comment has been minimized.

Show comment
Hide comment
@markelog

markelog Sep 8, 2015

Member

Why we didn't drop .10 when .12 come up?

Member

markelog replied Sep 8, 2015

Why we didn't drop .10 when .12 come up?

@mgol

This comment has been minimized.

Show comment
Hide comment
@mgol

mgol Sep 9, 2015

Member

One reason is that Node 0.10 will be supported until 2016-10-01, Node 0.12 until 2016-12-31 (Node 4 will be supported until 2018-04-01). More details at https://github.com/nodejs/LTS (but look at PRs as some things changed).

More importantly, though, most Node.js users didn't switch to io.js (I've seen stats from npm installs that showed all io.js share below 5% of total Node.js+io.js) and most of them were still on 0.10 so we'd drop a massive number of users this way.

io.js has a smaller market share and it doesn't have such a long support strategy (in fact, it doesn't have any official one) so it will die soon. Also, there were problems with io.js on Windows due to weird linking issues (the binary was named iojs but node was linked to it for back compat reasons and it was causing all sorts of issues).

Member

mgol replied Sep 9, 2015

One reason is that Node 0.10 will be supported until 2016-10-01, Node 0.12 until 2016-12-31 (Node 4 will be supported until 2018-04-01). More details at https://github.com/nodejs/LTS (but look at PRs as some things changed).

More importantly, though, most Node.js users didn't switch to io.js (I've seen stats from npm installs that showed all io.js share below 5% of total Node.js+io.js) and most of them were still on 0.10 so we'd drop a massive number of users this way.

io.js has a smaller market share and it doesn't have such a long support strategy (in fact, it doesn't have any official one) so it will die soon. Also, there were problems with io.js on Windows due to weird linking issues (the binary was named iojs but node was linked to it for back compat reasons and it was causing all sorts of issues).

@mgol

This comment has been minimized.

Show comment
Hide comment
@mgol

mgol Sep 9, 2015

Member

I'd love to drop 0.10 since it includes npm 1.4 by default - an old version with lots of problems. I'd love to drop 0.12 as well so that we don't have to deal with its jsdom problems. But we'll need to wait a little until more people move to Node.js 4.

Also, we'll have to update our Jenkins first - it still runs on Node 0.10. This, in turn, requires checking with all jQuery Foundation projects using our Jenkins if they work with a newer Node. At this point I think it'd be best to wait until all of them work on Node 4 (I don't think it will require a lot of effort, just checking some things) and update to Node 4, skipping 0.12.

Member

mgol replied Sep 9, 2015

I'd love to drop 0.10 since it includes npm 1.4 by default - an old version with lots of problems. I'd love to drop 0.12 as well so that we don't have to deal with its jsdom problems. But we'll need to wait a little until more people move to Node.js 4.

Also, we'll have to update our Jenkins first - it still runs on Node 0.10. This, in turn, requires checking with all jQuery Foundation projects using our Jenkins if they work with a newer Node. At this point I think it'd be best to wait until all of them work on Node 4 (I don't think it will require a lot of effort, just checking some things) and update to Node 4, skipping 0.12.

@mgol

This comment has been minimized.

Show comment
Hide comment
@mgol

mgol Sep 9, 2015

Member

Of course, it only affects developing jQuery. Installing should work even on Node 0.4 as we don't depend on any Node features in our published package. ;)

Member

mgol replied Sep 9, 2015

Of course, it only affects developing jQuery. Installing should work even on Node 0.4 as we don't depend on any Node features in our published package. ;)

@markelog

This comment has been minimized.

Show comment
Hide comment
@markelog

markelog Sep 10, 2015

Member

I would wait on removing, but i guess when we actually release, io users would be non-existent. It was just alarming how easily we dropped support for this environment

Member

markelog replied Sep 10, 2015

I would wait on removing, but i guess when we actually release, io users would be non-existent. It was just alarming how easily we dropped support for this environment

@mgol

This comment has been minimized.

Show comment
Hide comment
@mgol

mgol Sep 10, 2015

Member

When io.js 3 came out we "dropped" io.js 2 automatically as this entry started to install io.js 3.

I would be more careful if this was required for a published package, not only for jQuery development. :) Published jQuery will work everywhere.

Member

mgol replied Sep 10, 2015

When io.js 3 came out we "dropped" io.js 2 automatically as this entry started to install io.js 3.

I would be more careful if this was required for a published package, not only for jQuery development. :) Published jQuery will work everywhere.

@markelog

This comment has been minimized.

Show comment
Hide comment
@markelog

markelog Sep 10, 2015

Member

When io.js 3 came out we "dropped" io.js 2 automatically as this entry started to install io.js 3.

That sounds like a mistake

Published jQuery will work everywhere.

Not sure if i understand, we checked code in io env now we are not.

Member

markelog replied Sep 10, 2015

When io.js 3 came out we "dropped" io.js 2 automatically as this entry started to install io.js 3.

That sounds like a mistake

Published jQuery will work everywhere.

Not sure if i understand, we checked code in io env now we are not.

@mgol

This comment has been minimized.

Show comment
Hide comment
@mgol

mgol Sep 10, 2015

Member

When io.js 3 came out we "dropped" io.js 2 automatically as this entry started to install io.js 3.

That sounds like a mistake

We've never claimed io.js support so I added it as experimental; also, io.js hasn't been supporting non-latest versions for too long so I didn't want to clutter the matrix. The experiment is now over. ;)

In fact, no published stable jQuery was tested in anything above Node 0.10. :-) (just look at 2.1-stable & 1.11-stable branches)

Published jQuery will work everywhere.

Not sure if i understand, we checked code in io env now we are not.

Right, I didn't take Node-based tests into account. Nevertheless, as you said - we won't release for some time yet and io.js 3 will most likely die at this point. Claiming support would require us keeping it until jQuery 4 and the last thing I want is us testing on a long unsupported io.js version. Also, this version will be a major bump so if someone's deploying jQuery on io.js it won't get the jQuery 3.0 update without manually changing the dependency version.

So we should be good here. :)

Member

mgol replied Sep 10, 2015

When io.js 3 came out we "dropped" io.js 2 automatically as this entry started to install io.js 3.

That sounds like a mistake

We've never claimed io.js support so I added it as experimental; also, io.js hasn't been supporting non-latest versions for too long so I didn't want to clutter the matrix. The experiment is now over. ;)

In fact, no published stable jQuery was tested in anything above Node 0.10. :-) (just look at 2.1-stable & 1.11-stable branches)

Published jQuery will work everywhere.

Not sure if i understand, we checked code in io env now we are not.

Right, I didn't take Node-based tests into account. Nevertheless, as you said - we won't release for some time yet and io.js 3 will most likely die at this point. Claiming support would require us keeping it until jQuery 4 and the last thing I want is us testing on a long unsupported io.js version. Also, this version will be a major bump so if someone's deploying jQuery on io.js it won't get the jQuery 3.0 update without manually changing the dependency version.

So we should be good here. :)

@markelog

This comment has been minimized.

Show comment
Hide comment
@markelog

markelog Sep 10, 2015

Member

We've never claimed io.js

Well, we actually don't claim node support either.

So we should be good here. :)

Yep, it was just suddenly :-)

Member

markelog replied Sep 10, 2015

We've never claimed io.js

Well, we actually don't claim node support either.

So we should be good here. :)

Yep, it was just suddenly :-)

@markelog

This comment has been minimized.

Show comment
Hide comment
@markelog

markelog Sep 10, 2015

Member

Yeah, we have

To use jQuery in Node, browser extensions, and other non-browser environments, use only master branch releases given the name "jquery" rather than "jquery-compat". The compat branch does not support these environments.

note, but its hardly appealing, comparing to http://jquery.com/browser-support/

Member

markelog replied Sep 10, 2015

Yeah, we have

To use jQuery in Node, browser extensions, and other non-browser environments, use only master branch releases given the name "jquery" rather than "jquery-compat". The compat branch does not support these environments.

note, but its hardly appealing, comparing to http://jquery.com/browser-support/

Please sign in to comment.