Page MenuHomePhabricator

Extensions that pull in WebAuthn for their CI can support PHP 7.4 or PHP 8.2+, but not both (was: quibble-composer-mysql-php8[23] fail since 31/3)
Closed, ResolvedPublic

Description

https://integration.wikimedia.org/ci/job/quibble-composer-mysql-php83/909/console
https://integration.wikimedia.org/ci/job/quibble-composer-mysql-php82/1084/console

16:18:24 [cd5642a6541a095857ab07f7] [no req]   Error: Class "Pimple\Container" not found
16:18:24 Backtrace:
16:18:24 from /workspace/src/extensions/Flow/includes/Container.php(5)
16:18:24 #0 /workspace/src/includes/AutoLoader.php(226): require_once()
16:18:24 #1 /workspace/src/extensions/Flow/maintenance/FlowSetUserIp.php(41): AutoLoader::autoload()
16:18:24 #2 /workspace/src/maintenance/includes/LoggedUpdateMaintenance.php(51): Flow\Maintenance\FlowSetUserIp->doDBUpdates()
16:18:24 #3 /workspace/src/maintenance/update.php(209): MediaWiki\Maintenance\LoggedUpdateMaintenance->execute()
16:18:24 #4 /workspace/src/maintenance/includes/MaintenanceRunner.php(694): UpdateMediaWiki->execute()
16:18:24 #5 /workspace/src/maintenance/doMaintenance.php(100): MediaWiki\Maintenance\MaintenanceRunner->run()
16:18:24 #6 /workspace/src/maintenance/update.php(310): require_once(string)
16:18:24 #7 {main}

But https://integration.wikimedia.org/ci/job/quibble-composer-mysql-php81/3609/console is fine? I see

16:19:01 [25.4MiB/9.36s] Installs: composer/installers:v2.3.0, brick/math:0.9.3, christian-riesen/base32:1.6.0, dasprid/enum:1.0.6, bacon/bacon-qr-code:2.0.8, endroid/qr-code:4.6.1, react/promise:v3.2.0, ezimuel/guzzlestreams:3.1.0, ezimuel/ringphp:1.3.0, firebase/php-jwt:v6.10.0, composer/ca-bundle:1.5.6, maxmind/web-service-common:v0.10.0, maxmind-db/reader:v1.12.0, geoip2/geoip2:v2.13.0, jakobo/hotp-php:v2.0.0, james-heinrich/getid3:v1.9.23, league/uri-interfaces:2.3.0, league/uri:6.8.0, pimple/pimple:v3.5.0, ramsey/collection:2.1.1, symfony/polyfill-php73:v1.31.0, nyholm/dsn:2.0.1, elasticsearch/elasticsearch:v7.17.1, ruflin/elastica:7.3.1, beberlei/assert:v3.3.3, web-auth/metadata-service:v3.3.12, fgrosse/phpasn1:v2.5.0, web-auth/cose-lib:v3.3.12, thecodingmachine/safe:v1.3.3, symfony/process:v5.4.47, spomky-labs/cbor-php:v2.1.0, spomky-labs/base64url:v2.0.4, ramsey/uuid:4.7.6, web-auth/webauthn-lib:v3.3.12, wikimedia/equivset:1.7.1, wikimedia/lucene-explain-parser:2.0.0, wikimedia/metrics-platform:4.2.2, wikimedia/textcat:2.0.0
<SNIP>
16:19:01 [25.4MiB/9.36s]   - Locking pimple/pimple (v3.5.0)

Event Timeline

