Page MenuHomePhabricator

Update CI config for new fundraising/REL1_39 branch of mediawiki/core under php7.4
Closed, ResolvedPublic

Description

I put up a WIP to add fundraising/REL1_39 config to jjb/wm-fundraising.yaml and jjb/php.yaml, but it needs some more work to actually run the right tests.

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

In zuul/layout.yaml the fundraising specific gate and test suites are defined to use php73 images. I'd love any suggestions or patch edits from the release engineering team to let us run tests against fundraising/REL1_39 with the php7.4 images while still using php73 (for the next week or so) on the fundraising/REL1_35 branch.

For the last upgrade we needed to maintain a special branch of DonationInterface during the transition, but for this upgrade it seems only one patch is necessary, and that one is backwards compatible with REL1_35.

Event Timeline

Change 876010 had a related patch set uploaded (by Ejegg; author: Ejegg):

[integration/config@master] WIP add test jobs for fundraising/REL1_39

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

Change 877253 had a related patch set uploaded (by Jforrester; author: Jforrester):

[integration/config@master] Zuul: Add experimental jobs for fundraising/REL1_39

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

Change 876010 merged by jenkins-bot:

[integration/config@master] jjb: Add test jobs for fundraising/REL1_39

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

Change 877253 merged by jenkins-bot:

[integration/config@master] Zuul: Add experimental jobs for fundraising/REL1_39

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

Mentioned in SAL (#wikimedia-releng) [2023-01-10T15:28:13Z] <James_F> Zuul: Add experimental jobs for fundraising/REL1_39 for T326372

Change 878119 had a related patch set uploaded (by Jforrester; author: Jforrester):

[integration/config@master] Zuul: Skip quibble-donationinterface-REL1_39-php74-docker on deployment branch

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

Change 878120 had a related patch set uploaded (by Jforrester; author: Jforrester):

[integration/config@master] [DNM] Zuul: Make fundraising/REL1_39 jobs voting

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

Change 878121 had a related patch set uploaded (by Jforrester; author: Jforrester):

[integration/config@master] [DNM] Zuul: Drop fundraising/REL1_35 jobs, everything has moved to REL1_39 now

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

Change 878122 had a related patch set uploaded (by Jforrester; author: Jforrester):

[integration/config@master] [DNM] Zuul: [wikimedia/fundraising/SmashPig] Drop PHP73 testing

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

Change 878123 had a related patch set uploaded (by Jforrester; author: Jforrester):

[integration/config@master] [DNM] jjb: Drop fundraising/REL1_35 jobs, no longer used

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

Change 878119 merged by jenkins-bot:

[integration/config@master] Zuul: Skip quibble-donationinterface-REL1_39-php74-docker on deployment branch

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

Change 878130 had a related patch set uploaded (by Jforrester; author: Jforrester):

[integration/config@master] Zuul: [mediawiki/extensions/DonationInterface] Add REL1_39 exp. job

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

Change 878130 merged by jenkins-bot:

[integration/config@master] Zuul: [mediawiki/extensions/DonationInterface] Add REL1_39 exp. job

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

OK, the new PHP74/REL1_39 jobs should be available in all five relevant repos (MW itself plus the DonationInterface, cldr, FundraisingEmailUnsubscribe, and ParserFunctions) as experimental jobs.

Once those are tested and found to be passing, we can make those jobs voting so it doesn't regress, and the FR stack can be migrated.

Once you have no need to maintain compatibility with PHP73/REL1_35, this removes those jobs from all five MW things, this removes PHP73 testing from the SmashPig library, and finally this just cleans things up.

Hope this helps!

Thanks, @Jdforrester-WMF! We are hoping to go ahead and upgrade the payments servers to Mediawiki 1.39 tomorrow. We should be able to remove REL1_35 compatibility at the same time as we make those jobs voting, since we won't be running the two versions in parallel. I'll +1 the patches to indicate we're ready for 'em.

Thanks, @Jdforrester-WMF! We are hoping to go ahead and upgrade the payments servers to Mediawiki 1.39 tomorrow. We should be able to remove REL1_35 compatibility at the same time as we make those jobs voting, since we won't be running the two versions in parallel. I'll +1 the patches to indicate we're ready for 'em.

Awesome, happy to deploy as soon as you need.

Change 878120 merged by jenkins-bot:

[integration/config@master] Zuul: Make fundraising/REL1_39 jobs voting

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

Mentioned in SAL (#wikimedia-releng) [2023-01-24T22:04:54Z] <James_F> Zuul: Make fundraising/REL1_39 jobs voting for T326372

Change 878121 merged by jenkins-bot:

[integration/config@master] Zuul: Drop fundraising/REL1_35 jobs, everything has moved to REL1_39 now

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

Mentioned in SAL (#wikimedia-releng) [2023-01-24T22:08:34Z] <James_F> Zuul: Drop fundraising/REL1_35 jobs, everything has moved to REL1_39 now T326372

Thanks, @Jdforrester-WMF! We are hoping to go ahead and upgrade the payments servers to Mediawiki 1.39 tomorrow. We should be able to remove REL1_35 compatibility at the same time as we make those jobs voting, since we won't be running the two versions in parallel. I'll +1 the patches to indicate we're ready for 'em.

Awesome, happy to deploy as soon as you need.

I deployed the switch-over but https://gerrit.wikimedia.org/r/c/mediawiki/extensions/DonationInterface/+/879689 (latest merged patch on master) failed its run – https://integration.wikimedia.org/ci/job/quibble-donationinterface-REL1_39-php74-docker/3/console

00:01:23.792 1) SpecialPageFatalTest::testSpecialPageDoesNotFatal
00:01:23.802 Error: Call to a member function getAccountConfig() on null
00:01:23.802 
00:01:23.802 /workspace/src/extensions/DonationInterface/dlocal_gateway/dlocal_gateway.body.php:15

Do I need to roll back, or is this something you know about?

Hi @Jdforrester-WMF that was a legitimate error in the code under test - we've fixed it in a follow-on patch!

And thanks very much for the speedy config updates :)

Change 878123 merged by jenkins-bot:

[integration/config@master] jjb: Drop fundraising/REL1_35 jobs, no longer used

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

OK, I think we can declare this Resolved then. Please shout if you lot need anything! :-)

