We have PHPUnit required in composer.json, why not phan also? It's run on CI, so it should be readily available for devs to run before they request review. Why require devs to install it separately globally, and make sure their version matches the version on CI so that get useful results?
Description
Details
| Status | Subtype | Assigned | Task | ||
|---|---|---|---|---|---|
| Resolved | Daimona | T220589 Support phan in MediaWiki's default composer.json | |||
| Resolved | Jdforrester-WMF | T192166 Drop HHVM support from MediaWiki | |||
| Resolved | Jdforrester-WMF | T234062 ci-src-setup job (used by mediawiki-core-php72-phan-docker) is still running on PHP 7.0.33 | |||
| Resolved | Jdforrester-WMF | T234384 Drop HHVM from CI | |||
| Resolved | jijiki | T229792 Remove HHVM from production | |||
| Resolved | awight | T236019 Remove HHVM support from Quibble | |||
| Resolved | jijiki | T239054 Reimage all mediawiki servers |
Event Timeline
Because phan requires PHP >=7.0 (other dev deps require >=5.6.99) and until recently also required specific versions of php-ast, which would have make composer install really inconvenient for a lot of people.
I think we can reconsider this and implement it after core requires PHP >=7.0.
Can be worked on now. For what concerns php-ast, we only need to make sure that phan will use the fallback parser if php-ast is not installed.
Change 541005 had a related patch set uploaded (by Daimona Eaytoy; owner: Daimona Eaytoy):
[integration/config@master] docker: mediawiki-phan: Allow mediawiki-phan-config to require phan
Change 541006 had a related patch set uploaded (by Daimona Eaytoy; owner: Daimona Eaytoy):
[mediawiki/tools/phan@master] Move phan/phan to composer require
Change 541005 merged by jenkins-bot:
[integration/config@master] docker: [mediawiki-phan] Allow repos to require phan like normal
Mentioned in SAL (#wikimedia-releng) [2019-10-07T15:34:42Z] <James_F> Docker: [mediawiki-phan] Allow requiring phan like normal in composer.json T220589
Change 541287 had a related patch set uploaded (by Jforrester; owner: Jforrester):
[integration/config@master] jjb: Move mediawiki-core-php72-phan-docker, mwext-php72-phan-docker to new image
Change 541287 merged by jenkins-bot:
[integration/config@master] jjb: Move mediawiki-core-php72-phan-docker, mwext-php72-phan-docker to new image
OK, this is done from the CI end, right? We now "just" need to do a release of mediawiki-phan-config with the dependency and then remove the 'extra' field when bumping all the repos to the new release?
Yes. We need to upgrade phan, but first I'd like to remove the part about strengthening config, that can be done later.
Change 541006 merged by jenkins-bot:
[mediawiki/tools/phan@master] Move phan/phan to composer require and upgrade it
Change 541351 had a related patch set uploaded (by Daimona Eaytoy; owner: Daimona Eaytoy):
[integration/config@master] docker: [mediawiki-phan] Fix syntax error in shell scripts
Change 541351 merged by jenkins-bot:
[integration/config@master] docker: [mediawiki-phan] Fix syntax error in shell scripts
Change 541559 had a related patch set uploaded (by Daimona Eaytoy; owner: Daimona Eaytoy):
[integration/config@master] docker: [mediawiki-phan] Fix phan version validation
Change 541559 merged by jenkins-bot:
[integration/config@master] docker: [mediawiki-phan] Fix phan version validation
In theory, this is now done. Before calling it resolved, I'd like to wait until the new version of mediawiki-phan is released and at least one repo is using it.