Page MenuHomePhabricator

Enable PHP 8 CI for ProofreadPage
Closed, ResolvedPublic

Description

The patch for T312930 aims at making ProofreadPage compatible with PHP 8. Unfortunately CI runs only on PHP 7.2. Could PHP 8 (probably 8.1) CI be enabled for the extension to verify that it really works? Since the current master is known not to be compatible, it should be non-voting for now.

Event Timeline

Just be aware of the dependancy tree:

'ProofreadPage': ['LabeledSectionTransclusion', 'Scribunto',
                  'VisualEditor'],

And then we have the vendor issue (specifically using MediaWiki-Vendor won't work well on master until elasticsearch/elasticsearch is upgraded to a version that will even run/install/update on PHP 8)

It's probably going to be difficult to make it voting until those extensions work too.. And non voting might be hard to see the wood from the trees.

I applaud the effort, but I fear this is comfortably blocked on T271777: Bump rufin/elastica (and related libraries) to versions that support PHP 8.0. Doing it non voting should be doable for sure, whether it's anything useful though.

See also: T300463: Make PHP 8.0 voting on MW master, T274965: Make PHP 8.0 voting on currently supported MW release branches, T248925: Make MediaWiki release tarball compatible with PHP 8.0...

Oh, and T283275: Make MW master tests pass on PHP 8.0; master not passing won't be helpful for the extnesions

Change 837227 had a related patch set uploaded (by Tacsipacsi; author: Tacsipacsi):

[mediawiki/extensions/ProofreadPage@master] Fix tests on PHP 8

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

Change 837227 merged by jenkins-bot:

[mediawiki/extensions/ProofreadPage@master] Fix tests on PHP 8

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

Tacsipacsi edited projects, added PHP 8.0 support; removed Patch-For-Review.

In the meantime (85cbea3), PHP 8.0 tests are not only enabled, but even voting, and with the above fix, they also pass. PHP 8.1 tests are disabled, but since the task asked for PHP 8 and probably also PHP 8.1, I think it can be called resolved.