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.46/Roadmap on mediawiki.org

A patch goes live on the Beta Cluster about 10 minutes after it is merged, so it can be tested and any bugs can be caught early.

If everything looks good, the patch is deployed to production the following week: Tuesday for group0, Wednesday for group1, and Thursday for group2.

In the diagram, these days refer to the week after the patch was merged, not the same week.

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 all non-Wikipedias, plus three 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).