Skip to content

Add PHP 8.4 Support to the 3.x series #993

Add PHP 8.4 Support to the 3.x series

Add PHP 8.4 Support to the 3.x series #993

Triggered via pull request October 18, 2024 14:58
Status Failure
Total duration 1m 22s
Artifacts

continuous-integration.yml

on: pull_request
ci  /  Generate job matrix
18s
ci / Generate job matrix
Matrix: ci / QA Checks
Fit to window
Zoom out
Zoom in

Annotations

21 errors
ci / QA Checks (PHPUnit [8.3, latest], ubuntu-latest, laminas/laminas-continuous-integration-action@v1...
Your requirements could not be resolved to an installable set of packages. Problem 1 - Root composer.json requires laminas/laminas-container-config-test ^0.8 -> satisfiable by laminas/laminas-container-config-test[0.8.0]. - laminas/laminas-container-config-test 0.8.0 requires php ~8.0.0 || ~8.1.0 || ~8.2.0 -> your php version (8.3.12) does not satisfy that requirement.
ci / QA Checks (Documentation Linting [8.1, locked], ubuntu-latest, laminas/laminas-continuous-integra...: docs/book/migration.md#L119
Heading levels should only increment by one level at a time [Expected: h3; Actual: h4]
ci / QA Checks (PHPUnit [8.3, lowest], ubuntu-latest, laminas/laminas-continuous-integration-action@v1...
Your requirements could not be resolved to an installable set of packages. Problem 1 - Root composer.json requires laminas/laminas-container-config-test ^0.8 -> satisfiable by laminas/laminas-container-config-test[0.8.0]. - laminas/laminas-container-config-test 0.8.0 requires php ~8.0.0 || ~8.1.0 || ~8.2.0 -> your php version (8.3.12) does not satisfy that requirement.
MixedArgumentTypeCoercion: src/AbstractPluginManager.php#L91
src/AbstractPluginManager.php:91:29: MixedArgumentTypeCoercion: Argument 1 of Laminas\ServiceManager\ServiceManager::__construct expects array{abstract_factories?: array<array-key, Laminas\ServiceManager\Factory\AbstractFactoryInterface|class-string<Laminas\ServiceManager\Factory\AbstractFactoryInterface>>, aliases?: array<string, string>, delegators?: array<string, array<array-key, Laminas\ServiceManager\Factory\DelegatorFactoryInterface|callable(Psr\Container\ContainerInterface, string, callable():object, array<array-key, mixed>|null):object|class-string<Laminas\ServiceManager\Factory\DelegatorFactoryInterface>>>, factories?: array<string, Laminas\ServiceManager\Factory\FactoryInterface|callable(Psr\Container\ContainerInterface, null|string, array<array-key, mixed>|null):object|class-string<Laminas\ServiceManager\Factory\FactoryInterface>>, initializers?: array<array-key, Laminas\ServiceManager\Initializer\InitializerInterface|callable(Psr\Container\ContainerInterface, object):void|class-string<Laminas\ServiceManager\Initializer\InitializerInterface>>, invokables?: array<string, string>, lazy_services?: array{class_map?: array<string, class-string>, proxies_namespace?: non-empty-string, proxies_target_dir?: non-empty-string, write_proxy_files?: bool}, services?: array<string, array<array-key, mixed>|object>, shared?: array<string, bool>, shared_by_default?: bool, ...<array-key, mixed>}, but parent type array{abstract_factories?: array<array-key, Laminas\ServiceManager\Factory\AbstractFactoryInterface|class-string<Laminas\ServiceManager\Factory\AbstractFactoryInterface>>|mixed, aliases?: array<string, string>|mixed, delegators?: array<string, array<array-key, Laminas\ServiceManager\Factory\DelegatorFactoryInterface|callable(Psr\Container\ContainerInterface, string, callable():object, array<array-key, mixed>|null):object|class-string<Laminas\ServiceManager\Factory\DelegatorFactoryInterface>>>|mixed, factories?: array<string, Laminas\ServiceManager\Factory\FactoryInterface|callable(Psr\Container\ContainerInterface, null|string, array<array-key, mixed>|null):object|class-string<Laminas\ServiceManager\Factory\FactoryInterface>>|mixed, initializers?: array<array-key, Laminas\ServiceManager\Initializer\InitializerInterface|callable(Psr\Container\ContainerInterface, object):void|class-string<Laminas\ServiceManager\Initializer\InitializerInterface>>|mixed, invokables?: array<string, string>|mixed, lazy_services?: array{class_map?: array<string, class-string>, proxies_namespace?: non-empty-string, proxies_target_dir?: non-empty-string, write_proxy_files?: bool}|mixed, services?: array<string, array<array-key, mixed>|object>|mixed, shared?: array<string, bool>|mixed, shared_by_default?: bool|mixed, ...<array-key, mixed>} provided (see https://psalm.dev/194)
MixedArgumentTypeCoercion: src/AbstractPluginManager.php#L125
src/AbstractPluginManager.php:125:27: MixedArgumentTypeCoercion: Argument 1 of Laminas\ServiceManager\ServiceManager::configure expects array{abstract_factories?: array<array-key, Laminas\ServiceManager\Factory\AbstractFactoryInterface|class-string<Laminas\ServiceManager\Factory\AbstractFactoryInterface>>, aliases?: array<string, string>, delegators?: array<string, array<array-key, Laminas\ServiceManager\Factory\DelegatorFactoryInterface|callable(Psr\Container\ContainerInterface, string, callable():object, array<array-key, mixed>|null):object|class-string<Laminas\ServiceManager\Factory\DelegatorFactoryInterface>>>, factories?: array<string, Laminas\ServiceManager\Factory\FactoryInterface|callable(Psr\Container\ContainerInterface, null|string, array<array-key, mixed>|null):object|class-string<Laminas\ServiceManager\Factory\FactoryInterface>>, initializers?: array<array-key, Laminas\ServiceManager\Initializer\InitializerInterface|callable(Psr\Container\ContainerInterface, object):void|class-string<Laminas\ServiceManager\Initializer\InitializerInterface>>, invokables?: array<string, string>, lazy_services?: array{class_map?: array<string, class-string>, proxies_namespace?: non-empty-string, proxies_target_dir?: non-empty-string, write_proxy_files?: bool}, services?: array<string, array<array-key, mixed>|object>, shared?: array<string, bool>, shared_by_default?: bool, ...<array-key, mixed>}, but parent type array{abstract_factories?: array<array-key, Laminas\ServiceManager\Factory\AbstractFactoryInterface|class-string<Laminas\ServiceManager\Factory\AbstractFactoryInterface>>|mixed, aliases?: array<string, string>|mixed, delegators?: array<string, array<array-key, Laminas\ServiceManager\Factory\DelegatorFactoryInterface|callable(Psr\Container\ContainerInterface, string, callable():object, array<array-key, mixed>|null):object|class-string<Laminas\ServiceManager\Factory\DelegatorFactoryInterface>>>|mixed, factories?: array<string, Laminas\ServiceManager\Factory\FactoryInterface|callable(Psr\Container\ContainerInterface, null|string, array<array-key, mixed>|null):object|class-string<Laminas\ServiceManager\Factory\FactoryInterface>>|mixed, initializers?: array<array-key, Laminas\ServiceManager\Initializer\InitializerInterface|callable(Psr\Container\ContainerInterface, object):void|class-string<Laminas\ServiceManager\Initializer\InitializerInterface>>|mixed, invokables?: array<string, string>|mixed, lazy_services?: array{class_map?: array<string, class-string>, proxies_namespace?: non-empty-string, proxies_target_dir?: non-empty-string, write_proxy_files?: bool}|mixed, services?: array<string, array<array-key, mixed>|object>|mixed, shared?: array<string, bool>|mixed, shared_by_default?: bool|mixed, ...<array-key, mixed>} provided (see https://psalm.dev/194)
RiskyTruthyFalsyComparison: src/AbstractPluginManager.php#L169
src/AbstractPluginManager.php:169:21: RiskyTruthyFalsyComparison: Operand of type array<array-key, mixed>|null contains type array<array-key, mixed>, which can be falsy and truthy. This can cause possibly unexpected behavior. Use strict comparison instead. (see https://psalm.dev/356)
UnusedPsalmSuppress: src/Config.php#L73
src/Config.php:73:29: UnusedPsalmSuppress: This suppression is never used (see https://psalm.dev/207)
MixedArgumentTypeCoercion: src/Config.php#L74
src/Config.php:74:53: MixedArgumentTypeCoercion: Argument 2 of Laminas\ServiceManager\Config::merge expects array{abstract_factories?: array<array-key, Laminas\ServiceManager\Factory\AbstractFactoryInterface|class-string<Laminas\ServiceManager\Factory\AbstractFactoryInterface>>, aliases?: array<string, string>, delegators?: array<string, array<array-key, Laminas\ServiceManager\Factory\DelegatorFactoryInterface|callable(Psr\Container\ContainerInterface, string, callable():object, array<array-key, mixed>|null):object|class-string<Laminas\ServiceManager\Factory\DelegatorFactoryInterface>>>, factories?: array<string, Laminas\ServiceManager\Factory\FactoryInterface|callable(Psr\Container\ContainerInterface, null|string, array<array-key, mixed>|null):object|class-string<Laminas\ServiceManager\Factory\FactoryInterface>>, initializers?: array<array-key, Laminas\ServiceManager\Initializer\InitializerInterface|callable(Psr\Container\ContainerInterface, object):void|class-string<Laminas\ServiceManager\Initializer\InitializerInterface>>, invokables?: array<string, string>, lazy_services?: array{class_map?: array<string, class-string>, proxies_namespace?: non-empty-string, proxies_target_dir?: non-empty-string, write_proxy_files?: bool}, services?: array<string, array<array-key, mixed>|object>, shared?: array<string, bool>, ...<array-key, mixed>}, but parent type array{abstract_factories?: array<array-key, Laminas\ServiceManager\Factory\AbstractFactoryInterface|class-string<Laminas\ServiceManager\Factory\AbstractFactoryInterface>>|mixed, aliases?: array<string, string>|mixed, delegators?: array<string, array<array-key, Laminas\ServiceManager\Factory\DelegatorFactoryInterface|callable(Psr\Container\ContainerInterface, string, callable():object, array<array-key, mixed>|null):object|class-string<Laminas\ServiceManager\Factory\DelegatorFactoryInterface>>>|mixed, factories?: array<string, Laminas\ServiceManager\Factory\FactoryInterface|callable(Psr\Container\ContainerInterface, null|string, array<array-key, mixed>|null):object|class-string<Laminas\ServiceManager\Factory\FactoryInterface>>|mixed, initializers?: array<array-key, Laminas\ServiceManager\Initializer\InitializerInterface|callable(Psr\Container\ContainerInterface, object):void|class-string<Laminas\ServiceManager\Initializer\InitializerInterface>>|mixed, invokables?: array<string, string>|mixed, lazy_services?: array{class_map?: array<string, class-string>, proxies_namespace?: non-empty-string, proxies_target_dir?: non-empty-string, write_proxy_files?: bool}|mixed, services?: array<string, array<array-key, mixed>|object>|mixed, shared?: array<string, bool>|mixed, ...<array-key, mixed>} provided (see https://psalm.dev/194)
InvalidArgument: src/Exception/CyclicAliasException.php#L110
src/Exception/CyclicAliasException.php:110:48: InvalidArgument: Argument 1 of array_map expects a public static callable, but a non-public callable provided (see https://psalm.dev/004)
RiskyTruthyFalsyComparison: src/ServiceManager.php#L356
src/ServiceManager.php:356:15: RiskyTruthyFalsyComparison: Operand of type array<string, string>|mixed|null contains types array<string, string>|mixed, which can be falsy and truthy. This can cause possibly unexpected behavior. Use strict comparison instead. (see https://psalm.dev/356)
ArgumentTypeCoercion: src/ServiceManager.php#L459
src/ServiceManager.php:459:26: ArgumentTypeCoercion: Argument 1 of Laminas\ServiceManager\ServiceManager::configure expects array{abstract_factories?: array<array-key, Laminas\ServiceManager\Factory\AbstractFactoryInterface|class-string<Laminas\ServiceManager\Factory\AbstractFactoryInterface>>, aliases?: array<string, string>, delegators?: array<string, array<array-key, Laminas\ServiceManager\Factory\DelegatorFactoryInterface|callable(Psr\Container\ContainerInterface, string, callable():object, array<array-key, mixed>|null):object|class-string<Laminas\ServiceManager\Factory\DelegatorFactoryInterface>>>, factories?: array<string, Laminas\ServiceManager\Factory\FactoryInterface|callable(Psr\Container\ContainerInterface, null|string, array<array-key, mixed>|null):object|class-string<Laminas\ServiceManager\Factory\FactoryInterface>>, initializers?: array<array-key, Laminas\ServiceManager\Initializer\InitializerInterface|callable(Psr\Container\ContainerInterface, object):void|class-string<Laminas\ServiceManager\Initializer\InitializerInterface>>, invokables?: array<string, string>, lazy_services?: array{class_map?: array<string, class-string>, proxies_namespace?: non-empty-string, proxies_target_dir?: non-empty-string, write_proxy_files?: bool}, services?: array<string, array<array-key, mixed>|object>, shared?: array<string, bool>, shared_by_default?: bool, ...<array-key, mixed>}, but parent type array{lazy_services: array{class_map: non-empty-array<string, string>}} provided (see https://psalm.dev/193)
RiskyTruthyFalsyComparison: src/ServiceManager.php#L459
src/ServiceManager.php:459:72: RiskyTruthyFalsyComparison: Operand of type null|string contains type string, which can be falsy and truthy. This can cause possibly unexpected behavior. Use strict comparison instead. (see https://psalm.dev/356)
ArgumentTypeCoercion: src/ServiceManager.php#L485
src/ServiceManager.php:485:26: ArgumentTypeCoercion: Argument 1 of Laminas\ServiceManager\ServiceManager::configure expects array{abstract_factories?: array<array-key, Laminas\ServiceManager\Factory\AbstractFactoryInterface|class-string<Laminas\ServiceManager\Factory\AbstractFactoryInterface>>, aliases?: array<string, string>, delegators?: array<string, array<array-key, Laminas\ServiceManager\Factory\DelegatorFactoryInterface|callable(Psr\Container\ContainerInterface, string, callable():object, array<array-key, mixed>|null):object|class-string<Laminas\ServiceManager\Factory\DelegatorFactoryInterface>>>, factories?: array<string, Laminas\ServiceManager\Factory\FactoryInterface|callable(Psr\Container\ContainerInterface, null|string, array<array-key, mixed>|null):object|class-string<Laminas\ServiceManager\Factory\FactoryInterface>>, initializers?: array<array-key, Laminas\ServiceManager\Initializer\InitializerInterface|callable(Psr\Container\ContainerInterface, object):void|class-string<Laminas\ServiceManager\Initializer\InitializerInterface>>, invokables?: array<string, string>, lazy_services?: array{class_map?: array<string, class-string>, proxies_namespace?: non-empty-string, proxies_target_dir?: non-empty-string, write_proxy_files?: bool}, services?: array<string, array<array-key, mixed>|object>, shared?: array<string, bool>, shared_by_default?: bool, ...<array-key, mixed>}, but parent type array{delegators: non-empty-array<string, list{Laminas\ServiceManager\Factory\DelegatorFactoryInterface|callable|string}>} provided (see https://psalm.dev/193)