Skip to content

chore(#164): analyse at the PHP 8.2 minimum - #185

Merged
s2x merged 1 commit into
masterfrom
chore/issue-164-tests-exercise-the-php-8-2-minimum-in-ph
Nov 6, 2026
Merged

s2x merged 1 commit into
masterfrom
chore/issue-164-tests-exercise-the-php-8-2-minimum-in-ph

Conversation

@s2x

@s2x s2x commented Nov 6, 2026

Copy link
Copy Markdown
Member

What changed

PHPStan analysed at PHP 8.4 although the package floor is PHP 8.2, so code
using PHP 8.3/8.4 functions could pass despite the declared minimum. The
PHP 8.2 unit job also never loaded the real libfdb_c.

  • phpstan.neon: target is now phpVersion: 80200, includes
    phpstan-baseline.neon, and documents the PHP <= 8.3 FFI-stub bug
    (FFI::new()/FFI::cast() typed ?FFI\CData; fixed in PHP 8.4, php-src
    a37a3d3d81). No null handling is added to the wrappers.
  • phpstan-baseline.neon (new): only the 73 FFI-stub nullability false
    positives. The two stale property.notFound ignores were removed.
  • .github/workflows/ci.yml: the FoundationDB client is installed for every
    unit-matrix entry, so the real-library path runs on PHP 8.2/8.3/8.4.
  • tests/Unit/NativeClientLibraryPathTest.php: docblock updated from "the
    PHP 8.4 CI job" to the full matrix; CHANGELOG.md records the change.

Closes #164

How it was tested

  • vendor/bin/phpstan analyse --memory-limit=512M --no-progress at
    phpVersion: 80200: no errors. The raw pre-baseline list was exactly 73
    errors, all FFI-stub nullability; no real 8.2 incompatibility.
  • PHP 8.2.35 container with libfdb_c 7.3.75:
    NativeClientLibraryPathTest 8/8 passed (real-library load, not skipped);
    full suite 919 tests, 2480 assertions, 6 skipped.
  • PATH=/tmp/opencode/bin:$PATH bin/lint.sh, actionlint, git diff --check
    pass.

Checklist

  • Tests added or updated, and all checks pass
  • CHANGELOG.md updated under [Unreleased]
  • Documentation updated
  • Everything is written in English
  • The PR title is a Conventional Commit (chore: ...)

@s2x
s2x merged commit cbef7d8 into master Nov 6, 2026
8 checks passed
@s2x
s2x deleted the chore/issue-164-tests-exercise-the-php-8-2-minimum-in-ph branch November 6, 2026 21:22
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

[Tests] Exercise the PHP 8.2 minimum in PHPStan and the unit matrix

1 participant