Trusty container skipping npm dependencies


#1

We’ve been using the Ubuntu Precise container for our CI for a while, but we finally needed a newer version of Chrome.

Problem is, when we run the suite on the Trusty (Ubuntu 14.04) container, our build system can’t find the very first dependency!

I tried ssh-ing into the container, and found no node_modules folder.

I tried running without a cache, it also did not install.

What could I be missing?

https://circleci.com/gh/MetaMask/metamask-plugin/607#ssh-info/containers/0


#2

I think I fixed this by adding npm i as a pre-install script for a build, and then removing it again.

Seems like maybe this wasn’t recognized as a node.js project that should have npm install run when it has no cache?


#3

Thanks Dan. I had just figured this out when I found your post. This had always worked for us on the Trusty container until yesterday, September 8th. I’m not sure when it broke, because as long as a cache exists the problem will be hidden. Perhaps CircleCI is no longer considering the presence of a package.json sufficient reason to run npm install? I’m not sure what the underlying cause is.

To CircleCI support: This hiccup and last week’s hiccup (where Composer stopped loading the designated PHP configuration file) have cost us hours of work. Some dev who isn’t in charge of keeping CircleCI running hits the problem, tries to determine if it is their fault, sends it to me. I have to stop what I’m doing, communicate to all devs that CircleCI is broken, troubleshoot it, commit a fix, everyone has to merge, and finally life can continue. Between different work schedules and time zones, project deliveries can get pushed back by an entire day or two due to one of these incidents. You are changing things far more often than you are mentioning in your changelog. Can you establish a beta-test set of users that will vet changes for problems before you roll them out to us?


#4