Skip to content

Conversation

@Spomky
Copy link

@Spomky Spomky commented Dec 12, 2025

This PR simplifies a lot the CI workflow by consolidating PHP version and dependency management across jobs, and updates all pending development dependencies.

Key improvements:

  • Centralized PHP version matrix: All PHP versions (8.1 through 8.5) are now managed consistently across jobs instead of being duplicated
  • Clearer dependency strategy:
    • Uses locked dependencies for stable PHP versions (8.1-8.3) to ensure reproducible builds
    • Uses lowest/highest for compatibility testing across the dependency range
    • Removes duplicate configurations by leveraging matrix includes
  • Separated test jobs: Unit tests and comparison checks now run as distinct jobs for better pipeline visibility

Dependency updates ( closes #803, #784, #762, #754, #753 and #750):

  • Bumps codecov/codecov-action to v5.5.2
  • Bumps overtrue/phplint from 9.6 to 10.0
  • Bumps doctrine/coding-standard from 12.0.0 to 14.0.0 (with modified configuration)
  • Bumps phpstan/phpstan from 1.10.43 to 1.12.9
  • Bumps phpstan/phpstan-deprecation-rules from 1.1.4 to 1.2.1
  • Bumps phpstan/phpstan-beberlei-assert from 1.1.2 to 1.1.3
  • Bumps phpstan/extension-installer from 1.3.1 to 1.4.3

Dependency strategy:

  • For code quality tools (PHPCS, PHPStan, PHPlint), we use locked dependencies on PHP 8.5 => This ensures everyone gets consistent results when running these tools locally or in CI - no surprises from dependency variations.
  • For PHPUnit tests, we intentionally avoid locked dependencies and instead test with lowest (PHP 8.1) and highest (PHP 8.1 to 8.5). This strategy maximizes compatibility coverage across our supported dependency ranges while preventing test suite lock-in. Testing PHP 8.1 with lowest dependencies catches minimum version issues, while highest on newer PHP versions ensures we work with latest library versions.

The workflow is now easier to maintain and extend when adding new PHP versions.

@Spomky
Copy link
Author

Spomky commented Dec 12, 2025

Note: Nothing was removed. The workflow is just reorganized to eliminate duplication and consolidate testing (also should run faster).

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant