Page MenuHomePhabricator

Bump php-ast to 1.0.10 for all phan jobs
Closed, ResolvedPublic

Description

Phan 4, released a few days ago, bumped the dependency on php-ast to >= 1.0.7. Given that our next phan (and taint-check) upgrade is going to require that version, CI jobs should be updated now (the change is forward-compatible).

The php-ast docker image currently provides php-ast 1.0.6 for all PHP versions, and 1.0.10 for PHP 8. Instead, it should provide 1.0.10 for all versions (temporarily keeping 1.0.6 as fallback).

Event Timeline

Approximate list of images to update is here. ast_80.so and /usr/lib/php/20200930/ast.so should be excluded because these are already using php-ast 1.0.10. Possibly more accurate list here (might miss something though).

Or... we might just use php-ast 1.0.10 in php-ast by changing this single line, assuming that php-ast 1.0.10 will still work with PHP 7.0.

Or... we might just use php-ast 1.0.10 in php-ast by changing this single line, assuming that php-ast 1.0.10 will still work with PHP 7.0.

Actually, this is really what we should do.

Change 656261 had a related patch set uploaded (by Daimona Eaytoy; owner: Daimona Eaytoy):
[integration/config@master] dockerfiles: [php-ast] Provide php-ast 1.0.10 only

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

Is this going to work fine on release branches too? Most of REL1_35 is on mediawiki-phan-config 0.10.2 (see https://libraryupgrader2.wmcloud.org/library/composer/mediawiki/mediawiki-phan-config?branch=REL1_35) and REL1_31 is at 0.2.0 (https://libraryupgrader2.wmcloud.org/library/composer/mediawiki/mediawiki-phan-config?branch=REL1_31).

I'm not sure, but I think it might have a possibility. The problem is, AFAIK we stopped running phan on REL branches a while ago (T226945). Originally it was due to T231966. Since then, I've just assumed that we weren't going to re-enable phan on rel branches anytime soon, which also led to the removal of some BC code from the mediawiki-phan image.

Change 656261 merged by jenkins-bot:
[integration/config@master] dockerfiles: [php-ast] Provide php-ast 1.0.10 only

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

Image built and published as docker-registry.discovery.wmnet/releng/php-ast:1.1.1 :]

Oh, I just realized that all images using php-ast should be refreshed:

  • composer-package-php72
  • composer-package-php73
  • composer-package-php74
  • mediawiki-phan-testrun
  • node10-test-browser-php72-composer

@hashar would you mind doing that? I really don't want to break anything.

Change 656441 had a related patch set uploaded (by Jforrester; owner: Jforrester):
[integration/config@master] Follow-up 7123732e: dockerfiles: Also cascade new php-ast image

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

Change 656442 had a related patch set uploaded (by Jforrester; owner: Jforrester):
[integration/config@master] jjb: Update jobs for php-ast 1.0.10 update

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

Change 656441 merged by jenkins-bot:
[integration/config@master] Follow-up 7123732e: dockerfiles: Also cascade new php-ast image

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

Mentioned in SAL (#wikimedia-releng) [2021-01-16T23:24:19Z] <James_F> Docker: Building cascade of new php-ast image T271428

Change 656442 merged by jenkins-bot:
[integration/config@master] jjb: Update jobs for php-ast 1.0.10 update

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