Hi,
We have a set of Jenkins jobs that run daily and execute Ruby+Selenium tests. Recently, the way we run those jobs reached a point where we had to do some serious refactoring[0]. The old jobs were named browsertests*[1], the new are named selenium*[2].
Changes:
#1 The creation and deletion of jobs have been made simpler. Each repository now has only a single job defined in Jenkins. It is a multi configuration job that spawns one or more child job based on a configuration in each repository: `tests/browser/ci.yml`[3]. The main job will then spawn child jobs based on its content.
#2 Jobs execute `selenium` Rake target (`bundle exec rake selenium`). It is defined in the Rakefile of each repository and load the Rake task from mediawiki_selenium Ruby gem version 1.7.0[4].
What does it mean for you?
At this point, no action in needed. All required changes have already been made. When the selenium* job passed for a repository, I have already deleted the browsertests* legacy one. There is still a few repositories (Flow, MobileFrontend, MultimediaViewer, Wikidata) that need to be moved, but we are working on that.
If you have any questions, let me know.
Željko -- 0: https://phabricator.wikimedia.org/T128190 1: https://integration.wikimedia.org/ci/view/BrowserTests/view/-Dashboard/ 2: https://integration.wikimedia.org/ci/view/Selenium/ 3: https://www.mediawiki.org/wiki/Continuous_integration/Entry_points#ci.yml 4: https://www.mediawiki.org/wiki/Continuous_integration/Entry_points#Rake
wikitech-l@lists.wikimedia.org