* ci: run PHPUnit without castor and drop the PHP 8.6 matrix entry
The tests job runs inside the phpqa image of the matrix PHP version and
called castor, which requires PHP >= 8.4, so the 8.2 and 8.3 entries
died before running a single test. The job now calls the same PHPUnit
command castor was wrapping.
The 8.6 image is not published, only 8.2 to 8.5 are, so that entry could
only fail at container initialisation. It can come back once the image
exists.
Ref #933
* fix(tests): keep the in-memory logger compatible with psr/log 1.x and 2.x
composer.json allows psr/log ^1.0|^2.0|^3.0, so the lowest-deps job
installs psr/log 1.x, whose LoggerInterface::log() takes an untyped
message. The fixture declared the 3.x signature and PHP refused to load
the test suite.
Ref #933
* ci: repair the ECS and Rector configurations
SetList::PHPUNIT, SetList::STRICT and PHPUnitSetList::PHPUNIT_120 have
been removed upstream, so both tools aborted before looking at a single
file. The rules that mattered from the STRICT set are already declared
one by one right below the imports, and the version specific PHPUnit set
is covered by withComposerBased().
RemoveEraseCredentialsRector is skipped: it would delete
eraseCredentials() from a test fixture implementing UserInterface, which
is fatal on Symfony 6.4.
Ref #933
* style: absorb the ECS and Rector backlog
Both tools had been silent for months, so a backlog accumulated: comment
spacing, native function invocation, global namespace imports, redundant
boolean identity comparisons, a readonly class, a dead instanceof assert
and a property default the constructor always overwrites.
Ref #933
* ci: regenerate the PHPStan baseline
Nineteen errors were reported outside the baseline, one of them an
unmatched ignored error on Psr18HttpClient which trips
reportUnmatchedIgnoredErrors. Generated on PHP 8.4, the version the CI
job uses.
Ref #933