Page MenuHomePhabricator

Drop HHVM support from MediaWiki
Closed, ResolvedPublic

Description

Not soon, and definitely after these have been completed first:


Some things to search for: 'HHVM' (case-insensitive), '\bhph', 'register_postsend_function'

Related Objects

StatusSubtypeAssignedTask
ResolvedJdforrester-WMF
ResolvedJdforrester-WMF
ResolvedMaxSem
ResolvedNone
ResolvedReedy
ResolvedDaimona
ResolvedDaimona
Resolvedaaron
ResolvedMaxSem
ResolvedReedy
ResolvedDaimona
ResolvedReedy
ResolvedReedy
ResolvedJdforrester-WMF
ResolvedKrinkle
ResolvedKrinkle
ResolvedJdforrester-WMF
ResolvedJdforrester-WMF
ResolvedJdforrester-WMF
Resolvedjijiki
Resolvedawight
Resolvedjijiki

Event Timeline

There are a very large number of changes, so older changes are hidden. Show Older Changes

While we'll have to drop HHVM support soon, we're migrating to PHP 7 even sooner. So this isn't currently blocking PHP 7.0 support.

Per T176370, the initial production roll-out will likely use PHP 7.2, or maybe PHP 7.3 even (we're currently evaluating the viability of fast-tracking that and do the gradual roll-out straight from HHVM to PHP 7.3 for user traffic). More details and question at T176370, but it does mean we won't drop HHVM until after PHP 7.3 support is finalised.

Change 434973 had a related patch set uploaded (by Jforrester; owner: Jforrester):
[mediawiki/core@master] [DNM][WIP][GOSH] Drop HHVM support from MediaWiki

https://gerrit.wikimedia.org/r/434973

There is now the Hiera key profile::mediawiki::install_hhvm that let's us remove HHVM entirely from appservers individually.

Change 534521 had a related patch set uploaded (by Jforrester; owner: Jforrester):
[integration/config@master] [DNM] layout: Drop HHVM testing from all quibble jobs

https://gerrit.wikimedia.org/r/534521

I think we're trying to make it happen as part of 1.34, might need to be backported at the last minute.

Even we don't make it, what will happen is that we drop support in documentation, but that it might (accidentally) work during the first .0 release, but we have no intention of supporting it officially. Once WMF has migrated away, all testing on master and REL1_34+ will cease, possibly for older branches as well (to be determined).

I think we're trying to make it happen as part of 1.34, might need to be backported at the last minute.

Huh, that soon? I thought we would deprecate HHVM support in 1.34, and remove it in 1.35.

Even we don't make it, what will happen is that we drop support in documentation, but that it might (accidentally) work during the first .0 release, but we have no intention of supporting it officially. Once WMF has migrated away, all testing on master and REL1_34+ will cease, possibly for older branches as well (to be determined).

Good, thanks. So, basically, we can update the docs and unblock these patches as soon as 1.34 is cut?

Once HHVM is completely and disabled from WMF production servers relating to MediaWiki and e.g. 1-2 weeks have passed, then we can immediately remove support for it in master.

For documentation it is fine to already remove it. It has been stated for several releases already that HHVM only works for WMF and will be removed as soon as the migration is completed. We will not be supporting HHVM for the full 1.34 release cycle.

Krinkle moved this task from Inbox to Watching on the TechCom board.

Change 539326 had a related patch set uploaded (by Giuseppe Lavagetto; owner: Giuseppe Lavagetto):
[operations/puppet@production] mediawiki: remove the PHP/HHVM conditionals from the code

https://gerrit.wikimedia.org/r/539326

I think we're trying to make it happen as part of 1.34, might need to be backported at the last minute.

Huh, that soon? I thought we would deprecate HHVM support in 1.34, and remove it in 1.35.

It was never really supported, and deprecated in 1.31. It's only dragged on for so long because of Wikimedia production.

Good, thanks. So, basically, we can update the docs and unblock these patches as soon as 1.34 is cut?

No.

Change 540488 had a related patch set uploaded (by Jforrester; owner: Jforrester):
[mediawiki/core@master] Drop HHVM support from MediaWiki

https://gerrit.wikimedia.org/r/540488

Change 540488 merged by jenkins-bot:
[mediawiki/core@master] Drop HHVM support from MediaWiki

https://gerrit.wikimedia.org/r/540488

Change 540502 had a related patch set uploaded (by MaxSem; owner: MaxSem):
[mediawiki/vagrant@master] Drop HHVM support

https://gerrit.wikimedia.org/r/540502

Change 540767 had a related patch set uploaded (by MaxSem; owner: MaxSem):
[mediawiki/php/wikidiff2@master] Drop HHVM support

https://gerrit.wikimedia.org/r/540767

Change 540767 merged by jenkins-bot:
[mediawiki/php/wikidiff2@master] Drop HHVM support

https://gerrit.wikimedia.org/r/540767

Change 541141 had a related patch set uploaded (by MaxSem; owner: MaxSem):
[mediawiki/extensions/wikihiero@master] Remove HHVM check

https://gerrit.wikimedia.org/r/541141

Change 541143 had a related patch set uploaded (by MaxSem; owner: MaxSem):
[mediawiki/core@master] Hard-deprecate wfIsHHVM()

https://gerrit.wikimedia.org/r/541143

Change 426165 abandoned by MaxSem:
WIP: kill HHVM specific hacks

https://gerrit.wikimedia.org/r/426165

Change 541141 merged by jenkins-bot:
[mediawiki/extensions/wikihiero@master] Remove HHVM check

https://gerrit.wikimedia.org/r/541141

Change 541266 had a related patch set uploaded (by Jforrester; owner: Jforrester):
[mediawiki/core@REL1_34] Drop HHVM support from MediaWiki

https://gerrit.wikimedia.org/r/541266

Change 541266 merged by jenkins-bot:
[mediawiki/core@REL1_34] Drop HHVM support from MediaWiki

https://gerrit.wikimedia.org/r/541266

Change 541143 merged by jenkins-bot:
[mediawiki/core@master] Hard-deprecate wfIsHHVM()

https://gerrit.wikimedia.org/r/541143

Jdforrester-WMF claimed this task.
Jdforrester-WMF closed subtask T234384: Drop HHVM from CI as Resolved.

I'm declaring this Resolved.

Change 540502 merged by jenkins-bot:
[mediawiki/vagrant@master] Drop HHVM support

https://gerrit.wikimedia.org/r/540502

Change 434973 merged by jenkins-bot:
[mediawiki/core@master] PHPVersionCheck: Simplify warning as part of dropping HHVM support

https://gerrit.wikimedia.org/r/434973

Drawing the line between "stuff that happens post-HHVM" and "stuff required for WMF to start using PHP7" at this task. It's useful to track al the things the migration unblocked, so I've re-added them as parent tasks here (sorry about the noise), and instead broke the link with T176370 in order to keep the tree somewhat sane.

Change 539326 merged by Effie Mouzeli:
[operations/puppet@production] mediawiki: remove the PHP/HHVM conditionals from the code

https://gerrit.wikimedia.org/r/539326