From 30187d8bf7c1402a9f7d1a861c629c2449211290 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Micha=C5=82=20Szo=C5=82tysek?= Date: Thu, 19 Feb 2026 10:37:10 +0100 Subject: [PATCH 01/15] IBX-11328: Backported PHP 8.3 Dockerfile --- php/Dockerfile-8.3 | 154 +++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 154 insertions(+) create mode 100644 php/Dockerfile-8.3 diff --git a/php/Dockerfile-8.3 b/php/Dockerfile-8.3 new file mode 100644 index 0000000..38259ab --- /dev/null +++ b/php/Dockerfile-8.3 @@ -0,0 +1,154 @@ +FROM php:8.3-fpm-bullseye + +# Container containing php-fpm and php-cli to run and interact with Ibexa DXP + +# Set defaults for variables used by run.sh +ENV COMPOSER_HOME=/root/.composer + +# Get packages that we need in container +RUN apt-get update -q -y \ + && apt-get install -q -y --no-install-recommends \ + ca-certificates \ + curl \ + acl \ + sudo \ +# Needed for the php extensions we enable below + # gd + libfreetype6 \ + libjpeg62-turbo \ + libxpm4 \ + libpng16-16 \ + # intl + libicu67 \ + # xslt + libxslt1.1 \ + # memcached + libmemcachedutil2 \ + # zip + libzip4 \ + # imagick + imagemagick \ + # mbstring + libonig5 \ + # PostgreSQL + libpq5 \ +# git & unzip needed for composer, unless we document to use dev image for composer install +# unzip needed due to https://github.com/composer/composer/issues/4471 + unzip \ + git \ +# packages useful for dev + less \ + mariadb-client \ + vim \ + wget \ + tree \ + gdb-minimal \ + && rm -rf /var/lib/apt/lists/* + +# Install and configure php plugins +RUN set -xe \ + && buildDeps=" \ + # gd + libjpeg62-turbo-dev \ + libpng-dev \ + libxpm-dev \ + libfreetype6-dev \ + # PostgreSQL + libpq-dev \ + # mbstring \ + libonig-dev \ + # intl + libicu-dev \ + # xsl + libxslt1-dev \ + # zip + libzip-dev \ + # imagick + libmagickwand-dev \ + # memcached + libmemcached-dev \ + " \ + && apt-get update -q -y && apt-get install -q -y --no-install-recommends $buildDeps && rm -rf /var/lib/apt/lists/* \ +# Extract php source and install missing extensions + && docker-php-source extract \ + && docker-php-ext-configure mysqli --with-mysqli=mysqlnd \ + && docker-php-ext-configure pdo_mysql --with-pdo-mysql=mysqlnd \ + && docker-php-ext-configure pgsql -with-pgsql=/usr/local/pgsql \ + && docker-php-ext-configure gd --with-freetype=/usr/include/ --with-jpeg=/usr/include/ --with-xpm=/usr/include/ --enable-gd-jis-conv \ + && docker-php-ext-install exif gd mbstring intl xsl zip mysqli pdo_mysql pdo_pgsql pgsql soap bcmath sockets \ + && docker-php-ext-enable opcache \ + && cp /usr/src/php/php.ini-production ${PHP_INI_DIR}/php.ini \ + \ +# Install imagemagick + && for i in $(seq 1 3); do pecl install -o imagick && s=0 && break || s=$? && sleep 1; done; (exit $s) \ + && docker-php-ext-enable imagick \ +# Install xdebug + && for i in $(seq 1 3); do echo yes | pecl install -o "xdebug" && s=0 && break || s=$? && sleep 1; done; (exit $s) \ +# Install blackfire: https://blackfire.io/docs/integrations/docker + && version=$(php -r "echo PHP_MAJOR_VERSION.PHP_MINOR_VERSION;") \ + && curl -A "Docker" -o /tmp/blackfire-probe.tar.gz -D - -L -s https://blackfire.io/api/v1/releases/probe/php/linux/amd64/$version \ + && tar zxpf /tmp/blackfire-probe.tar.gz -C /tmp \ + && mv /tmp/blackfire-*.so $(php -r "echo ini_get('extension_dir');")/blackfire.so \ + && rm -f /tmp/blackfire-probe.tar.gz \ + \ +# Install igbinary (for more efficient serialization in redis/memcached) + && for i in $(seq 1 3); do pecl install -o igbinary && s=0 && break || s=$? && sleep 1; done; (exit $s) \ + && docker-php-ext-enable igbinary \ + \ +# Install redis (manualy build in order to be able to enable igbinary) + && for i in $(seq 1 3); do pecl install -o --nobuild redis && s=0 && break || s=$? && sleep 1; done; (exit $s) \ + && cd "$(pecl config-get temp_dir)/redis" \ + && phpize \ + && ./configure --enable-redis-igbinary \ + && make \ + && make install \ + && docker-php-ext-enable redis \ + && cd - \ + \ +# Install memcached (manualy build in order to be able to enable igbinary) + && for i in $(seq 1 3); do echo no | pecl install -o --nobuild memcached && s=0 && break || s=$? && sleep 1; done; (exit $s) \ + && cd "$(pecl config-get temp_dir)/memcached" \ + && phpize \ + && ./configure --enable-memcached-igbinary \ + && make \ + && make install \ + && docker-php-ext-enable memcached \ + && cd - \ + \ +# Delete source & builds deps so it does not hang around in layers taking up space + && pecl clear-cache \ + && rm -Rf "$(pecl config-get temp_dir)/*" \ + && docker-php-source delete \ + && apt-get purge -y --auto-remove -o APT::AutoRemove::RecommendsImportant=false $buildDeps + +# Set timezone +RUN echo "UTC" > /etc/timezone && dpkg-reconfigure --frontend noninteractive tzdata + +# Set pid file to be able to restart php-fpm +RUN sed -i "s@^\[global\]@\[global\]\n\npid = /run/php-fpm.pid@" ${PHP_INI_DIR}-fpm.conf + +COPY conf.d/blackfire.ini ${PHP_INI_DIR}/conf.d/blackfire.ini +COPY conf.d/xdebug.ini ${PHP_INI_DIR}/conf.d/xdebug.ini.disabled + +# Create Composer directory (cache and auth files) & Get Composer +RUN mkdir -p $COMPOSER_HOME \ + && curl -sS https://getcomposer.org/installer | php -- --install-dir=/usr/local/bin --filename=composer + +# As application is put in as volume we do all needed operation on run +COPY scripts /scripts + +# Add some custom config +COPY conf.d/php.ini ${PHP_INI_DIR}/conf.d/php.ini + +RUN chmod 755 /scripts/*.sh + +# Needed for docker-machine +RUN usermod -u 1000 www-data + +WORKDIR /var/www + +ENTRYPOINT ["/scripts/docker-entrypoint.sh"] + +CMD php-fpm + +EXPOSE 9000 From 24b9fbfb17a2bf2427520e22f8300a55fe580978 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Micha=C5=82=20Szo=C5=82tysek?= Date: Thu, 19 Feb 2026 10:43:55 +0100 Subject: [PATCH 02/15] IBX-11328: Added PHP 8.4 Dockerfile --- php/Dockerfile-8.4 | 154 +++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 154 insertions(+) create mode 100644 php/Dockerfile-8.4 diff --git a/php/Dockerfile-8.4 b/php/Dockerfile-8.4 new file mode 100644 index 0000000..51913d1 --- /dev/null +++ b/php/Dockerfile-8.4 @@ -0,0 +1,154 @@ +FROM php:8.4-fpm-bullseye + +# Container containing php-fpm and php-cli to run and interact with Ibexa DXP + +# Set defaults for variables used by run.sh +ENV COMPOSER_HOME=/root/.composer + +# Get packages that we need in container +RUN apt-get update -q -y \ + && apt-get install -q -y --no-install-recommends \ + ca-certificates \ + curl \ + acl \ + sudo \ +# Needed for the php extensions we enable below + # gd + libfreetype6 \ + libjpeg62-turbo \ + libxpm4 \ + libpng16-16 \ + # intl + libicu67 \ + # xslt + libxslt1.1 \ + # memcached + libmemcachedutil2 \ + # zip + libzip4 \ + # imagick + imagemagick \ + # mbstring + libonig5 \ + # PostgreSQL + libpq5 \ +# git & unzip needed for composer, unless we document to use dev image for composer install +# unzip needed due to https://github.com/composer/composer/issues/4471 + unzip \ + git \ +# packages useful for dev + less \ + mariadb-client \ + vim \ + wget \ + tree \ + gdb-minimal \ + && rm -rf /var/lib/apt/lists/* + +# Install and configure php plugins +RUN set -xe \ + && buildDeps=" \ + # gd + libjpeg62-turbo-dev \ + libpng-dev \ + libxpm-dev \ + libfreetype6-dev \ + # PostgreSQL + libpq-dev \ + # mbstring \ + libonig-dev \ + # intl + libicu-dev \ + # xsl + libxslt1-dev \ + # zip + libzip-dev \ + # imagick + libmagickwand-dev \ + # memcached + libmemcached-dev \ + " \ + && apt-get update -q -y && apt-get install -q -y --no-install-recommends $buildDeps && rm -rf /var/lib/apt/lists/* \ +# Extract php source and install missing extensions + && docker-php-source extract \ + && docker-php-ext-configure mysqli --with-mysqli=mysqlnd \ + && docker-php-ext-configure pdo_mysql --with-pdo-mysql=mysqlnd \ + && docker-php-ext-configure pgsql -with-pgsql=/usr/local/pgsql \ + && docker-php-ext-configure gd --with-freetype=/usr/include/ --with-jpeg=/usr/include/ --with-xpm=/usr/include/ --enable-gd-jis-conv \ + && docker-php-ext-install exif gd mbstring intl xsl zip mysqli pdo_mysql pdo_pgsql pgsql soap bcmath sockets \ + && docker-php-ext-enable opcache \ + && cp /usr/src/php/php.ini-production ${PHP_INI_DIR}/php.ini \ + \ +# Install imagemagick + && for i in $(seq 1 3); do pecl install -o imagick && s=0 && break || s=$? && sleep 1; done; (exit $s) \ + && docker-php-ext-enable imagick \ +# Install xdebug + && for i in $(seq 1 3); do echo yes | pecl install -o "xdebug" && s=0 && break || s=$? && sleep 1; done; (exit $s) \ +# Install blackfire: https://blackfire.io/docs/integrations/docker + && version=$(php -r "echo PHP_MAJOR_VERSION.PHP_MINOR_VERSION;") \ + && curl -A "Docker" -o /tmp/blackfire-probe.tar.gz -D - -L -s https://blackfire.io/api/v1/releases/probe/php/linux/amd64/$version \ + && tar zxpf /tmp/blackfire-probe.tar.gz -C /tmp \ + && mv /tmp/blackfire-*.so $(php -r "echo ini_get('extension_dir');")/blackfire.so \ + && rm -f /tmp/blackfire-probe.tar.gz \ + \ +# Install igbinary (for more efficient serialization in redis/memcached) + && for i in $(seq 1 3); do pecl install -o igbinary && s=0 && break || s=$? && sleep 1; done; (exit $s) \ + && docker-php-ext-enable igbinary \ + \ +# Install redis (manualy build in order to be able to enable igbinary) + && for i in $(seq 1 3); do pecl install -o --nobuild redis && s=0 && break || s=$? && sleep 1; done; (exit $s) \ + && cd "$(pecl config-get temp_dir)/redis" \ + && phpize \ + && ./configure --enable-redis-igbinary \ + && make \ + && make install \ + && docker-php-ext-enable redis \ + && cd - \ + \ +# Install memcached (manualy build in order to be able to enable igbinary) + && for i in $(seq 1 3); do echo no | pecl install -o --nobuild memcached && s=0 && break || s=$? && sleep 1; done; (exit $s) \ + && cd "$(pecl config-get temp_dir)/memcached" \ + && phpize \ + && ./configure --enable-memcached-igbinary \ + && make \ + && make install \ + && docker-php-ext-enable memcached \ + && cd - \ + \ +# Delete source & builds deps so it does not hang around in layers taking up space + && pecl clear-cache \ + && rm -Rf "$(pecl config-get temp_dir)/*" \ + && docker-php-source delete \ + && apt-get purge -y --auto-remove -o APT::AutoRemove::RecommendsImportant=false $buildDeps + +# Set timezone +RUN echo "UTC" > /etc/timezone && dpkg-reconfigure --frontend noninteractive tzdata + +# Set pid file to be able to restart php-fpm +RUN sed -i "s@^\[global\]@\[global\]\n\npid = /run/php-fpm.pid@" ${PHP_INI_DIR}-fpm.conf + +COPY conf.d/blackfire.ini ${PHP_INI_DIR}/conf.d/blackfire.ini +COPY conf.d/xdebug.ini ${PHP_INI_DIR}/conf.d/xdebug.ini.disabled + +# Create Composer directory (cache and auth files) & Get Composer +RUN mkdir -p $COMPOSER_HOME \ + && curl -sS https://getcomposer.org/installer | php -- --install-dir=/usr/local/bin --filename=composer + +# As application is put in as volume we do all needed operation on run +COPY scripts /scripts + +# Add some custom config +COPY conf.d/php.ini ${PHP_INI_DIR}/conf.d/php.ini + +RUN chmod 755 /scripts/*.sh + +# Needed for docker-machine +RUN usermod -u 1000 www-data + +WORKDIR /var/www + +ENTRYPOINT ["/scripts/docker-entrypoint.sh"] + +CMD php-fpm + +EXPOSE 9000 From eaac0ce57e7faae68013acc3b94dbdbe260410ac Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Micha=C5=82=20Szo=C5=82tysek?= Date: Thu, 19 Feb 2026 10:53:25 +0100 Subject: [PATCH 03/15] Added PHP 8.3 & 8.4 to matrix --- .github/workflows/ci.yaml | 2 ++ 1 file changed, 2 insertions(+) diff --git a/.github/workflows/ci.yaml b/.github/workflows/ci.yaml index 86cc9d9..d2158c7 100644 --- a/.github/workflows/ci.yaml +++ b/.github/workflows/ci.yaml @@ -23,6 +23,8 @@ jobs: - "8.0" - "8.1" - "8.2" + - "8.3" + - "8.4" node: - "18" product-version: From b30304d63d07b393e08827df830f3b8f6be02bd3 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Micha=C5=82=20Szo=C5=82tysek?= Date: Thu, 19 Feb 2026 11:22:30 +0100 Subject: [PATCH 04/15] [matrix] Aligned 3.3.x-dev with DXP editions --- .github/workflows/ci.yaml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/ci.yaml b/.github/workflows/ci.yaml index d2158c7..abbca85 100644 --- a/.github/workflows/ci.yaml +++ b/.github/workflows/ci.yaml @@ -33,10 +33,10 @@ jobs: - php: "7.3" product-version: "~3.3.x-dev" node: "14" - - php: "7.3" + - php: "7.4" product-version: "~3.3.x-dev" node: "16" - - php: "7.3" + - php: "8.3" product-version: "~3.3.x-dev" node: "18" From 7a3019b7bcec2c25ddd2e89496e7a02a3d6a09cc Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Micha=C5=82=20Szo=C5=82tysek?= Date: Thu, 19 Feb 2026 11:43:15 +0100 Subject: [PATCH 05/15] [matrix] Aligned 4.6.x-dev with DXP editions --- .github/workflows/ci.yaml | 13 +++++++------ 1 file changed, 7 insertions(+), 6 deletions(-) diff --git a/.github/workflows/ci.yaml b/.github/workflows/ci.yaml index abbca85..e0a5c5b 100644 --- a/.github/workflows/ci.yaml +++ b/.github/workflows/ci.yaml @@ -19,14 +19,9 @@ jobs: fail-fast: false matrix: php: - - "7.4" - - "8.0" - - "8.1" - - "8.2" - - "8.3" - "8.4" node: - - "18" + - "22" product-version: - "~4.6.x-dev" include: @@ -39,6 +34,12 @@ jobs: - php: "8.3" product-version: "~3.3.x-dev" node: "18" + - php: "7.4" + product-version: "~4.6.x-dev" + node: "18" + - php: "8.0" + product-version: "~4.6.x-dev" + node: "20" steps: - uses: actions/checkout@v4 From 82cc422b16c34c760fe947168045fec34b2474b6 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Micha=C5=82=20Szo=C5=82tysek?= Date: Thu, 19 Feb 2026 11:51:21 +0100 Subject: [PATCH 06/15] [matrix] Included 5.0.x-dev --- .github/workflows/ci.yaml | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/.github/workflows/ci.yaml b/.github/workflows/ci.yaml index e0a5c5b..9138740 100644 --- a/.github/workflows/ci.yaml +++ b/.github/workflows/ci.yaml @@ -40,6 +40,12 @@ jobs: - php: "8.0" product-version: "~4.6.x-dev" node: "20" + - php: "8.3" + product-version: "~5.0.x-dev" + node: "22" + - php: "8.4" + product-version: "~5.0.x-dev" + node: "22" steps: - uses: actions/checkout@v4 From 56c645323d2ef985eef23f330607d331d7c10a93 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Micha=C5=82=20Szo=C5=82tysek?= Date: Thu, 19 Feb 2026 12:06:44 +0100 Subject: [PATCH 07/15] Backported Node 20 Dockerfile --- php/Dockerfile-node20 | 11 +++++++++++ 1 file changed, 11 insertions(+) create mode 100644 php/Dockerfile-node20 diff --git a/php/Dockerfile-node20 b/php/Dockerfile-node20 new file mode 100644 index 0000000..cce32e8 --- /dev/null +++ b/php/Dockerfile-node20 @@ -0,0 +1,11 @@ +FROM ibexa_php:latest + +# Install Node.js and Yarn +RUN apt-get update -q -y \ + && apt-get install -q -y --no-install-recommends gnupg \ + && curl -sL https://deb.nodesource.com/setup_20.x | bash - \ + && apt-get install -y nodejs \ + && curl -sL https://dl.yarnpkg.com/debian/pubkey.gpg | apt-key add - \ + && echo "deb https://dl.yarnpkg.com/debian/ stable main" | tee /etc/apt/sources.list.d/yarn.list \ + && sudo apt-get update && sudo apt-get install yarn \ + && rm -rf /var/lib/apt/lists/* From 65a117d6717efbf75f40e27ca722c9a11e47124f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Micha=C5=82=20Szo=C5=82tysek?= Date: Thu, 19 Feb 2026 12:07:44 +0100 Subject: [PATCH 08/15] Backported Node 22 Dockerfile --- php/Dockerfile-node22 | 11 +++++++++++ 1 file changed, 11 insertions(+) create mode 100644 php/Dockerfile-node22 diff --git a/php/Dockerfile-node22 b/php/Dockerfile-node22 new file mode 100644 index 0000000..a3d5225 --- /dev/null +++ b/php/Dockerfile-node22 @@ -0,0 +1,11 @@ +FROM ibexa_php:latest + +# Install Node.js and Yarn +RUN apt-get update -q -y \ + && apt-get install -q -y --no-install-recommends gnupg \ + && curl -sL https://deb.nodesource.com/setup_22.x | bash - \ + && apt-get install -y nodejs \ + && curl -sL https://dl.yarnpkg.com/debian/pubkey.gpg | apt-key add - \ + && echo "deb https://dl.yarnpkg.com/debian/ stable main" | tee /etc/apt/sources.list.d/yarn.list \ + && sudo apt-get update && sudo apt-get install yarn \ + && rm -rf /var/lib/apt/lists/* From 9c5f60d907d18ca4a661a09054880a1ece9edb15 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Micha=C5=82=20Szo=C5=82tysek?= Date: Thu, 19 Feb 2026 12:42:58 +0100 Subject: [PATCH 09/15] [tmp] bump psy/psysh --- bin/ci/test.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/bin/ci/test.sh b/bin/ci/test.sh index ddac23f..4e19ce7 100755 --- a/bin/ci/test.sh +++ b/bin/ci/test.sh @@ -23,7 +23,7 @@ APP_ENV="prod" BEHAT_REQUIREMENT="ibexa/behat:$PRODUCT_VERSION" if [ "$PRODUCT_VERSION" = "~3.3.x-dev" ]; then - BEHAT_REQUIREMENT="ezsystems/behatbundle:^8.3.x-dev" + BEHAT_REQUIREMENT="ezsystems/behatbundle:dev-bump-psy as 8.3.x-dev" fi if [ "$REUSE_VOLUME" = "0" ]; then From 3760d7770648d1ee0dbf2d10bbafc663e54fc5b8 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Micha=C5=82=20Szo=C5=82tysek?= Date: Thu, 19 Feb 2026 12:57:08 +0100 Subject: [PATCH 10/15] fixup! [tmp] bump psy/psysh --- bin/ci/test.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/bin/ci/test.sh b/bin/ci/test.sh index 4e19ce7..1774bd9 100755 --- a/bin/ci/test.sh +++ b/bin/ci/test.sh @@ -23,7 +23,7 @@ APP_ENV="prod" BEHAT_REQUIREMENT="ibexa/behat:$PRODUCT_VERSION" if [ "$PRODUCT_VERSION" = "~3.3.x-dev" ]; then - BEHAT_REQUIREMENT="ezsystems/behatbundle:dev-bump-psy as 8.3.x-dev" + BEHAT_REQUIREMENT="ezsystems/behatbundle:dev-bump-psy" fi if [ "$REUSE_VOLUME" = "0" ]; then From ac7f95f7d20d7fbbe1a62dcafe3cd2725f1ca6cc Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Micha=C5=82=20Szo=C5=82tysek?= Date: Thu, 19 Feb 2026 14:57:34 +0100 Subject: [PATCH 11/15] ErrorHandler --- bin/ci/test.sh | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/bin/ci/test.sh b/bin/ci/test.sh index 1774bd9..ece5738 100755 --- a/bin/ci/test.sh +++ b/bin/ci/test.sh @@ -64,7 +64,7 @@ docker run -i --rm ibexa_php:latest-node bash -c "php -v; php -m" printf "\nVersion and module information about php build with enabled xdebug\n" docker run -i --rm -e ENABLE_XDEBUG="1" ibexa_php:latest-node bash -c "php -v; php -m" -printf "\Integration: Behat testing on ibexa_php:latest and ibexa_php:latest-node with eZ Platform\n" +printf "\nIntegration: Behat testing on ibexa_php:latest and ibexa_php:latest-node with eZ Platform\n" cd volumes/ezplatform export COMPOSE_FILE="doc/docker/base-dev.yml:doc/docker/redis.yml:doc/docker/selenium.yml" @@ -74,6 +74,11 @@ export PHP_IMAGE="ibexa_php:latest-node" PHP_IMAGE_DEV="ibexa_php:latest-node" docker compose --env-file .env up -d --build --force-recreate echo '> Workaround for test issues: Change ownership of files inside docker container' docker compose --env-file=.env exec -T app sh -c 'chown -R www-data:www-data /var/www' +if docker run -i --rm ibexa_php:latest-node bash -c "php -v" | grep -q '8.3'; then + echo '> Set PHP 8.2+ Ibexa error handler to avoid deprecations' + docker-compose --env-file=.env exec -T --user www-data app sh -c "composer config extra.runtime.error_handler \"\\Ibexa\\Contracts\\Core\\MVC\\Symfony\\ErrorHandler\\Php82HideDeprecationsErrorHandler\"" + docker-compose --env-file=.env exec -T --user www-data app sh -c "composer dump-autoload" +fi # Rebuild Symfony container docker compose --env-file=.env exec -T --user www-data app sh -c "rm -rf var/cache/*" docker compose --env-file=.env exec -T --user www-data app php bin/console cache:clear From 2fd5e3e3f6edff5ae4e7ed0eb7c7c1bc3923f4b6 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Micha=C5=82=20Szo=C5=82tysek?= Date: Thu, 19 Feb 2026 15:17:32 +0100 Subject: [PATCH 12/15] fixup! ErrorHandler --- bin/ci/test.sh | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/bin/ci/test.sh b/bin/ci/test.sh index ece5738..37916cb 100755 --- a/bin/ci/test.sh +++ b/bin/ci/test.sh @@ -76,8 +76,8 @@ echo '> Workaround for test issues: Change ownership of files inside docker cont docker compose --env-file=.env exec -T app sh -c 'chown -R www-data:www-data /var/www' if docker run -i --rm ibexa_php:latest-node bash -c "php -v" | grep -q '8.3'; then echo '> Set PHP 8.2+ Ibexa error handler to avoid deprecations' - docker-compose --env-file=.env exec -T --user www-data app sh -c "composer config extra.runtime.error_handler \"\\Ibexa\\Contracts\\Core\\MVC\\Symfony\\ErrorHandler\\Php82HideDeprecationsErrorHandler\"" - docker-compose --env-file=.env exec -T --user www-data app sh -c "composer dump-autoload" + docker compose --env-file=.env exec -T --user www-data app sh -c "composer config extra.runtime.error_handler \"\\Ibexa\\Contracts\\Core\\MVC\\Symfony\\ErrorHandler\\Php82HideDeprecationsErrorHandler\"" + docker compose --env-file=.env exec -T --user www-data app sh -c "composer dump-autoload" fi # Rebuild Symfony container docker compose --env-file=.env exec -T --user www-data app sh -c "rm -rf var/cache/*" From 1387d27d449f0657a30db899caff36a196f46a68 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Micha=C5=82=20Szo=C5=82tysek?= Date: Thu, 19 Feb 2026 15:38:28 +0100 Subject: [PATCH 13/15] fixup! ErrorHandler --- bin/ci/test.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/bin/ci/test.sh b/bin/ci/test.sh index 37916cb..8990a5d 100755 --- a/bin/ci/test.sh +++ b/bin/ci/test.sh @@ -74,7 +74,7 @@ export PHP_IMAGE="ibexa_php:latest-node" PHP_IMAGE_DEV="ibexa_php:latest-node" docker compose --env-file .env up -d --build --force-recreate echo '> Workaround for test issues: Change ownership of files inside docker container' docker compose --env-file=.env exec -T app sh -c 'chown -R www-data:www-data /var/www' -if docker run -i --rm ibexa_php:latest-node bash -c "php -v" | grep -q '8.3'; then +if [[ docker run -i --rm ibexa_php:latest-node bash -c "php -v" | grep -q '8.3' ]] && [[ "$PRODUCT_VERSION" = "~3.3.x-dev" ]]; then echo '> Set PHP 8.2+ Ibexa error handler to avoid deprecations' docker compose --env-file=.env exec -T --user www-data app sh -c "composer config extra.runtime.error_handler \"\\Ibexa\\Contracts\\Core\\MVC\\Symfony\\ErrorHandler\\Php82HideDeprecationsErrorHandler\"" docker compose --env-file=.env exec -T --user www-data app sh -c "composer dump-autoload" From 6f11c4f697a7e8cfb285d20c43b44479401243c5 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Micha=C5=82=20Szo=C5=82tysek?= Date: Thu, 19 Feb 2026 16:04:08 +0100 Subject: [PATCH 14/15] fixup! ErrorHandler --- bin/ci/test.sh | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/bin/ci/test.sh b/bin/ci/test.sh index 8990a5d..7b8c6ac 100755 --- a/bin/ci/test.sh +++ b/bin/ci/test.sh @@ -74,10 +74,12 @@ export PHP_IMAGE="ibexa_php:latest-node" PHP_IMAGE_DEV="ibexa_php:latest-node" docker compose --env-file .env up -d --build --force-recreate echo '> Workaround for test issues: Change ownership of files inside docker container' docker compose --env-file=.env exec -T app sh -c 'chown -R www-data:www-data /var/www' -if [[ docker run -i --rm ibexa_php:latest-node bash -c "php -v" | grep -q '8.3' ]] && [[ "$PRODUCT_VERSION" = "~3.3.x-dev" ]]; then - echo '> Set PHP 8.2+ Ibexa error handler to avoid deprecations' - docker compose --env-file=.env exec -T --user www-data app sh -c "composer config extra.runtime.error_handler \"\\Ibexa\\Contracts\\Core\\MVC\\Symfony\\ErrorHandler\\Php82HideDeprecationsErrorHandler\"" - docker compose --env-file=.env exec -T --user www-data app sh -c "composer dump-autoload" +if [ "$PRODUCT_VERSION" = "~3.3.x-dev" ]; then + if docker run -i --rm ibexa_php:latest-node bash -c "php -v" | grep -q '8.3'; then + echo '> Set PHP 8.2+ Ibexa error handler to avoid deprecations' + docker compose --env-file=.env exec -T --user www-data app sh -c "composer config extra.runtime.error_handler \"\\Ibexa\\Contracts\\Core\\MVC\\Symfony\\ErrorHandler\\Php82HideDeprecationsErrorHandler\"" + docker compose --env-file=.env exec -T --user www-data app sh -c "composer dump-autoload" + fi fi # Rebuild Symfony container docker compose --env-file=.env exec -T --user www-data app sh -c "rm -rf var/cache/*" From 2e913adc26c3bffad8fa1444467761c56dc9190c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Micha=C5=82=20Szo=C5=82tysek?= Date: Tue, 24 Feb 2026 12:10:40 +0100 Subject: [PATCH 15/15] [tmp] 7.4-node20 --- .github/workflows/ci.yaml | 48 +++++++++++++++++++-------------------- 1 file changed, 24 insertions(+), 24 deletions(-) diff --git a/.github/workflows/ci.yaml b/.github/workflows/ci.yaml index 9138740..3a2c2f2 100644 --- a/.github/workflows/ci.yaml +++ b/.github/workflows/ci.yaml @@ -19,33 +19,33 @@ jobs: fail-fast: false matrix: php: - - "8.4" + - "7.4" node: - - "22" + - "20" product-version: - "~4.6.x-dev" - include: - - php: "7.3" - product-version: "~3.3.x-dev" - node: "14" - - php: "7.4" - product-version: "~3.3.x-dev" - node: "16" - - php: "8.3" - product-version: "~3.3.x-dev" - node: "18" - - php: "7.4" - product-version: "~4.6.x-dev" - node: "18" - - php: "8.0" - product-version: "~4.6.x-dev" - node: "20" - - php: "8.3" - product-version: "~5.0.x-dev" - node: "22" - - php: "8.4" - product-version: "~5.0.x-dev" - node: "22" +# include: +# - php: "7.3" +# product-version: "~3.3.x-dev" +# node: "14" +# - php: "7.4" +# product-version: "~3.3.x-dev" +# node: "16" +# - php: "8.3" +# product-version: "~3.3.x-dev" +# node: "18" +# - php: "7.4" +# product-version: "~4.6.x-dev" +# node: "18" +# - php: "8.0" +# product-version: "~4.6.x-dev" +# node: "20" +# - php: "8.3" +# product-version: "~5.0.x-dev" +# node: "22" +# - php: "8.4" +# product-version: "~5.0.x-dev" +# node: "22" steps: - uses: actions/checkout@v4