Summary
Two pieces of housekeeping that both touch composer.json and CI, so they are best done together.
The package still advertises ~8.2.0 while the rest of the org has moved to 8.3, and it still uses laminas/laminas-coding-standard and PHPStan rather than the shared php-db/phpdb-qa-tools toolchain. Infection and Codecov are not wired up at all.
Proposed change
- Minimum PHP 8.3:
require.php → ~8.3.0 || ~8.4.0 || ~8.5.0, config.platform.php → 8.3.99, CI matrix ["8.3", "8.4", "8.5"]. - Add
php-db/phpdb-qa-tools: 0.1.x-dev and infection/infection: ^0.34.1 to require-dev, allow-list infection/extension-installer, and adopt the standard scripts: cs-check/cs-fix (mago format + lint), static-analysis (mago analyze), mutation-test (infection). - Add
mago.toml extending vendor/php-db/phpdb-qa-tools/mago.toml and pinning php-version = "8.3.0", infection.json5.dist with staticAnalysisTool: "mago", and codecov.yml. - Remove
phpcs.xml.dist, phpstan.neon.dist, phpstan-baseline.neon, stubs/ (PHPStan-only), .laminas-ci.json and coveralls.yml, along with the phpcs and phpstan dev dependencies. - Replace the
laminas-ci-matrix-action workflow with a call to php-db/phpdb-qa-tools/.github/workflows/continuous-integration.yml@0.1.x, passing the Postgres service inputs, run-integration: true, Codecov and Infection on, and coverage-php-version: "8.5". phpdb-mysql is the reference caller for a DB-backed driver.
Schema seeding stays with the ListenerExtension PHPUnit bootstrap. test-env-json can override TESTS_PHPDB_PGSQL_HOSTNAME to 127.0.0.1 for CI without disturbing the Compose default in phpunit.xml.dist.
Notes
Mago's analyzer is stricter than PHPStan level 5, so this will surface findings the baseline never reported. Those can be baselined on adoption, as php-db/phpdb does, rather than blocking the swap.
CODECOV_TOKEN is org-wide and already present. INFECTION_DASHBOARD_API_KEY is per-repo and needs generating at dashboard.stryker-mutator.io.
Summary
Two pieces of housekeeping that both touch
composer.jsonand CI, so they are best done together.The package still advertises
~8.2.0while the rest of the org has moved to 8.3, and it still useslaminas/laminas-coding-standardand PHPStan rather than the sharedphp-db/phpdb-qa-toolstoolchain. Infection and Codecov are not wired up at all.Proposed change
require.php→~8.3.0 || ~8.4.0 || ~8.5.0,config.platform.php→8.3.99, CI matrix["8.3", "8.4", "8.5"].php-db/phpdb-qa-tools: 0.1.x-devandinfection/infection: ^0.34.1torequire-dev, allow-listinfection/extension-installer, and adopt the standard scripts:cs-check/cs-fix(mago format + lint),static-analysis(mago analyze),mutation-test(infection).mago.tomlextendingvendor/php-db/phpdb-qa-tools/mago.tomland pinningphp-version = "8.3.0",infection.json5.distwithstaticAnalysisTool: "mago", andcodecov.yml.phpcs.xml.dist,phpstan.neon.dist,phpstan-baseline.neon,stubs/(PHPStan-only),.laminas-ci.jsonandcoveralls.yml, along with the phpcs and phpstan dev dependencies.laminas-ci-matrix-actionworkflow with a call tophp-db/phpdb-qa-tools/.github/workflows/continuous-integration.yml@0.1.x, passing the Postgres service inputs,run-integration: true, Codecov and Infection on, andcoverage-php-version: "8.5".phpdb-mysqlis the reference caller for a DB-backed driver.Schema seeding stays with the
ListenerExtensionPHPUnit bootstrap.test-env-jsoncan overrideTESTS_PHPDB_PGSQL_HOSTNAMEto127.0.0.1for CI without disturbing the Compose default inphpunit.xml.dist.Notes
Mago's analyzer is stricter than PHPStan level 5, so this will surface findings the baseline never reported. Those can be baselined on adoption, as
php-db/phpdbdoes, rather than blocking the swap.CODECOV_TOKENis org-wide and already present.INFECTION_DASHBOARD_API_KEYis per-repo and needs generating at dashboard.stryker-mutator.io.