Reedy triaged this task as High priority.Apr 1 2025, 3:55 PM
Reedy updated the task description. (Show Details)
16:18:21 [22.7MiB/6.26s] [22.7MiB/6.26s] Reading composer.json of wikimedia/getid3 (1.9.7)[22.7MiB/6.26s]                                                                   [22.7MiB/6.26s] [22.7MiB/6.26s] [22.7MiB/6.26s] Reading composer.json of wikimedia/getid3 (v1.9.10)[22.7MiB/6.26s] [22.7MiB/6.26s] Reading composer.json of wikimedia/getid3 (v1.9.11)[22.7MiB/6.26s] [22.7MiB/6.26s] Reading composer.json of wikimedia/getid3 (v1.9.12)[22.7MiB/6.26s] [22.7MiB/6.26s] Reading composer.json of wikimedia/getid3 (v1.9.13)[22.7MiB/6.27s] [22.7MiB/6.27s] Reading composer.json of wikimedia/getid3 (v1.9.14)[22.7MiB/6.27s] [22.7MiB/6.27s] Reading composer.json of wikimedia/getid3 (v1.9.15)[22.7MiB/6.27s] [22.7MiB/6.27s] Reading composer.json of wikimedia/getid3 (v1.9.16)[22.7MiB/6.27s] [22.7MiB/6.27s] Reading composer.json of wikimedia/getid3 (v1.9.17)[22.7MiB/6.27s] [22.7MiB/6.27s] Reading composer.json of wikimedia/getid3 (v1.9.18)[22.7MiB/6.27s] [22.7MiB/6.27s] Reading composer.json of wikimedia/getid3 (v1.9.19)[22.7MiB/6.27s] [22.7MiB/6.27s] Reading composer.json of wikimedia/getid3 (v1.9.20)[22.7MiB/6.27s] [22.7MiB/6.27s] Reading composer.json of wikimedia/getid3 (v1.9.21)[22.8MiB/6.27s] [22.8MiB/6.27s] Reading composer.json of wikimedia/getid3 (v1.9.22)[22.8MiB/6.27s] [22.8MiB/6.27s] Reading composer.json of wikimedia/getid3 (v1.9.22.1)[22.8MiB/6.27s] [22.8MiB/6.27s] Reading composer.json of wikimedia/getid3 (v1.9.22.2)[22.8MiB/6.27s] [22.8MiB/6.27s] Reading composer.json of wikimedia/getid3 (v1.9.8)[22.8MiB/6.27s]    [22.8MiB/6.27s] [22.8MiB/6.27s] [22.8MiB/6.27s] Reading composer.json of wikimedia/getid3 (v1.9.9)[22.8MiB/6.27s] [22.8MiB/6.27s] Reading composer.json of wikimedia/getid3 (v2.0.0-beta1)[22.8MiB/6.27s] [22.8MiB/6.27s] Reading composer.json of wikimedia/getid3 (v2.0.0-beta2)[22.8MiB/6.27s] [22.8MiB/6.27s] Reading composer.json of wikimedia/getid3 (v2.0.0-beta3)[22.8MiB/6.27s] [22.8MiB/6.27s] Reading composer.json of wikimedia/getid3 (v2.0.0-beta4)[22.8MiB/6.27s] [22.8MiB/6.27s] Reading composer.json of wikimedia/getid3 (v2.0.0-beta5)[22.9MiB/6.27s] [22.9MiB/6.27s] [22.9MiB/6.27s]                                                         [22.9MiB/6.27s] [22.9MiB/6.27s] [22.9MiB/6.27s] Reading composer.json of wikimedia/getid3 (master)[23.0MiB/6.27s] [23.0MiB/6.27s] Reading composer.json of wikimedia/getid3 (2.0)[23.0MiB/6.27s]    [23.0MiB/6.27s] [23.0MiB/6.27s] [23.0MiB/6.27s] Reading composer.json of wikimedia/getid3 (mpeg1-demux)[23.0MiB/6.27s] [23.0MiB/6.27s] Reading composer.json of wikimedia/getid3 (mpegaudio-2.0)[23.0MiB/6.27s] [23.0MiB/6.27s] [23.0MiB/6.27s]                                                          [23.0MiB/6.27s] [25.0MiB/6.77s] Updating dependencies
16:18:21 [26.4MiB/6.77s] Dependency resolution completed in 0.002 seconds
16:18:21 [26.4MiB/6.78s] Your requirements could not be resolved to an installable set of packages.
16:18:21 [26.4MiB/6.78s] 
16:18:21   Problem 1
16:18:21     - mediawiki/minus-x is locked to version 1.1.3 and an update of this package was not requested.
16:18:21     - Root composer.json requires web-auth/webauthn-lib ~3.3.12 -> satisfiable by web-auth/webauthn-lib[v3.3.12].
16:18:21     - mediawiki/minus-x 1.1.3 requires symfony/console ^3.3.5 || ^4 || ^5 || ^6 || ^7 -> satisfiable by symfony/console[v7.2.5].
16:18:21     - symfony/console v7.2.5 conflicts with symfony/process v5.4.47.
16:18:21     - symfony/console v7.2.5 conflicts with symfony/process v5.3.2.
16:18:21     - symfony/console v7.2.5 conflicts with symfony/process v5.0.11.
16:18:21     - symfony/console v7.2.5 conflicts with symfony/process v4.4.44.
16:18:21     - symfony/console v7.2.5 conflicts with symfony/process v4.4.26.
16:18:21     - symfony/console v7.2.5 conflicts with symfony/process v3.4.47.
16:18:21     - symfony/console v7.2.5 conflicts with symfony/process v3.3.6.
16:18:21     - symfony/process[v4.0.0, v4.0.1, v4.0.2, v4.0.3, v4.0.4, v4.0.5, v4.0.6, v4.0.7, v4.0.8, v4.0.9, v4.0.10, v4.0.11, v4.0.12, v4.0.13, v4.0.14, v4.0.15, v4.1.0, v4.1.1, v4.1.2, v4.1.3, v4.1.4, v4.1.5, v4.1.6, v4.1.7, v4.1.8, v4.1.9, v4.1.10, v4.1.11, v4.1.12, v4.2.0, v4.2.1, v4.2.2, v4.2.3, v4.2.4, v4.2.5, v4.2.6, v4.2.7, v4.2.8, v4.2.9, v4.2.10, v4.2.11, v4.2.12, v4.3.0, v4.3.1, v4.3.2, v4.3.3, v4.3.4, v4.3.5, v4.3.6, v4.3.7, v4.3.8, v4.3.9, v4.3.10, v4.3.11, v4.4.0, v4.4.1, v4.4.2, v4.4.3, v4.4.4, v4.4.5, v4.4.6, v4.4.7, v4.4.8, v4.4.9, v4.4.10] require php ^7.1.3 -> your php version (8.2.27) does not satisfy that requirement.
16:18:21     - symfony/process[v5.0.0, v5.0.1, v5.0.2, v5.0.3, v5.0.4, v5.0.5, v5.0.6, v5.0.7, v5.0.8] require php ^7.2.5 -> your php version (8.2.27) does not satisfy that requirement.
16:18:21     - web-auth/webauthn-lib v3.3.12 requires symfony/process ^3.0|^4.0|^5.0 -> satisfiable by symfony/process[v3.0.0, v3.0.1, v3.0.2, v3.0.3, v3.0.4, v3.0.5, v3.0.6, v3.0.7, v3.0.8, v3.0.9, v3.1.0, v3.1.1, v3.1.2, v3.1.3, v3.1.4, v3.1.5, v3.1.6, v3.1.7, v3.1.8, v3.1.9, v3.1.10, v3.2.0, v3.2.1, v3.2.2, v3.2.3, v3.2.4, v3.2.5, v3.2.6, v3.2.7, v3.2.8, v3.2.9, v3.2.10, v3.2.11, v3.2.12, v3.2.13, v3.2.14, v3.3.0, v3.3.1, v3.3.2, v3.3.3, v3.3.4, v3.3.5, v3.3.6, v3.3.7, v3.3.8, v3.3.9, v3.3.10, v3.3.11, v3.3.12, v3.3.13, v3.3.14, v3.3.15, v3.3.16, v3.3.17, v3.3.18, v3.4.0, v3.4.1, v3.4.2, v3.4.3, v3.4.4, v3.4.5, v3.4.6, v3.4.7, v3.4.8, v3.4.9, v3.4.10, v3.4.11, v3.4.12, v3.4.13, v3.4.14, v3.4.15, v3.4.16, v3.4.17, v3.4.18, v3.4.19, v3.4.20, v3.4.21, v3.4.22, v3.4.23, v3.4.24, v3.4.25, v3.4.26, v3.4.27, v3.4.28, v3.4.29, v3.4.30, v3.4.31, v3.4.32, v3.4.33, v3.4.34, v3.4.35, v3.4.36, v3.4.37, v3.4.38, v3.4.39, v3.4.40, v3.4.41, v3.4.42, v3.4.43, v3.4.44, v3.4.45, v3.4.46, v3.4.47, v4.0.0, v4.0.1, v4.0.2, v4.0.3, v4.0.4, v4.0.5, v4.0.6, v4.0.7, v4.0.8, v4.0.9, v4.0.10, v4.0.11, v4.0.12, v4.0.13, v4.0.14, v4.0.15, v4.1.0, v4.1.1, v4.1.2, v4.1.3, v4.1.4, v4.1.5, v4.1.6, v4.1.7, v4.1.8, v4.1.9, v4.1.10, v4.1.11, v4.1.12, v4.2.0, v4.2.1, v4.2.2, v4.2.3, v4.2.4, v4.2.5, v4.2.6, v4.2.7, v4.2.8, v4.2.9, v4.2.10, v4.2.11, v4.2.12, v4.3.0, v4.3.1, v4.3.2, v4.3.3, v4.3.4, v4.3.5, v4.3.6, v4.3.7, v4.3.8, v4.3.9, v4.3.10, v4.3.11, v4.4.0, v4.4.1, v4.4.2, v4.4.3, v4.4.4, v4.4.5, v4.4.6, v4.4.7, v4.4.8, v4.4.9, v4.4.10, v4.4.11, v4.4.12, v4.4.13, v4.4.14, v4.4.15, v4.4.16, v4.4.17, v4.4.18, v4.4.19, v4.4.20, v4.4.22, v4.4.25, v4.4.26, v4.4.27, v4.4.30, v4.4.34, v4.4.35, v4.4.36, v4.4.37, v4.4.40, v4.4.41, v4.4.44, v5.0.0, v5.0.1, v5.0.2, v5.0.3, v5.0.4, v5.0.5, v5.0.6, v5.0.7, v5.0.8, v5.0.9, v5.0.10, v5.0.11, v5.1.0, v5.1.1, v5.1.2, v5.1.3, v5.1.4, v5.1.5, v5.1.6, v5.1.7, v5.1.8, v5.1.9, v5.1.10, v5.1.11, v5.2.0, v5.2.1, v5.2.2, v5.2.3, v5.2.4, v5.2.7, v5.2.10, v5.2.11, v5.2.12, v5.3.0, v5.3.2, v5.3.4, v5.3.7, v5.3.11, v5.3.12, v5.3.13, v5.3.14, v5.4.0, v5.4.2, v5.4.3, v5.4.5, v5.4.7, v5.4.8, v5.4.11, v5.4.19, v5.4.21, v5.4.22, v5.4.23, v5.4.24, v5.4.26, v5.4.28, v5.4.34, v5.4.35, v5.4.36, v5.4.39, v5.4.40, v5.4.44, v5.4.45, v5.4.46, v5.4.47].
16:18:21 
16:18:21 [24.3MiB/6.78s] 
16:18:21 Update to apply merge settings failed, reverting ./composer.lock to its original content.
16:18:21 [24.0MiB/6.78s] > post-update-cmd: PHPCSStandards\Composer\Plugin\Installers\PHPCodeSniffer\Plugin->onDependenciesChangedEvent

