Proposal: Move node from 8.11 to 10.15 and npm to 6.4

classic Classic list List threaded Threaded
2 messages Options
Reply | Threaded
Open this post in threaded view
|

Proposal: Move node from 8.11 to 10.15 and npm to 6.4

lsmyth
Hey all. I'm not as familiar as some here with Mozilla's approach to build tooling upgrades. How feasible would upgrading Node to 10.x be for builds, and if the answer is that it is infeasible at the moment, what would be a realistic timeline for the upgrade?

We've begun to run into issues where tooling and npm dependencies are shifting to use newer ECMAScript features that aren't available in 8.x, for example https://bugzilla.mozilla.org/show_bug.cgi?id=1546370 and polyfills like https://searchfox.org/mozilla-central/diff/7c335e3b2b1890e1e14c2d6303221dee8c0055b9/devtools/client/debugger/new/src/test/tests-setup.js#118

That, and given the fact that 10.x has been the active LTS release of Node for 6 months, I'm curious when this update might be workable. What is the general approach for updates like this, and how much caution is desirable when deciding when to do an update like this? For example, 8.x will be entirely out of active support in December, so we'd absolutely want to be updated by then, but that's also quite along time to wait before updating to 10.x.

What are the limitations that need to be taken into account and is there someone who would generally be responsible for signing off on a larger version bump like this?

Thanks!
_______________________________________________
dev-builds mailing list
[hidden email]
https://lists.mozilla.org/listinfo/dev-builds
Reply | Threaded
Open this post in threaded view
|

Re: Proposal: Move node from 8.11 to 10.15 and npm to 6.4

Nathan Froyd-5
Apparently upgrading Node is the thing du jour, because Mark was just
emailing dev-builds about a more conservative upgrade (to Node 8.12)
several weeks ago.  :)

AFAIK, the primary limitation is what sort of Node version support our
Linux distributions have.  You can see this information for key system
software (GCC, glibc, GTK, etc.) here:

https://developer.mozilla.org/en-US/docs/Mozilla/Firefox/Linux_compatibility_matrix

It'd be great to get at least a partial catalogue of Node versions for
the active distros.  I think it's not a showstopper if active distros
are behind in Node versions (backporting is a possibility in some
cases, and some distros track ESR instead of regular releases), but it
is something the maintainers would appreciate being made aware of.

The other big thing is making sure `./mach bootstrap` installs the new
node versions appropriately (and the build system does appropriate
version checks, etc.).  That should be straightforward, since I think
we just repackage the official releases?

Making the change during the 69 cycle is a great time to make the
change: 69 marks the start of a new ESR cycle, and it's better to make
significant changes like this at the beginning of an ESR cycle so that
distros have time to adjust.  If you had code that was both a) likely
to depend on Node 10.x features and b) likely to uplifted to beta 68
(but probably not to ESR 68), you might want to consider delaying the
Node change until the 70 cycle so you wouldn't have to rework patches
for uplift.

Does that answer your questions?

-Nathan

On Tue, Apr 30, 2019 at 2:25 PM <[hidden email]> wrote:

>
> Hey all. I'm not as familiar as some here with Mozilla's approach to build tooling upgrades. How feasible would upgrading Node to 10.x be for builds, and if the answer is that it is infeasible at the moment, what would be a realistic timeline for the upgrade?
>
> We've begun to run into issues where tooling and npm dependencies are shifting to use newer ECMAScript features that aren't available in 8.x, for example https://bugzilla.mozilla.org/show_bug.cgi?id=1546370 and polyfills like https://searchfox.org/mozilla-central/diff/7c335e3b2b1890e1e14c2d6303221dee8c0055b9/devtools/client/debugger/new/src/test/tests-setup.js#118
>
> That, and given the fact that 10.x has been the active LTS release of Node for 6 months, I'm curious when this update might be workable. What is the general approach for updates like this, and how much caution is desirable when deciding when to do an update like this? For example, 8.x will be entirely out of active support in December, so we'd absolutely want to be updated by then, but that's also quite along time to wait before updating to 10.x.
>
> What are the limitations that need to be taken into account and is there someone who would generally be responsible for signing off on a larger version bump like this?
>
> Thanks!
> _______________________________________________
> dev-builds mailing list
> [hidden email]
> https://lists.mozilla.org/listinfo/dev-builds
_______________________________________________
dev-builds mailing list
[hidden email]
https://lists.mozilla.org/listinfo/dev-builds