php-http-enum
php-http-enum copied to clipboard
chore(deps-dev): add GitHub workflow & upgrade development dependencies
Overview
I cloned the repository and went to run composer install
for development, but dependencies couldn't be resolved to an installable set of packages:
Loading composer repositories with package information
Updating dependencies
Your requirements could not be resolved to an installable set of packages.
Problem 1
- Root composer.json requires sebastian/diff 5.0.x-dev as 4.x-dev (exact version match), found sebastian/diff[dev-main, 1.0.0, ..., 1.4.x-dev, 2.0.1, 2.0.x-dev, 3.0.0, ..., 3.0.x-dev, 4.0.0, ..., 4.0.x-dev, 5.0.0, ..., 5.1.x-dev (alias of dev-main)] but it does not match the constraint.
Problem 2
- infection/infection[0.25.2, ..., 0.25.x-dev] require sebastian/diff ^3.0.2 || ^4.0 -> found sebastian/diff[3.0.2, 3.0.3, 3.0.4, 3.0.x-dev, 4.0.0, ..., 4.0.x-dev] but it conflicts with your root composer.json require (5.0.x-dev as 4.x-dev).
- Root composer.json requires infection/infection ^0.25.2 -> satisfiable by infection/infection[0.25.2, ..., 0.25.x-dev].
I wondered if this was because of my PHP version (8.3) but this was not the case. To validate my theory I added a GitHub Workflow to install dependencies and run the test suite on PHP 8.1 through 8.3. I then resolved all of the issues required for the repository to build with the lowest and highest set of dependencies on these PHP versions.
Changes
The following updates are included in this PR:
Dev Dependencies
- Require minimum version of
infection/[email protected]
(previously0.25.2
) - Require minimum version of
phpunit/[email protected]
(previously10.0.0
) - Upgrade
vimeo/psalm
fromv4
tov5
with a minimum version of5.16.0
- Remove explicit requirement of
sebastian/diff
(no longer needed).
Composer
- Added
description
field to composer.json - Enabled plugins to allow
infection/infection
to run in GitHub Workflows - Normalised composer.json
PHPUnit
- Migrated PHPUnit configuration file