Page MenuHomePhabricator

Drop xdebug from all RelEng images
Closed, ResolvedPublic

Description

It shouldn't ever be used in CI, which is what the RelEng jobs are for.

If people need interactive debugging, they should be using the Dev images.

Search seems to show nothing directly enabling it in CI jobs.

Event Timeline

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

[integration/config@master] dockerfiles: Drop xdebug everywhere, no longer used

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

Change 866388 merged by jenkins-bot:

[integration/config@master] dockerfiles: Drop xdebug everywhere, no longer used

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

Mentioned in SAL (#wikimedia-releng) [2022-12-09T16:36:32Z] <James_F> Docker: Publishing CI images without the xdebug extension per T319495

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

[integration/config@master] jjb: Update jobs to PHP images without xdebug

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

Change 866618 merged by jenkins-bot:

[integration/config@master] jjb: Update jobs to PHP images without xdebug

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

@ArthurTaylor that is the task which removed XDebug in the CI image. On CI we only used it for generating test coverage and that got replaced by the pcov extension which is order of magnitude faster for that purpose.

Thanks for the explanation @hashar. I understand the point that XDebug shouldn't be used in CI, but there are cases where it's useful to be able to connect a debugger.

I've been running Quibble locally on my machine to reproduce failed CI test runs, because that is (in my experience) the fastest way to get an environment that exactly replicates the failures in CI. It's not difficult to rebuild the CI base images with XDebug and replace the docker image in the quibble invocation, but it does raise the barriers to quick debugging.

If there is no (or marginal) runtime / admin cost to having XDebug in the images, I would be in favour of putting it back there.

hashar reopened this task as Open.EditedOct 10 2024, 9:02 AM

I agree yes, it is rather small compared to the size of the Quibble instance. I guess we can partially revert https://gerrit.wikimedia.org/r/c/integration/config/+/866388 for the Quibble images.

Note: php 8.1 is picked up from the WMF version (deb http://apt.wikimedia.org/wikimedia bullseye-wikimedia component/php81).

Edit: https://apt.wikimedia.org/wikimedia/pool/component/php81/x/xdebug/ shows:

php8.1-xdebug_3.3.2-1+wmf11u1_amd64.deb            21-Aug-2024 17:36              602896

Change #1079250 had a related patch set uploaded (by Arthur taylor; author: Arthur taylor):

[integration/config@master] Add xdebug back to Quibble PHP images

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

Change #1079250 merged by jenkins-bot:

[integration/config@master] Add xdebug back to Quibble PHP images

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

Step 2: publishing

Successfully published image docker-registry.wikimedia.org/releng/quibble-bullseye-php82:1.14.1-s6
Successfully published image docker-registry.wikimedia.org/releng/quibble-bullseye-php83:1.14.1-s6
Successfully published image docker-registry.wikimedia.org/releng/quibble-bullseye-php81:1.14.1-s6
Successfully published image docker-registry.wikimedia.org/releng/quibble-bullseye-php84:1.14.1-s6
Successfully published image docker-registry.wikimedia.org/releng/quibble-fresnel:1.14.1-s6

Done! :)

Change #1161466 had a related patch set uploaded (by Hashar; author: Hashar):

[integration/config@master] jjb: update Quibble jobs to add Xdebug

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

Change #1161481 had a related patch set uploaded (by Hashar; author: Hashar):

[integration/config@master] dockerfiles: disable XDebug by default

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

Change #1161481 merged by jenkins-bot:

[integration/config@master] dockerfiles: disable XDebug by default

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

Step 2: publishing

Successfully published image docker-registry.wikimedia.org/releng/quibble-bullseye-php83:1.14.1-s7
Successfully published image docker-registry.wikimedia.org/releng/quibble-bullseye-php81:1.14.1-s7
Successfully published image docker-registry.wikimedia.org/releng/quibble-bullseye-php84:1.14.1-s7
Successfully published image docker-registry.wikimedia.org/releng/quibble-fresnel:1.14.1-s7
Successfully published image docker-registry.wikimedia.org/releng/quibble-bullseye-php82:1.14.1-s7

Change #1161466 merged by jenkins-bot:

[integration/config@master] jjb: update Quibble jobs to add Xdebug

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