Page MenuHomePhabricator

Please provide our special component/php72 in buster-wikimedia
Closed, ResolvedPublic

Description

This will allow us to run like-for-like versions of PHP in CI on buster.

Related Objects

StatusSubtypeAssignedTask
ResolvedNone
ResolvedJdforrester-WMF
ResolvedJdforrester-WMF
ResolvedJdforrester-WMF
ResolvedJdforrester-WMF
Resolved toan
ResolvedLucas_Werkmeister_WMDE
ResolvedJoe
ResolvedJdforrester-WMF
ResolvedLadsgroup
InvalidNone
ResolvedReedy
OpenNone
Resolvedtstarling
ResolvedJdforrester-WMF
StalledNone
ResolvedNone
ResolvedPRODUCTION ERRORLegoktm
Resolvedtstarling
ResolvedJoe
ResolvedKrinkle
Resolvedhashar
ResolvedJdforrester-WMF
ResolvedDzahn
ResolvedMoritzMuehlenhoff

Event Timeline

That's a total of 20 packages needing a rebuild, realistically we'll only approach this once we move production to Buster.

That's a total of 20 packages needing a rebuild, realistically we'll only approach this once we move production to Buster.

I'm happy to do the work for you if you point to the git repo where this is managed. It's blocking a pretty big pain point for CI (because Chromium is no longer updated in stretch).

Can we use sury's PHP apt repo in the meantime?

What @Legoktm said, to run CI tests on Buster and PHP 7.2 best to use the sury.org repository. Our component for stretch-wikimedia is a rebuild of sury.org which fixes a build issue with our mariadb version on stretch and which ensures that only stock libraries from Debian stretch are used during the build (the sury.org repo covers more distros and also backports some base libs). In the absence of production actually running PHP 7.2 on buster, using sury.org is the best approximation.

realistically we'll only approach this once we move production to Buster.

This is happening soon, so once available we can also switch CI to it (if it's currently using the 7.2 packages from sury.org, not sure)

Change 633837 had a related patch set uploaded (by Jforrester; owner: Jforrester):
[integration/config@master] [DNM] dockerfiles: [quibble-buster-php72] Switch to Wikimedia's version of PHP 7.2

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

Change 633837 merged by jenkins-bot:
[integration/config@master] dockerfiles: [quibble-buster-php72] Switch to Wikimedia's version of PHP 7.2

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

hashar subscribed.

Summary: buster-wikimedia components/php72 provides php-wikidiff2 1.8.1 instead of 1.10.0

I have compared the Strech versus Buster images using:

docker run --rm -it --entrypoint=apt docker-registry.discovery.wmnet/releng/quibble-stretch-php72 list 'php*'
docker run --rm -it --entrypoint=apt docker-registry.discovery.wmnet/releng/quibble-buster-php72 list 'php*'

php-wikidiff2 on Stretch is 1.10.0-1~wmf1 while Buster provides the outdated 1.8.1-1~wmf1+buster1. We require a more recent one for some tests, notably for the api-testing suite.

All the other packages match :]

Looking inside the containers:

Stretch
php-wikidiff2:
  Installed: 1.10.0-1~wmf1
  Candidate: 1.10.0-1~wmf1
  Version table:
 *** 1.10.0-1~wmf1 1001
       1001 http://apt.wikimedia.org/wikimedia stretch-wikimedia/main amd64 Packages
        100 /var/lib/dpkg/status
     1.8.1-1~wmf1 1001
       1001 http://apt.wikimedia.org/wikimedia stretch-wikimedia/component/php72 amd64 Packages
     1.4.1-1 500
        500 http://mirrors.wikimedia.org/debian stretch/main amd64 Packages
Buster
# apt-cache policy php-wikidiff2
php-wikidiff2:
  Installed: 1.8.1-1~wmf1+buster1
  Candidate: 1.8.1-1~wmf1+buster1
  Version table:
     1.10.0-1~bpo10+1 100
        100 http://mirrors.wikimedia.org/debian buster-backports/main amd64 Packages
 *** 1.8.1-1~wmf1+buster1 1001
       1001 http://apt.wikimedia.org/wikimedia buster-wikimedia/component/php72 amd64 Packages
        100 /var/lib/dpkg/status
     1.7.3-2 500
        500 http://mirrors.wikimedia.org/debian buster/main amd64 Packages

I guess the issue is that when php-wikidiff2 1.10.0 got build for Stretch it got uploaded to main instead of component/php72. When later building for Buster, the same versions used in component/php72 got used and we end up with the outdated version.

There is the version from buster-backports, though it would not necessarily match production and we found out that backports magically disappear before the EOL of the distribution. So probably buster-backports should be removed from our CI images but that is a different problem.

Summary: buster-wikimedia components/php72 provides php-wikidiff2 1.8.1 instead of 1.10.0

I have compared the Strech versus Buster images using:

docker run --rm -it --entrypoint=apt docker-registry.discovery.wmnet/releng/quibble-stretch-php72 list 'php*'
docker run --rm -it --entrypoint=apt docker-registry.discovery.wmnet/releng/quibble-buster-php72 list 'php*'

php-wikidiff2 on Stretch is 1.10.0-1~wmf1 while Buster provides the outdated 1.8.1-1~wmf1+buster1. We require a more recent one for some tests, notably for the api-testing suite.

That's actually a bug, will update the package tomorrow.

Summary: buster-wikimedia components/php72 provides php-wikidiff2 1.8.1 instead of 1.10.0

I have compared the Strech versus Buster images using:

docker run --rm -it --entrypoint=apt docker-registry.discovery.wmnet/releng/quibble-stretch-php72 list 'php*'
docker run --rm -it --entrypoint=apt docker-registry.discovery.wmnet/releng/quibble-buster-php72 list 'php*'

php-wikidiff2 on Stretch is 1.10.0-1~wmf1 while Buster provides the outdated 1.8.1-1~wmf1+buster1. We require a more recent one for some tests, notably for the api-testing suite.

That's actually a bug, will update the package tomorrow.

Also a PHP 8.0 release of wikidiff2 is coming out today, so both packages will want updating.

Mentioned in SAL (#wikimedia-operations) [2020-12-09T16:05:00Z] <moritzm> importing wikidiff2 1.10.0-1~wmf1+buster1 to component/php72 T250515

That's actually a bug, will update the package tomorrow.

Fixed.

Change 662663 had a related patch set uploaded (by Hashar; owner: Hashar):
[integration/config@master] dockerfiles: update quibble-buster-php72 packages

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

Change 662664 had a related patch set uploaded (by Hashar; owner: Hashar):
[integration/config@master] jjb: update jobs for quibble-buster-php72:0.0.45-s4

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

Change 662663 merged by jenkins-bot:
[integration/config@master] dockerfiles: update quibble-buster-php72 packages

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

Change 662664 abandoned by Jforrester:
[integration/config@master] jjb: update jobs for quibble-buster-php72:0.0.45-s4

Reason:
Over-taken by 2b684def8.

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