We integrate with Laravel versions 5.5+. The existing tests verify unit functionality with TestBench but has a few caveats. First, it tests the package against the latest version of Laravel on the PHP engine running the test. Second, as written, there was no version constraint for testbench 3, which is the only way to get Laravel 5 tests. Third, the tests do not perform an end to end test of actual logging within a Laravel application. Finally, the tests do not cover Laravel Zero or Lumen (or Nova, for that matter).
The drawback with this architecture is that changes meant to be backwards compatible could only be verified by manually changing composer JSON and, in the case of PHP engine compatibility, by running with engine alternatives. Additionally, if the package had side effects during its logging operation (such as raising a warning), these would not be noticed by the unit tests.
Combined, these drawbacks make forward progress difficult, because they leave dark many potential in-the-field corners we want to see.
This PR adds a Laravel test matrix that covers Laravel 5.5 through Laravel 8 and on supported underlying PHP versions, coordinated to work with the legacy lineages.
Type of change
[ ] Bug fix (non-breaking change that fixes an issue)
[X] New feature (non-breaking change that adds functionality)
[ ] Breaking change (fix or feature that would cause existing functionality to not work as expected)
Related issues
Checklists
Development
[X] Lint rules pass locally
[X] The code changed/added as part of this pull request has been covered with tests
[X] All tests related to the changed code pass in development
Code review
[ ] This pull request has a descriptive title and information useful to a reviewer. There may be a screenshot or screencast attached
[ ] "Ready for review" label attached to the PR and reviewers mentioned in a comment
[ ] Changes have been reviewed by at least one other engineer
[ ] Issue from task tracker has a link to this pull request
Description of the change
We integrate with Laravel versions 5.5+. The existing tests verify unit functionality with TestBench but has a few caveats. First, it tests the package against the latest version of Laravel on the PHP engine running the test. Second, as written, there was no version constraint for testbench 3, which is the only way to get Laravel 5 tests. Third, the tests do not perform an end to end test of actual logging within a Laravel application. Finally, the tests do not cover Laravel Zero or Lumen (or Nova, for that matter).
The drawback with this architecture is that changes meant to be backwards compatible could only be verified by manually changing composer JSON and, in the case of PHP engine compatibility, by running with engine alternatives. Additionally, if the package had side effects during its logging operation (such as raising a warning), these would not be noticed by the unit tests.
Combined, these drawbacks make forward progress difficult, because they leave dark many potential in-the-field corners we want to see.
This PR adds a Laravel test matrix that covers Laravel 5.5 through Laravel 8 and on supported underlying PHP versions, coordinated to work with the legacy lineages.
Type of change
Related issues
Checklists
Development
Code review