We currently have several projects which can not be tested with our current Jenkins test infrastructure, and as a consequence are hosting their primary code repositories on github: * RESTBase https://github.com/wikimedia/restbase -- missing Cassandra support * iOS Mobile app https://lists.wikimedia.org/pipermail/wikitech-l/2015-September/083005.html -- missing OS X platform
Other projects can only run a small portion of their test suite via Jenkins: * mw-ocg-latexer https://github.com/wikimedia/mediawiki-extensions-Collection-OfflineContentGenerator-latex_renderer -- requires LaTeX from PPA, image utilities (`jpegtran`).
An alternative to allow these apps to be hosted on Wikimedia infrastructure (gerrit, eventually phabricator) is to allow travis integration with jenkins as an optional service.
npm-travis https://github.com/cscott/npm-travis ( https://github.com/cscott/npm-travis) is a tool which will trigger Travis builds from NPM by pushing to a throwaway branch, which is then cleaned up after the tests complete. It integrates well with the Gerrit access control mechanism: the "Travis Bot" user can be granted push access only, and only to branches prefixed with `npm-travis/`, so it cannot be used to push changes to the master or deployment branches.
This isn't a replacement for our jenkins test infrastructure, but it allows us to accommodate oddball repositories without taxing our infrastructure team or resorting to offsite repository hosting.
There are WIP patches for integrating `npm-travis` with our jenkins infrastructure (https://gerrit.wikimedia.org/r/173045, https://gerrit.wikimedia.org/r/173046) but they seem to be blocked on policy disagreements. This RFC aims to resolve the policy issues.
This RFC in Phabricator: https://phabricator.wikimedia.org/T114421 --scott