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