Hi @Jdforrester-WMF , we're still seeing some test failures on the fundraising/REL1_39 branch of mediawiki/vendor when it tries to run under PHP7.3 - could you please help us get those last tests running under PHP7.4 as well? I took a brief look at the zuul config but the place to fix didn't jump out at me.

Hi @Jdforrester-WMF , we're still seeing some test failures on the fundraising/REL1_39 branch of mediawiki/vendor when it tries to run under PHP7.3 - could you please help us get those last tests running under PHP7.4 as well? I took a brief look at the zuul config but the place to fix didn't jump out at me.

Oh, oops, yes, missed a few configs! One sec.

Change 885396 had a related patch set uploaded (by Jforrester; author: Jforrester):

[integration/config@master] Zuul: Switch FR things on mwgate-composer-php73-docker to php74

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

Change 885396 merged by jenkins-bot:

[integration/config@master] Zuul: Switch FR things on mwgate-composer-php73-docker to php74

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

Mentioned in SAL (#wikimedia-releng) [2023-01-31T18:06:39Z] <James_F> Zuul: Switch FR things on mwgate-composer-php73-docker to php74 for T326372

Hi @Jdforrester-WMF , we're still seeing some test failures on the fundraising/REL1_39 branch of mediawiki/vendor when it tries to run under PHP7.3 - could you please help us get those last tests running under PHP7.4 as well? I took a brief look at the zuul config but the place to fix didn't jump out at me.

Oh, oops, yes, missed a few configs! One sec.

OK, this should now be done. There's still wikimedia/fundraising/crm (and T307178: CiviCRM CI jobs fails when migrating from Stretch to Bullseye in particular) to switch in the FR world, alongside SmashPig, but I believe that this can be re-closed unless you run into anything else?

Thanks again, @Jdforrester-WMF ! We're seeing the vendor tests run on the correct version now. In my latest mediawiki/vendor patch on fundraising/REL1_39 I am seeing some test failures in the MWTimestampTest::testHumanTimestamp https://integration.wikimedia.org/ci/job/quibble-donationinterface-REL1_39-php74-docker/76/console

I guess we should re-close this ticket and I can open a new one for that test.