diff --git a/.github/workflows/coding-standards.yml b/.github/workflows/coding-standards.yml index f25fbe9..2d37dde 100644 --- a/.github/workflows/coding-standards.yml +++ b/.github/workflows/coding-standards.yml @@ -15,7 +15,7 @@ jobs: dependencies: - "locked" php-version: - - "7.4" + - "8.0" operating-system: - "ubuntu-latest" diff --git a/.github/workflows/composer-json-lint.yml b/.github/workflows/composer-json-lint.yml new file mode 100644 index 0000000..97a46cb --- /dev/null +++ b/.github/workflows/composer-json-lint.yml @@ -0,0 +1,67 @@ +name: "Lint composer.json" + +on: + pull_request: + push: + +jobs: + coding-standards: + name: "Lint composer.json" + + runs-on: ${{ matrix.operating-system }} + + strategy: + matrix: + dependencies: + - "highest" + php-version: + - "8.0" + operating-system: + - "ubuntu-latest" + + steps: + - name: "Checkout" + uses: "actions/checkout@v2" + + - name: "Install PHP" + uses: "shivammathur/setup-php@v2" + with: + coverage: "none" + php-version: "${{ matrix.php-version }}" + ini-values: memory_limit=-1 + tools: composer:v2, composer-normalize, composer-require-checker, composer-unused + + - name: Get composer cache directory + id: composer-cache + run: echo "::set-output name=dir::$(composer config cache-files-dir)" + + - name: "Cache dependencies" + uses: "actions/cache@v2" + with: + path: ${{ steps.composer-cache.outputs.dir }} + key: "php-${{ matrix.php-version }}-composer-${{ matrix.dependencies }}-${{ hashFiles('**/composer.lock') }}" + restore-keys: "php-${{ matrix.php-version }}-composer-${{ matrix.dependencies }}-" + + - name: "Install lowest dependencies" + if: ${{ matrix.dependencies == 'lowest' }} + run: "composer update --prefer-lowest --no-interaction --no-progress" + + - name: "Install highest dependencies" + if: ${{ matrix.dependencies == 'highest' }} + run: "composer update --no-interaction --no-progress" + + - name: "Install locked dependencies" + if: ${{ matrix.dependencies == 'locked' }} + run: "composer install --no-interaction --no-progress" + + - name: "Validate composer.json" + run: "composer validate --strict" + + - name: "Normalize composer.json" + run: "composer-normalize --dry-run" + + - name: "Check composer.json explicit dependencies" + run: "composer-require-checker check" + + - name: "Check composer.json unused dependencies" + run: "composer-unused" diff --git a/.github/workflows/mutation-tests.yml b/.github/workflows/mutation-tests.yml index ea2a036..4d25175 100644 --- a/.github/workflows/mutation-tests.yml +++ b/.github/workflows/mutation-tests.yml @@ -15,7 +15,7 @@ jobs: dependencies: - "locked" php-version: - - "7.4" + - "8.0" operating-system: - "ubuntu-latest" diff --git a/.github/workflows/phpunit.yml b/.github/workflows/phpunit.yml index 725e641..f08840b 100644 --- a/.github/workflows/phpunit.yml +++ b/.github/workflows/phpunit.yml @@ -18,7 +18,6 @@ jobs: - "locked" - "development" php-version: - - "7.4" - "8.0" operating-system: - "ubuntu-latest" diff --git a/.github/workflows/static-analysis.yml b/.github/workflows/static-analysis.yml index db6068a..0663369 100644 --- a/.github/workflows/static-analysis.yml +++ b/.github/workflows/static-analysis.yml @@ -15,7 +15,7 @@ jobs: dependencies: - "locked" php-version: - - "7.4" + - "8.0" operating-system: - "ubuntu-latest" diff --git a/composer.json b/composer.json index cb08795..cdfe022 100644 --- a/composer.json +++ b/composer.json @@ -1,7 +1,12 @@ { "name": "lcobucci/error-handling-middleware", - "description": "A PSR-15 middleware compatible with RFC 7807", "type": "library", + "description": "A PSR-15 middleware compatible with RFC 7807", + "keywords": [ + "PSR-15", + "RFC-7807", + "error handling" + ], "license": "MIT", "authors": [ { @@ -9,13 +14,14 @@ "email": "lcobucci@gmail.com" } ], - "keywords": ["PSR-15", "RFC-7807", "error handling"], "require": { - "php": "^7.4 || ^8.0", + "php": "^8.0", "ext-json": "*", "fig/http-message-util": "^1.1", "lcobucci/content-negotiation-middleware": "^3.0", "psr/http-factory": "^1.0", + "psr/http-message": "^1.0", + "psr/http-server-handler": "^1.0", "psr/http-server-middleware": "^1.0", "psr/log": "^1.1" }, @@ -30,6 +36,10 @@ "phpstan/phpstan-strict-rules": "^0.12", "phpunit/phpunit": "^9.5" }, + "config": { + "preferred-install": "dist", + "sort-packages": true + }, "autoload": { "psr-4": { "Lcobucci\\ErrorHandling\\": "src" @@ -39,9 +49,5 @@ "psr-4": { "Lcobucci\\ErrorHandling\\Tests\\": "tests" } - }, - "config": { - "preferred-install": "dist", - "sort-packages": true } } diff --git a/composer.lock b/composer.lock index 82cee31..26afd58 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": "1ff5907d4bedb84d2a8abc193fb2a783", + "content-hash": "0f9357a2e5ad6423ae134b59ff8fcb7a", "packages": [ { "name": "fig/http-message-util", @@ -1332,21 +1332,21 @@ }, { "name": "ocramius/package-versions", - "version": "2.1.0", + "version": "2.3.0", "source": { "type": "git", "url": "https://github.com/Ocramius/PackageVersions.git", - "reference": "a7e35c34bc166a5684a1e2f13da7b1d6a821349d" + "reference": "f64411e9a63a35f8645d5fe04a9f55a2df2895c9" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/Ocramius/PackageVersions/zipball/a7e35c34bc166a5684a1e2f13da7b1d6a821349d", - "reference": "a7e35c34bc166a5684a1e2f13da7b1d6a821349d", + "url": "https://api.github.com/repos/Ocramius/PackageVersions/zipball/f64411e9a63a35f8645d5fe04a9f55a2df2895c9", + "reference": "f64411e9a63a35f8645d5fe04a9f55a2df2895c9", "shasum": "" }, "require": { "composer-runtime-api": "^2.0.0", - "php": "^7.4.7 || ~8.0.0" + "php": "~8.0.0" }, "replace": { "composer/package-versions-deprecated": "*" @@ -1378,7 +1378,7 @@ "description": "Provides efficient querying for installed package versions (no runtime IO)", "support": { "issues": "https://github.com/Ocramius/PackageVersions/issues", - "source": "https://github.com/Ocramius/PackageVersions/tree/2.1.0" + "source": "https://github.com/Ocramius/PackageVersions/tree/2.3.0" }, "funding": [ { @@ -1390,7 +1390,7 @@ "type": "tidelift" } ], - "time": "2020-10-21T13:48:04+00:00" + "time": "2020-12-23T03:16:25+00:00" }, { "name": "ondram/ci-detector", @@ -5085,7 +5085,7 @@ "prefer-stable": false, "prefer-lowest": false, "platform": { - "php": "^7.4 || ^8.0", + "php": "^8.0", "ext-json": "*" }, "platform-dev": [],