php-http-enum icon indicating copy to clipboard operation
php-http-enum copied to clipboard

chore(deps-dev): add GitHub workflow & upgrade development dependencies

Open maccath opened this issue 1 year ago • 0 comments

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] (previously 0.25.2)
  • Require minimum version of phpunit/[email protected] (previously 10.0.0)
  • Upgrade vimeo/psalm from v4 to v5 with a minimum version of 5.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

maccath avatar Nov 28 '23 11:11 maccath