Wikimedia Release Engineering Team/Checkin archive/20131119

Quarterly Review

 * https://www.mediawiki.org/wiki/Wikimedia_Release_%26_QA_Team/Quarterly_review,_November_2013

Improve our deployment process
NOT DONE: Antoine could use pairing with someone else from the team to define the monitoring needs we have. Then delegate to ops for implementation.
 * git-deploy
 * Mostly on hold right now
 * automation
 * extension removal updates are currently manual, maybe make automatic? less beta cluster breakage
 * Antoine: We have a sync script in mediawiki/extensions.git https://gerrit.wikimedia.org/r/#/c/70836/
 * Antoine: Ideally extension should be registered by Gerrit whenever a repo is created, but that is not supported.
 * TODO: automate somewhere the run of the script to add/remove extensions. Might be done via Jenkins.
 * support Parsoid correctly on beta labs
 * Antoine: Status: code runs on deployment-parsoid2 out of a local copy. Need to find a way to have the Jenkins job updating code on deployment-bastion to restart the parsoid process on deployment-parsoid2 https://bugzilla.wikimedia.org/show_bug.cgi?id=57233
 * monitoring
 * antoine will fill a ton of bugs here for beta cluster

Take the Beta Cluster to the next level
Antoine: https://bugzilla.wikimedia.org/show_bug.cgi?id=56590
 * monitoring of fatals, errors, performance
 * exception going to be logged via json soon. Patch pending in mediawiki/core.
 * Need monitoring setup (aka Icinga / irc notification bot ...). Action for OPS
 * SSL
 * Sudo policy revisited, root access now restricted to NDA folks.
 * SSL Certificates: quite expensive (see quote in https://rt.wikimedia.org/Ticket/Display.html?id=6116 PRIVATE!!!)
 * Antoine: do we really need real SSL certificates?
 * > YES ? might want to limit the wiki that would have real SSL certs (aka bits, upload, login, enwiki, commons)
 * > NO ? should be possible to add the self signed to the tests browers
 * add more automated tests for eg the API
 * sync articles/gadgets from production https://bugzilla.wikimedia.org/show_bug.cgi?id=49779
 * Chris cleaned up a bunch of old Gadgets and user javascript that were out of date and/or corrupt but still on beta and causing issues.
 * feed experiences/gained knowledge of Beta Cluster automation up to production automation

MediaWiki tarball
Antoine:
 * Doesnt tar the branch of extensions but either master or the local checkout https://bugzilla.wikimedia.org/57088
 * Prerequisites patches (please test):
 * https://gerrit.wikimedia.org/r/96016 unit tests for MwVersion class (which handle version information)
 * https://gerrit.wikimedia.org/r/96038 enhance MwVersion to support tags and branches
 * Need some python glue to forge the RELX_XX branch and checkit out locally or fetch it from Gerrit.
 * Jenkins job fails https://integration.wikimedia.org/ci/job/mediawiki-core-release/
 * make-release.py is pointing to a local replication of Gerrit repositories (under /srv/ssd/gerrit/mediawiki/). The job and script are launched before the tag creation got replicated. Have to add some waiting loop to catch up with replication.

Better align QA effort with high profile features

 * Apply model of Language/Mobile embedded QA to a new feature team (specifically VisualEditor)
 * Rummana is testing VE successfully
 * Jeff Hall coming on board Nov 12
 * Include more user contributed code testing (eg: Gadgets)
 * Increase capacity through community training for browser tests
 * Mobile/Michelle
 * teaching devs to do automated tests :)
 * writing up some cheat sheets for them
 * looking at javascript code coverage tooling, email to wikitech-l forthcoming
 * figuring out deploy train
 * Release notes enhancement (Andre)
 * revaluating tools used for project/feature/roadmap/whatever ?
 * http://www.mediawiki.org/wiki/Tracker/PM_tool (from 2010)
 * Blog post by Guillaume Paumier http://guillaumepaumier.com/2010/03/05/scaling-up-software-development-for-wikimedia-websites-tools/, looked at redmine
 * Would be looked at starting in January
 * teampractices mailing list opening up to other organizations

Selenium tests
Chris/S Page What is required before integration in Gerrit continue is to make sure browsertests are passing using phantomjs and a newly created wiki. Anyone can help by running them and reporting the bugs then pair up with Browsertests expert to fix the issues. Might get the features teams involved? Aka VisualEditor and Language team for ULS.
 * Željko
 * working on media-wikiselenium gem (moving shared code there)
 * Pairing with Niklas and Amir from Language team
 * Pairing with Tobi @WMDE (they have ton of Selenium tests)
 * 1 hour pairing on Friday with random folks interested in writing tests
 * Bringing Flow on as well
 * Antoine: browsertests via Gerrit/Jenkins
 * Tests are run against an empty wiki which break assumptions made in tests:
 * https://bugzilla.wikimedia.org/57104 - browsertests assume User namespace is editable with VisualEditor
 * https://bugzilla.wikimedia.org/57103 - browsertests assume User:Selenium_user exist
 * https://bugzilla.wikimedia.org/57099 ULS test failing: phantomjs browsertests fails with invalid byte sequence in UTF-8
 * https://bugzilla.wikimedia.org/57101 browser tests must normalize font-family: aka browsers normalize font-familly differently.