Change #1133184 had a related patch set uploaded (by Reedy; author: Reedy):

[integration/config@master] layout.yaml: Remove quibble-composer-mysql-php8[32] from parsoid gate

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

Change #1133184 merged by jenkins-bot:

[integration/config@master] layout.yaml: Remove quibble-composer-mysql-php8[32] from parsoid gate

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

Reedy renamed this task from Parsoid CI failing with Error: Class "Pimple\Container" not found to quibble-composer-mysql-php8[23] fail on parsoid repo since 31/3.Apr 1 2025, 5:07 PM
Reedy lowered the priority of this task from High to Medium.

[Moving from gerrit]

What do we think changed that means this is necessary?

https://integration.wikimedia.org/ci/job/quibble-composer-mysql-php83/ and https://integration.wikimedia.org/ci/job/quibble-composer-mysql-php82/ suggest that the've been broken since yesterday... Fine on the 30th, broken on the 31st

The only change in vendor in that time was the upgrade of Parsoid, 76f0d7e6edc77fe9d7cb7a7eba01c4e07847cc63. I'm not sure how that would have effected this?

I think this is probably a CI config issue, and 8d4fe15c61b3a16d7686995e0febade4e16f6cd6 looks suspiciously likely to have broken things.

Reedy renamed this task from quibble-composer-mysql-php8[23] fail on parsoid repo since 31/3 to quibble-composer-mysql-php8[23] fail since 31/3.Apr 1 2025, 6:34 PM
Reedy raised the priority of this task from Medium to High.

