Wikimedia Release Engineering Team

From mediawiki.org

This is the team responsible for Release Engineering/Management and QA at the Wikimedia Foundation. We predominately use the QA mailing list along with conversations on the appropriate IRC channels (especially #wikimedia-tech connect, #wikimedia-operations connect, #wikimedia-qa connect, and #wikimedia-dev connect).

Status

Template:Wikimedia project status lineTemplate:Add new Wikimedia engineering project status update

Quarterly Reviews

Backlog/Wishlist

We maintain a list of projects that would be great to have done, but are not on our roadmap in in the near term. See the wishlist here.

Meetings

See /Meetings for notes from the Showcase meetings of the Release and QA Team.

Quarterly Progress

Feb - Apr '14 Goal Progress

See the WMF Engineering 13-14 goals page for the yearly view.

  • Process through all (useful) pain points from the Dev/Deploy review session (Greg)
  • Scap incremental improvements
    • 1) Refactor existing scap scripts to enhance maintainability and reveal hidden complexity of current solution (Bryan)
    • 2) create matrix of tool requirements per software stack (MW, Parsoid, ElasticSearch) (Greg)
    • 3) Use above matrix to add/fix functionality in scap (or related) tooling for ONE software stack, prioritized by cross stack use (Bryan)
  • Use the API to create test data for given tests at run time. (Jeff, Chris, Željko)
  • Create the ability to test headless (Željko, Jeff, Chris)
  • Run versions of tests compatible with target test environments (Chris, all)
  • Make database(s) in Beta Cluster emulate production (set up db slaves) (Antoine)

March Goal Progress

Greg

  • Process through pain points Status:    in-progress
    • security patches Status:    Done
    • LD SWAT team Status:    Done
    • next...
  • LD SWAT team
    • Kick off Status:    in-progress
    • PushBot? Status:    Done - NO (without more dev than Greg can provide right now)
  • quarterly post-mortem kickoff Status:    in-progress
    • scheduled, 3/19 Status:    Done
    • set up morgue? Status:    Not done

Antoine

Reedy

