From 7773853a2409e4b8814e2a6be187deaddf69c216 Mon Sep 17 00:00:00 2001 From: Rastusik <1735097+Rastusik@users.noreply.github.com> Date: Wed, 5 Feb 2025 21:16:21 +0100 Subject: [PATCH] PHP 8.4 support --- .github/workflows/php.yml | 7 ++++++- composer.json | 1 + docker-compose.override.yml.osx | 4 ++++ docker-compose.yml | 24 ++++++++++++++++++++++-- docker/{php81 => php}/Dockerfile | 4 +++- docker/php82/Dockerfile | 20 -------------------- docker/php83/Dockerfile | 20 -------------------- grumphp.yml | 5 +++++ 8 files changed, 41 insertions(+), 44 deletions(-) rename docker/{php81 => php}/Dockerfile (96%) delete mode 100644 docker/php82/Dockerfile delete mode 100644 docker/php83/Dockerfile diff --git a/.github/workflows/php.yml b/.github/workflows/php.yml index d2a5696..cd08d43 100644 --- a/.github/workflows/php.yml +++ b/.github/workflows/php.yml @@ -18,7 +18,7 @@ jobs: runs-on: ubuntu-latest strategy: matrix: - php-version: [ '8.3' ] + php-version: [ '8.3', '8.4' ] symfony-version: ['6.4.*', '7.0.*' ] symfony-deprecations-helper: [ 'max[direct]=0&baselineFile=./tests/allowed.json' ] grumphp-testsuite: [ 'no-analyse' ] @@ -34,6 +34,11 @@ jobs: symfony-version: '6.4.*' symfony-deprecations-helper: 'max[direct]=0&max[indirect]=99999&baselineFile=./tests/allowed.json' grumphp-testsuite: 'main' + - php-version: '8.2' + symfony-version: '7.0.*' + symfony-deprecations-helper: 'max[indirect]=99999&baselineFile=./tests/allowed.json' + grumphp-flag: '-no-analyse' + grumphp-testsuite: 'no-analyse' name: "PHP: ${{ matrix.php-version }}, Symfony: ${{ matrix.symfony-version }}, GrumPHP: ${{ matrix.grumphp-testsuite }}, Composer: ${{ matrix.composer-flag }}" diff --git a/composer.json b/composer.json index e97dfda..88b2d72 100644 --- a/composer.json +++ b/composer.json @@ -67,6 +67,7 @@ "grumphp8.2": "grumphp run --testsuite=php8.2", "grumphp8.2-no-analyse": "grumphp run --testsuite=php8.2-no-analyse", "grumphp8.3-no-analyse": "grumphp run --testsuite=php8.3-no-analyse", + "grumphp8.4-no-analyse": "grumphp run --testsuite=php8.4-no-analyse", "phpcs": "phpcs --standard=phpcs.xml", "phpcbf": "phpcbf --standard=phpcs.xml --extensions=php --tab-width=4 -sp src tests", "code-style:check": "php-cs-fixer --config=./.php-cs-fixer.dist.php fix --dry-run --diff --ansi --verbose src tests", diff --git a/docker-compose.override.yml.osx b/docker-compose.override.yml.osx index 0cf02da..879d4e5 100644 --- a/docker-compose.override.yml.osx +++ b/docker-compose.override.yml.osx @@ -15,3 +15,7 @@ services: resetter-bundle-php83: volumes: - php_volume:/srv/www + + resetter-bundle-php84: + volumes: + - php_volume:/srv/www diff --git a/docker-compose.yml b/docker-compose.yml index 68e3559..e2bd69b 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -2,7 +2,11 @@ services: # PHP resetter-bundle-php82: container_name: resetter-bundle-php82 - build: ./docker/php82 + build: + context: . + dockerfile: ./docker/php/Dockerfile + args: + PHP_TAG: 8.2-fpm volumes: - .:/srv/www:delegated environment: @@ -10,7 +14,23 @@ services: resetter-bundle-php83: container_name: resetter-bundle-php83 - build: ./docker/php83 + build: + context: . + dockerfile: ./docker/php/Dockerfile + args: + PHP_TAG: 8.3-fpm + volumes: + - .:/srv/www:delegated + environment: + - XDEBUG_CONFIG=idekey=PHPSTORM + + resetter-bundle-php84: + container_name: resetter-bundle-php84 + build: + context: . + dockerfile: ./docker/php/Dockerfile + args: + PHP_TAG: 8.4-fpm volumes: - .:/srv/www:delegated environment: diff --git a/docker/php81/Dockerfile b/docker/php/Dockerfile similarity index 96% rename from docker/php81/Dockerfile rename to docker/php/Dockerfile index fb99dd3..42c865e 100644 --- a/docker/php81/Dockerfile +++ b/docker/php/Dockerfile @@ -1,4 +1,6 @@ -FROM php:8.1-fpm +ARG PHP_TAG="8.2-fpm" + +FROM php:$PHP_TAG RUN apt-get update && apt-get install -y git-core zlib1g-dev libzip-dev zip unzip RUN docker-php-ext-install zip pdo_mysql diff --git a/docker/php82/Dockerfile b/docker/php82/Dockerfile deleted file mode 100644 index 1b98a70..0000000 --- a/docker/php82/Dockerfile +++ /dev/null @@ -1,20 +0,0 @@ -FROM php:8.2-fpm - -RUN apt-get update && apt-get install -y git-core zlib1g-dev libzip-dev zip unzip -RUN docker-php-ext-install zip pdo_mysql - -RUN pecl install xdebug redis && \ - docker-php-ext-enable redis - -RUN echo 'xdebug.file_link_format="phpstorm://open?url=file://%%f&line=%%l"' >> /usr/local/etc/php/conf.d/docker-php-ext-xdebug.ini && \ - echo "xdebug.mode=develop" >> /usr/local/etc/php/conf.d/docker-php-ext-xdebug.ini && \ - echo "xdebug.max_nesting_level=10000" >> /usr/local/etc/php/conf.d/docker-php-ext-xdebug.ini && \ - echo "xdebug.remote_handler=dbgp" >> /usr/local/etc/php/conf.d/docker-php-ext-xdebug.ini - -RUN php -r "copy('https://getcomposer.org/installer', 'composer-setup.php');" && \ - php -r "if (hash_file('SHA384', 'composer-setup.php') === trim(file_get_contents('https://composer.github.io/installer.sig'))) { echo 'Installer verified'; } else { echo 'Installer corrupt'; unlink('composer-setup.php'); } echo PHP_EOL;" && \ - php composer-setup.php && \ - mv composer.phar /usr/local/bin/composer && \ - unlink composer-setup.php - -WORKDIR /srv/www diff --git a/docker/php83/Dockerfile b/docker/php83/Dockerfile deleted file mode 100644 index 586ac78..0000000 --- a/docker/php83/Dockerfile +++ /dev/null @@ -1,20 +0,0 @@ -FROM php:8.3-fpm - -RUN apt-get update && apt-get install -y git-core zlib1g-dev libzip-dev zip unzip -RUN docker-php-ext-install zip pdo_mysql - -RUN pecl install xdebug redis && \ - docker-php-ext-enable redis - -RUN echo 'xdebug.file_link_format="phpstorm://open?url=file://%%f&line=%%l"' >> /usr/local/etc/php/conf.d/docker-php-ext-xdebug.ini && \ - echo "xdebug.mode=develop" >> /usr/local/etc/php/conf.d/docker-php-ext-xdebug.ini && \ - echo "xdebug.max_nesting_level=10000" >> /usr/local/etc/php/conf.d/docker-php-ext-xdebug.ini && \ - echo "xdebug.remote_handler=dbgp" >> /usr/local/etc/php/conf.d/docker-php-ext-xdebug.ini - -RUN php -r "copy('https://getcomposer.org/installer', 'composer-setup.php');" && \ - php -r "if (hash_file('SHA384', 'composer-setup.php') === trim(file_get_contents('https://composer.github.io/installer.sig'))) { echo 'Installer verified'; } else { echo 'Installer corrupt'; unlink('composer-setup.php'); } echo PHP_EOL;" && \ - php composer-setup.php && \ - mv composer.phar /usr/local/bin/composer && \ - unlink composer-setup.php - -WORKDIR /srv/www diff --git a/grumphp.yml b/grumphp.yml index 218643c..f909962 100644 --- a/grumphp.yml +++ b/grumphp.yml @@ -25,6 +25,11 @@ grumphp: - phpparser - phplint - phpunit + php8.4-no-analyse: + tasks: + - phpparser + - phplint + - phpunit tasks: phpcs: standard: 'phpcs.xml'