Skip to content

Add PHP 8.3 / 8.4

Add PHP 8.3 / 8.4 #486

Triggered via push March 19, 2024 20:39
Status Failure
Total duration 2m 22s
Artifacts

ci.yml

on: push
Matrix: tests
Fit to window
Zoom out
Zoom in

Annotations

28 errors and 42 warnings
InvalidArrayOffset: examples/generate-yes.php#L38
examples/generate-yes.php:38:15: InvalidArrayOffset: Cannot access value on variable $data using a false|int offset, expecting int (see https://psalm.dev/115)
PossiblyInvalidArgument: examples/http-server.php#L24
examples/http-server.php:24:28: PossiblyInvalidArgument: Argument 1 of fwrite expects resource, but possibly different type closed-resource|resource provided (see https://psalm.dev/092)
PossiblyInvalidArgument: examples/http-server.php#L26
examples/http-server.php:26:21: PossiblyInvalidArgument: Argument 1 of fclose expects resource, but possibly different type closed-resource|resource provided (see https://psalm.dev/092)
RiskyTruthyFalsyComparison: src/EventLoop/Driver/StreamSelectDriver.php#L280
src/EventLoop/Driver/StreamSelectDriver.php:280:17: RiskyTruthyFalsyComparison: Operand of type array<int, resource>|null contains type array<int, resource>, which can be falsy and truthy. This can cause possibly unexpected behavior. Use strict comparison instead. (see https://psalm.dev/356)
RiskyTruthyFalsyComparison: src/EventLoop/DriverFactory.php#L45
src/EventLoop/DriverFactory.php:45:13: RiskyTruthyFalsyComparison: Operand of type false|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)
RiskyTruthyFalsyComparison: src/EventLoop/DriverFactory.php#L59
src/EventLoop/DriverFactory.php:59:13: RiskyTruthyFalsyComparison: Operand of type false|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)
RiskyTruthyFalsyComparison: src/EventLoop/Internal/AbstractDriver.php#L71
src/EventLoop/Internal/AbstractDriver.php:71:17: RiskyTruthyFalsyComparison: Operand of type false|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)
RiskyTruthyFalsyComparison: src/EventLoop/Internal/ClosureHelper.php#L21
src/EventLoop/Internal/ClosureHelper.php:21:17: RiskyTruthyFalsyComparison: Operand of type false|non-empty-string contains type non-empty-string, which can be falsy and truthy. This can cause possibly unexpected behavior. Use strict comparison instead. (see https://psalm.dev/356)
PHP 8.3
Process completed with exit code 2.
PHP 8.4
Process completed with exit code 1.
InvalidArrayOffset: examples/generate-yes.php#L38
examples/generate-yes.php:38:15: InvalidArrayOffset: Cannot access value on variable $data using a false|int offset, expecting int (see https://psalm.dev/115)
PossiblyInvalidArgument: examples/http-server.php#L24
examples/http-server.php:24:28: PossiblyInvalidArgument: Argument 1 of fwrite expects resource, but possibly different type closed-resource|resource provided (see https://psalm.dev/092)
PossiblyInvalidArgument: examples/http-server.php#L26
examples/http-server.php:26:21: PossiblyInvalidArgument: Argument 1 of fclose expects resource, but possibly different type closed-resource|resource provided (see https://psalm.dev/092)
RiskyTruthyFalsyComparison: src/EventLoop/Driver/StreamSelectDriver.php#L280
src/EventLoop/Driver/StreamSelectDriver.php:280:17: RiskyTruthyFalsyComparison: Operand of type array<int, resource>|null contains type array<int, resource>, which can be falsy and truthy. This can cause possibly unexpected behavior. Use strict comparison instead. (see https://psalm.dev/356)
RiskyTruthyFalsyComparison: src/EventLoop/DriverFactory.php#L45
src/EventLoop/DriverFactory.php:45:13: RiskyTruthyFalsyComparison: Operand of type false|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)
RiskyTruthyFalsyComparison: src/EventLoop/DriverFactory.php#L59
src/EventLoop/DriverFactory.php:59:13: RiskyTruthyFalsyComparison: Operand of type false|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)
RiskyTruthyFalsyComparison: src/EventLoop/Internal/AbstractDriver.php#L71
src/EventLoop/Internal/AbstractDriver.php:71:17: RiskyTruthyFalsyComparison: Operand of type false|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)
RiskyTruthyFalsyComparison: src/EventLoop/Internal/ClosureHelper.php#L21
src/EventLoop/Internal/ClosureHelper.php:21:17: RiskyTruthyFalsyComparison: Operand of type false|non-empty-string contains type non-empty-string, which can be falsy and truthy. This can cause possibly unexpected behavior. Use strict comparison instead. (see https://psalm.dev/356)
PHP 8.2
Process completed with exit code 2.
InvalidArrayOffset: examples/generate-yes.php#L38
examples/generate-yes.php:38:15: InvalidArrayOffset: Cannot access value on variable $data using a false|int offset, expecting int (see https://psalm.dev/115)
PossiblyInvalidArgument: examples/http-server.php#L24
examples/http-server.php:24:28: PossiblyInvalidArgument: Argument 1 of fwrite expects resource, but possibly different type closed-resource|resource provided (see https://psalm.dev/092)
PossiblyInvalidArgument: examples/http-server.php#L26
examples/http-server.php:26:21: PossiblyInvalidArgument: Argument 1 of fclose expects resource, but possibly different type closed-resource|resource provided (see https://psalm.dev/092)
RiskyTruthyFalsyComparison: src/EventLoop/Driver/StreamSelectDriver.php#L280
src/EventLoop/Driver/StreamSelectDriver.php:280:17: RiskyTruthyFalsyComparison: Operand of type array<int, resource>|null contains type array<int, resource>, which can be falsy and truthy. This can cause possibly unexpected behavior. Use strict comparison instead. (see https://psalm.dev/356)
RiskyTruthyFalsyComparison: src/EventLoop/DriverFactory.php#L45
src/EventLoop/DriverFactory.php:45:13: RiskyTruthyFalsyComparison: Operand of type false|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)
RiskyTruthyFalsyComparison: src/EventLoop/DriverFactory.php#L59
src/EventLoop/DriverFactory.php:59:13: RiskyTruthyFalsyComparison: Operand of type false|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)
RiskyTruthyFalsyComparison: src/EventLoop/Internal/AbstractDriver.php#L71
src/EventLoop/Internal/AbstractDriver.php:71:17: RiskyTruthyFalsyComparison: Operand of type false|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)
RiskyTruthyFalsyComparison: src/EventLoop/Internal/ClosureHelper.php#L21
src/EventLoop/Internal/ClosureHelper.php:21:17: RiskyTruthyFalsyComparison: Operand of type false|non-empty-string contains type non-empty-string, which can be falsy and truthy. This can cause possibly unexpected behavior. Use strict comparison instead. (see https://psalm.dev/356)
PHP 8.1
Process completed with exit code 2.
PHP 8.3
Node.js 16 actions are deprecated. Please update the following actions to use Node.js 20: actions/checkout@v2, actions/cache@v2, nick-invision/retry@v2. For more information see: https://github.blog/changelog/2023-09-22-github-actions-transitioning-from-node-16-to-node-20/.
PHP 8.3
The following actions uses node12 which is deprecated and will be forced to run on node16: actions/checkout@v2, actions/cache@v2. For more info: https://github.blog/changelog/2023-06-13-github-actions-all-actions-will-run-on-node16-instead-of-node12-by-default/
MixedMethodCall: examples/benchmark-memory.php#L24
examples/benchmark-memory.php:24:21: MixedMethodCall: Cannot call constructor on an unknown class (see https://psalm.dev/015)
MixedArgumentTypeCoercion: examples/benchmark-ticks-delay.php#L13
examples/benchmark-ticks-delay.php:13:26: MixedArgumentTypeCoercion: Argument 1 of Revolt\EventLoop::defer expects Closure(string):void, but parent type Closure provided (see https://psalm.dev/194)
MixedArgumentTypeCoercion: examples/benchmark-timers-delay.php#L13
examples/benchmark-timers-delay.php:13:29: MixedArgumentTypeCoercion: Argument 2 of Revolt\EventLoop::delay expects Closure(string):void, but parent type Closure provided (see https://psalm.dev/194)
MixedAssignment: src/EventLoop/Driver/EvDriver.php#L168
src/EventLoop/Driver/EvDriver.php:168:32: MixedAssignment: Unable to determine the type that $callback is being assigned to (see https://psalm.dev/032)
MixedArrayOffset: src/EventLoop/Driver/EvDriver.php#L169
src/EventLoop/Driver/EvDriver.php:169:24: MixedArrayOffset: Cannot access value on variable $this->events using mixed offset (see https://psalm.dev/031)
MixedAssignment: src/EventLoop/Driver/EvDriver.php#L169
src/EventLoop/Driver/EvDriver.php:169:38: MixedAssignment: Unable to determine the type that $id is being assigned to (see https://psalm.dev/032)
MixedPropertyFetch: src/EventLoop/Driver/EvDriver.php#L169
src/EventLoop/Driver/EvDriver.php:169:44: MixedPropertyFetch: Cannot fetch property on mixed var $callback (see https://psalm.dev/034)
MixedArrayOffset: src/EventLoop/Driver/EvDriver.php#L173
src/EventLoop/Driver/EvDriver.php:173:21: MixedArrayOffset: Cannot access value on variable $this->events[$id] using mixed offset (see https://psalm.dev/031)
MixedPropertyTypeCoercion: src/EventLoop/Driver/EvDriver.php#L173
src/EventLoop/Driver/EvDriver.php:173:21: MixedPropertyTypeCoercion: $this->events expects 'array<string, EvWatcher>', parent type `non-empty-array<array-key, EvWatcher>` provided (see https://psalm.dev/196)
MixedArrayOffset: src/EventLoop/Driver/EvDriver.php#L177
src/EventLoop/Driver/EvDriver.php:177:21: MixedArrayOffset: Cannot access value on variable $this->events[$id] using mixed offset (see https://psalm.dev/031)
PHP 8.3
The `set-output` command is deprecated and will be disabled soon. Please upgrade to using Environment Files. For more information see: https://github.blog/changelog/2022-10-11-github-actions-deprecating-save-state-and-set-output-commands/
PHP 8.4
Node.js 16 actions are deprecated. Please update the following actions to use Node.js 20: actions/checkout@v2, actions/cache@v2, nick-invision/retry@v2. For more information see: https://github.blog/changelog/2023-09-22-github-actions-transitioning-from-node-16-to-node-20/.
PHP 8.4
The following actions uses node12 which is deprecated and will be forced to run on node16: actions/checkout@v2, actions/cache@v2. For more info: https://github.blog/changelog/2023-06-13-github-actions-all-actions-will-run-on-node16-instead-of-node12-by-default/
PHP 8.4
The `set-output` command is deprecated and will be disabled soon. Please upgrade to using Environment Files. For more information see: https://github.blog/changelog/2022-10-11-github-actions-deprecating-save-state-and-set-output-commands/
PHP 8.2
Node.js 16 actions are deprecated. Please update the following actions to use Node.js 20: actions/checkout@v2, actions/cache@v2, nick-invision/retry@v2. For more information see: https://github.blog/changelog/2023-09-22-github-actions-transitioning-from-node-16-to-node-20/.
PHP 8.2
The following actions uses node12 which is deprecated and will be forced to run on node16: actions/checkout@v2, actions/cache@v2. For more info: https://github.blog/changelog/2023-06-13-github-actions-all-actions-will-run-on-node16-instead-of-node12-by-default/
PHP 8.2
The `set-output` command is deprecated and will be disabled soon. Please upgrade to using Environment Files. For more information see: https://github.blog/changelog/2022-10-11-github-actions-deprecating-save-state-and-set-output-commands/
MixedMethodCall: examples/benchmark-memory.php#L24
examples/benchmark-memory.php:24:21: MixedMethodCall: Cannot call constructor on an unknown class (see https://psalm.dev/015)
MixedArgumentTypeCoercion: examples/benchmark-ticks-delay.php#L13
examples/benchmark-ticks-delay.php:13:26: MixedArgumentTypeCoercion: Argument 1 of Revolt\EventLoop::defer expects Closure(string):void, but parent type Closure provided (see https://psalm.dev/194)
MixedArgumentTypeCoercion: examples/benchmark-timers-delay.php#L13
examples/benchmark-timers-delay.php:13:29: MixedArgumentTypeCoercion: Argument 2 of Revolt\EventLoop::delay expects Closure(string):void, but parent type Closure provided (see https://psalm.dev/194)
MixedAssignment: src/EventLoop/Driver/EvDriver.php#L168
src/EventLoop/Driver/EvDriver.php:168:32: MixedAssignment: Unable to determine the type that $callback is being assigned to (see https://psalm.dev/032)
MixedArrayOffset: src/EventLoop/Driver/EvDriver.php#L169
src/EventLoop/Driver/EvDriver.php:169:24: MixedArrayOffset: Cannot access value on variable $this->events using mixed offset (see https://psalm.dev/031)
MixedAssignment: src/EventLoop/Driver/EvDriver.php#L169
src/EventLoop/Driver/EvDriver.php:169:38: MixedAssignment: Unable to determine the type that $id is being assigned to (see https://psalm.dev/032)
MixedPropertyFetch: src/EventLoop/Driver/EvDriver.php#L169
src/EventLoop/Driver/EvDriver.php:169:44: MixedPropertyFetch: Cannot fetch property on mixed var $callback (see https://psalm.dev/034)
MixedArrayOffset: src/EventLoop/Driver/EvDriver.php#L173
src/EventLoop/Driver/EvDriver.php:173:21: MixedArrayOffset: Cannot access value on variable $this->events[$id] using mixed offset (see https://psalm.dev/031)
MixedPropertyTypeCoercion: src/EventLoop/Driver/EvDriver.php#L173
src/EventLoop/Driver/EvDriver.php:173:21: MixedPropertyTypeCoercion: $this->events expects 'array<string, EvWatcher>', parent type `non-empty-array<array-key, EvWatcher>` provided (see https://psalm.dev/196)
MixedArrayOffset: src/EventLoop/Driver/EvDriver.php#L177
src/EventLoop/Driver/EvDriver.php:177:21: MixedArrayOffset: Cannot access value on variable $this->events[$id] using mixed offset (see https://psalm.dev/031)
PHP 8.1
Node.js 16 actions are deprecated. Please update the following actions to use Node.js 20: actions/checkout@v2, actions/cache@v2, nick-invision/retry@v2. For more information see: https://github.blog/changelog/2023-09-22-github-actions-transitioning-from-node-16-to-node-20/.
PHP 8.1
The following actions uses node12 which is deprecated and will be forced to run on node16: actions/checkout@v2, actions/cache@v2. For more info: https://github.blog/changelog/2023-06-13-github-actions-all-actions-will-run-on-node16-instead-of-node12-by-default/
PHP 8.1
The `set-output` command is deprecated and will be disabled soon. Please upgrade to using Environment Files. For more information see: https://github.blog/changelog/2022-10-11-github-actions-deprecating-save-state-and-set-output-commands/
MixedMethodCall: examples/benchmark-memory.php#L24
examples/benchmark-memory.php:24:21: MixedMethodCall: Cannot call constructor on an unknown class (see https://psalm.dev/015)
MixedArgumentTypeCoercion: examples/benchmark-ticks-delay.php#L13
examples/benchmark-ticks-delay.php:13:26: MixedArgumentTypeCoercion: Argument 1 of Revolt\EventLoop::defer expects Closure(string):void, but parent type Closure provided (see https://psalm.dev/194)
MixedArgumentTypeCoercion: examples/benchmark-timers-delay.php#L13
examples/benchmark-timers-delay.php:13:29: MixedArgumentTypeCoercion: Argument 2 of Revolt\EventLoop::delay expects Closure(string):void, but parent type Closure provided (see https://psalm.dev/194)
MixedAssignment: src/EventLoop/Driver/EvDriver.php#L168
src/EventLoop/Driver/EvDriver.php:168:32: MixedAssignment: Unable to determine the type that $callback is being assigned to (see https://psalm.dev/032)
MixedArrayOffset: src/EventLoop/Driver/EvDriver.php#L169
src/EventLoop/Driver/EvDriver.php:169:24: MixedArrayOffset: Cannot access value on variable $this->events using mixed offset (see https://psalm.dev/031)
MixedAssignment: src/EventLoop/Driver/EvDriver.php#L169
src/EventLoop/Driver/EvDriver.php:169:38: MixedAssignment: Unable to determine the type that $id is being assigned to (see https://psalm.dev/032)
MixedPropertyFetch: src/EventLoop/Driver/EvDriver.php#L169
src/EventLoop/Driver/EvDriver.php:169:44: MixedPropertyFetch: Cannot fetch property on mixed var $callback (see https://psalm.dev/034)
MixedArrayOffset: src/EventLoop/Driver/EvDriver.php#L173
src/EventLoop/Driver/EvDriver.php:173:21: MixedArrayOffset: Cannot access value on variable $this->events[$id] using mixed offset (see https://psalm.dev/031)
MixedPropertyTypeCoercion: src/EventLoop/Driver/EvDriver.php#L173
src/EventLoop/Driver/EvDriver.php:173:21: MixedPropertyTypeCoercion: $this->events expects 'array<string, EvWatcher>', parent type `non-empty-array<array-key, EvWatcher>` provided (see https://psalm.dev/196)
MixedArrayOffset: src/EventLoop/Driver/EvDriver.php#L177
src/EventLoop/Driver/EvDriver.php:177:21: MixedArrayOffset: Cannot access value on variable $this->events[$id] using mixed offset (see https://psalm.dev/031)