Each version of MediaWiki that is deployed to Wikimedia's production clusters should have a corresponding task in Phabricator. When a release-critical issue is discovered and reported in Phabricator, it should be added as a subtask under the blocker task for the most current or any other affected versions. Release engineers monitor all sub-tasks for the deployment branch they are assigned to and all serious issues must be resolved before resuming routine code deployments.
Maintaining the blocking tasks
Periodically, the release manager will create batches of new tasks in Phabricator for planned upcoming MediaWiki version.
SCAP "blockers" plugin
The Release Tools Repository contains a scap plugin named 'blockers' that can be used to automate the creation of a series of tasks in Phabricator.
Usage: scap blockers create [--count NUM] --date START VERSION
You must provide the date and version corresponding to the first task that you will create in the series.
--countargument should be followed by an integer specifying how many new tasks should be created. If
--countis omitted then you will only create 1 task.
--dateargument should be followed by a date in
- The last argument on the command line is the wmf version corresponding to the provided date, in
For Example: With your shell's working directory set to the root of the release tools repo, run the following command to create a series of 2 tasks beginning with 1.31.0-wmf.14 on 2017-12-25
you@yourhost:~/src/release$ scap blockers create --count 2 --date 2017-12-25 1.31.0-wmf.14
The blockers plugin doesn't know when one version series ends and the next begins. You have to create (for example) the 1.31.0-wmf.* series separately from the 1.32.0-wmf.* series.
- Scap, which is obtainable from https://apt.wikimedia.org/wikimedia/pool/main/s/scap/
- Python 2.7.x is needed to run scap
- You need a local copy of The MediaWiki Release Tools git repository
git clone https://phabricator.wikimedia.org/diffusion/MREL/mediawiki-release-tools.git
Phabricator API things
pip install phabricator
- Conduit credentials for the Phabricator API
- You need to have a .arcrc in your home directory with valid conduit credentials for phabricator.wikimedia.org
- See mediawiki.org/Phabricator/Arcanist for detailed setup instructions.
- You don't actually need arcanist installed but the easiest way to get the conduit credentials is to follow the arcanist setup instructions.