Bryan

  • Status:    In progress Scap refactor/python port
    • Yes Done Extract common logic for making a command line interface into a class
    • Yes Done Fixed sync-wikiversions to use common dsh arguments
    • In progress In progress Setup test environment in beta (carried forward from Feb; harder than I'd hoped)
    • Continue to enhance and simplify scripts
  • Status:    In progress Next generation deployment tooling
    • In progress In progress Organize requirements into wiki page (carried forward from Feb; pairing with Greg)
  • Status:    In progress Support train deploys
    • Yes Done Deploy 1.23wmf16 to group1
    • Yes Done Deploy 1.23wmf17 to group0
    • In progress In progress Deploy 1.23wmf17 to group1
    • In progress In progress Cleanup old l10n cache files on cluster

Andre


Chris

Continuing from Feb:


  • Test and announce general availability of feature to check for ResourceLoader upon page load: ResourceLoader error checking more globally. Status:    In progress
  • Investigate how release branches are described in make-deploy-notes Status:    In progress

Rummana

Željko

February Goal Progress

Greg

Antoine

  • Status:    In progress Complete integration of browsertests for VisualEditor
    • One build worked and triggered two successful scenario!!
    • Parsoid is stopped by the job now, was not previously :/
  • Yes Done Integration of browsertests for CirrusSearch. Cause me to slightly rethink the browsertests infra to closely match production.
  • Yes Done Train Zeljkof on Jenkins Job Builder script
    • Zeljkof started on it. Will pair with him to finish up.
    • Zeljkof found his way through JJB arcanes \O/
  • Yes Done Help migrating Cloudbees Jenkins template to JJB YAML templates
    • Zeljkof started on it. Will pair with him to finish up.
    • Zeljkof found his way through JJB arcanes \O/

Reedy

Bryan

  • Status:    In progress Scap refactor/python port
    • Yes Done Local test environment in a MW-Vagrant instance
    • Yes Done scap converted to python
    • Yes Done scap-1 converted to python
    • Yes Done add detailed duration timing for scap & scap-1
    • Yes Done remove external script dependencies from scap-1
    • Yes Done add progress bar for dsh commands
    • Yes Done Scap logs in json format for easy parsing
    • Yes Done Scap logs sent to florine via udp2log
    • Yes Done Scap logs sent to logstash via udp2log
    • Yes Done Converted mwversionsinuse to python
    • Yes Done Deleted obsolete scripts: scap-1, scap-2, find-nearest-rsync, scap-old
    • In progress In progress Setup test environment in beta (will pair with Antione)
    • Continue to enhance and simplify scripts
  • Status:    In progress Next generation deployment tooling
    • Yes Done gather requirements via etherpad and Ops-l mailing list
    • In progress In progress Organize requirements into wiki page (will pair with Greg)
  • Status:    In progress Support train deploys
    • Yes Done Deploy 1.23wmf16 to group0

Andre


Chris

  • Investigate how release branches are described in make-deploy-notes Status:    In progress

Željko

Jeff

Rummana

Dec '13 - Feb '14 Goal Progress

Dec-Feb Goal Progress

See the WMF Engineering 13-14 goals page for the yearly view.

  • Status:    in-progress - Browser tests managed in feature repos with feature teams (Chris, Zeljko, Jeff, Rummana)
  • Status:    Done - Successfully managed the first release of MediaWiki in conjunction with our outside contractor (Greg, Antoine)
  • Status:    Not done - More comprehensive quarter assessments of postmortems (Greg)
  • Status:    in-progress - Create process documentation for ideal test/deployment steps (Greg, Reedy, Chris, and others)
  • Automated API integration tests in important areas (Chris, Zeljko, Jeff, Rummana, Antoine, also with Mark Holmquist)
    • Status:    in-progress - UploadWizard
    • Status:    in-progress - Parsoid / VisualEditor
    • Status:    Not done - ResourceLoader

Monthly Goal Progress

February

Greg
  • do post Dev and Deploy process review follow up Status:    in-progress
  • Create plan to evaluate progress on postmortem/retrospective actions Status:    in-progress
Antoine
  • Status:    In progress Complete integration of browsertests for VisualEditor
  • Status:    In progress Train Zeljkof on Jenkins Job Builder script
  • Status:    In progress Help migrating Cloudbees Jenkins template to JJB YAML templates
Reedy
Andre


Chris
  • Refactor tests to use API article creation Status:    Not done
  • Continue creating a suite of tests for local environments Status:    Not done
    • Requires the API gem in mediawiki-selenium 1.20
  • Finish headless Xvfb integration Status:    In progress
  • In Jenkins, investigate pulling master branch for beta labs builds but pull release branch for test2wiki builds
  • Follow up on ResourceLoader error reporting Status:    Not done
Željko
Jeff
Rummana
January 2014

January

Greg
  • Prep for Dev and Deploy process meeting (Jan 22nd)
    • Create baseline flowchart of dev/deploy documentation for use in the January in-person meeting - Status:    Done
    • refinements (ie: suggestions from Chris) - Status:    Done
    • write up final agenda/notes, share before meeting (clean up notes from Robla) - Status:    Done
    • make physical version of flowchart - Status:    Done
    • do post-review followup - Status:    Not done
  • Create plan to evaluate progress on postmortem/retrospective actions Status:    Not done
    • archive/put on wikitech missing post-mortems - Status:    Not done
    • create BZ whiteboard entry to track retrospective bugs - Status:    Not done
Antoine
  • For January: got to prepare myself for the MediaWiki summit (two weeks left + one week summit)
  • Mostly focused on CI (Zuul upgrade, new jenkins jobs..) last week.
  • Yes Done Parsoid self update on beta cluster via a Jenkins job.
  • Yes Done Parsoid job migrated to new repos mediawiki/services/parsoid and mediawiki/services/parsoid/deploy
  • Status:    In progress VE browser tests from Gerrit. Waiting for them to be passing with (a fresh wiki + phantomjs)
  • Yes Done mediawiki/extensions.git out of sync since Jan 2nd bug 59758
Reedy
Andre
  • (With Guillaume) Meet Project management tools stakeholders, determine requirements, and document this research. Status:    Done by Guillaume here
  • (With Daniel Zahn) Prepare Bugzilla upgrade to 4.4 (and move to new datacenter) - outstanding steps from bugzilla:49597:
    • Upgrade Bugzilla on zirconium from 4.2 to 4.4. Status:    Done
    • Apply 4.2 custom changes to Bugzilla on zirconium from Git repository. Status:    Done
    • Apply Andre's 11 patches (linked here) in Gerrit to port our custom changes from 4.2 to 4.4. Status:    Done on 2014-01-07
    • Test Bugzilla on zirconium. Status:    Done on 2014-01-15
    • Make collectstats.pl work - bugzilla:29203. Status:    Done by dzahn here on 2014-01-29
    • (With Daniel and Sean) Switch database and DNS from old kaulen server to new zirconium server. Status:    Not done - tentative date: 2014-02-12
  • Show common queries on Bugzilla frontpage - bugzilla:22170. Status:    In progress - 2014-01-10: Patch in Gerrit; depends on 4.4 upgrade first
  • Finalize Bugzilla etiquette draft once the lively discussion on its Talk page has ended. Status:    In progress - 2014-01-09: Announcement that discussion will be closed soon
  • Fix inline displaying of image files in Bugzilla - bugzilla:54181. Status:    Done - andre successfully tested csteipp's patch on Labs on 2014-01-05; deployed on 2014-01-10
  • (With Quim) Finish running Google Code-In contest. Status:    Done


Chris
Željko
Jeff
Rummana
December 2013

December

Greg
  • Create baseline flowchart of dev/deploy documentation for use in the January in-person meeting - Status:    Done
  • Create plan to evaluate progress on postmortem/retrospective actions Status:    in-progress
Antoine
  • jenkins job for VisualEditor / Parsoid (reporting to James F / Gabriel Wicke)
    • making sure a change in VE or in Parsoid does not break the other since they are tightly coupled
    • Yes Done parsoid init script doesn't play well when run over ssh
      • Worked on, wrote an upstart job to wrap around parsoid server + logrotate configuration
  • browser tests in Gerrit.
    • Yes Done First with ULS cause it is simpler, pairing with Zeljkof and i18n team
    • Status:    In progress Second MobileFrontend https://gerrit.wikimedia.org/r/#/c/97497/
    • Status:    Not done later VisualEditor
  • Yes Done polishing up the mw release tarball job (was bug 58278)

Slowdowns:

  • deployed bunch of favicons for Google Code-in
  • helped on gwtoolset, an extension to mass import materials from museum libraries
  • bunch of CI changes to make jobs running in parralel
Reedy
Andre
  • Google Code-In: Run and organize contest with Quim. Status:    In progress
  • Agree and finalize "etiquette" draft for behavior in Bugzilla, as discussed on teampractices@. Status:    In progress - Discussion on Talk page still ongoing on 20131225 after asking for feedback on wikitech-l@.
  • Evaluate Project management / issue tracking requirements and potential tools. Status:    In progress - kicked off on teampractices@ and wiki on 2013-12-13
  • Test Bugzilla 4.4 with our custom patches on Labs (or zirconium in eqiad if production is still on kaulen in Tampa). Status:    In progress, will need help from ops. Steps discussed between dzahn and aklapper on 2013-12-06; dzahn has set up a copy of Bugzilla 4.2 on zirconium in eqiad (see RT #4783). Next steps are upgrading that machine to Bugzilla 4.4, applying our custom patches, testing, and finally switching over.


Chris
  • Get everyone interested in API testing and monitoring pulling together: Multimedia + Jenkins + QA
  • Move login method to shared code (Željko working on this right now), demonstrate improved pass rates pairticularly for IE
    • Status:    In progress In process, interim commit is https://gerrit.wikimedia.org/r/#/c/100579/
      • Upgraded login method and corrected other issues affecting IE pass rate, builds are significantly more green, will pass on benefit to other repos when consolidated
  • Concrete steps for Mobile QA after Michelle's departure
    • Status:    Done Chris to support automation effort, Chris/Jeff/Rummana to contribute as requested, e.g. post-deployment checking
    • Status:    Done Chris is monitoring the backlog of mingle cards for tests immediately. Next step is to collaborate with Mobile devs for regression tests like https://gerrit.wikimedia.org/r/#/c/103761/
  • Browser test coverage for Flow
    • Status:    Done Coverage ongoing
    • Status:    Done Continuing working with S on refinements
Željko
Jeff
Rummana
  • Regular exploration testing on betalabs and test2
  • Verifying each week's VE deployment
  • Verifying resolved bugs
  • Verifying new copy-paste implementation
  • Track the already reported bugs on bugzilla and changing their status accordingly

Check-ins

These are here just for historical reasons, we no longer use this format.