It's similarly broken on REL1_43/REL1_42...

I think this is probably a CI config issue, and 8d4fe15c61b3a16d7686995e0febade4e16f6cd6 looks suspiciously likely to have broken things.

Some weird (recursive) dependancy... mess?

wikimedia/getid3 suggests we've decided we need to load TimedMediaHandler in...

And why 1.9.7?

	"repositories": [
		{
			"url": "https://github.com/wikimedia/getID3.git",
			"type": "git"
		}
	],
	"require": {
		"james-heinrich/getid3": "v1.9.23"
	},

Change #1133214 had a related patch set uploaded (by Reedy; author: Reedy):

[integration/config@master] Revert "zuul: Update WikimediaEvents dependencies"

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

Change #1133221 had a related patch set uploaded (by Reedy; author: Reedy):

[integration/config@master] parameter_functions.py: Don't load WebAuthn on any non master branch

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

Change #1133221 merged by jenkins-bot:

[integration/config@master] parameter_functions.py: Don't load WebAuthn on any non master branch

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

Change #1133214 abandoned by Reedy:

[integration/config@master] Revert "zuul: Update WikimediaEvents dependencies"

Reason:

Stupid WebAuthn (fixed; revert not needed)

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

Reedy claimed this task.

Mentioned in SAL (#wikimedia-releng) [2025-04-01T20:46:13Z] <James_F> Zuul: Swap the branch check to specific release branches, for T390754 etc.

Change #1133373 had a related patch set uploaded (by Reedy; author: Reedy):

[integration/config@master] Revert^2 "layout.yaml: Remove quibble-composer-mysql-php8[32] from parsoid gate"

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

Change #1133373 merged by jenkins-bot:

[integration/config@master] Revert^2 "layout.yaml: Remove quibble-composer-mysql-php8[32] from parsoid gate"

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

Parsoid is probably the only thing in MW land currently running PHP 8.2/8.3 on master... So is a special case...

Change #1133379 had a related patch set uploaded (by Reedy; author: Reedy):

[integration/config@master] zuul: Explicitly remove WebAuthn from parsoid

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

Parsoid is probably the only thing in MW land currently running PHP 8.2/8.3 on master... So is a special case...

That's not true? Everything runs 8.2 and 8.3. It's 8.4 that's not running for most things yet.

Parsoid is probably the only thing in MW land currently running PHP 8.2/8.3 on master... So is a special case...

That's not true? Everything runs 8.2 and 8.3. It's 8.4 that's not running for most things yet.

Explicitly using vendor? Rather than the jobs where we actually run composer to install stuff?

Change #1133379 merged by jenkins-bot:

[integration/config@master] zuul: Explicitly remove WebAuthn from parsoid

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

Maybe there's other edge cases that we just haven't learned are broken yet 🍿

Change #1133383 had a related patch set uploaded (by Reedy; author: Reedy):

[integration/config@master] Revert^3 "layout.yaml: Remove quibble-composer-mysql-php8[32] from parsoid gate"

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

Change #1133383 merged by jenkins-bot:

[integration/config@master] Revert^3 "layout.yaml: Remove quibble-composer-mysql-php8[32] from parsoid gate"

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

Parsoid is probably the only thing in MW land currently running PHP 8.2/8.3 on master... So is a special case...

That's not true? Everything runs 8.2 and 8.3. It's 8.4 that's not running for most things yet.

Explicitly using vendor? Rather than the jobs where we actually run composer to install stuff?

It's the other way around – Parsoid is using the quibble-composer-mysql-php83 job to get composer to install dependencies live (so Parsoid can upgrade its own dependencies). This job is generally only for non-master branches, and is live for the REL1_42/REL1_42 branches for core plus skins and extensions, plus a handful of extensions that can't use vendor and the very special case of mediawiki/extensions/FundraisingEmailUnsubscribe.

Core plus extensions and skins are generally using quibble-vendor-mysql-php83 on their master branch.

Are we doing something magical in mediawiki/vendor.git that makes the current set of dependencies reconcilable, or is this just that WebAuthn claims it needs version XYZ but when we give it a different version it keeps working (or at least, doesn't break any tests)?

Options:

  • Switch Parsoid to vendor jobs, and carve out the special case of itself being loaded (ick)
  • Drop WebAuthn/etc. stuff from general CI gateway (breaks @kostajh's recents hacks)
  • Wait for PHP 7.4 to drop from production, shift CI to 8.1+, and then upgrade things so they're reconcilable
  • Don't wait for PHP 7.4 to drop from production, shift CI to 8.1+ right now and hope we don't break mwscript calls, and then upgrade things so they're reconcilable

Options:

  • Drop WebAuthn/etc. stuff from general CI gateway (breaks @kostajh's recents hacks)

Which hacks?

Options:

  • Drop WebAuthn/etc. stuff from general CI gateway (breaks @kostajh's recents hacks)

Which hacks?

As discussed at length, https://gerrit.wikimedia.org/r/c/integration/config/+/1132688 has broken CI for a bunch of things. This was due to putting into a critical extension (WikimediaEvents) functionality that really shouldn't be there. Because WikimediaEvents is so critical, it's tested with everything, which means any dependency added there fans out to everything else.

Options:

  • Drop WebAuthn/etc. stuff from general CI gateway (breaks @kostajh's recents hacks)

Which hacks?

As discussed at length, https://gerrit.wikimedia.org/r/c/integration/config/+/1132688 has broken CI for a bunch of things. This was due to putting into a critical extension (WikimediaEvents) functionality that really shouldn't be there. Because WikimediaEvents is so critical, it's tested with everything, which means any dependency added there fans out to everything else.

Thanks for clarifying--I saw "WebAuthn" in the description and didn't see the full context. (Dealing with a bunch of things related to {T389727} so I haven't been able to follow this closely.)

I note that this is slightly different, as it's master and an MW extension...

I think the problem is still the original cause... But TwnMainPage uses quibble-composer-mysql-php jobs because it's not WMF deployed. See in comparison to Translate which does quibble-vendor-mysql-php..

And because TwnMainPage depends on Translate... That pulls in a dependancy tree (including gate?) which presumably results in WebAuthn being included.

I suspect TwnMainPage may be an edge case in this case with this cross deployment type dependancies...

The easiest answer probably atm is to move TwnMainPage onto the vendor jobs too.

I suspect TwnMainPage may be an edge case in this case with this cross deployment type dependancies...

TwnMainPage requires composer since T231289 4c7ea94988c485be6543eb4af487fd44f9218c8b. Then it does not have any dependency in composer.json. It only depends on Translate which works with vendor so I will send a patch to change the config.

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

[integration/config@master] zuul: [mediawiki/extensions/TwnMainPage] use vendor

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

Change #1137009 merged by jenkins-bot:

[integration/config@master] zuul: [mediawiki/extensions/TwnMainPage] use vendor

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

I have triggered the php 8.1, 8.2 and 8.3 job by commenting check php on https://gerrit.wikimedia.org/r/c/mediawiki/extensions/TwnMainPage/+/1133093

The issue will happen for any repo that uses composer and ends up depending on WebAuthn.

hashar renamed this task from quibble-composer-mysql-php8[23] fail since 31/3 to WebAuthn fails on php 8.2 and 8.3 due to web-auth/webauthn-lib ~3.3.12 (was: quibble-composer-mysql-php8[23] fail since 31/3).Apr 20 2025, 2:46 PM

hashar renamed this task from quibble-composer-mysql-php8[23] fail since 31/3 to WebAuthn fails on php 8.2 and 8.3 due to web-auth/webauthn-lib ~3.3.12 (was: quibble-composer-mysql-php8[23] fail since 31/3).

That's not this task. That title is the one for T363639: web-auth/webauthn-lib must be upgraded to 4+ for PHP 8.2+ support. This task is "extensions that depend on WebAuthn can support PHP 7.4 or PHP 8.2+, but not both".

Jdforrester-WMF renamed this task from WebAuthn fails on php 8.2 and 8.3 due to web-auth/webauthn-lib ~3.3.12 (was: quibble-composer-mysql-php8[23] fail since 31/3) to Extensions that pull in WebAuthn for their CI can support PHP 7.4 or PHP 8.2+, but not both (was: quibble-composer-mysql-php8[23] fail since 31/3).Apr 21 2025, 1:12 PM

Ah good, I was looking for T363639 and could not find it :)

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

[integration/config@master] Zuul: Expand WebAuthn CI disable to all non-master/non-wmf branches

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

Change #1143550 merged by jenkins-bot:

[integration/config@master] Zuul: Expand WebAuthn CI disable to all non-master/non-wmf branches

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