-
Notifications
You must be signed in to change notification settings - Fork 3.5k
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
Adding support for latest Nodejs Version and upgrading NVM #5318
Conversation
f79c86f
to
b00ce7a
Compare
@salimkayabasi Thanks for the PR - unfortunately, there are a few problems with this change.
What might be worthwhile is adding an additional LTS build that does https://docs.travis-ci.com/user/build-matrix/#rows-that-are-allowed-to-fail which would give us some non-fatal warning that changes are required to support a new LTS. |
thanks @danpat , I got your point. Let me clear and update my PR |
ce62bc8
to
60041f9
Compare
aab1117
to
875a32b
Compare
hey @danpat, I've checked and updated a few lines regarding to latest travis documentation and https://www.npmjs.com/package/node-pre-gyp#travis-automation These are my feedback regarding to your questions
OSRM will start supporting latest before it will turn into LTS. For the people whoever are still using node4,node6 or node8 probably they are not upgrading version of OSRM too. It should be out of scope. |
feb3a4b
to
0f87519
Compare
82ccf38
to
81e4c54
Compare
@salimkayabasi I can't merge this - I'm paid by Mapbox to work on OSRM, and we're going to be using Node 8 for at least another 6 months, so I can't drop OSRM support for it yet. Over in #5312, I pulled download logs for the various binary versions we're publishing - about 80% of them are Node 8, so we'd break a lot of folks if we removed support for that Node version right now. Not everyone is able to be upgraded to "latest" all the time - production systems take time to upgrade. According to https://github.com/nodejs/Release#release-schedule, Node 8 doesn't end-of-life until Dec 2019 - the "Maintenance LTS" period begins at the end of the year, and stable production systems likely won't get upgraded until closer to the EOL date. I do not like depending on transient version aliases for this process - we should be explicit about which versions we support. I'd be just fine having a "lts" and "latest" builds that are not required, so we have canaries when new releases land, but those cannot be the only versions we support - the label "lts" will change over time, which might mean that someone who needs to re-build an old version of OSRM for some reason cannot because they don't know what "lts" was at the time. |
I didn't know that Agree with transient versions, what about supporting like this |
81e4c54
to
788348f
Compare
Yeah, that's what I meant by "I'd be just fine having a "lts" and "latest" builds that are not required, so we have canaries when new releases land" By "canary" I was referring to https://en.wikipedia.org/wiki/Sentinel_species#Historical_examples |
You've just introduced binaries for node10 around 2w ago by #5246 Those metrics about download numbers could not be perfect for real use case. It is also quite possible that people are compiling OSRM libraries by themselves. |
4ef4481
to
89fd178
Compare
… hardcoded versions
89fd178
to
6af3bac
Compare
Have u had any chance to review this PR? |
@salimkayabasi I've created a new PR which works the way I think we need: #5347 You can see the additional optional https://travis-ci.org/Project-OSRM/osrm-backend/builds/486531607 Those optional builds will publish binaries when tags are made, if the Thank you for prompting the idea though - this is something we should've set up a while ago. |
Issue
OSRM automated builds are targeting the builds for hardcoded versions of nodejs. Instead of compiling files fornode8
ornode10
, it could be compiled forlts
version andlatest
versionRegarding to #5312
Introducing support for latest nodejs version and upgrading
NVM
versionosx9.4
),osx9.2
has outdatednvm
(0.31) which was issue while usinglts
versiondist: trusty
param which is not required anymore (travis supportssudo
for every images)nvm --version
s/$NODE/$NODE_VERSION
, in fact, it was version of node, not node itself and it will be consistent withnode-pre-gyp
Official support will follow nodejs release schedule, active development on OSRM will be for
latest
nodejs version and keep supporting fornode10
which islts
for nowDropping support fornode8
which will be dropped down at the end of this yearhttps://github.com/nodejs/Release#release-schedule
Tasklist
Requirements / Relations
Optimized solution after this PR #5314