New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Consider dropping Node.js 0.6 support #1785

Closed
BanzaiMan opened this Issue Dec 24, 2013 · 19 comments

Comments

Projects
None yet
4 participants
@BanzaiMan
Member

BanzaiMan commented Dec 24, 2013

See npm/npm#4379 (comment)

Node.js 0.6 can stop working at any given time.

@ghost ghost assigned joshk Dec 24, 2013

@ljharb

This comment has been minimized.

Show comment
Hide comment
@ljharb

ljharb Dec 27, 2013

It's just stopped working today.

However, it can be fixed simply by the instructions in https://twitter.com/npmjs/status/416298773241794560 : npm conf set strict-ssl false only on node 0.6. Can we prioritize this?

ljharb commented Dec 27, 2013

It's just stopped working today.

However, it can be fixed simply by the instructions in https://twitter.com/npmjs/status/416298773241794560 : npm conf set strict-ssl false only on node 0.6. Can we prioritize this?

@BanzaiMan

This comment has been minimized.

Show comment
Hide comment
@BanzaiMan

BanzaiMan Dec 27, 2013

Member

@ljharb Can you try putting that in your before_install script?

Member

BanzaiMan commented Dec 27, 2013

@ljharb Can you try putting that in your before_install script?

@ljharb

This comment has been minimized.

Show comment
Hide comment
@ljharb

ljharb Dec 27, 2013

I absolutely don't want people who install my module to set strict-ssl to false. That command should only be run before tests, and only in node 0.6.

Or are you just suggesting I do that for testing purposes?

ljharb commented Dec 27, 2013

I absolutely don't want people who install my module to set strict-ssl to false. That command should only be run before tests, and only in node 0.6.

Or are you just suggesting I do that for testing purposes?

@BanzaiMan

This comment has been minimized.

Show comment
Hide comment
@BanzaiMan

BanzaiMan Dec 27, 2013

Member

@ljharb The latter, of course.

0.6 is not in good shape, even in the eyes of the npm maintainers. I don't think it's worth anyone's time to make it work like it is a viable option for everyday use.

Member

BanzaiMan commented Dec 27, 2013

@ljharb The latter, of course.

0.6 is not in good shape, even in the eyes of the npm maintainers. I don't think it's worth anyone's time to make it work like it is a viable option for everyday use.

@ljharb

This comment has been minimized.

Show comment
Hide comment
@ljharb

ljharb Dec 27, 2013

I'll give that a try, thanks.

I don't think anybody should be using node 0.6. However, every module that supports it, helps provide a clear upgrade path for people who are still using it in production - and there still are users of it.

ljharb commented Dec 27, 2013

I'll give that a try, thanks.

I don't think anybody should be using node 0.6. However, every module that supports it, helps provide a clear upgrade path for people who are still using it in production - and there still are users of it.

@ljharb

This comment has been minimized.

Show comment
Hide comment
@ljharb

ljharb Dec 27, 2013

