Skip to content

Commit

Permalink
Build: Drop io.js testing, test on latest Node.js
Browse files Browse the repository at this point in the history
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 250a199
Showing 1 changed file with 1 addition and 1 deletion.
2 changes: 1 addition & 1 deletion .travis.yml
Original file line number Diff line number Diff line change
Expand Up @@ -3,4 +3,4 @@ sudo: false
node_js:
- '0.10'
- '0.12'
- 'iojs'
- '4'

10 comments on commit 250a199

@markelog
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

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

@mgol
Copy link
Member Author

@mgol mgol commented on 250a199 Sep 9, 2015

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

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
Copy link
Member Author

@mgol mgol commented on 250a199 Sep 9, 2015

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

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
Copy link
Member Author

@mgol mgol commented on 250a199 Sep 9, 2015

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

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
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

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
Copy link
Member Author

@mgol mgol commented on 250a199 Sep 10, 2015

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

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
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

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
Copy link
Member Author

@mgol mgol commented on 250a199 Sep 10, 2015

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

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
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

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
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

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.