I noticed that the `mediawiki-core-npm` job (uses zuul-clone, runs in labs) does not clear the working space. The working directory is preserved by Jenkins (including the directories left behind by zuul-cloner), and zuul-cloner itself also does nothing to reset the working space.
This is causing a wide variety of issues:
* `node_modules` persists between jobs. This is causing old versions to stay in memory even after a newer release was made upstream. It is also causing jobs that modify node_modules to affect future jobs. And no longer used modules (e.g. `grunt-jscs-checker` was renamed to `grunt-jscs`) to persist indefinitely in `node_modules` on the slaves.
* Random files in random directories stay behind (e.g. files that used to be in version control in a past version but have been deleted from the repository).
* Pattern detection is matching unexpected and invalid files (e.g. `resources/src/**/*.js` is now matching files that may be invalid or aren't supposed to be there anymore).
* Files from future versions existing in tests against older branches.
The `-npm` job is declared with git-scm, ` (jenkins) wipe-workspace: false, (git) clean: true`.
This is a regression.