Page MenuHomePhabricator

Create composer-test-php70 docker image for fundraising tech's crm tests
Open, Stalled, Needs TriagePublic

Description

Hi Releng folks. If it's not too much work, could you please create a docker image capable of running our CiviCRM tests on PHP7.0? We will very likely be running 7.0 in production till the end of December at least.

We are also updating dependencies so the PHP5.6 tests no longer work (see https://gerrit.wikimedia.org/r/526573 for example). There's supposed to be a set of tests running on PHP7.2, but they're failing because of a missing php-intl extension (see https://gerrit.wikimedia.org/r/518742). It would be nice to get those working, but even nicer to get a testing environment with the same version of PHP as we're using in production.

Event Timeline

Ejegg created this task.Aug 13 2019, 7:34 PM
Restricted Application added a subscriber: Aklapper. · View Herald TranscriptAug 13 2019, 7:34 PM

Hey, happy to help out.

Just to confirm, you want 7.0 not 7.2? Everything else in production is now running 7.2.

Ejegg added a comment.Oct 3 2019, 12:53 AM

Yep, the payments cluster, including our CiviCRM box, is stuck on 7.0 till at least the end of the year.

Change 540662 had a related patch set uploaded (by Jforrester; owner: Jforrester):
[integration/config@master] jjb: Provide wikimedia-fundraising-crm-composer-php70-docker

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

Change 540663 had a related patch set uploaded (by Jforrester; owner: Jforrester):
[integration/config@master] layout: [wikimedia/fundraising/crm] Add …-composer-php70-docker as experimental

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

Change 540662 merged by jenkins-bot:
[integration/config@master] jjb: Provide wikimedia-fundraising-crm-composer-php70-docker

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

Change 540663 merged by jenkins-bot:
[integration/config@master] layout: [wikimedia/fundraising/crm] Add …-composer-php70-docker as experimental

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

Mentioned in SAL (#wikimedia-releng) [2019-10-03T19:12:51Z] <James_F> [wikimedia/fundraising/crm] AAdd experimental php70 job T230446

Change 540664 had a related patch set uploaded (by Jforrester; owner: Jforrester):
[integration/config@master] layout: [wikimedia/fundraising/crm] Make …-composer-php70-docker a full job

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

Change 540681 had a related patch set uploaded (by Jforrester; owner: Jforrester):
[integration/config@master] dockerfiles: Rename php to php70 and add intl

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

Change 540682 had a related patch set uploaded (by Jforrester; owner: Jforrester):
[integration/config@master] dockerfiles: Bump things over to use php70 which adds intl

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

Change 540683 had a related patch set uploaded (by Jforrester; owner: Jforrester):
[integration/config@master] jjb: Move jobs over to php70-inherited images

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

Change 540681 merged by jenkins-bot:
[integration/config@master] dockerfiles: Rename php to php70 and add intl

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

Change 540682 merged by jenkins-bot:
[integration/config@master] dockerfiles: Bump things over to use php70 which adds intl

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

Ejegg added a comment.Oct 15 2019, 3:33 PM

Thanks @Jdforrester-WMF , looks like this is working great!

Thanks @Jdforrester-WMF , looks like this is working great!

Hey, thanks. Happy to help out.

Unfortunately I can't switch it on in a voting manner right now because one of your dependencies (via civicrm) is using String as a class name, which is prohibited in PHP 7.0. See https://integration.wikimedia.org/ci/job/wikimedia-fundraising-crm-composer-php70-docker/4/console

What do you want me to do next? I could make it run alongside the PHP 7.2 test as non-voting?

Jdforrester-WMF changed the task status from Open to Stalled.Oct 17 2019, 8:55 PM

Change 540683 merged by jenkins-bot:
[integration/config@master] jjb: Use subsidiary images changed by move to versioned PHP images

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

Ejegg added a comment.Oct 18 2019, 4:00 PM

Oh shoot, thanks for pointing that out. The CSS library with the offending class name seems to have since been updated to call the class CSSString. I'll try to get the new version in, once I can figure out how to test it. It's not referred to directly in the CiviCRM codebase - it's a dependency of a SVG library which in turn is a dependency of a PDF library.

Yeah, dependency hell. My sympathies, especially at this time of year. :-(