IO.js support

dane's Avatar

dane

17 Jan, 2015 01:10 AM

IO.js is a fork of node (https://iojs.org/). But really it is more like just another version because it is compatible and all Node.js lead developers are treating it this way.

I would love to be able to have an appveyor build matrix be able to cleanly build/test for something like node.js v0.10.35, node.js v0.11.14, and io.js v1.0.2. So this ticket stands as a place to discuss this.

One nice possibility would be for the powershell shortcut, `powershell Install-Product node $env:nodejs_version $env:platform` to go out and grab io.js if version 1.x is used. This is how nave works: https://github.com/isaacs/nave/commit/e0b9a96ae79f64f7674a4195d8d1a89ba7df3881

  1. Support Staff 1 Posted by Feodor Fitsner on 17 Jan, 2015 01:17 AM

    Feodor Fitsner's Avatar

    I was hoping till the last moment they are not serious about io.js :) But it's happened!

    OK, at a glance checking for 1.x makes sense. Do you envision them having the same set of versions as node or it's going to be only 1.x?

  2. 2 Posted by dane on 17 Jan, 2015 01:35 AM

    dane's Avatar

    It seems that a clash in versions is unlikely given https://github.com/iojs/io.js/issues/420#issuecomment-70018859. So the assumption would be 1.x is io.js I think is safe.

  3. Support Staff 3 Posted by Feodor Fitsner on 19 Jan, 2015 09:07 PM

    Feodor Fitsner's Avatar

    Hi Dane,

    io.js support has been added to build workers. There are all 1.0.0, 1.0.1 and 1.0.2 versions pre-installed.

    As you suggested the same PowerShell cmdlets could be used to switch/install io.js - it's automatically selects io.js if the version is 1.x.

    Node.js updated to the latest 0.10.35 as well.

    Let me know how that worked.

  4. 4 Posted by m.goleb on 24 Jan, 2015 07:44 PM

    m.goleb's Avatar

    @Fedor Could you update io.js to 1.0.4? Unfortunately, the latest version available in AppVeyor, i.e. 1.0.3 has a broken npm version causing a simple "npm install" to fail. It's all fixed in io.js 1.0.4.

    An example failed build: https://ci.appveyor.com/project/mzgol/grunt-ng-annotate/build/66/job/ts2yvus25vkmf8oi

  5. Support Staff 5 Posted by Feodor Fitsner on 24 Jan, 2015 10:10 PM

    Feodor Fitsner's Avatar

    Sure, will install it. Btw, you can always use "re-install" method to get io.js 1.0.4:
    http://www.appveyor.com/docs/lang/nodejs-iojs#node-version

    Update-NodeJsInstallation 1.0.4
    
  6. 6 Posted by m.goleb on 24 Jan, 2015 11:54 PM

    m.goleb's Avatar

    @Fedor I've tried but it doesn't install correctly:
    https://ci.appveyor.com/project/mzgol/grunt-ng-annotate/build/73/job/7740w9ptc974a74p
    In this build I first updated Node 0.10.35 to 1.0.3 using:

        Install-Product node 1.0

    and then updated it to 1.0.4 via:

        Update-NodeJsInstallation 1.0.4

    It says:

        Installing io.js v1.0.4 (x86)...

    and yet later I still see errors from io.js 1.0.3.

  7. Support Staff 7 Posted by Feodor Fitsner on 25 Jan, 2015 12:02 AM

    Feodor Fitsner's Avatar

    Use either Install-Product or Update-NodeJsInstallation but not both.

  8. 8 Posted by m.goleb on 25 Jan, 2015 01:57 AM

    m.goleb's Avatar

    Thanks, it worked!

    https://ci.appveyor.com/project/mzgol/grunt-ng-annotate/build/job/66s9n4gdd3rkbpy3

    It would still be nice to not have to do magic like:

    If ($env:nodejs_version.StartsWith('1.0')) {
      Update-NodeJsInstallation 1.0.4
    } Else {
      Install-Product node $env:nodejs_version
    }

    so I hope you'll be able to update the included io.js soon. :)

  9. Support Staff 9 Posted by Feodor Fitsner on 27 Jan, 2015 06:15 AM

    Feodor Fitsner's Avatar

    io.js 1.0.4 and node 0.10.36 have been deployed to all build worker images.

  10. 10 Posted by m.goleb on 28 Jan, 2015 01:54 AM

    m.goleb's Avatar

    Thanks, Fedor!

    One more thing: io.js is probably going to release 1.1.0 soon and -- according to semver, no breaking changes are allowed before 2.0.0. Due to its fast current development and the package not being completely stable yet, I'd prefer to be able to specify that I want to test on the newest 1.x.y release. Unfortunately, you cannot pass "1" as a version to Install-Product node, you'll be left with an error:
    https://ci.appveyor.com/project/mzgol/npm-bump/build/58/job/x5262r5ls4lw73tk

  11. Support Staff 11 Posted by Feodor Fitsner on 28 Jan, 2015 02:52 AM

    Feodor Fitsner's Avatar

    Oh, this is nice. Is it going to be only 1.1.x or 1.2.x, 1.3.x, ... as well?

  12. 12 Posted by m.goleb on 03 Feb, 2015 11:38 PM

    m.goleb's Avatar

    Feodor: not sure, they just follow semver and if they add any new feature, they bump the minor. io.js 1.1.0 is already released. I think it's really needed to be able to specify 1.whatever.whatever because of that.

  13. Support Staff 13 Posted by Feodor Fitsner on 03 Feb, 2015 11:40 PM

    Feodor Fitsner's Avatar

    I see. Will support that. Thanks for letting know that 1.1.0 is out.

  14. Support Staff 14 Posted by Feodor Fitsner on 05 Feb, 2015 04:41 AM

    Feodor Fitsner's Avatar

    OK, the latest io.js 1.1.0 as well as node 0.11.16 have been deployed.

    Now, to switch to io.js 1.x you can use the following command:

    Install-Product node 1
    

    Sample:
    https://ci.appveyor.com/project/FeodorFitsner/simple-console/build/...

  15. 15 Posted by m.goleb on 05 Feb, 2015 04:47 AM

    m.goleb's Avatar

    Thanks! :)

  16. Ilya Finkelshteyn closed this discussion on 25 Aug, 2018 01:53 AM.

Comments are currently closed for this discussion. You can start a new one.

Keyboard shortcuts

Generic

? Show this help
ESC Blurs the current field

Comment Form

r Focus the comment reply box
^ + ↩ Submit the comment

You can use Command ⌘ instead of Control ^ on Mac