Jump to content

Deployments/Train

From Wikitech

The Deployment Train is a weekly process led by the Release Engineering Team, to deploy the latest alpha version of MediaWiki at WMF to production.

Typical numbers as of September 2021:

  • 198 code repositories (mediawiki/core, mediawiki/vendor, 188 MW extensions, and 8 MW skins).
  • 978 wikis.
  • between 150 and 1000 patches since the last train.

Current week

Schedule

See also MediaWiki 1.44/Roadmap on mediawiki.org

NOTE: The mention of Tuesday, Wednesday and Thursday in the diagram are for the following week, not the week the patch was merged in. So, after 10 mins of the patch merged, it goes live on beta for people to test things and make sure to catch bugs in case there are any.

Assuming everything goes well, the changes that got merged during a particular week only ride the train the week after fron Tuesday to group0, Wednesday to group1 and Thursday to group2.

Deployment train diagram.
Sunday Monday Tuesday Wednesday Thursday Friday Saturday
Deploy to group 0 Deploy to group 1 Deploy to group 2

Groups

Tuesday

Each Tuesday a Release Engineering team member cuts a new branch of all 198 repositories in a Wikimedia Production deployment. The branch is always prefixed with wmf/ and then a version number. For example: wmf/1.40.0-wmf.1.

The train conductor deploys that to Group0 wikis (see dblists/group0.dblist). This group includes:

Wednesday

On Wednesday Release Engineering leads a log triage session to find and file any new errors.

Following the log triage, the train conductor for the week makes a go/no-go decision to deploy to Group1 wikis.

Group1 is non-Wikipedias, see dblists/group1.dblist.

Group1 includes:

Thursday

If no blockers are found, the train conductor pushes code to all other Wikipedias, see dblists/group2.dblist.

Group2 includes en.wikipedia.org (English Wikipedia).