T271736: Migrate WMF production from PHP 7.2 to PHP 7.4 | T360995: Migrate Wikimedia production from PHP 8.1 to PHP 8.3
The next target for WMF production after PHP 7.4, is PHP 8.1. This will incorporate:
- Assurance that this should work
- CI configured to require PHP 8.1 to pass for all production code
- Making CI passing and enforced ("voting") for MediaWiki core on PHP 8.0 and PHP 8.1.
- Making CI passing wmf-deployed MediaWiki extensions and skins on PHP 8.0 and PHP 8.1.
- Other tooling changes as needed
- CI configured to require PHP 8.1 to pass for all production code
- Preparation of Wikimedia production
- If coinciding PHP upgrade with Debian upgrade, deploy next ICU version and transition category collations in the MediaWiki databases: T345561: Upgrade the MediaWiki servers to ICU 67. Past examples, see T263437, T292552.
- Configure MW with ucfirst emulation for PHP 8.1 in wmf-config, to match behaviour of PHP 7.4 (title renames will happen post-upgrade). T372603: Regenerate UcfirstOverrides.php for PHP 7.4 -> 8.1 transition Past examples: T292552.
- Provision PHP 8.1 in production via puppet and docker (including any ports or changes needed for php extension packages such as php-apcu, php-luasandbox, php-excimer, etc.)
- Pre-launch testing T319432
- Per-cluster ramp-up:
- App servers
- N% of all cookie-based traffic to Appservers and API appservers
- Parsoid
- Job runners
- Appservers
- API appservers
- Snapshot hosts ("dumps")
- Deployment hosts
- Maintenance hosts
- Wikitech host
- App servers
- Decommission support for PHP 7.4 from production
- Drop PHP 7.4 and 8.0 testing from CI, if not otherwise needed for release branches