* Test using nvmrc in CI
* Force run yarn
* fix
* Bump nvmrc to latest
* Revert "Force run yarn"
This reverts commit af741f37d5.
* Make all jobs use node from nvmrc
And install node-gyp where needed
- Remove the `prepare` script entirely
- Variables are now populated from the product.json during build. Most
variables are mapped automatically, with some special handling in a
few cases. `build.rs` is now much more self-contained.
- Look for the `product.overrides.json` for vscode developers instead of
looking for a peer `vscode-distro` folder
Fixes#178691
* build: don't apply cli 'patches' for merge check
This also needed modules installed. But with the new toml patches, the 'merge' will never fail outright, so there's no need to do a separate merge check for it imo
* reduce duplication in pipelines, cache node_modules
* Simplify distro
Also a ton of drive-by fixing around builds:
- simplified many oneliners
- fixed missing custom npm registry call setups
- remove unnecessary and duplicate work during builds
- many many fixes
Put all win and macOS builds on their own machine, since they take a minute.
Build the two GNU ARM builds together on an x64 machine, since they're
faster and can cross-compile in ~5 minutes.
This makes the CompileCLI step take a little less time than the VS Code
"Compile" step.