Closed Bug 1399281 Opened 7 years ago Closed 7 years ago

Exact node version requirement prevents new vagrant environments from initializing

Categories

(Tree Management :: Treeherder, defect, P1)

defect

Tracking

(Not tracked)

RESOLVED FIXED

People

(Reporter: garndt, Assigned: emorley)

References

(Blocks 1 open bug)

Details

Attachments

(1 file)

package.json requires an exact version of node (8.4.0), which is no longer installed in a new vagrant environment (> 8.4).
This is new - thank you for filing :-)

The version of node in package.json is deliberately pinned, since that is what is used to determine the version installed by the Heroku nodejs buildpack. Whereas the Vagrant provision script uses the nodesource.com APT repository, which is occasionally more up to date until we then increment the package.json version. 

That has previously not been a problem - the regression here is actually that Yarn 1.0.0 made a breaking change, and now enforces the node version in package.json:
https://github.com/yarnpkg/yarn/releases/tag/v1.0.0
https://github.com/yarnpkg/yarn/pull/3675

The Vagrant environment doesn't pin Yarn (since Heroku doesn't by default and Travis has no ability to do so natively; so no pinning was easier for parity between them), so will have updated from 0.x to 1.x causing this failure.

Now that yarn is more stable, I'm inclined to try and pin it everywhere. When I finish up the work to switch to a Docker based development environment, it will mean we can use the same images on Travis as locally, so will have less of a dilemma in terms of pinning parity. For now we can just enable yarn pinning on Heroku/locally to fix this (plus update to nodejs 8.5.0 while we're at it).
Assignee: nobody → emorley
Status: NEW → ASSIGNED
Component: Treeherder → Treeherder: Docs & Development
Priority: -- → P1
Attachment #8907590 - Flags: review?(cdawson)
Attachment #8907590 - Flags: review?(cdawson) → review+
Commits pushed to master at https://github.com/mozilla/treeherder

https://github.com/mozilla/treeherder/commit/e0fd996131a0f38e9e43291d5c60011a6dd8d34e
Bug 1399281 - Update nodejs from 8.4.0 to 8.5.0

https://github.com/nodejs/node/blob/master/doc/changelogs/CHANGELOG_V8.md#8.5.0

https://github.com/mozilla/treeherder/commit/fc75f93a54c568316bf1d24b7c5595f9c73bee44
Bug 1399281 - Vagrant: Use --ignore-engines with yarn install

To prevent errors when Vagrant provisioning after a new nodejs
version is released, due to version mismatch between package.json
(used by Heroku) and the APT package used by Vagrant. The other
option is pinning the version in Vagrant too, however we might as
well wait until the Docker based development environment where
state management/invalidation is simpler.
Status: ASSIGNED → RESOLVED
Closed: 7 years ago
Resolution: --- → FIXED
Blocks: 1416266
Component: Treeherder: Docs & Development → TreeHerder
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: