From 80dcde3b73d4dfbf8e6f8ab51609a01d8e42e7f5 Mon Sep 17 00:00:00 2001 From: Jay Klehr Date: Wed, 17 Apr 2024 12:52:38 -0600 Subject: [PATCH] Preparing for PHP 8.3 (#257) --- .github/workflows/build.yml | 104 ++++++++++---------- .github/workflows/dependabot-auto-merge.yml | 2 +- .gitignore | 1 + composer.json | 10 +- phpunit.xml.dist | 12 +-- 5 files changed, 65 insertions(+), 64 deletions(-) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index e422fff..3bb173d 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -1,55 +1,55 @@ name: Build on: - push: - branches: - - master - pull_request: - branches: - - master + push: + branches: + - master + pull_request: + branches: + - master jobs: - build: - name: PHP ${{ matrix.php-versions }} ${{ matrix.composer-args }} - strategy: - fail-fast: false - matrix: - operating-system: [ubuntu-latest] - php-versions: ['7.4', '8.0', '8.1', '8.2'] - composer-args: ['', '--prefer-lowest'] - runs-on: ${{ matrix.operating-system }} - steps: - - name: Checkout - uses: actions/checkout@v3 - - name: Setup PHP - uses: shivammathur/setup-php@2.25.1 - with: - php-version: ${{ matrix.php-versions }} - extensions: mbstring - coverage: pcov - tools: cs2pr - - name: Setup problem matchers for PHPUnit - run: echo "::add-matcher::${{ runner.tool_cache }}/phpunit.json" - - name: Get composer cache directory - id: composer-cache - run: echo "dir=$(composer config cache-files-dir)" >> $GITHUB_OUTPUT - - name: Cache dependencies - uses: actions/cache@v3 - with: - path: ${{ steps.composer-cache.outputs.dir }} - key: php${{ matrix.php-versions }}-composer-${{ matrix.composer-args }}-${{ hashFiles('**/composer.json') }} - restore-keys: php${{ matrix.php-versions }}-composer-${{ matrix.composer-args }}- - - name: Install Dependencies - run: | - composer update --no-progress --no-suggest --prefer-stable --optimize-autoloader ${{ matrix.composer-args }} - - name: PHPStan - run: composer phpstan - - name: Code Style Check - env: - PHP_CS_FIXER_IGNORE_ENV: true - run: composer style-check -- --format=checkstyle | cs2pr - - name: Test - run: composer test-with-coverage - - name: Upload Coverage - uses: codecov/codecov-action@v3 - with: - files: ./clover.xml - verbose: true + build: + name: PHP ${{ matrix.php-versions }} ${{ matrix.composer-args }} + strategy: + fail-fast: false + matrix: + operating-system: [ubuntu-latest] + php-versions: ["8.0", "8.1", "8.2", "8.3"] + composer-args: ["", "--prefer-lowest"] + runs-on: ${{ matrix.operating-system }} + steps: + - name: Checkout + uses: actions/checkout@v4 + - name: Setup PHP + uses: shivammathur/setup-php@2.30.2 + with: + php-version: ${{ matrix.php-versions }} + extensions: mbstring + coverage: pcov + tools: cs2pr + - name: Setup problem matchers for PHPUnit + run: echo "::add-matcher::${{ runner.tool_cache }}/phpunit.json" + - name: Get composer cache directory + id: composer-cache + run: echo "dir=$(composer config cache-files-dir)" >> $GITHUB_OUTPUT + - name: Cache dependencies + uses: actions/cache@v4 + with: + path: ${{ steps.composer-cache.outputs.dir }} + key: php${{ matrix.php-versions }}-composer-${{ matrix.composer-args }}-${{ hashFiles('**/composer.json') }} + restore-keys: php${{ matrix.php-versions }}-composer-${{ matrix.composer-args }}- + - name: Install Dependencies + run: | + composer update --no-progress --no-suggest --prefer-stable --optimize-autoloader ${{ matrix.composer-args }} + - name: PHPStan + run: composer phpstan + - name: Code Style Check + env: + PHP_CS_FIXER_IGNORE_ENV: true + run: composer style-check -- --format=checkstyle | cs2pr + - name: Test + run: composer test-with-coverage + - name: Upload Coverage + uses: codecov/codecov-action@v3 + with: + files: ./clover.xml + verbose: true diff --git a/.github/workflows/dependabot-auto-merge.yml b/.github/workflows/dependabot-auto-merge.yml index cc4b7bf..3aaaca1 100644 --- a/.github/workflows/dependabot-auto-merge.yml +++ b/.github/workflows/dependabot-auto-merge.yml @@ -12,7 +12,7 @@ jobs: steps: - name: Dependabot metadata id: metadata - uses: dependabot/fetch-metadata@v1 + uses: dependabot/fetch-metadata@v2 with: github-token: "${{ secrets.GITHUB_TOKEN }}" - name: Enable auto-merge for Dependabot PRs diff --git a/.gitignore b/.gitignore index e5b8007..6a8821b 100644 --- a/.gitignore +++ b/.gitignore @@ -4,3 +4,4 @@ .php_cs.cache .phpunit.result.cache .php-cs-fixer.cache +.phpunit.cache \ No newline at end of file diff --git a/composer.json b/composer.json index b27faa8..ee4fd8a 100644 --- a/composer.json +++ b/composer.json @@ -9,7 +9,7 @@ "homepage": "http://framework.zend.com/", "license": "BSD-3-Clause", "require": { - "php": "^7.4 || ~8.0.0 || ~8.1.0 || ~8.2.0", + "php": "~8.0.0 || ~8.1.0 || ~8.2.0 || ~8.3.0", "diablomedia/zendframework1-exception": "^1.0.0", "diablomedia/zendframework1-config": "^1.0.0 || ^2.0.0", "diablomedia/zendframework1-json": "^1.0.0", @@ -30,11 +30,11 @@ } }, "require-dev": { - "phpunit/phpunit": "^9.5.10", - "phpstan/phpstan": "1.10.15", - "friendsofphp/php-cs-fixer": "3.16.0", + "phpunit/phpunit": "^9.6.19 || ^10.5.18", + "phpstan/phpstan": "1.10.67", + "friendsofphp/php-cs-fixer": "3.54.0", "maglnet/composer-require-checker": "^3.0.0", - "phpro/grumphp-shim": "^1.5.0" + "phpro/grumphp-shim": "^2.0.0" }, "archive": { "exclude": [ diff --git a/phpunit.xml.dist b/phpunit.xml.dist index d55ddf3..8942ee4 100644 --- a/phpunit.xml.dist +++ b/phpunit.xml.dist @@ -1,13 +1,13 @@ - - - - ./src - - + ./tests + + + ./src + +