Problem
The release workflow installs dependencies with composer install --no-dev. PHPUnit is a development dependency, so the release pipeline cannot validate the test suite before creating a production package.
Affected code
.github/workflows/release.yml
composer.json
Expected outcome
A release fails before packaging when dependency validation or automated tests fail, while the final package still excludes development dependencies.
Acceptance criteria
- Add a release-validation stage that installs full dependencies.
- Run
composer validate --strict and the PHPUnit suite in that stage.
- Only create the distributable package after validation succeeds.
- Retain a separate production dependency installation with
--no-dev for the package contents.
- Ensure release artifacts do not include
vendor/ development-only dependencies.
Scope
This complements, but does not replace, the pull-request test workflow.
Problem
The release workflow installs dependencies with
composer install --no-dev. PHPUnit is a development dependency, so the release pipeline cannot validate the test suite before creating a production package.Affected code
.github/workflows/release.ymlcomposer.jsonExpected outcome
A release fails before packaging when dependency validation or automated tests fail, while the final package still excludes development dependencies.
Acceptance criteria
composer validate --strictand the PHPUnit suite in that stage.--no-devfor the package contents.vendor/development-only dependencies.Scope
This complements, but does not replace, the pull-request test workflow.