Skip to content

#49 - CI: test the lowest dependencies, require psr/log ^2|^3 - #50

Merged
njoubert-cleverage merged 1 commit into
mainfrom
49
Oct 14, 2026
Merged

njoubert-cleverage merged 1 commit into
mainfrom
49

Conversation

@njoubert-cleverage

Copy link
Copy Markdown
Member

Description

Fixes #49: add a CI job testing the lowest versions allowed by composer.json on PHP 8.2, and fix the lower bound it reveals. Same change as cleverage/process-bundle#274 (PR cleverage/process-bundle#287).

Changes

  • .github/workflows/test.yml: new PHP 8.2 + lowest + normal job (dependencies: lowest, i.e. composer update --prefer-lowest --prefer-stable).
  • psr/log: ^1|^2|^3 → ^2|^3. The lowest set resolved psr/log 1.1.0, and PHPUnit crashed with PHP Fatal error: Declaration of CleverAge\ProcessBundle\Logger\AbstractLogger::log($level, Stringable|string $message, array $context = []): void must be compatible with Psr\Log\LoggerInterface::log($level, $message, array $context = []) (first hit in the test logger of RemoveFileTaskTest, and loading cleverage/process-bundle 5.0's own ProcessLogger fails the same way). cleverage/process-bundle now requires psr/log ^2|^3 too.
  • CHANGELOG (Latest).

Checks

  • Locally, PHP 8.2 + composer update --prefer-lowest --prefer-stable (cleverage/process-bundle 5.0, league/flysystem 3.35.3, league/flysystem-bundle 3.0.0, psr/log 2.0.0, monolog/monolog 2.3.3, Symfony 6.4.0, PHPUnit 11.5.50): 35 tests OK.
  • PHP 8.5 + composer update: 35 tests OK, PHPStan OK, composer validate --strict OK.

Requirements

  • Documentation updates
    • Reference
    • Changelog
  • Unit tests

Breaking changes

None in practice: psr/log 1 could not work, cleverage/process-bundle 5.x already crashes with it (fatal error on its logger classes).

🤖 Generated with Claude Code

Add a "PHP 8.2 + lowest" job to the test workflow: it installs the lowest
versions allowed by composer.json (--prefer-lowest --prefer-stable) on the
lowest supported PHP version.

This set revealed a wrong lower bound: with psr/log 1.1.0,
cleverage/process-bundle 5.0 (and the test logger) declare the typed
LoggerInterface::log() signature, which is a fatal error ("Declaration of
CleverAge\ProcessBundle\Logger\AbstractLogger::log(...) must be compatible
with Psr\Log\LoggerInterface::log($level, $message, array $context = [])").
Require psr/log ^2|^3, as cleverage/process-bundle now does.

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
@njoubert-cleverage
njoubert-cleverage merged commit 7b1fa9b into main Oct 14, 2026
18 checks passed
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.

CI: test the lowest dependencies

1 participant