diff --git a/.github/workflows/backwards-compatibility.yml b/.github/workflows/backwards-compatibility.yml new file mode 100644 index 00000000..b53e6ee8 --- /dev/null +++ b/.github/workflows/backwards-compatibility.yml @@ -0,0 +1,43 @@ +name: "Backwards compatibility check" + +on: + pull_request: + +jobs: + bc-check: + name: "Backwards compatibility check" + + runs-on: "ubuntu-latest" + + steps: + - name: "Checkout" + uses: "actions/checkout@v3" + with: + fetch-depth: 0 + + - name: "Install PHP" + uses: "shivammathur/setup-php@2.24.0" + with: + php-version: "8.2" + ini-values: memory_limit=-1 + tools: composer:v2, cs2pr + env: + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} + + - name: Get composer cache directory + id: composer-cache + run: echo "composer_cache_dir=$(composer global config cache-files-dir)" >> $GITHUB_OUTPUT + + - name: "Cache dependencies" + uses: "actions/cache@v3.3.1" + with: + path: ${{ steps.composer-cache.outputs.composer_cache_dir }} + key: "php-8.2-bc-break-check-${{ hashFiles('.github/workflows/backwards-compatibility.yml') }}" + restore-keys: "php-8.2-bc-break-check-" + + - name: "Install dependencies" + run: composer global require roave/backward-compatibility-check + + - name: "BC Check" + run: | + ~/.composer/vendor/bin/roave-backward-compatibility-check --from=${{ github.event.pull_request.base.sha }} --format=github-actions diff --git a/.github/workflows/coding-standards.yml b/.github/workflows/coding-standards.yml index ff59c3dc..81529c3a 100644 --- a/.github/workflows/coding-standards.yml +++ b/.github/workflows/coding-standards.yml @@ -15,7 +15,7 @@ jobs: dependencies: - "locked" php-version: - - "8.1" + - "8.2" operating-system: - "ubuntu-latest" diff --git a/.github/workflows/mutation-tests.yml b/.github/workflows/mutation-tests.yml index 316852de..14214b90 100644 --- a/.github/workflows/mutation-tests.yml +++ b/.github/workflows/mutation-tests.yml @@ -15,7 +15,7 @@ jobs: dependencies: - "locked" php-version: - - "8.1" + - "8.2" operating-system: - "ubuntu-latest" diff --git a/.github/workflows/phpunit.yml b/.github/workflows/phpunit.yml index 8f3d2173..08d072eb 100644 --- a/.github/workflows/phpunit.yml +++ b/.github/workflows/phpunit.yml @@ -18,7 +18,6 @@ jobs: - "locked" - "development" php-version: - - "8.1" - "8.2" operating-system: - "ubuntu-latest" diff --git a/.github/workflows/static-analysis.yml b/.github/workflows/static-analysis.yml index 1394d4c0..b2d5f49b 100644 --- a/.github/workflows/static-analysis.yml +++ b/.github/workflows/static-analysis.yml @@ -15,7 +15,7 @@ jobs: dependencies: - "locked" php-version: - - "8.1" + - "8.2" operating-system: - "ubuntu-latest" diff --git a/composer.json b/composer.json index 18a4089a..5433c23f 100644 --- a/composer.json +++ b/composer.json @@ -10,12 +10,12 @@ } ], "require": { - "php": "~8.1.0 || ~8.2.0", + "php": "~8.2.0", "psr/clock": "^1.0" }, "require-dev": { "infection/infection": "^0.26", - "lcobucci/coding-standard": "^9.0", + "lcobucci/coding-standard": "^10.0.0", "phpstan/extension-installer": "^1.2", "phpstan/phpstan": "^1.10.7", "phpstan/phpstan-deprecation-rules": "^1.1.3", diff --git a/composer.lock b/composer.lock index 267e5562..e64c7f8a 100644 --- a/composer.lock +++ b/composer.lock @@ -4,7 +4,7 @@ "Read more about it at https://getcomposer.org/doc/01-basic-usage.md#installing-dependencies", "This file is @generated automatically" ], - "content-hash": "b2c41eeff7faf1b518297faa39ae3047", + "content-hash": "01994d76a4a4d12b4026c941aee687ca", "packages": [ { "name": "psr/clock", @@ -286,35 +286,38 @@ }, { "name": "dealerdirect/phpcodesniffer-composer-installer", - "version": "v0.7.2", + "version": "v1.0.0", "source": { "type": "git", - "url": "https://github.com/Dealerdirect/phpcodesniffer-composer-installer.git", - "reference": "1c968e542d8843d7cd71de3c5c9c3ff3ad71a1db" + "url": "https://github.com/PHPCSStandards/composer-installer.git", + "reference": "4be43904336affa5c2f70744a348312336afd0da" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/Dealerdirect/phpcodesniffer-composer-installer/zipball/1c968e542d8843d7cd71de3c5c9c3ff3ad71a1db", - "reference": "1c968e542d8843d7cd71de3c5c9c3ff3ad71a1db", + "url": "https://api.github.com/repos/PHPCSStandards/composer-installer/zipball/4be43904336affa5c2f70744a348312336afd0da", + "reference": "4be43904336affa5c2f70744a348312336afd0da", "shasum": "" }, "require": { "composer-plugin-api": "^1.0 || ^2.0", - "php": ">=5.3", + "php": ">=5.4", "squizlabs/php_codesniffer": "^2.0 || ^3.1.0 || ^4.0" }, "require-dev": { "composer/composer": "*", + "ext-json": "*", + "ext-zip": "*", "php-parallel-lint/php-parallel-lint": "^1.3.1", - "phpcompatibility/php-compatibility": "^9.0" + "phpcompatibility/php-compatibility": "^9.0", + "yoast/phpunit-polyfills": "^1.0" }, "type": "composer-plugin", "extra": { - "class": "Dealerdirect\\Composer\\Plugin\\Installers\\PHPCodeSniffer\\Plugin" + "class": "PHPCSStandards\\Composer\\Plugin\\Installers\\PHPCodeSniffer\\Plugin" }, "autoload": { "psr-4": { - "Dealerdirect\\Composer\\Plugin\\Installers\\PHPCodeSniffer\\": "src/" + "PHPCSStandards\\Composer\\Plugin\\Installers\\PHPCodeSniffer\\": "src/" } }, "notification-url": "https://packagist.org/downloads/", @@ -330,7 +333,7 @@ }, { "name": "Contributors", - "homepage": "https://github.com/Dealerdirect/phpcodesniffer-composer-installer/graphs/contributors" + "homepage": "https://github.com/PHPCSStandards/composer-installer/graphs/contributors" } ], "description": "PHP_CodeSniffer Standards Composer Installer Plugin", @@ -354,29 +357,29 @@ "tests" ], "support": { - "issues": "https://github.com/dealerdirect/phpcodesniffer-composer-installer/issues", - "source": "https://github.com/dealerdirect/phpcodesniffer-composer-installer" + "issues": "https://github.com/PHPCSStandards/composer-installer/issues", + "source": "https://github.com/PHPCSStandards/composer-installer" }, - "time": "2022-02-04T12:51:07+00:00" + "time": "2023-01-05T11:28:13+00:00" }, { "name": "doctrine/coding-standard", - "version": "10.0.0", + "version": "11.1.0", "source": { "type": "git", "url": "https://github.com/doctrine/coding-standard.git", - "reference": "7903671d7d33c231c8921058b7c14b8f57cbacb7" + "reference": "4bcfa9d922e13cb3b8078d4752e3ba276f959c88" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/doctrine/coding-standard/zipball/7903671d7d33c231c8921058b7c14b8f57cbacb7", - "reference": "7903671d7d33c231c8921058b7c14b8f57cbacb7", + "url": "https://api.github.com/repos/doctrine/coding-standard/zipball/4bcfa9d922e13cb3b8078d4752e3ba276f959c88", + "reference": "4bcfa9d922e13cb3b8078d4752e3ba276f959c88", "shasum": "" }, "require": { - "dealerdirect/phpcodesniffer-composer-installer": "^0.6.2 || ^0.7", + "dealerdirect/phpcodesniffer-composer-installer": "^0.6.2 || ^0.7 || ^1.0.0", "php": "^7.2 || ^8.0", - "slevomat/coding-standard": "^8.2", + "slevomat/coding-standard": "^8.6.2", "squizlabs/php_codesniffer": "^3.7" }, "type": "phpcodesniffer-standard", @@ -401,6 +404,7 @@ "code", "coding", "cs", + "dev", "doctrine", "rules", "sniffer", @@ -410,9 +414,9 @@ ], "support": { "issues": "https://github.com/doctrine/coding-standard/issues", - "source": "https://github.com/doctrine/coding-standard/tree/10.0.0" + "source": "https://github.com/doctrine/coding-standard/tree/11.1.0" }, - "time": "2022-08-26T10:53:05+00:00" + "time": "2023-01-06T09:12:24+00:00" }, { "name": "fidry/cpu-core-counter", @@ -852,21 +856,21 @@ }, { "name": "lcobucci/coding-standard", - "version": "9.0.0", + "version": "10.0.0", "source": { "type": "git", "url": "https://github.com/lcobucci/coding-standard.git", - "reference": "423695a885f24d98bc46c075b778b85e554ce6b3" + "reference": "d76f6940921a20e6f958d0ce103bb389789f7c03" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/lcobucci/coding-standard/zipball/423695a885f24d98bc46c075b778b85e554ce6b3", - "reference": "423695a885f24d98bc46c075b778b85e554ce6b3", + "url": "https://api.github.com/repos/lcobucci/coding-standard/zipball/d76f6940921a20e6f958d0ce103bb389789f7c03", + "reference": "d76f6940921a20e6f958d0ce103bb389789f7c03", "shasum": "" }, "require": { - "doctrine/coding-standard": "^10.0", - "php": "^8.1" + "doctrine/coding-standard": "^11.1.0", + "php": "~8.2.0" }, "require-dev": { "roave/security-advisories": "dev-latest" @@ -885,7 +889,7 @@ "description": "Lcobucci's Coding Standard", "support": { "issues": "https://github.com/lcobucci/coding-standard/issues", - "source": "https://github.com/lcobucci/coding-standard/tree/9.0.0" + "source": "https://github.com/lcobucci/coding-standard/tree/10.0.0" }, "funding": [ { @@ -897,7 +901,7 @@ "type": "patreon" } ], - "time": "2022-09-13T20:21:34+00:00" + "time": "2023-03-20T10:26:24+00:00" }, { "name": "myclabs/deep-copy", @@ -4283,7 +4287,7 @@ "prefer-stable": false, "prefer-lowest": false, "platform": { - "php": "~8.1.0 || ~8.2.0" + "php": "~8.2.0" }, "platform-dev": [], "plugin-api-version": "2.3.0"