You are browsing a read-only backup copy of Wikitech. The live site can be found at wikitech.wikimedia.org

Difference between revisions of "Deployments/Train vs backport"

From Wikitech-static
Jump to navigation Jump to search
imported>Quiddity
(navbox)
imported>Kosta Harlan
m (bolding more things)
Line 15: Line 15:
== Backports or Dedicated windows ==
== Backports or Dedicated windows ==
* Changes to [https://gerrit.wikimedia.org/g/operations/mediawiki-config operations/mediawiki-config] '''MUST''' be deployed via backport or a dedicated deployment window
* Changes to [https://gerrit.wikimedia.org/g/operations/mediawiki-config operations/mediawiki-config] '''MUST''' be deployed via backport or a dedicated deployment window
* Changes meeting the [[Deployments/Inclusion_criteria|criteria for dedicated windows]] MUST NOT be deployed via the train and '''SHOULD''' be deployed via dedicated windows
* Changes meeting the [[Deployments/Inclusion_criteria|criteria for dedicated windows]] '''MUST NOT''' be deployed via the train and '''SHOULD''' be deployed via dedicated windows
** Justification: train conductors don't usually understand the aspect or subsystem being changed, and having people who do understand it in dedicated deployment windows means it's less likely to break things badly, and any breakages are more likely to be noticed as breakages.
** Justification: train conductors don't usually understand the aspect or subsystem being changed, and having people who do understand it in dedicated deployment windows means it's less likely to break things badly, and any breakages are more likely to be noticed as breakages.
* Risky changes '''SHOULD''' be deployed in dedicated windows but MAY ride the train provided that the developer [[Deployments/Risky_change_template|comments on the train task]]
* Risky changes '''SHOULD''' be deployed in dedicated windows but '''MAY''' ride the train provided that the developer [[Deployments/Risky_change_template|comments on the train task]]
* Fixes for [[Deployments/Holding_the_train#Issues_that_hold_the_train|critical regressions]] '''SHOULD''' be deployed via backport
* Fixes for [[Deployments/Holding_the_train#Issues_that_hold_the_train|critical regressions]] '''SHOULD''' be deployed via backport
* Changes that are incompatible between wikiversions, such as changes to job serialization format '''SHOULD''' be deployed via dedicated windows rather than deployed via that train
* Changes that are incompatible between wikiversions, such as changes to job serialization format '''SHOULD''' be deployed via dedicated windows rather than deployed via that train
* Non-trivial changes to CSS, JavaScript, PHP, or configuration of MediaWiki core, extensions, or skins that does not require PHP library upgrades '''SHOULD''' be deployed via backport or dedicated window
* Non-trivial changes to CSS, JavaScript, PHP, or configuration of MediaWiki core, extensions, or skins that does not require PHP library upgrades '''SHOULD''' be deployed via backport or dedicated window
* Trivial changes to CSS, JavaScript, PHP, or configuration of MediaWiki core, extensions, or skins that does not require PHP library upgrades '''MAY''' be deployed in backport windows (provided the backport deployer is comfortable deploying the change)
* Trivial changes to CSS, JavaScript, PHP, or configuration of MediaWiki core, extensions, or skins that does not require PHP library upgrades '''MAY''' be deployed in backport windows (provided the backport deployer is comfortable deploying the change)

Revision as of 09:22, 19 March 2021

Deployments

There are types of changes that should be deployed via the train, types of changes that should be deployed via backport windows, and types of changes that should be deployed via dedicated deployment windows. This document is an attempt to codify the criteria used to determine the method by which a change should be deployed.

This change deployment criteria uses IETF RFC 2119 keywords.

Train

  • New extensions MUST be deployed via the train (before they are enabled)
  • Changes to l10n SHOULD be deployed via the train
  • Changes requiring library upgrades in mediawiki/vendor SHOULD be deployed via the train
  • Changes requiring several commits across many branched repositories SHOULD be deployed via the train
  • Any change to MediaWiki core, extensions, or skins MAY be deployed via the train
    • NOTE: For many types of changes it is often more appropriate to deploy these changes via backports and that SHOULD be the default choice.

Backports or Dedicated windows

  • Changes to operations/mediawiki-config MUST be deployed via backport or a dedicated deployment window
  • Changes meeting the criteria for dedicated windows MUST NOT be deployed via the train and SHOULD be deployed via dedicated windows
    • Justification: train conductors don't usually understand the aspect or subsystem being changed, and having people who do understand it in dedicated deployment windows means it's less likely to break things badly, and any breakages are more likely to be noticed as breakages.
  • Risky changes SHOULD be deployed in dedicated windows but MAY ride the train provided that the developer comments on the train task
  • Fixes for critical regressions SHOULD be deployed via backport
  • Changes that are incompatible between wikiversions, such as changes to job serialization format SHOULD be deployed via dedicated windows rather than deployed via that train
  • Non-trivial changes to CSS, JavaScript, PHP, or configuration of MediaWiki core, extensions, or skins that does not require PHP library upgrades SHOULD be deployed via backport or dedicated window
  • Trivial changes to CSS, JavaScript, PHP, or configuration of MediaWiki core, extensions, or skins that does not require PHP library upgrades MAY be deployed in backport windows (provided the backport deployer is comfortable deploying the change)