<div dir="ltr"><div class="" id="magicdomid6"><span class="">Hi,</span></div><div class="" id="magicdomid7"><br></div><div class="" id="magicdomid8"><span class="">W</span><span class="">e
 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].</span></div><div class="" id="magicdomid9"><br></div><div class="" id="magicdomid10"><span class="">Changes:</span></div><div class="" id="magicdomid11"><br></div><div class="" id="magicdomid12"><span class="">#1 </span><span class="">The creation and deletion of jobs have been made simpler. E</span><span class="">ach repositor</span><span class="">y</span><span class=""> </span><span class="">now </span><span class="">ha</span><span class="">s</span><span class=""> only </span><span class="">a single job defined in Jenkins. It is a</span><span class=""> </span><span class="">multi configuration job that spawns one or more child job based on a configuration in each repository:</span><span class=""> `tests/browser/ci.yml`[3]</span><span class="">.  The main job will then spawn child jobs based on its content.</span></div><div class="" id="magicdomid13"><br></div><div class="" id="magicdomid37"><span class="">#2 Jobs </span><span class="">execute</span><span class=""> `selenium` Rake target (`bundle exec rake selenium`)</span><span class="">. It is defined in the </span><span class="">Rakefile </span><span class="">of</span><span class=""> each repository</span><span class=""> and load the Rake task from </span><span class="">mediawiki_selenium Ruby gem version 1.7.0[4]</span><span class="">.</span></div><div class="" id="magicdomid15"><br></div><div class="" id="magicdomid16"><span class="">What does it mean for you?<br><br>At this point, no action in needed. All required changes </span><span class="">have</span><span class=""> already</span><span class=""> been</span><span class=""> made.</span><span class=""> When the selenium* job passed for a repository, I have already deleted the browsertests* legacy one.</span><span class=""> There is still a few repositories</span><span class=""> (Flow, MobileFrontend, MultimediaViewer, Wikidata)</span><span class=""> that need to be moved, but we are working on that.</span></div><div class="" id="magicdomid17"><br></div><div class="" id="magicdomid18"><span class="">If you have any questions, let me know.</span></div><div class="" id="magicdomid19"><br></div><div class="" id="magicdomid20"><span class="">Željko</span></div><div class="" id="magicdomid21"><span class="">--</span></div><div class="" id="magicdomid22"><span class="">0: </span><span class=""><a href="https://phabricator.wikimedia.org/T128190">https://phabricator.wikimedia.org/T128190</a></span></div><div class="" id="magicdomid23"><span class="">1: </span><span class=""><a href="https://integration.wikimedia.org/ci/view/BrowserTests/view/-Dashboard/">https://integration.wikimedia.org/ci/view/BrowserTests/view/-Dashboard/</a></span></div><div class="" id="magicdomid24"><span class="">2: </span><span class=""><a href="https://integration.wikimedia.org/ci/view/Selenium/">https://integration.wikimedia.org/ci/view/Selenium/</a></span></div><div class="" id="magicdomid31"><span class="">3: </span><span class=""><a href="https://www.mediawiki.org/wiki/Continuous_integration/Entry_points#ci.yml">https://www.mediawiki.org/wiki/Continuous_integration/Entry_points#ci.yml</a></span></div><div class="" id="magicdomid36"><span class="">4: </span><span class=""><a href="https://www.mediawiki.org/wiki/Continuous_integration/Entry_points#Rake">https://www.mediawiki.org/wiki/Continuous_integration/Entry_points#Rake</a></span></div></div>