sabre-io / http

The sabre/http library provides utilities for dealing with http requests and responses.
http://sabre.io/http/
BSD 3-Clause "New" or "Revised" License
187 stars 62 forks source link

chore: add cs-fixer v3 #243

Closed phil-davis closed 1 month ago

phil-davis commented 2 months ago

Similar to https://github.com/sabre-io/xml/pull/290

Add the ability to use php-cs-fixer major version 3. Add .php-cs-fixer.dist.php (the settings of php-cs-fixer for major version 3) and put the nullable_type_declaration check into it. Run cs-fixer on PHP 8.4. Leave the old cs-fixer still running on PHP 7.1. And run cs-fixer on every PHP version, to be sure. In CI, composer will choose whether to use major version 2 or 3 of php-cs-fixer.

The newer cs-fixer v3 makes various nice fixes that do not break on PHP 7.1. The old cs-fixer v2 is happy with the changes, it does not try to change them back - that is nice.

This is only needed for this old release series that still has PHP 7.1 support. We can run both cs-fixer and phpstan (and phpunit) on both PHP 7.1 through 8.4. I think that helps give confidence that the code works across that range of PHP versions.

Note: when I forward-port all this stuff to later major releases, I won't need to do all this tweaking because we move to supporting only PHP 7.4 and up. And that no longer needs php-cs-fixer major version 2.

codecov[bot] commented 2 months ago

Codecov Report

Attention: Patch coverage is 75.00000% with 2 lines in your changes missing coverage. Please review.

Project coverage is 94.14%. Comparing base (f7d675e) to head (7a9f650). Report is 5 commits behind head on 5.1.

Files Patch % Lines
lib/Auth/AWS.php 0.00% 1 Missing :warning:
lib/functions.php 80.00% 1 Missing :warning:
Additional details and impacted files ```diff @@ Coverage Diff @@ ## 5.1 #243 +/- ## ========================================= Coverage 94.14% 94.14% Complexity 266 266 ========================================= Files 15 15 Lines 871 871 ========================================= Hits 820 820 Misses 51 51 ```

:umbrella: View full report in Codecov by Sentry.
:loudspeaker: Have feedback on the report? Share it here.

phil-davis commented 2 months ago

ToDo: need to see if I can get both the old and new cs-fixer to pass on PHP 7.1 and 8.4 respectively.