@BanzaiMan indeed, adding npm conf set strict-ssl false as a "preinstall" script works perfectly (see https://travis-ci.org/ljharb/node-comments/jobs/16023705 ). Could we just make that part of the node 0.6 config?

ljharb commented Dec 27, 2013

@BanzaiMan indeed, adding npm conf set strict-ssl false as a "preinstall" script works perfectly (see https://travis-ci.org/ljharb/node-comments/jobs/16023705 ). Could we just make that part of the node 0.6 config?

@roidrage

This comment has been minimized.

Show comment
Hide comment
@roidrage

roidrage Dec 27, 2013

Member

If that setting indeed solves it, then I think given Node.js 0.6's age, setting it in your .travis.yml is perfectly fine for the time being.

Member

roidrage commented Dec 27, 2013

If that setting indeed solves it, then I think given Node.js 0.6's age, setting it in your .travis.yml is perfectly fine for the time being.

@ljharb

This comment has been minimized.

Show comment
Hide comment
@ljharb

ljharb Dec 27, 2013

@roidrage I'd be content with that for my own modules - how can I specify it only for node 0.6 in my travis.yml?

Please note, however, that every single node project on 0.6 is broken - so if this isn't going to be fixed for everyone, then Travis has officially dropped support for node 0.6 with no notice, and will mark all modules as failed until 0.6 is skipped. That seems like a decision that shouldn't be made rashly.

ljharb commented Dec 27, 2013

@roidrage I'd be content with that for my own modules - how can I specify it only for node 0.6 in my travis.yml?

Please note, however, that every single node project on 0.6 is broken - so if this isn't going to be fixed for everyone, then Travis has officially dropped support for node 0.6 with no notice, and will mark all modules as failed until 0.6 is skipped. That seems like a decision that shouldn't be made rashly.

@roidrage

This comment has been minimized.

Show comment
Hide comment
@roidrage

roidrage Dec 27, 2013

Member

You can do this setting conditionally in your .travis.yml:

before_install:
  - [ "${TRAVIS_NODE_VERSION}" = "0.6" ] && npm conf set strict-ssl false

This is an acceptable workaround given that whether or not Node.js 0.6 continues to work at all is outside our control.

Member

roidrage commented Dec 27, 2013

You can do this setting conditionally in your .travis.yml:

before_install:
  - [ "${TRAVIS_NODE_VERSION}" = "0.6" ] && npm conf set strict-ssl false

This is an acceptable workaround given that whether or not Node.js 0.6 continues to work at all is outside our control.

@ljharb

This comment has been minimized.

Show comment
Hide comment
@ljharb

ljharb Dec 27, 2013

Node 0.6.21 will continue to work forever - that's the point of semantic versioning. It's the registry that might change, and that protocol has been frozen for a long time now.

Thanks! I'll give that setting a try.
edit: @roidrage, https://travis-ci.org/ljharb/node-comments/builds/16025515 that didn't work. Documentation for the travis.yml format is pretty weak so I'm not sure what to do next.

ljharb commented Dec 27, 2013

Node 0.6.21 will continue to work forever - that's the point of semantic versioning. It's the registry that might change, and that protocol has been frozen for a long time now.

Thanks! I'll give that setting a try.
edit: @roidrage, https://travis-ci.org/ljharb/node-comments/builds/16025515 that didn't work. Documentation for the travis.yml format is pretty weak so I'm not sure what to do next.

@BanzaiMan

This comment has been minimized.

Show comment
Hide comment
@BanzaiMan

BanzaiMan Dec 27, 2013

Member

@ljharb Try putting everything in single quotes:

before_install:
  - '[ "${TRAVIS_NODE_VERSION}" = "0.6" ] && npm conf set strict-ssl false'
Member

BanzaiMan commented Dec 27, 2013

@ljharb Try putting everything in single quotes:

before_install:
  - '[ "${TRAVIS_NODE_VERSION}" = "0.6" ] && npm conf set strict-ssl false'
@ljharb

This comment has been minimized.

Show comment
Hide comment
@ljharb

ljharb Dec 27, 2013

k, that exits with a 1 when it's not node 0.6 - however

before_install:
  - '[ "${TRAVIS_NODE_VERSION}" = "0.6" ] && npm conf set strict-ssl false || true'

worked!

I still maintain that Travis CI should fix this automatically for everyone first, and then if it's going to drop node 0.6 support, do it with the proper notifications, and make sure not to run 0.6 builds anymore.

Update: - '[ "${TRAVIS_NODE_VERSION}" != "0.6" ] || npm conf set strict-ssl false' will prevent the || true from swallowing issues.

ljharb commented Dec 27, 2013

k, that exits with a 1 when it's not node 0.6 - however

before_install:
  - '[ "${TRAVIS_NODE_VERSION}" = "0.6" ] && npm conf set strict-ssl false || true'

worked!

I still maintain that Travis CI should fix this automatically for everyone first, and then if it's going to drop node 0.6 support, do it with the proper notifications, and make sure not to run 0.6 builds anymore.

Update: - '[ "${TRAVIS_NODE_VERSION}" != "0.6" ] || npm conf set strict-ssl false' will prevent the || true from swallowing issues.

@ljharb

This comment has been minimized.

Show comment
Hide comment
@ljharb

ljharb Jan 3, 2014

@BanzaiMan any response from the company on this?

ljharb commented Jan 3, 2014

@BanzaiMan any response from the company on this?

@BanzaiMan

This comment has been minimized.

Show comment
Hide comment
@BanzaiMan

BanzaiMan Jan 3, 2014

Member

Well, there is no reason to cut off 0.6, but I don't think we will add a workaround for 0.6, either. If you want to test your code against 0.6, please employ the workaround suggested here.

I'm going to leave this ticket open, so that it may be discovered by others who needs the workaround.

Member

BanzaiMan commented Jan 3, 2014

Well, there is no reason to cut off 0.6, but I don't think we will add a workaround for 0.6, either. If you want to test your code against 0.6, please employ the workaround suggested here.

I'm going to leave this ticket open, so that it may be discovered by others who needs the workaround.

@ghost ghost assigned BanzaiMan Jan 3, 2014

@ljharb

This comment has been minimized.

Show comment
Hide comment
@ljharb

ljharb Jan 3, 2014

Effectively that's the same as cutting it off, since pull requests against modules previously testing against 0.6 will all fail, so unless maintainers are very thorough and locate this issue, that will cause them to either stagnate or drop 0.6 support.

ljharb commented Jan 3, 2014

Effectively that's the same as cutting it off, since pull requests against modules previously testing against 0.6 will all fail, so unless maintainers are very thorough and locate this issue, that will cause them to either stagnate or drop 0.6 support.

@roidrage

This comment has been minimized.

Show comment
Hide comment
@roidrage

roidrage Jan 3, 2014

Member

We'll be sure to update our documentation to include both the workaround and a note that Node.js 0.6 is effectively EOL'd by now.

Member

roidrage commented Jan 3, 2014

We'll be sure to update our documentation to include both the workaround and a note that Node.js 0.6 is effectively EOL'd by now.

@joshk

This comment has been minimized.

Show comment
Hide comment
@joshk

joshk Jan 3, 2014

Member

I would be willing to accept a PR for either travis-cookbooks or travis-build which adds npm conf set strict-ssl false to Node 0.6 either during installation or selection if someone is interested in doing this.

Member

joshk commented Jan 3, 2014

I would be willing to accept a PR for either travis-cookbooks or travis-build which adds npm conf set strict-ssl false to Node 0.6 either during installation or selection if someone is interested in doing this.

@ljharb

This comment has been minimized.

Show comment
Hide comment
@ljharb

ljharb commented Jan 4, 2014

ljharb added a commit to ljharb/travis-build that referenced this issue Jan 5, 2014

@BanzaiMan

This comment has been minimized.

Show comment
Hide comment
@BanzaiMan

BanzaiMan Jan 6, 2014

Member

I merged the PR.

Member

BanzaiMan commented Jan 6, 2014

I merged the PR.

jugglinmike added a commit to jugglinmike/DomHandler that referenced this issue Oct 15, 2014

Fix build error for TravisCI in Node.js v0.8
Because the project now uses the "carrot operator" to specify some of
its dependencies, NPM must be explicitly updated in the TravisCI
environment before the build can succeed there.

Sources:

- https://github.com/npm/npm/wiki/Troubleshooting#travis-projects-using-08-cant-upgrade-to-npm-2
- travis-ci/travis-ci#1785 (comment)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment