Skip to content

#50 - CI: test the lowest dependencies, fix the lower bound of psr/log - #51

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

njoubert-cleverage merged 1 commit into
mainfrom
50

Conversation

@njoubert-cleverage

Copy link
Copy Markdown
Member

Description

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

Changes

  • .github/workflows/test.yml: new matrix entry, PHP 8.2 (lowest supported) with dependencies: lowest (ramsey/composer-install runs composer update --prefer-lowest --prefer-stable).
  • psr/log ^2 || ^3 (was ^1 || ^2 || ^3, resolved to 1.1.0 with the lowest set): the test logger of RequestTaskTest declares log($level, string|\Stringable $message, array $context = []): void, incompatible with psr/log 1:
    PHP Fatal error:  Declaration of Psr\Log\AbstractLogger@anonymous::log($level, Stringable|string $message, array $context = []): void must be compatible with Psr\Log\LoggerInterface::log($level, $message, array $context = [])
    
    The cleverage/process-bundle 5.0 loggers have the same signature (Logger\AbstractLogger, parent of TaskLogger / ProcessLogger): loading them with psr/log 1 gives the same fatal error, so the bundle could not run with psr/log 1 anyway.
  • CHANGELOG (Latest).

Note: the lowest set resolves monolog/monolog 2.3.3 through cleverage/process-bundle 5.0, whose Logger\*Processor type Monolog\LogRecord (Monolog 3). This bundle does not use Monolog directly and no test is affected; it is fixed in cleverage/process-bundle#287 (monolog/monolog ^3).

Checks

  • Locally, PHP 8.2 + composer update --prefer-lowest --prefer-stable (cleverage/process-bundle 5.0, Symfony 6.4.0, symfony/http-client 6.4.15, symfony/http-client-contracts 3.4.2, symfony/deprecation-contracts 2.5.0, psr/log 2.0.0, PHPUnit 11.5): 33 tests OK. Before the fix: fatal error above.
  • PHP 8.5 + composer update: 33 tests OK, PHPStan OK, composer validate --strict OK.

Requirements

  • Documentation updates
    • Reference
    • Changelog
  • Unit tests

Breaking changes

None in practice: the removed psr/log 1 versions could not work (fatal error when loading the cleverage/process-bundle loggers), and psr/log 1 support was only declared in the unreleased #44.

🤖 Generated with Claude Code

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

With the lowest set, psr/log resolved to 1.1.0 and the tests stopped on a
fatal error: the test logger declares the typed log() signature of psr/log
2/3, as do the loggers of cleverage/process-bundle 5.0 (Logger\AbstractLogger),
both incompatible with psr/log 1. Raise psr/log to ^2 || ^3.

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
@njoubert-cleverage
njoubert-cleverage merged commit 2559e44 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