Wikimedia Release Engineering Team

This is the team responsible for Release Engineering/Management and Quality Assurance at the Wikimedia Foundation. We predominately use the QA mailing list along with conversations on the appropriate IRC channels (especially, , , and ).

= Status =

Planning
Quarterly Reviews ...cont Checkins Other
 * August 2014
 * April 2014
 * Mid-quarter checkin
 * February 2014
 * Mid-quarter checkin
 * November 2013
 * August 2013
 * Monthly Checkin Archive
 * Wishlist
 * Metrics
 * Ongoing Maintenance
 * Vagrant survey

April - July '14 Goals Progress

 * For past quarter's checkins, see the archives.
 * See the WMF Engineering 13-14 goals page for the yearly view.
 * Mid-quarter checkin (June 27th)

Deployment tooling

 * - Process through all (useful) pain points from the Dev/Deploy review session - (Greg)
 * - Product reviews of shell bugs as needed
 * - Integrate HHVM support into our deployment systems - (Bryan, Greg, Mukunda, others from Platform)
 * Deciding on best way forward for authoritative repo setup
 * - continue the scap(py) (stretch goal, finally prioritized since it adds a lot to our deployment workflow)
 * All scap scripts have been migrated to python minus one
 * - trebuchet integration conversation (stretch goal)

Phabricator
New project since this quarter
 * - Release engineer hired (Mukunda)
 * - SUL/OAuth integration - (Mukunda)
 * Two patches in gerrit:
 * https://gerrit.wikimedia.org/r/#/c/139438/
 * https://gerrit.wikimedia.org/r/#/c/139442/
 * - Security component support - (Mukunda)
 * - Puppetization with ops (Chase) - (Mukunda)
 * - Build debian package for mailparse php extension - (Mukunda)
 * T404
 * - Honor security policies for file uploads/attachments - (Mukunda)
 * T477
 * - data import, with Chase and Andre - (Mukunda)

Beta cluster

 * - Support HHVM deployment tooling and puppet configuration testing - (Bryan, Antoine, Mukunda)
 * Mostly done for now
 * - Swift cluster in beta (stretch goal)
 * tracking bug:
 * Andrew Bogott/Filippo created preliminary puppet classes that matches labs environment
 * merged on Tuesday 6/24 - https://gerrit.wikimedia.org/r/#/c/137803/
 * - assist language team to deploy cxserver - added mid-quarter - (Antoine) (added mid-quarter)

MediaWiki Release

 * - Successfully support the release of MediaWiki 1.23 - (Antoine, Greg)
 * mailing list announcement
 * - Kickoff/complete second RFP - (Greg)
 * - Investigate and create useful release/deployment metrics visualizations - (Greg) - (stretch goal)

Browser tests

 * - Use tags to run builds appropriate to released versions (e.g. don't run master build on test2wiki) - (Chris)
 * dependent on the two below
 * - Retire Cloudbees Jenkins instance - (Željko)
 * - Retire /qa/browsertests repo by porting tests to /mediawiki/core and appropriate extension repos (Chris) (added mid-quarter)
 * - Integrate WMF Jenkins with new WMF SauceLabs account - (Željko, Antoine, Chris)
 * - Use API to create test data at runtime more widely (not just for MobileFrontend but also VisualEditor, Flow, local dev env etc.) - (Chris, Željko) Calling this done for the quarter, but we'll always be using it into the future
 * Used by MobileFrontend
 * Used by VisualEditor
 * Used by smoke tests (part of quarterly goals)
 * - Add browsertests to new repos e.g. GettingStarted - (Chris, Željko)

Engineering Liasion Work

 * - Pair with teams and community members to improve QA practices
 * Language team
 * Wikidata team
 * Commuity members
 * - GSOC mentoring

Vagrant
New project since this quarter
 * Automation Engineer hired (Dan)
 * - Improve Vagrant setup process (especially re browser tests) and clean up Ruby according to style guide
 * - VE browser tests in Vagrant cleanup/improvement
 * - MobileFrontend tests in Vagrant cleanup/improvement
 * - Ruby style guide

Hiring

 * - Complete hiring and train new Release Engineer (Greg, all)
 * - Complete hiring and train new Automation Engineer (Ruby)  (Chris, all)
 * - Complete hiring of a new QA Tester (Chris, Greg) - added mid-quarter

Quarterly Review Action items

 * - create a plan for browser testing of MediaWiki 1.23 - Chris M
 * http://lists.wikimedia.org/pipermail/wikitech-l/2014-June/077256.html
 * - Greg get firm requirements from Antoine, circle back to Mark who'll have an idea of Op's timelime for production Shinken (monitoring system to maybe replace Icinga)
 * no deadline knows on ops side. Might not be high priority
 * ops in charge: Alexandros (Greece based)
 * maybe use it in Beta Cluster as a POC
 * - Figure out how to keep HHVM unit tests from delaying +2 for standard production commits (Antoine, Chris M, Zeljko)

Greg

 * - Process through pain points
 * - WMF product should be consulted on some shellbugs
 * - Kickoff/complete second RFP
 * - Hire QA Tester (jobvite announce
 * - Refine Deployment_tooling/Notes/Deployment_system_requirements with Bryan
 * - Investigate and create useful release/deployment metrics visualizations

Antoine

 * - Support HHVM deployment tooling and puppet configuration testing
 * - RFC for Jenkins tests isolation
 * wrote and published to ops and engineering lists OK
 * agreement by End of June -> slipped due to discussions
 * POC by End of July
 * - RFC for cross repositories testing and integration job in gate
 * - implementing cross repository cloner (aka have repositories match branches/zuul ref)
 * Example run: https://integration.wikimedia.org/ci/job/mediawiki-core-extensions-integration/56/testReport/
 * - assist language team to have cxserver deployed to beta cluster
 * They handle the rest with ops (puppet) and deployers (mediawiki-config)

Mukunda

 * - read all the things
 * ✅ - WMF SUL/OAuth support T40
 * ✅ - security component support in Phab Upstream T4893, our phab T95
 * custom plugin for this, installed on fab.wmflabs, code is in gerrit
 * being reviewed upstream, but won't be included in mainline Phab
 * ✅ - Custom field to show mediawiki user page links on phabricator profiles
 * ✅ - puppet wmflib beginnings
 * ✅ - legalpad.mediawiki.org
 * ✅ - Build debian package for mailparse php extension
 * T404
 * - Honor security policies for file uploads/attachments - (Mukunda)
 * T477
 * - data import, with Chase and Andre

Bryan

 * Scap refactor/python port
 * ✅ Repository .git is synchronised fine, but is broken for submodules because of hardcoded gitdir link
 * - Integrate HHVM support into our deployment systems
 * Next generation deployment tooling
 * Support train deploys

Chris

 * - migrate to WMF Jenkins
 * - Use tags to run builds appropriate to released versions (e.g. don't run master build on test2wiki)
 * Antoine fleshing out a start of this idea at Zurich
 * - hire new QA Tester

Dan

 * - MobileFrontend broswer tests in Vagrant
 * - Improve Vagrant setup process (especially re browser tests)
 * https://gerrit.wikimedia.org/r/#/c/143218/
 * - Ruby style guide
 * - Refactor MediaWiki-Vagrant according to Ruby style guide