Skip to content

ci: BC check against the latest 4.x tag; log retries at info - #74

Merged
justpilot merged 1 commit into
4.xfrom
feat/bc-check-and-retry-log-level
Oct 26, 2026
Merged

justpilot merged 1 commit into
4.xfrom
feat/bc-check-and-retry-log-level

Conversation

@justpilot

Copy link
Copy Markdown
Owner

Summary

  • BC check: new Backward compatibility job runs roave/backward-compatibility-check against the latest v4.* tag and reports findings as annotations. It is informational (continue-on-error) until 4.0.0-beta.1, then it becomes blocking. The tool is installed globally because it needs Symfony 7 components while our dev dependencies are on Symfony 8.
    • Baseline .roave-backward-compatibility-check.xml: the five Rector rules are ignored because their parent Rector\\Rector\\AbstractRector lives in Rector's scoped PHAR and BetterReflection can't locate it (not even with --install-development-dependencies). They are upgrade tooling, not runtime API.
    • Against v4.0.0-alpha.1 there are no other findings. Verified that a real break is caught: renaming Money::toString() in a throwaway commit reported [BC] REMOVED: Method Justpilot\\Billomat\\Model\\Money#toString() was removed with exit code 3.
  • Retry log level: retries are logged at info instead of warning. Found while migrating a production app to 4.0 alpha: its Monolog sends alert mails from WARNING on, so it had to drop the SDK logger entirely. A retry that succeeds is expected behaviour; final failures keep notice (4xx) and error (5xx, network).

Docs: docs/testing.md (CI jobs, running the check locally), docs/configuration.md (log level table), AGENTS.md, CHANGELOG.

Test plan

  • composer test, PHPStan, lint
  • BC check locally: no findings against v4.0.0-alpha.1, real break detected
  • Docs build

…ies at info

- New CI job runs roave/backward-compatibility-check against the latest v4.* tag
  (informational until 4.0.0-beta.1). The Rector rules are baselined: their
  parent class lives in Rector's scoped PHAR and cannot be reflected.
- Retries are logged at info instead of warning, so a retry that succeeds no
  longer trips alerting that fires at warning. Final failures keep their levels.
@justpilot
justpilot merged commit 1db0a2d into 4.x Oct 26, 2026
9 checks passed
@justpilot
justpilot deleted the feat/bc-check-and-retry-log-level branch October 26, 2026 15:10
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