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.