From 2133b06ab5e805613396bf09fddee3c199b2abbf Mon Sep 17 00:00:00 2001 From: Alexandre Rulleau Date: Tue, 21 Jul 2026 13:49:59 +0200 Subject: [PATCH] fix(tests): pin symfony/deprecation-contracts to ^2.5 in Drupal 9.5 fixture test_web_drupal_95 was crashing during Drupal's install script with a fatal TypeError on PHP 7.4. The Drupal 9.5 composer.json has no lock file, so `composer install --ignore-platform-reqs` resolves guzzlehttp/ guzzle to the latest 7.15.1, which pulls in symfony/deprecation- contracts v3.7.1. That version's trigger_deprecation() signature uses a `mixed ...$args` variadic typehint, which is only valid on PHP 8.0+ and is a fatal TypeError when the class is loaded/called on PHP 7.4. --ignore-platform-reqs defeats platform.php's PHP version pin, so composer happily selects a dependency graph that is incompatible with the PHP version the job actually runs. Pin symfony/deprecation-contracts to ^2.5 directly in the fixture's require block so composer's solver is constrained to a version whose API is compatible with PHP 7.4, regardless of what guzzle pulls in transitively. --- tests/Frameworks/Drupal/Version_9_5/composer.json | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/tests/Frameworks/Drupal/Version_9_5/composer.json b/tests/Frameworks/Drupal/Version_9_5/composer.json index 5b65f5ce4ff..a895f38a143 100644 --- a/tests/Frameworks/Drupal/Version_9_5/composer.json +++ b/tests/Frameworks/Drupal/Version_9_5/composer.json @@ -12,7 +12,8 @@ "composer/installers": "^1.9", "drupal/core": "self.version", "drupal/core-project-message": "self.version", - "drupal/core-vendor-hardening": "self.version" + "drupal/core-vendor-hardening": "self.version", + "symfony/deprecation-contracts": "^2.5" }, "require-dev": { "behat/mink": "^1.8",