You are browsing a read-only backup copy of Wikitech. The live site can be found at wikitech.wikimedia.org
Deployments/Blocking tasks: Difference between revisions
imported>Thcipriani |
imported>Aklapper (Remove "Python 2.7.x is needed to run scap" per phab:T279628) |
||
(3 intermediate revisions by 3 users not shown) | |||
Line 1: | Line 1: | ||
{{Navigation MediaWiki deployment}} | {{Navigation MediaWiki deployment}} | ||
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. | 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. | ||
The current train blocker task may be found via: https://train-blockers.toolforge.org | |||
== Maintaining the blocking tasks == | == Maintaining the blocking tasks == | ||
Line 6: | Line 8: | ||
=== SCAP "blockers" plugin === | === SCAP "blockers" plugin === | ||
The [[phab:diffusion/MREL/|Release Tools Repository]] contains a scap plugin named ' | The [[phab:diffusion/MREL/|Release Tools Repository]] contains a scap plugin named 'blockers' that can be used to automate the creation of a series of tasks in Phabricator. | ||
<pre> | <pre> | ||
Line 18: | Line 20: | ||
'''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'' | '''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'' | ||
<code>'''you@yourhost:~/src/release$''' scap | <code>'''you@yourhost:~/src/release$''' scap blockers create --count 2 --date 2017-12-25 1.31.0-wmf.14</code> | ||
== Limitations == | |||
The | 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. | ||
==== | == Installation == | ||
=== Scap things === | |||
* [[Scap]], which is obtainable from https://apt.wikimedia.org/wikimedia/pool/main/s/scap/ | |||
* You need a local copy of The [[phab:diffusion/MREL/|MediaWiki Release Tools]] git repository | * You need a local copy of The [[phab:diffusion/MREL/|MediaWiki Release Tools]] git repository | ||
** <code>git clone <nowiki>https://phabricator.wikimedia.org/diffusion/MREL/mediawiki-release-tools.git</nowiki></code> | ** <code>git clone <nowiki>https://phabricator.wikimedia.org/diffusion/MREL/mediawiki-release-tools.git</nowiki></code> | ||
** <code>cd mediawiki-release-tools</code> | ** <code>cd mediawiki-release-tools</code> | ||
=== Phabricator API things === | |||
* The <code>phabricator</code> python module | * The <code>phabricator</code> python module | ||
** <code>pip install phabricator</code> | ** <code>pip install phabricator</code> |
Latest revision as of 08:01, 18 May 2022
Deployments |
---|
|
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.
The current train blocker task may be found via: https://train-blockers.toolforge.org
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.
- The
--count
argument should be followed by an integer specifying how many new tasks should be created. If--count
is omitted then you will only create 1 task. - The
--date
argument should be followed by a date inYYYY-MM-DD
format. - The last argument on the command line is the wmf version corresponding to the provided date, in
#.##.#-wmf.#
format.
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
Limitations
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.
Installation
Scap things
- Scap, which is obtainable from https://apt.wikimedia.org/wikimedia/pool/main/s/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
cd mediawiki-release-tools
Phabricator API things
- The
phabricator
python modulepip 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.