Looks like the way npm was installed varies on a few instances. They all have it and the same version, but in different places (/usr/bin/npm vs /usr/local/bin/npm).
In theory that shouldn't be a problem if things use plain npm from bash, but I guess that isn't the case given some jobs randomly fail half-way stating /usr/local/bin/npm couldn't be found.
https://integration.wikimedia.org/ci/job/npm/58031/console
02:02:22 + node --version 02:02:22 v0.10.25 02:02:22 + npm --version 02:02:23 2.14.12 02:02:23 + rm -rf node_modules 02:02:23 + npm install 02:02:58 grunt-cli@0.1.13 node_modules/grunt-cli 02:02:58 ├── nopt@1.0.10 (abbrev@1.0.7) 02:02:58 ├── resolve@0.3.1 02:02:58 └── findup-sync@0.1.3 (glob@3.2.11, lodash@2.4.2) 02:02:58 .. 02:02:58 + npm test 02:02:58 /tmp/hudson5960120158220888376.sh: line 7: /usr/local/bin/npm: No such file or directory 02:02:58 Build step 'Execute shell' marked build as failure